43
DEPARTAMENTO DE SISTEMAS INFORMÁTICOS Y COMPUTACIÓN UNIVERSIDAD POLITÉCNICA DE VALENCIA P.O. Box: 22012 E-46071 Valencia (SPAIN) Informe Técnico / Technical Report Ref. No: DSIC-II/05/06 Pages: 42 Title: Funciones de Matrices. Author (s): Vicente Hernández García y J. Javier Ibáñez González. Date: 27/1/2006 Key Words: Aproximantes de Padé, Descomposición Real de Schur de una Matriz. VºBº Author (s): Leader of Research Group Vicente Hernández García

P.O. Box: 22012 E-46071 Valencia (SPAIN)

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: P.O. Box: 22012 E-46071 Valencia (SPAIN)

DEPARTAMENTO DE SISTEMAS INFORMÁTICOS Y COMPUTACIÓN

UNIVERSIDAD POLITÉCNICA DE VALENCIA

P.O. Box: 22012 E-46071 Valencia (SPAIN)

Informe Técnico / Technical Report

Ref. No: DSIC-II/05/06 Pages: 42 Title: Funciones de Matrices. Author (s): Vicente Hernández García y J. Javier Ibáñez González.

Date: 27/1/2006 Key Words: Aproximantes de Padé, Descomposición Real de Schur de una Matriz.

VºBº Author (s): Leader of Research Group Vicente Hernández García

Page 2: P.O. Box: 22012 E-46071 Valencia (SPAIN)

1

Resumen El cálculo de funciones de matrices ha recibido en las tres últimas décadas un gran impulso debido a su aplicación en numerosos campos de la ingeniería y de la matemática aplicada. En este informe técnico se realiza un estudio completo de las funciones matriciales más utilizadas, definiéndolas, indicando sus orígenes y aplicaciones, dando además una breve descripción de los métodos que se han ido utilizando desde sus comienzos hasta nuestros días. Junto a la descripción de estos métodos se realiza un estudio comparativo de los mismos para deducir cuáles son las mejores estrategias para el cálculo de funciones de matrices. La finalidad última de este estudio es encontrar metodologías generales que permitan, respetando los casos particulares (tipo de función y matriz), calcular eficientemente funciones de matrices. En cuanto al desarrollo de este informe técnico se comienza con una introducción en la que se describen las posibles definiciones de funciones de matrices y algunas de sus propiedades. En la segunda sección se describen las funciones matriciales más importantes, citando posibles campos de aplicación. En la tercera sección se presentan, para cada función, los diferentes métodos que han sido utilizados para su cálculo. En la cuarta y última sección, se realiza una valoración de los métodos más eficientes y cuales podrían ser las estrategias a la hora de calcular funciones de matrices.

1 Introducción De una manera informal, dada una función compleja de variable compleja )(zf definida sobre el espectro de una matriz cuadrada A , la matriz )(Af se puede obtener sustituyendo la variable z por la matriz A en la expresión que define a )(zf . Desde un punto de vista formal, )(Af se puede definir de diferentes formas. En [Rine78], Rinehart demostró la equivalencia entre ocho definiciones de funciones de matrices; quizás la más elegante de ellas, aunque no la más útil desde el punto de vista computacional, es la que se presenta en primer lugar.

Definición 1 ([GoVa96], capítulo11). Sea A una matriz cuadrada definida en el conjunto de números complejos C y )(zf una función analítica definida en un abierto CU ⊂ que contiene al espectro de A . Si

U⊂Γ es una curva rectificable que rodea al espectro de A , entonces la matriz )(Af se puede definir como

( )∫Γ

−−= dzAIzzfi

Af 1)(21)(π

.

Según esta definición, el elemento ),( jk de la matriz )(Af , viene dado por

( )∫Γ

−−= dzeAIzezfi

f jTkkj

1)(21π

,

siendo ke y je , respectivamente, los elementos k -ésimo y j -ésimo de la base canónica

del espacio vectorial nℜ .

Esta definición proviene del teorema integral de Cauchy, por lo que se trata de una definición independiente de la curva Γ .

Page 3: P.O. Box: 22012 E-46071 Valencia (SPAIN)

2

Una de las definiciones más utilizadas ([Gant90], [LaMi85]) está basada en la forma canónica de Jordan de una matriz y en el polinomio de interpolación de grado mínimo de una función.

Teorema 1 (descomposición canónica de Jordan). Si nxnCA∈ , entonces existe una matriz no singular nxnCX ∈ de manera que ( 1 ) ( )

rJJJAXX λλλ ,,,diag

21

1 L=− ,

donde i

Jλ denota al i-ésimo bloque de Jordan de A,

ii

i

xnn

i

i

i

i

CJ ∈

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

λλ

λλ

λ

000100

000001

L

L

MOOMM

O

L

, ri ,,2,1 L= , ∑=

=r

ii nn

1,

siendo ( )r

JJJ λλλ ,,,diag21L la forma canónica de Jordan de la matriz A .

Definición 2 ([Gant90], capítulo 5). Dada una función analítica )(zf , definida en un abierto CU ⊂ que contiene al espectro de nxnCA∈ , se define la matriz )(Af como

)()( ApAf = , siendo )(zp el polinomio de grado mínimo que interpola a la función )(zf en el espectro de la matriz A ; es decir,

)()( )()(i

ji

j fp λλ = , 1,,1,0 −= inj L , si ,,2,1 L= ,

con s el número de valores propios distintos de A y in la mayor de las dimensiones de los bloques de Jordan que contienen al valor propio iλ .

A partir de estas definiciones, se pueden demostrar propiedades que permiten calcular y definir de otras formas las funciones de matrices.

Teorema 2. Sea nxnCA∈ y )(zf función analítica definida en un abierto CU ⊂ que contiene al espectro de A .

1. Si 1−= XBXA entonces 1)()( −= XBXfAf .

2. Si ),,,(diag 21 rAAAA L= , con ii xnni CA ∈ , ri ,,2,1 L= , ∑

=

=r

ii nn

1, entonces

( ))(,),(),(diag)( 21 rAfAfAfAf L= .

Corolario 1. Sea nxnCA∈ y )(zf una función analítica definida en un abierto CU ⊂ que contiene al espectro de A . Si *QTQA = es la descomposición de Schur de A , es decir nxnCT ∈ triangular superior y nxnCQ∈ unitaria ( *1 QQ =− , siendo *Q la traspuesta de la conjugada de A ), entonces

Page 4: P.O. Box: 22012 E-46071 Valencia (SPAIN)

3

*)()( QTQfAf = .

Corolario 2. Sea nxnCA∈ y )(zf una función analítica definida en un abierto CU ⊂ que contiene al espectro de A . Si ( 2 ) ( ) 1,,,diag

21

−= XJJJXArλλλ L

es la descomposición canónica de Jordan de la matriz A , entonces ( 3 ) ( ) 1)(,),(),(diag)(

21

−= XJfJfJfXAfrλλλ L ,

siendo

( 4 ) ( ) ii

ii

ii

i

xnn

i

ii

i

in

i

in

i

i

in

i

in

ii

C

f

ff

nf

nff

nf

nfff

Jf ∈

⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢

−−

−−

=

−−

−−

)(00!1

)()(0

)!2()(

)!3()()(0

)!1()(

)!2()(

!1)()(

)1(

)2()3(

)1()2()1(

λ

λλ

λλλ

λλλλ

λ

LL

L

MMOOM

L

L

, ri ,,2,1 L= .

Otros autores definen funciones de matrices a partir del concepto de función matricial primaria.

Definición 3 ([HoJo91]). Sea nxnCA∈ y )(zf una función analítica definida en un abierto CU ⊂ que contiene al espectro de A . Si ( 2 ) es descomposición canónica de Jordan de la matriz A , se define la función matricial primaria de la matriz A , a la matriz )(Af obtenida a partir de las expresiones ( 3 ) y ( 4 ). Una última aproximación acerca de la definición y cálculo de funciones de matrices proviene de la definición de una función como suma de una serie de potencias. El siguiente teorema muestra cómo se puede definir funciones de matrices a partir de sumas de series de potencias de matrices.

Teorema 3. Dada una matriz nxnCA∈ y )(zf una función analítica definida en un abierto CU ⊂ que contiene al espectro de A , definida por

∑∞

=

=0

)(k

kk zczf ,

entonces la serie de potencias

∑∞

=0k

kk Ac ,

es convergente.

Se puede demostrar que )(Af coincide con suma de la serie de potencias anterior ([Rine78]), y por lo tanto, )(Af se puede definir como

Page 5: P.O. Box: 22012 E-46071 Valencia (SPAIN)

4

∑∞

=

=0

)(k

kk AcAf .

2 Funciones de Matrices

2.1 Exponencial de una Matriz Entre las diferentes funciones de matrices, la función exponencial tiene una especial importancia debido a su relación con la resolución de sistemas de ecuaciones diferenciales lineales ([Bell83], [MoVa78]) que aparecen en la resolución de diversos modelos asociados a fenómenos físicos, químicos, biológicos, económicos, etc. ([Karl59], [Varg62]). Por ejemplo, la solución de la Ecuación Diferencial Matricial Lineal (EDML) ([Bell53])

)()()( tbtAxdt

tdx+= ,

con 0)0( xx = y 0≥t , viene dada por

∫ −+=t

stAAt dssbexetv0

)( )()0()( .

Una forma sencilla de definir la exponencial de una matriz consiste en considerar la serie de potencias

∑∞

=

=0 !

1k

kz zk

e ,

y definir la exponencial de la matriz A como

∑∞

=

=0 !

1k

kA Ak

e .

Esta serie resulta ser convergente para cualquier matriz A .

2.2 Función Signo Matricial La función signo matricial, junto a la exponencial de una matriz, resulta ser una de las funciones matriciales que durante más tiempo y con mayor profundidad se ha investigado. Una de las primeras referencias acerca de la función signo matricial se encuentra en el trabajo realizado por Zolotarjov en el año 1877, en el que se caracterizaban las mejores aproximaciones racionales de la función signo escalar, mediante el uso de funciones del tipo seno elíptico. Si embargo, el verdadero auge de esta función se encuentra en el trabajo desarrollado por Roberts. En 1971 Roberts realizó un informe técnico ([Robe71]) en el que se definía esta función y se describían sencillos algoritmos para el cálculo de la misma. En este trabajo también se desarrolló el escalado y la estimación del número de condición, asociados a la función signo matricial. Este informe técnico no fue ampliamente conocido por la comunidad científica hasta su publicación, en el año 1980, como artículo en la revista International Journal of Control [Robe80]. En 1971 Abramov ([Abra71]) también utilizó un método basado en el cálculo de la función signo matricial para revolver ciertos problemas de contorno asociados a Ecuaciones Diferenciales Ordinarias (EDOs). Fruto del trabajo realizado por Roberts, se han desarrollado numerosos campos de investigación basados en el cálculo de la función signo matricial:

Page 6: P.O. Box: 22012 E-46071 Valencia (SPAIN)

5

• Aproximación y condicionamiento de las funciones de matrices. • Aplicaciones en control como, por ejemplo, la resolución de la Ecuación

Algebraica Matricial de Lyapunov (EAML) y la resolución de la Ecuación Algebraica Matricial de Riccati (EAMR).

• Teoría de sistemas y cálculo matricial, aplicándose, por ejemplo, en el cálculo de subespacios invariantes.

• Descomposiciones que aparecen en el cálculo de valores propios de una matriz. • Cálculo de la raíz cuadrada de una matriz. • Cálculo de la función sector de una matriz.

A continuación se define la función signo matricial tal como aparece en [Robe80]. La función signo escalar se define como

⎩⎨⎧

<−>+

=0)Re( si10)Re( si1

)(signzz

z .

Si nxnCA∈ no tiene valores propios imaginarios puros, entonces la función signo matricial de A existe y se puede definir a partir de la descomposición canónica de Jordan de A , como a continuación se detalla. Si

( ) 1,,,diag21

−= XJJJXArλλλ L

es la descomposición canónica de Jordan de la matriz A , entonces la función signo matricial de A se puede definir como

( ) 1)sign(,),sign(,)sign(diag)(sign21

−= XJJJXArλλλ L .

Al cumplirse que

( ) 0)(sign == iz

zdzd

λ

,

y teniendo en cuenta ( 4), entonces

( )

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

)(sign0000)(sign00

00)(sign0000)(sign

sign

i

i

i

i

iJ

λλ

λλ

λ

L

MMOMM

L

L

, ri ,,2,1 L= .

Es fácil comprobar que la función signo matricial cumple las siguientes propiedades:

3. [ ] nIA =2)(sign .

4. )(sign)(sign)(sign AccA = . 5. Los valores propios de la matriz )(sign A son 1± .

2.3 Logaritmo de una Matriz Los logaritmos de matrices aparecen en algunos campos de la ingeniería, como los relacionados con la teoría de control. Por ejemplo, para un sistema físico gobernado por la EDML

)()( tAxtx =& , 0)0( xx = ,

Page 7: P.O. Box: 22012 E-46071 Valencia (SPAIN)

6

donde A es una matriz cuadrada de orden nxn desconocida, es posible determinar la matriz A a partir de las observaciones del vector de estado )(tx ([AlPr81], [SiSp76]). Puesto que la solución de la ecuación diferencial anterior es

0)( xetx At= ,

y particularizando esta expresión para 1=t , considerando como estados iniciales las columnas de la matriz identidad, se obtiene que

AeB = , y, por tanto, BA log= . El siguiente teorema caracteriza la existencia del logaritmo de una matriz.

Teorema 4 ([HoJo91], pág. 475). 1. Si nxnCA∈ es no singular, entonces existe al menos un matriz nxnCX ∈ que

verifica Ae X = y es polinomial en A ; es decir, existe un polinomio )(zp de manera que )(ApX = .

2. Si nxnCA∈ es singular, entonces no existe ninguna matriz nxnCX ∈ tal que Ae X = .

3. Si nxnA ℜ∈ , entonces existe nxnX ℜ∈ de manera que Ae X = si y solo si a. A es no singular. b. Si

ii

i

xnn

i

i

i

i

CJ ∈

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

λλ

λλ

λ

000100

000001

L

L

MOOMM

O

L

,

es un bloque de Jordan de A , con iλ un valor propio real negativo de A , entonces A tiene un número par de bloques de Jordan de igual tamaño in , incluido

iJλ .

4. Si nxnA ℜ∈ tiene algún valor propio real negativo, entonces ninguna solución real de Ae X = puede ser polinomial en A o función matricial primaria de A .

Como consecuencia de este teorema se tiene que si nxnA ℜ∈ no tiene valores propios reales negativos, entonces tiene un logaritmo real; es decir, existe una matriz real

nxnL ℜ∈ de manera que AeL = . Pueden existir diferentes matrices que proporcionen el logaritmo de una matriz, pero existe sólo una de ellas que tiene las partes imaginarias de sus valores propios en el intervalo ] [ππ ,− . Esta matriz se denomina logaritmo principal de A y se denota con Alog .

2.4 Raíces Cuadradas de una Matriz Como se detalla en la siguiente sección, uno de los métodos más usuales para calcular funciones de matrices, consiste en realizar un escalado previo de la matriz y así reducir su norma, para que a continuación se puedan aplicar técnicas generales para el cálculo

Page 8: P.O. Box: 22012 E-46071 Valencia (SPAIN)

7

de funciones de matrices, como las aproximaciones de tipo polinómico (aproximaciones de Taylor), o las aproximaciones de tipo racional (aproximantes de Padé). Por ejemplo, el escalado utilizado en el cálculo de la función logarítmica, se puede realizar utilizando la identidad

j

AA j 2/1log2log = , L,2,1=j , en la que aparecen raíces cuadradas de matrices. Para definir la raíz cuadrada de una matriz es necesario que sea consistente con la definición correspondiente al caso escalar. Dada una matriz nxnCA∈ , una solución

nxnCX ∈ de la ecuación matricial cuadrática AX =2 ,

se llama raíz cuadrada de A . Por ejemplo, fácilmente se puede comprobar que la matriz

⎥⎦

⎤⎢⎣

⎡=

0010

A

no tiene raíces cuadradas; sin embargo, la matriz

⎥⎦

⎤⎢⎣

⎡=

0001

A

admite como raíces cuadradas a las matrices

⎥⎦

⎤⎢⎣

⎡=

0001

1X , ⎥⎦

⎤⎢⎣

⎡−=

0001

2X .

Según esto, puede no existir la raíz cuadrada de A , o existir una o más raíces de ella. El teorema que se presenta a continuación, caracteriza las raíces cuadradas de una matriz cuadrada compleja a partir de su descomposición de Jordan, y determina cuáles de ellas corresponden a funciones de matrices en el sentido de la Definición 2.

Lema 1 ([Hig287]). Si Ci ∈λ es distinto de cero, entonces el bloque de Jordan

ii

i

xnn

i

i

i

i

CJ ∈

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

λλ

λλ

λ

000100

000001

L

L

MOOMM

O

L

,

tiene precisamente dos raíces cuadradas que son funciones de i

Jλ en el sentido de la Definición 2,

Page 9: P.O. Box: 22012 E-46071 Valencia (SPAIN)

8

( 5 ) ( ) ii

inin

inin

i

xnn

ij

ijij

i

ij

i

iji

i

ij

i

ijijij

j C

f

ff

nf

nf

f

nf

nff

f

Jf ∈

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

−−

−−

=

−−

−−

)(000!1

)()(00

)!2()(

)!3()(

)(0

)!1()(

)!2()(

!1)(

)(

)1(

)2()3(

)1()2()1(

λ

λλ

λλλ

λλλλ

λ

L

L

MMOOM

L

L

, 2,1=j ,

donde λλ =)(f y j denota una de las dos ramas de la función raíz cuadrada en el entorno de iλ .

Teorema 5 ([Hig287]). Sea nxnCA∈ una matriz no singular con la descomposición de Jordan

( ) 11 ,,,diag21

−− == XJJJXXJXArλλλ L ,

donde ii

i

xnnCJ ∈λ , ∑=

=r

ii nn

1

, y s ( rs ≤ ) el número de valores propios distintos de A ,

entonces se verifican las siguientes propiedades: 1. A tiene precisamente s2 raíces cuadradas que son funciones de A en el sentido

de la Definición 2, dadas por ( ) 1)(,),(),(diag

2211

−= XJfJfJfXFrrjjjj λλλ L , sj 2,,2,1 L= ,

correspondientes a todas las posibles elecciones de rjjj ,,, 21 L , ( { }2,1∈ij , ri ,,2,1 L= ), sujetas a la restricción de que lk jj = si lk λλ = .

2. Si rs < , entonces A tiene raíces cuadradas que no son funciones de A en el sentido de la Definición 2. Estas raíces forman familias parametrizadas

( ) 11)(,),(),(diag)(2211

−−= XUJfJfJfXUUFrrjjjj λλλ L ,

ri

s j 212 ≤≤+ , ri ,,2,1 L= , siendo U una matriz no singular arbitraria que conmuta con ( )

rJJJ λλλ ,,,diag

21L , y para cada j existen unos índices k e l ,

dependientes de j , de manera que lk λλ = y lk jj ≠ .

Corolario 3 ([Hig287]). Si Ck ∈λ es distinto de cero, entonces las única raíces cuadradas de la matriz

kJλ del

Lema 1 son las que aparecen en ( 5 ).

Corolario 4 ([Hig287]). Si cada valor propio de nxnCA∈ aparece en un solo bloque de Jordan de la forma canónica de Jordan de A , entonces A tiene precisamente r2 raíces cuadradas, todas ellas funciones de A en el sentido de la Definición 2.

Corolario 5 ([Hig287]). Toda matriz hermítica y definida positiva tiene una única raíz cuadrada hermítica y definida positiva.

Page 10: P.O. Box: 22012 E-46071 Valencia (SPAIN)

9

A continuación se detallan varios teoremas acerca de la existencia de raíces de matrices cuadradas reales.

Teorema 6 ([HoJo91], página 473). Sea una matriz nxnA ℜ∈ . Existe una matriz nxnB ℜ∈ raíz cuadrada de A si y solo si se cumplen las siguientes condiciones:

1. Dados los enteros nr =0 , )( kk Arangor = , para L,2,1,0=k , entonces la

secuencia { }1+− kk rr para L,2,1,0=k , no contiene dos apariciones consecutivas del mismo entero par y si además 10 rr − es par entonces 12 210 ≥+− rrr .

2. Si

ii

i

xnn

i

i

i

i

CJ ∈

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

λλ

λλ

λ

000100

000001

L

L

MOOMM

O

L

,

es un bloque de Jordan de A , con iλ un valor propio real negativo de A , entonces A tiene un número par de bloques de Jordan de igual tamaño in , incluido

iJλ .

Teorema 7 ([High87]). Sea nxnA ℜ∈ una matriz no singular. Existe una matriz nxnB ℜ∈ , raíz cuadrada real de la matriz A , si y solo si cada bloque de Jordan de la matriz A , correspondiente a un valor propio real negativo, aparece un número impar de veces.

La comprobación de la existencia de raíces cuadradas de una matriz, a partir de los teoremas anteriores, es complicada de manejar, fundamentalmente porque es necesario conocer la descomposición canónica de Jordan de la matriz considerada. El siguiente teorema, cuya demostración está basada en la descomposición real de Schur de una matriz, permite una comprobación más sencilla de la existencia de raíces cuadradas de matrices reales.

Teorema 8 ([High87]). Sea nxnA ℜ∈ una matriz no singular. Si A tiene un valor propio real negativo, entonces A no tiene raíces cuadradas que son funciones de A en el sentido de la Definición 2. Si A no tiene valores propios reales negativos, entonces existen exactamente cr+2 raíces cuadradas reales que son funciones de A en el sentido de la Definición 2, siendo r el número de valores propios reales de A , y c el número de pares de valores propios complejos conjugados.

2.5 Raíces p-ésimas de una Matriz Dada una matriz nxnCA∈ , se dice que la matriz nxnCX ∈ es una raíz p-ésima de la matriz A si cumple

AX p = .

Page 11: P.O. Box: 22012 E-46071 Valencia (SPAIN)

10

Entre las aplicaciones que requieren el cálculo de las raíces p-ésimas de una matriz se encuentra el cálculo de la función sector definida por

AAA pp /1)()sec( −= ([KoBa95], [ShTs84]). Otra posible aplicación aparece en el escalado de una matriz para el cálculo del logaritmo de una matriz. En este caso, se determina un entero positivo p de manera que

pApA /1loglog = ,

con pA /1 menor que un cierto valor ([ChHi01], [KeL289]).

Al igual que ocurre en el caso particular de raíces cuadradas, la raíz p-ésima de una matriz puede no existir o tener una o más soluciones. Si A es no singular, entonces admite al menos una raíz p-ésima; en caso contrario, la matriz A admite raíces p-ésimas dependiendo de la estructura de los divisores elementales de A correspondientes a los valores propios nulos ([Gant90], sección 8.7). Entre las diferentes raíces p-ésimas de una matriz, se encuentra la raíz principal. Esta se define del siguiente modo.

Definición 4 ([Smit03]). Sea nxnCA∈ una matriz no singular con valores propios iλ , ni ,,1L= , de manera que

πλ ≠)arg( i , ni ,,1L= . La raíz p-ésima principal de A , denotada por nxnp CA ∈/1 , se define como la matriz que satisface las dos condiciones siguientes:

1. ( ) AA pp =/1 .

2. Los argumentos de los valores propios de la matriz pA /1 se encuentran en el intervalo ] [pp /,/ ππ− .

El teorema que se presenta a continuación, generalización del Teorema 5, permite caracterizar las raíces p-ésimas de una matriz cuadrada compleja a partir de su descomposición de Jordan, y determina cuáles de ellas corresponden a funciones de matrices según la Definición 2.

Lema 2 ([Smit03]). Si Ci ∈λ es distinto de cero, entonces el bloque de Jordan

ii

i

xnn

i

i

i

i

CJ ∈

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

λλ

λλ

λ

000100

000001

L

L

MOOMM

O

L

,

tiene precisamente p raíces p-ésimas que son funciones de i

Jλ , definidas como

Page 12: P.O. Box: 22012 E-46071 Valencia (SPAIN)

11

( ) ii

inin

inin

i

xnn

ij

ijij

i

ij

i

iji

i

ij

i

ijijij

j C

f

ff

nf

nf

f

nf

nff

f

Jf ∈

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

−−

−−

=

−−

−−

)(000!1

)()(00

)!2()(

)!3()(

)(0

)!1()(

)!2()(

!1)(

)(

)1(

)2()3(

)1()2()1(

λ

λλ

λλλ

λλλλ

λ

L

L

MMOOM

L

L

, pj ,,2,1 L= ,

donde pf /1)( λλ = y j denota una de las p ramas de la función raíz p-ésima en el entorno de iλ .

Teorema 9 ([Smit03]). Sea nxnCA∈ una matriz no singular con la descomposición de Jordan

( ) 1,,,diag21

−= XJJJXArλλλ L ,

donde ii

i

xnnCJ ∈λ , ∑=

=r

ii nn

1, y s ( rs ≤ ) el número de valores propios distintos de A ,

entonces se verifican las siguientes propiedades: 1. A tiene precisamente sp raíces de índice p , dadas por

( ) 1)(,),(),(diag2211

−= XJfJfJfXFrrjjjj λλλ L , spj ,,2,1 L= ,

correspondientes a todas las posibles elecciones de rjjj ,,, 21 L , { }pji ,,2,1 L∈ , ri ,,2,1 L= , sujetas a la restricción de que lk jj = si lk λλ = .

2. Si rs < , entonces A tiene raíces p-ésimas que no son funciones de A . Estas raíces forman familias parametrizadas

( ) 11)(,),(),(diag)(2211

−−= XUJfJfJfXUUFrrjjjj λλλ L , r

is pjp ≤≤+1 ,

donde { }pji ,,2,1 L∈ , ri ,,2,1 L= , siendo U una matriz no singular arbitraria que conmuta con ( )

rJJJ λλλ ,,,diag

21L , y para cada j existen k y l , dependientes

de j , de manera que lk λλ = y lk jj ≠ .

2.6 Funciones trigonométricas seno y coseno Las funciones matriciales trigonométricas juegan un papel fundamental en los sistemas diferenciales lineales de segundo orden. Por ejemplo, el problema

02

2

=+ Aydt

yd , 0)0( yy = , '0)0(' yy = ,

con nxnCA∈ , tiene como solución

( ) ( ) ( ) '0

1

0cos)( ytAsentAytAty−

+= .

Problemas más generales de este tipo, en los que aparece un término )(tf en la parte derecha de la ecuación diferencial, proceden de la semidiscretización de la ecuación de ondas y de los sistemas mecánicos sin amortiguamiento. En tales casos, las soluciones

Page 13: P.O. Box: 22012 E-46071 Valencia (SPAIN)

12

pueden expresarse en función de términos que involucran senos y cosenos de matrices ([Serb79]). Las definiciones más usuales de la funciones seno y coseno de una matriz están basadas en las series de Taylor

∑∞

=

+

+−=

0

12

)!12()()1(

k

kk

kAAsen

y

∑∞

=

−=0

2

)!2()()1(cos

k

kk

kAA .

3 Algoritmos Numéricos para el Cálculo de Funciones de Matrices

3.1 Exponencial de una Matriz

3.1.1 Métodos Basados en las Series de Taylor Sea )(zf una función analítica definida sobre el espectro de nxnCA∈ como

k

kk zczf ∑

=

=0

)( .

Según el Teorema 3, la matriz )(Af se puede hallar mediante la expresión

∑∞

=

=0

)(k

kk AcAf .

El valor aproximado de )(Af se puede obtener truncando adecuadamente la serie anterior. Para ello se calculan lo términos de la serie hasta que se encuentra un número natural L de manera que la representación en coma flotante de la matriz LS es igual a la representación en coma flotante de 1+LS ; es decir, )()( 1+= LL SflSfl , siendo

∑=

=L

k

kkL AcS

0

.

El valor aproximado de )(Af será por lo tanto )( LSfl . Este método puede producir resultados inexactos, debido fundamentalmente a los errores de redondeo causados cuando se desprecian los términos de la serie a partir de un cierto orden, y al problema de la cancelación de dígitos significativos que se produce cuando se suman y restan números del mismo orden de magnitud. Además, a medida que A es mayor o la dispersión de los valores propios de la matriz A aumenta, se tiene que los errores de redondeo y los costes computacionales aumentan. Se han diseñado diversos algoritmos, basados en las aproximaciones de Taylor, ([PChK91], [GoVa96]) que intentan evitar esos problemas, haciendo uso de la identidad

( )mmAA ee /= . El denominado método de escalado y potenciación, consiste en seleccionar un valor m como potencia de 2 ( jm 2= ) de manera que mAe / pueda calcularse con precisión y eficiencia, y entonces calcular ( )mmAe / mediante potenciación repetida.

Page 14: P.O. Box: 22012 E-46071 Valencia (SPAIN)

13

3.1.2 Métodos Basados en los Aproximantes de Padé Los aproximantes de Padé de grado ),( qp de zezf =)( son funciones racionales definidas como

)(/)()( zDzNzR pqpqpq = ,

donde

kp

kpq z

kpkqppkqpzN ∑

= −+−+

=0 )!(!)!(

!)!()(

y

.)()!(!)!(

!)!()(0

kq

kpq z

kqkqpqkqpzD ∑

=

−−+

−+=

En particular )(0 zRp coincide con el polinomio de Taylor de grado p de la función ze .

Los aproximantes de Padé permiten calcular aproximadamente la exponencial de una matriz, mediante la expresión

[ ] [ ])()()( 1 ANADARe pqpqpqA −=≅ .

El problema es que solo proporcionan buenas aproximaciones en un entorno del origen, tal como revela la siguiente igualdad ([GoVa96], capítulo 11)

.)1()()!(

)1()( )1(1

0

11 dueuuADAqp

qARe uAqp

pqqp

pqA −−++ −

+−

+= ∫

Como en el caso del método basado en el desarrollo de Taylor, se puede utilizar el método de escalado y potenciación. Un criterio, muy extendido, consiste en elegir

jm 2= como el menor entero tal que 1/ <mA .

Con este criterio, mAe / puede calcularse mediante los aproximantes de Taylor o de Padé. Esta última aproximación ha sido tratada por numerosos autores entre los que se pueden destacar, por su análisis de errores, a Ward [Ward77], Kammler [Kamm76], Kallstrom [Kall73], Scraton [Scra71] y Shah [Shah71]. En [MoVa78] Moler y Van Loan demostraron que si

21

2≤∞

j

A,

siendo A una matriz cuadrada de orden n , entonces existe una matriz cuadrada, de orden n , E tal que

EApq eR += ,

EAAE = ,

∞∞≤ AqpE ),(ε ,

.)!1()!(

!!2),( )(3

+++= +−

qpqpqpqp qpε

Estos resultados pueden permitir calcular eficientemente Ae mediante un control del error que se puede cometer en su cálculo. Utilizando la fórmula anterior, se tiene la desigualdad

Page 15: P.O. Box: 22012 E-46071 Valencia (SPAIN)

14

∞ ≤− Aqp

A

pqA

eAqpe

Re ),(),( εε .

Existen varias razones por las que los aproximantes diagonales ( qp = ) son preferibles a los no diagonales qp ≠ . Si qp < , entonces, aproximadamente, 32qn flops son necesarios para calcular la aproximación de Padé de orden qp + , )(ARpq . Sin embargo, la misma cantidad de flops son necesarios para calcular la aproximación de orden qpq +>2 , )(ARqq . La conclusión es análoga en el caso qp > .

Existen otros motivos para la utilización de aproximantes de Padé diagonales. Por ejemplo, si todos los valores propios de A están en el semiplano 0)Re( <z , entonces los aproximantes calculados con qp > suelen tener errores de redondeo más elevados debido a problemas de cancelación, mientras que con qp < se suelen producir mayores errores de redondeo debido al mal condicionamiento del denominador )(ADpq .

Existen ciertas aplicaciones donde la determinación de p y q se basan en el comportamiento de

).(lim tARpqt ∞→

Si todos los valores propios de A están en el semiplano complejo izquierdo abierto, entonces

0lim =∞→

At

te ,

y también 0)(lim =

→∞tARpqt

, si .pq >

Cuando pq < (incluyendo el caso 0=q ) resulta que los aproximantes de Padé están acotados para valores de t elevados. Si qp = entonces los aproximantes están acotados cuando t tiende a infinito. En [MoVa78] se proponen los valores óptimos de q ( qp = ) y j en las aproximaciones de Padé y Taylor, en función de la norma de la matriz A . Esos valores están representados en la tabla que se presenta a continuación.

(p,q) ε=10-3 ε=10-6 ε=10-9 ε=10-12 ε=10-15 ||A||∞=10-2 (1,0)

(3,0) (2,0) (4,0)

(3,0) (4,2)

(4,0) (4,4)

(4,0) (5,4)

||A||∞=10-1 (2,1) (5,1)

(3,1) (7,1)

(4,1) (6,3)

(5,1) (8,3)

(6,1) (7,5)

||A||∞=100 (2,5) (4,5)

(3,5) (6,5)

(4,5) (8,5)

(5,5) (7,7)

(6,5) (9,7)

||A||∞=101 (2,8) (4,8)

(3,8) (5,9)

(4,8) (7,9)

(5,8) (9,9)

(6,8) (10,10)

||A||∞=102 (2,11) (5,11)

(3,11) (7,11)

(4,11) (6,13)

(5,11) (8,13)

(6,11) (8,14)

||A||∞=103 (1,0) (3,0)

(2,0) (4,0)

(3,0) (4,2)

(4,0) (4,4)

(4,0) (5,4)

Tabla 1: Parámetros óptimos de escalado y potenciación, en los aproximantes de Padé y en las aproximaciones de Taylor.

Dada un pareja de valores ε y ∞

A , entonces el par de arriba muestra los valores ),( jq óptimos asociados a la aproximación de Padé

Page 16: P.O. Box: 22012 E-46071 Valencia (SPAIN)

15

( )[ ] jj

qq AR 22/ ,

y el de abajo especifica la elección más eficiente de ),( jk correspondiente a la

aproximación de Taylor ( )[ ] jj

k AT 22/ .

En el capítulo 11 de [GoVa96] se señala la necesidad de utilizar técnicas especiales, basadas en el método de Horner y variantes, que permiten reducir el coste computacional de este método. Si, por ejemplo, 8=q y se define )(ADD qq= y

)(ANN qq= , entonces

AVUANqq +=)( y AVUADqq −=)( ,

donde ( ) 44

82

642

20 AAcAcIcAcIcU ++++= ,

y ( ) 42

752

31 AAcIcAcIcV +++= ,

siendo ic , 80 ≤≤ i , los coeficientes del polinomio N .

Recientemente, Higham ([High04]) ha realizado una revisión del cálculo de exponenciales de matrices mediante aproximantes de Padé. En ese artículo Higham argumenta y justifica que la mejor elección del valor de los aproximantes de Padé es el de 13== qp , en lugar de los valores de 6 y 8 que otros autores anteriormente habían señalado. Además, para reducir el coste computacional, Higham utiliza técnicas de anidamiento para el cálculo de las matrices U y V ([PaSt73]).

3.1.3 Métodos Basados en Integración Numérica Puesto que Ate y 0xe At son soluciones de EDOs, es natural considerar métodos basados en la integración numérica. Los algoritmos de este tipo pueden tener un control del tamaño del paso automático, y algunos de ellos incluso varían automáticamente el orden de la aproximación. Los métodos basados en fórmulas de paso simple, fórmulas multipaso, y fórmulas multipaso implícito presentan ciertas ventajas. Son fáciles de utilizar para el cálculo de Ate , sin embargo requieren un alto coste computacional. Puesto que la ecuación de estado de un sistema dinámico lineal continuo es un caso particular de la EDO no lineal,

0)0( ),),(),(()( xxttutxfdt

tdx== ,

su solución puede hallarse mediante métodos para la integración numérica de este tipo de ecuaciones. Una desventaja de esta aproximación es la gran cantidad de operaciones necesarias, pues no hacen uso de la naturaleza especial del problema. Sin embargo, la implementación de un algoritmo que resuelva una EDO es necesaria en el caso de matrices de estado o de control dependientes del tiempo. Los métodos numéricos para resolver la EDO

0)0( ),),(()( xxttxfdt

tdx== ,

son discretos; es decir, son métodos que calculan una secuencia de aproximaciones )( kk txx = para un conjunto de puntos

Page 17: P.O. Box: 22012 E-46071 Valencia (SPAIN)

16

kkk ttt ∆+=+1 , 1,,1,0 −= nk L .

en donde el tamaño de paso, kt∆ , puede variar. En general, la aproximación 1+kx se calcula a partir de los valores previos 01 ,,, xxx kk L− . Si 1=k el correspondiente método es llamado de paso simple (ó único) y si 1>k de paso múltiple. Entre los métodos de paso simple se encuentran el de Euler y los clásicos de Runge-Kutta. Los errores en la solución numérica de una EDO son el resultado del proceso de discretización (llamado error de truncamiento) y de los errores de redondeo. El error de discretización local es el error producido en un paso dado, considerando que son exactos los valores previos y que no hay errores de redondeo en los cálculos. Este error se puede determinar de la siguiente forma. Sea la función )(tyk que satisface

kkkkk xtyttyfdt

tdy== )(,)),(()( .

Entonces el error local kd está dado por

)( 11 ++ −= kkkk tyxd .

De esta forma el error local es la diferencia entre la aproximación calculada y la solución teórica definida por la misma condición inicial en el instante 1+kt .

El error de discretización global ke en el paso k es la diferencia entre la aproximación calculada kx (sin tener en cuenta los errores de redondeo) y la solución exacta )( ktx determinada por la condición inicial 0x , es decir

)( kkk txxe −= .

Claramente, el error global depende de todos los errores locales producidos en los pasos previos. Prácticamente, todos los códigos actuales que resuelven EDOs controlan el error local en cada instante, y no intentan controlar directamente el error global. Sin embargo, las propiedades de los errores de redondeo no son estudiadas en profundidad, en parte porque la exactitud requerida en el algoritmo de resolución de la EDO es menor que la precisión de la máquina.

3.1.3.1 Métodos de Propósito General Muchas librerías que resuelven problemas de valores iniciales en EDOs, permiten calcular Ate , para diferentes valores de ℜ∈t . El problema de utilizar estas librerías es que no se aprovecha la linealidad de la ecuación asociada al problema del cálculo de

Ate , y que los coeficientes que aparecen en ella son constantes.

3.1.3.2 Métodos de Paso Único Dos técnicas clásicas para la resolución de ecuaciones diferenciales son los métodos de Taylor y Runge-Kutta de cuarto orden. Si se considera un tamaño de paso constante,

t∆ , entonces para la aproximación de Taylor de orden cuatro, se obtienen las ecuaciones

iii xtATxAttAIx )(!4

... 44

4

1 ∆=⎟⎟⎠

⎞⎜⎜⎝

⎛ ∆++∆+=+ ,

y para el método de Runge-Kutta de orden cuatro

Page 18: P.O. Box: 22012 E-46071 Valencia (SPAIN)

17

43211 61

31

31

61 kkkkxx ii ++++=+ ,

siendo

)2

( , 121

kxtAktAxk ii +∆=∆= ,

( )342

3 ),2

( kxtAkkxtAk ii +∆=+∆= .

Puede comprobarse que, en este caso, los dos métodos producirían idénticos resultados si no fuese por los errores de redondeo. Como el tamaño del paso es fijo, la matriz

)(4 tAT ∆ solo se calcula una vez y entonces 1+ix puede obtenerse a partir de ix con solo un producto matriz-vector. El método de Runge-Kutta requiere cuatro de estos productos por paso. Consideremos )(tx para un valor particular de t, digamos 1=t . Si mt /1=∆ , entonces

[ ] 04 )()()1( xtATxtmxx mm ∆=≅∆= .

Consecuentemente, existe una conexión cercana entre este método y la aproximación de Taylor con escalado y potenciación antes comentado ([Mast69], [Whit69]). El escalado de tA∆ y su exponencial están aproximados por )(4 tAT ∆ . Sin embargo, incluso si m es una potencia de 2, [ ]mtAT )(4 ∆ no se obtiene normalmente mediante potenciación repetida.

3.1.3.3 Métodos Multipaso Como es sabido, la posibilidad de aplicar métodos multipaso, tal como los basados en las fórmulas de Adams-Bashforth, para resolver problemas de EDOs con coeficientes lineales y constantes, no ha sido estudiada con detalle. Estos métodos no equivalen al escalado y potenciación puesto que la solución aproximada, para un tiempo dado, está definida en términos de soluciones aproximadas de varios tiempos anteriores. El algoritmo dependería de cómo se obtienen los vectores de comienzo, y de cómo se determinan el tamaño del paso y el orden.

3.1.4 Métodos Polinomiales Sea

∑−

=

−=−=1

0)det()(

n

k

kk

n zczAzIzc ,

el polinomio característico de la matriz nxnA ℜ∈ . Según el teorema de Cayley-Hamilton se tiene que 0)( =Ac , y por lo tanto

1110

−−+++= n

nn AcAcIcA L .

Luego cualquier potencia de A puede expresarse en términos de 1,,, −nAAI L , como

∑−

=

=1

0

n

j

jkj

k AA β ,

por lo que Ate es polinomial en A con coeficientes analíticos que dependen de t ,

( 6 ) ∑∑ ∑∑ ∑∑−

=

=

=

=

=

=

=⎟⎟⎠

⎞⎜⎜⎝

⎛=⎟⎟

⎞⎜⎜⎝

⎛==

1

0

1

0 00

1

00 !!!

n

j

jj

n

j

j

k

k

kjk

n

j

jkj

k

k

kkAt AA

ktA

kt

kAte αββ .

Page 19: P.O. Box: 22012 E-46071 Valencia (SPAIN)

18

Los métodos que se presentan a continuación, utilizan el polinomio característico para calcular la exponencial de una matriz.

3.1.4.1 Método de Cayley-Hamilton Si se calcula una aproximación de

( 7 ) ∑∞

=

=0 !k

k

kjj ktβα ,

entonces se puede obtener de manera aproximada Ate , a partir de la expresión ( 6 ). Los coeficientes kjβ de ( 7 ) se pueden calcular del siguiente modo,

⎪⎪⎩

⎪⎪⎨

>>+=>

=<

=

−−−−

−−

.0,si,0,si

,si,si

1111

110

,,

,

jnkcjnkcnkcnk

jknkj

nk

j

kj

kj

βββ

δ

β

Una dificultad es que estas fórmulas recursivas son muy propensas a errores de redondeo. Por ejemplo, si ( )α=A es una matriz de orden 1, entonces

kk αβ =0

y

∑∞

=

=0

0 !)(

k

k

ktαα ,

resulta ser el desarrollo de Taylor de teα , con lo cual, existen los mismos problemas que se comentaron en el método de aproximaciones de Taylor. Otra dificultad de este método es que se debe conocer el polinomio característico de la matriz. Si nλλλ ,,, 21 L son los valores propios de una matriz cuadrada A , entonces el polinomio característico )(zc se puede calcular a partir de

∏=

−=n

iizzc

1

)()( λ .

Aunque los valores propios pueden calcularse de forma estable, no está claro si los coeficientes ic son aceptables. Otros métodos para el cálculo de )(zc están descritos por Wilkinson en [Wilk92]. En este artículo, Wilkinson afirma que los métodos basados en fórmulas que obtienen los coeficientes ic a partir de funciones simétricas son inestables y costosos de implementar. Las técnicas basadas en transformaciones de semejanza fallan cuando A está próxima a ser derogatoria. Una matriz se dice derogatoria, si su forma canónica de Jordan tiene dos bloques distintos con el mismo valor propio. En el método de Cayley-Hamilton, Ate se expande en función de las matrices

1,,, −nAAI L . Si { }nAAA ,,, 10 L es un conjunto de matrices que generan el mismo subespacio, entonces existen funciones analíticas )(tjβ , tales que

∑−

=

=1

0)(

n

jjj

At Ate β .

La viabilidad de esta aproximación depende de la facilidad de generar jA y )(tjβ .

Page 20: P.O. Box: 22012 E-46071 Valencia (SPAIN)

19

Si se conocen los valores propios nλλλ ,,, 21 L de A , entonces se pueden aplicar cualquiera de los tres métodos que se presentan a continuación.

3.1.4.2 Método de Interpolación de Lagrange Se basa en la siguiente expresión,

∑ ∏−

= =≠

−−

=1

0 1

n

j

n

k kj

ktAt

jk

IAee j

λλλλ .

3.1.4.3 Método de Interpolación de Newton En este método la expresión utilizada es

( )∑ ∏=

=

−+=n

j

j

kkj

tAt IAIee2

1

121 ] ,,,[1 λλλλλ L .

Las diferencias ] ,,,[ 21 jλλλ L dependen de t y se definen recursivamente mediante las expresiones

2121

21

],[λλ

λλλλ

−−

=tt ee ,

2 ,] ,, ,[] ,, ,[], ,,[1

11

1322121 ≥

−−

=+

++ k

k

kkk λλ

λλλλλλλλλ LLL .

En [Macd56] se encuentra un estudio de estas fórmulas, para el caso de valores propios múltiples.

3.1.4.4 Método de Vandermonde Existen otros métodos para calcular las matrices

∏≠= −

−=

n

k kj

nkj

jk

IAA1 λλ

λ , 1,,1,0 −= nj L ,

que son necesarias en el método de interpolación de Lagrange. Uno de estos métodos se basa en la determinación de la matriz de Vandermonde

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

−−

−−

−−−

−−

111

11

121

12

22

1

121

1111

nn

nn

nn

nn

nn

nn

nn

V

λλλλλλλλ

λλλλ

L

MMOMM

L

L

.

Si jkv es el elemento ),( kj de 1−V , entonces

∑=

−=n

k

kjkj AvA

1

1

y

( 8 ) ∑=

=n

jj

tAt Aee j

1

λ .

Page 21: P.O. Box: 22012 E-46071 Valencia (SPAIN)

20

Cuando A tiene valores propios múltiples, se puede utilizar la correspondiente matriz de Vandermonde para el cálculo de la exponencial de la matrices jA que aparecen en la expresión ( 8 ).

Estos métodos polinomiales tienen un coste computacional elevado, )( 4nO , por lo que no son apropiados, a menos que el valor de n sea pequeño. Si se almacenan las matrices 110 ,,, −nAAA L , entonces el coste de almacenamiento es del orden )( 3nO , mayor que el coste de almacenamiento necesario en los métodos no polinomiales. Los siguientes métodos no requieren el uso de los valores propios de A y, por lo tanto, desaparece el problema asociado a la multiplicidad de los mismos. Sin embargo, otras dificultades de la misma importancia aparecen en los algoritmos basados en estos métodos.

3.1.4.5 Método Basado en Transformaciones Inversas de Laplace Si [ ].L representa a la transformada de Laplace, entonces los elementos de la matriz

[ ] ( ) 1−−= AsIeL At , son funciones racionales de s . En efecto,

( ) k

n

k

kn

Asc

sAsI ∑−

=

−−− =−

1

0

11

)(,

donde

∑−

=

−=−=1

0)det()(

n

k

kk

n scsAsIsc ,

siendo

kAAc k

kn)(traza 1−

−−

= , nk ,,2,1 L= ,

nknkk IcAAA −− −= 1 , nk ,,2,1 L= ,

nIA =0 .

Estas recurrencias fueron demostradas por Leverrier y Faddeeva [Fadd59] y pueden utilizarse para evaluar Ate , mediante la expresión

k

n

k

knAt A

scsLe ∑

=

−−−

⎥⎦

⎤⎢⎣

⎡=

1

0

11

)(,

donde las trasformadas inversas

⎥⎦

⎤⎢⎣

⎡ −−−

)(

11

scsL

kn

,

pueden expresarse como series de potencias en t . Los problemas de este método son su elevado coste computacional, )( 4nO , y la gran influencia que tienen en él los errores de redondeo.

3.1.4.6 Método de la Matriz Compañera La matriz compañera asociada a ℜ∈−− 1210 ,,,, nn cccc L , se define como

Page 22: P.O. Box: 22012 E-46071 Valencia (SPAIN)

21

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

−− 120

1000

00000010

nn cccc

C

L

L

MOOMM

O

L

1

.

Entre las propiedades más destacables que verifica esta matriz, se encuentran las siguientes:

1. C es dispersa. 2. El polinomio característico de C es

∑−

=

−=1

0

)(n

k

kk

n zczzc .

3. Si V es la matriz de Vandermonde correspondiente a los valores propios de C , entonces CVV 1− está en la forma canónica de Jordan.

4. Si A no es derogatoria, entonces es semejante a una matriz compañera; en caso contrario, A es semejante a una suma directa de matrices compañeras.

Puesto que C es dispersa, pequeñas potencias de C tienen un coste menor que los usuales 3n flops. Consecuentemente, se podría implementar el algoritmo de escalado y potenciación con un reducido coste computacional. Si se conoce el polinomio característico de C , se puede aplicar el teorema de Cayley-Hamilton u otras técnicas que involucren una recursividad en el cálculo de kc . Puesto que el cálculo de 1−V está mal condicionado, si explotamos la tercera propiedad tendremos una mala estimación de Ae . Por el Teorema 2, se tiene que si 1−= YCYA entonces

1−= YYee CA . Por lo tanto, la cuarta propiedad de la matriz compañera conduce a un algoritmo que permite calcular la exponencial de una matriz cualquiera. El problema de este método es que los algoritmos utilizados en la reducción de la matriz A a la forma compañera, son extremadamente inestables y se deben evitar [Wilk92]. Si la ecuación diferencial original consiste en una sola ecuación lineal de orden n , escrita como un sistema lineal de ecuaciones de primer orden, entonces la matriz coeficiente del sistema está en la forma de matriz compañera. Consecuentemente, la reducción anterior no es necesaria. Por lo tanto, se podría utilizar eficazmente el método de la matriz compañera. A continuación, se detalla un método para calcular He , con H una matriz de Hessenberg inferior (las matrices compañeras son un caso particular de este tipo de matrices). Puesto que toda matriz A es similar a una matriz de Hessenberg inferior, mediante una transformación ortogonal

IQQQHQA TT == , , entonces

THA QQee = .

Page 23: P.O. Box: 22012 E-46071 Valencia (SPAIN)

22

Para cualquier función analítica )(zf definida sobre el espectro de una matriz A , se tiene que A y )(Af conmutan, en particular

HeHe HH = . Igualando las columnas k-ésimas en la identidad anterior, se tiene que

2 ,1

≥= ∑−=

kfhHfn

kiiikk ,

donde kf representa la columna k-ésima de He . Si ninguno de los elementos superdiagonales de la matriz H es cero, entonces una vez se conoce nf , las otras columnas se obtienen a partir de

⎥⎦

⎤⎢⎣

⎡−= ∑

=−−

n

kiiikk

kkk fhHf

hf

11

1 .

Puesto que nf es igual a )1(x , siendo )(tx la solución de la EDO

[ ]TxtHxdt

tdx 1,0,,0,0)0( ),()(L== ,

entonces se puede utilizar alguno de los métodos basados en la resolución de EDOs, comentados en el apartado anterior, para el cálculo de nf .

El problema de este método se presenta cuando se tiene un valor pequeño pero no despreciable de kkh 1− . En este caso los errores de redondeo producidos en el cálculo de

kkh 1/1 − , pueden producir un cálculo inexacto de He .

En resumen, los métodos para calcular Ae que involucran la reducción de A a las formas de matriz compañera o de Hessenberg, no resultan ser eficientes.

3.1.5 Métodos Basados en la Descomposición de Matrices Todos los métodos de descomposición están basados en hallar transformaciones de semejanza

1−= XBXA , de manera que el cálculo de )(Bf sea más sencillo que el de )(Af , puesto que entonces al aplicar el Teorema 2 se tiene que

1)()( −= XBXfAf . Estos métodos resultan ser muy eficientes en problemas que involucran a matrices de dimensión elevada; además, si A es una matriz simétrica, entonces estos métodos proporcionan algoritmos simples y efectivos. El problema de estos métodos es que si la matriz X está mal condicionada, entonces se pueden producir errores de redondeo considerables.

3.1.5.1 Métodos Basados en la Diagonalización de una Matriz Sea nxnA ℜ∈ una matriz simple; es decir, A tiene un conjunto de vectores propios { }nvvv ,,, 21 L linealmente independientes. Si se considera la matriz [ ]nvvvV ,,, 21 L= , entonces se verifica la ecuación matricial

VDAV = , siendo

Page 24: P.O. Box: 22012 E-46071 Valencia (SPAIN)

23

),,,(diagD 21 nλλλ L= ,

con nλλλ ,,, 21 L los n valores propios de la matriz A . Por lo tanto, 1),,,(diag 21 −= VeeeVe nA λλλ L .

Este método no es aplicable si la matriz A es defectiva. Además, si A está cercana a la defectividad, entonces cualquier error en A , incluyendo los errores de redondeo producidos en su cálculo y los errores de redondeo producidos en el cálculo de los vectores propios, pueden conducir a errores elevados en el cálculo de Ate . Una forma de medir la cercanía a la defectividad es el cálculo del número de condición asociado a la matriz de vectores propios V

||||||||)(cond 1−= VVV . Cuanto mayor sea este número, más cerca se encuentra A de ser defectiva. Como el conjunto de matrices simples es un subconjunto denso del conjunto de matrices cuadradas, la mayoría de las matrices que aparecen en problemas de control o en otras áreas, suelen ser simples. Además, se puede equilibrar la matriz A de manera que se minimice )(cond V , con lo cual, este método no es demasiado restrictivo. Si A tiene valores propios complejos y se desea evitar la aritmética compleja, es posible obtener la descomposición

121 ),,,(diag −= VDDDVA rL ,

siendo iD , ri ,,2,1 L= , bloques diagonales de dimensión 1x1 o 2x2 correspondientes a valores propios reales o a valores propios complejos conjugados, respectivamente. Aplicando el Teorema 2, se tiene que

1),,,(diag 21 −= VeeeVe rDDDA L .

3.1.5.2 Método Basado en la Forma Canónica de Jordan Según el Corolario 2, si una matriz nxnCA∈ admite la descomposición canónica de Jordan

( ) 1,,,diag21

−= XJJJXArλλλ L ,

entonces

( ) 1,,diag 21 −= XeeeXe rJJJA λλλ L . La dificultad de este método es que la forma canónica de Jordan no se puede calcular utilizando aritmética en coma flotante. Un simple error de redondeo puede producir que algunos valores propios múltiples se conviertan en distintos, o viceversa, alterando toda la estructura de ( )

rJJJ λλλ ,,,diag

21L y X . En [GoWi76] y [KaRu74] se describen éstas

y otras dificultades del método. Un algoritmo eficiente que calcula la forma canónica de Jordan de una matriz cuadrada compleja, se puede encontrar en [KaRu74]. En este artículo se modifica la definición de forma canónica de Jordan para que sea aplicable en el caso de trabajar con aritmética de precisión finita. Con esta definición se muestra como se puede construir un algoritmo preciso y estable que calcula valores propios y cadenas de vectores principales asociados. Este algoritmo está basado en el cálculo de una secuencia de transformaciones de semejanza y sucesivas separaciones de rangos de subespacios nulos.

Page 25: P.O. Box: 22012 E-46071 Valencia (SPAIN)

24

3.1.5.3 Métodos Basados en la Forma Real de Schur La descomposición real de Schur de una matriz nxnA ℜ∈ , consiste en encontrar una matriz ortogonal Q de orden n y una matriz casi triangular superior T de orden n , llamada forma real de Schur de A , de manera que

T

mm

m

m

T Q

T

TTTTT

QQTQA

⎥⎥⎥⎥

⎢⎢⎢⎢

==

L

MOMM

00

....0

....

222

11211

,

donde cada bloque diagonal iiT , mi ,,2,1 L= , es de orden 11x ó 22x . Los bloques diagonales iiT de orden 11x corresponden a valores propios reales, y los de orden 22x a un par de valores propios complejos conjugados de la matriz A . Los vectores columna de Q se denominan vectores de Schur. Una vez se ha realizado esta descomposición, entonces )(Af se puede calcular mediante la expresión

TQTQfAf )()( = . El problema ahora es el cálculo de )(Tf ; es decir, el cálculo de la exponencial de una matriz casi triangular superior. Diversos métodos se pueden utilizar para dicho cálculo ([Ibañ97], [MaHI92], [DaHi03]).

3.1.5.4 Método Basado en la Diagonalización por Bloques de una Matriz Este método consiste en encontrar una transformación de semejanza de la matriz

nxnA ℜ∈ , 1−= XBXA ,

siendo nxnX ℜ∈ una matriz bien condicionada y B una matriz diagonal por bloques, en la que cada bloque diagonal es casi triangular superior, con valores propios cercanos o incluso múltiples. El tamaño de cada bloque debe ser tan pequeño como sea posible, manteniendo alguna cota superior para )(cond S , como por ejemplo 100)(cond <S . En este caso resulta que

1)()( −= XBXfAf , donde la matriz )(Bf tiene una estructura diagonal por bloques, tal como se representa en la Figura 1. Cada bloque diagonal de )(Bf se puede obtener a partir del correspondiente bloque de B , aplicando cualquiera de los métodos vistos en los apartados anteriores.

Page 26: P.O. Box: 22012 E-46071 Valencia (SPAIN)

25

Figura 1.

3.1.5.5 Métodos de Separación Es conocido que la propiedad aditiva de la función exponencial no se verifica en el caso matricial, a menos que las matrices, que aparecen en la suma, conmuten; es decir,

CBBCeee tCBCtBt =⇔= + )( . Sin embargo, las exponenciales de las matrices B y C están relacionadas con la exponencial de la matriz CB + mediante, por ejemplo, la fórmula de Trotter [Trot59]

( )mmCmB

m

CB eee //lim∞→

+ = .

Si las exponenciales de las matrices B y C se pueden calcular eficientemente, entonces se puede utilizar la aproximación

( )mmCmBA eee //≅ , para obtener la exponencial de la matriz CBA += . Por ejemplo, si definen la matrices

( ) 2/TAAB += y ( ) 2/TAAC −= , entonces B es simétrica y C antisimétrica, por lo que se pueden calcular eficientemente Be y Ce .

3.1.6 Métodos Basados en los Subespacios de Krylov Como se describió en el apartado 2.1, la solución del problema de valores iniciales ( 9 ) )()( tAxtx =& , 0)0( xx = ,

está dada por

0)( xetx At= .

En muchas ocasiones puede ser interesante calcular el producto 0xe At sin hallar expresamente la matriz Ate . A menudo la matriz A es de gran dimensión y dispersa, como puede ocurrir en la discretización espacial de una ecuación diferencial en derivadas parciales. Una serie de métodos que se han desarrollado en los últimos tiempos para calcular el producto ve At , v vector y A matriz dispersa, están basados en los denominados subespacios de Krylov. Estos métodos consisten, básicamente, en obtener una aproximación de ve At a partir del subespacio de Krylov generado por los vectores { }vAvAAvv m 12 ,,,, −L , siendo m un número entero positivo relativamente pequeño con relación a la dimensión de la matriz A . Entre estos métodos se encuentran el método de Lanczos, para el caso de que A sea una matriz simétrica, y el método de Arnoldi, para el caso de que A no sea simétrica. En este método los valores propios de la matriz se aproximan mediante los valores propios de una matriz de Hessenberg de dimensión m . A partir del vector v , se obtiene la reducción parcial de Hessenberg

Tmmmmmmm evhHVAV 1,1 +++= ,

donde mV tiene m columnas ortonormales, mH es una matriz de Hessenberg superior de dimensión m , me es la columna m-ésima de la matriz nI , y 1+mv es un vector unitario que satisface 01 =+m

Tm vV . La aproximación que se realiza es

TtHm

At eeVve m1β≅ ,

Page 27: P.O. Box: 22012 E-46071 Valencia (SPAIN)

26

siendo 2

v=β y 1e la primera columna de la matriz nI .

Se pueden obtener muy buenas aproximaciones con valores de m relativamente pequeños, incluso se pueden disponer de cotas del error cometido en la aproximación. Por lo tanto, un problema de gran dimensión y disperso (cálculo de Ate ), se reemplaza por un problema denso de pequeña dimensión (cálculo de tHme ). Existen diversos artículos en los que se analizan estos métodos, entre los que caben destacar [Kniz91] ,[GaSa92], [Saad92], [StLe96], [HoLS97] y [DrGr98].

3.2 Función Signo Matricial La primera propiedad de la función signo matricial (apartado 2.2) indica que la función signo matricial de una matriz coincide con la raíz cuadrada de la matriz identidad del mismo orden. Esta observación permitió a Roberts ([Robe71]) calcular el valor de la función signo matricial aplicando el método de Newton a la ecuación matricial

02 =− IX . Al aplicar este método, se obtiene la iteración

AX =0 ,

( )11 5.0 −+ += kkk XXX , L,2,1,0=k .

la cual converge cuadráticamente a la matriz )(sign A , siempre que la matriz A no tenga valores propios imaginarios puros y esté bien definida la iteración anterior. Resultados más exactos pueden obtenerse si en lugar de utilizar la iteración anterior se utiliza la iteración

AX =0 ,

( )11 5.0 −+ −−= kkkk XXXX , L,2,1,0=k .

Otra iteración sugerida en [HiSh90] evita el cálculo de inversas en cada paso de la iteración. Esta iteración se obtiene a partir de la iteración anterior y de la aproximación de Schulz

( ) kknkk XXIXX −+≅−1 .

La iteración que se obtiene es ( )2

1 35.0 knk XIX −=+ , L,2,1,0=k ,

la cual converge cuadráticamente a la matriz )(sign A , siempre que se cumplan las condiciones necesarias de existencia de dicha función matricial, y que además

12 <− AIn .

En [PaKL90], Pandey, Kenney y Laub deducen una iteración basada en una forma fraccionaria parcial explícita con 1−= sr , definida por

( 10 ) ( )∑=

+ +=p

iik

ikk IXX

pX

1

1221

11 αξ

, AX =0 ,

siendo

⎟⎟⎠

⎞⎜⎜⎝

⎛ −+=

pi

i 2)12(cos15.0 πξ , 112 −=

ii ξ

α , pi ,,1L= .

Page 28: P.O. Box: 22012 E-46071 Valencia (SPAIN)

27

En [KeLa91], Kenney y Laub presentan una familia de iteraciones de Padé basadas en aproximaciones de Padé de la función escalar ( ) 2/11)( −−= xxf , definidas mediante la expresión

( ) ( ) 1221

+ = kskrkk XqXpXX , AX =0 ,

donde rp y sq son polinomios de grados r y s , respectivamente.

Aunque los métodos anteriores convergen cuadráticamente, esta convergencia rápida no está asegurada en la práctica a causa de los errores cometidos en cada una de las iteraciones. Una técnica que mejora las iteraciones anteriores consiste en el escalado de las matrices que aparecen en la iteración. En [KeLa92], Kenney y Laub presentan varios tipos de escalado que permiten mejorar las iteraciones del método de Newton sin escalado si y solo si los factores de escalado se encuentran entre el cuadrado del factor de escalado óptimo y 1. A continuación se presenta una definición del factor de escalado óptimo y una breve explicación de estas técnicas. La finalidad del método de Newton con escalado consiste en encontrar LL ,,,1 kγγ , de manera que la iteración

AX =0 ,

( )( )11 5.0 −+ += kkkkk XXX γγ , L,2,1,0=k .

optimice la convergencia hacia una matriz con valores propios 1± (ver [Balz80]). Los valores óptimos de escalado, llamados factores de escalado óptimos, se obtienen a partir del siguiente teorema.

Teorema 10 ([KeLa92]). Sean { })()(

1 ,, km

k λλ L los valores propios de la matriz kX . Si jij

kj e θρλ ±=)( , donde

0>jρ , 2/πθ <j , mj ≤≤1 , entonces el factor de escalado óptimo *kγ verifica

( 11 ) ( ) ⎟⎟⎠

⎞⎜⎜⎝

−=

ijji

jjii

jik θρθρ

θρθρρρ

γcoscoscoscos12* ,

para una cierta pareja de valores i y j . El problema de encontrar los factores de escalado óptimos a partir del Teorema 10, es que es necesario el conocimiento completo de los valores propios de la matriz kX , para

L,2,1,0=k , y además conocer la pareja de índices ),( ji de la expresión ( 11 ). Por este motivo, Kenney y Laub desarrollaron en [KeLa92] una familia de métodos de escalado que eran óptimos con respecto a una información incompleta de los valores propios de una matriz. Esta familia incluía métodos de escalado óptimos y semióptimos basados en la estimación de los valores propios dominantes de la matriz kX y de su inversa, vía el método de potencias ([GoVa96], página 330) y seleccionando los valores de escalado óptimo para esos valores propios según la expresión ( 11 ). Otras estrategias para la determinación de factores de escalado se basan en la determinación de factores de escalado en la descomposición polar de una matriz ([HoJo91], capítulo 6). Entre ellas cabe destacar

• ⎟⎟

⎜⎜

⎛=

2

2

1

k

kBk X

Xγ ([Barr79]),

Page 29: P.O. Box: 22012 E-46071 Valencia (SPAIN)

28

4/1

1

1

1

1,1

⎟⎟

⎜⎜

⎛=

−−

kk

kkk XX

XXγ ([High86]),

• ( ) nkk X /1det −=γ , siendo n la dimensión de la matriz kX ([Byer87]),

2/11

⎟⎟

⎜⎜

⎛=

Fn

FkFk X

Xγ , siendo

F. norma de Frobenius ([KeLa92]).

3.3 Logaritmo de una Matriz El logaritmo de una matriz nxnA ℜ∈ cercana a la matriz identidad de orden n , puede encontrarse fácilmente utilizando la serie de Taylor

L−−−−=−= 3/2/)log(log 32 BBBBIA n ,

siendo AIB n −= . Desafortunadamente, si A no se encuentra cerca de la matriz identidad entonces los métodos basados en esta serie o no convergen o lo hacen muy lentamente. Una forma de solucionar este problema consiste en utilizar la igualdad

( 12 ) k

AA k 2/1log2log = ,

pues al hacer ∞→k se tiene que nIAk

→2/1 , y se evita el problema anteriormente comentado. Este método, desarrollado por Kenney y Laub ([KeL289]), tiene como nombre método inverso de escalado y potenciación, puesto que se trata del proceso inverso al método de escalado y potenciación utilizado en el cálculo de la exponencial de una matriz. En ese artículo Kenney y Laub proponen calcular las raíces cuadradas mediante el método basado en la forma real de Schur de una matriz que se describe en [BjHa83] y [Hig287]. Los métodos que se basan en la descomposición real de Schur, para el cálculo de funciones de matrices, tienen el problema de no funcionar bien cuando los valores propios de la matriz están cercanos entre sí ([BjHa83], [Parl76]). En [KeLa98] Kenney y Laub presentan un método, basado en esa descomposición, que evita este problema, utilizando para ello una nueva expresión de la derivada de Fréchet ([Grif81]) del logaritmo en términos de la función xxx /)tanh()( =τ , junto a una aproximación de Padé de la función τ . En [ChHi01], Cheng, Higham, Kenney y Laub utilizan una variante del método inverso de escalado y potenciación, en el que las raíces cuadradas se aproximan mediante una iteración matricial y ciertos parámetros se eligen dinámicamente para minimizar el coste computacional y así alcanzar la precisión necesaria. Para ello utilizan la fórmula

ssss EEEYA 1

21)( 22log2log −−−−−= L , )()(log ii

i ZYE = ,

donde )(iY y )(iZ son los valores finales de una iteración del tipo DB aplicada a )1( −iY . Esta iteración está definida mediante

( )[ ]11 5.05.0 −+ ++= kkk MMIM , )1(

0−= iYM

( )11 5.0 −+ += kkk MIYY , )1(

0−= iYY ,

( )11 5.0 −+ += kkk MIZZ , IZ =0 ,

Page 30: P.O. Box: 22012 E-46071 Valencia (SPAIN)

29

siendo kkk ZYM = .

Tanto el método descrito en [KeL289] como el descrito en [ChHi01] deben evaluar un aproximante diagonal de Padé

)()1log()(/)()( 12 +++== mmmm xOxxqxpxr ,

sobre matrices cuadradas A que cumplen la condición 1<A , siendo 16≤m y . cualquier norma matricial subordinada (ver definición de norma subordinada en [GoVa96], página 56). En los dos métodos anteriores, la forma de calcular )(xrm está basada en el método de Horner modificado para el caso de funciones matriciales racionales. Sin embargo, varias alternativas se han realizado a la hora de calcular )(xrm , como las que proponen Dieci y Papini en [DiPa00]. Estos autores argumentan que para calcular aproximantes diagonales de Padé, es preferible utilizar fórmulas de cuadratura, y así evitar el mal condicionamiento que tienen las matrices que aparecen en el denominador de la expresión matricial de los aproximantes de Padé. Más recientemente, en [High01], Higham realizó un estudio de diversos métodos basados en aproximantes de Padé, fracciones continuas y expansiones de fracciones parciales:

• Para los aproximantes de Padé, se analizan los métodos de Horner, Paterson-Stockmeyer ([Pate73]) y Van Loan ([VanL79]).

• Para fracciones continuas, se considera la expansión ([BaGr96])

xcxc

xcxc

xcxr

m

m

m

2

12

3

2

1

11

11

)(

++

++

=

−L

,

donde

11 =c , )12(22 −

=jjc j ,

)12(212 +=+ j

jc j , L,2,1=j .

• Para fracciones parciales, se define

∑= +

=m

jm

j

mj

m xx

xr1

)(

)(

1)(

βα

,

siendo )(mjα los pesos y )(m

jβ los nodos de la regla de cuadratura de Gauss-Legendre en el intervalo ]1,0[ .

Los resultados de este estudio confirman que los métodos de Horner, Paterson-Stockmeyer y Van Loan, para aproximantes de Padé, y el método basado en fracciones continuas sufren de una cierta inestabilidad cuando la norma de la matriz tiene un valor cercano a 1 y m es grande. Desde el punto de vista computacional, las mejores elecciones corresponden a las aproximaciones basadas en Padé y la correspondiente a la expansión en fracciones parciales; pero esta última implementación, junto con la versión de los aproximantes de Padé vía Paterson-Stockmeyer, son más ricas en operaciones del nivel 3 de BLAS. Desde el punto de vista de coste de almacenamiento, la elección del método de Padé vía

Page 31: P.O. Box: 22012 E-46071 Valencia (SPAIN)

30

Paterson-Stockmeyer es el peor, aunque para valores habituales de m ( 16≤m ) el coste de almacenamiento puede ser admisible. El método basado en la expansión en fracciones parciales es fácilmente paralelizable y además no sufre de la inestabilidad cuando se tienen matrices con norma cercana a 1 y valores de m grandes. Finalmente, Higham concluye que, en términos generales, el mejor método es el de expansión en fracciones parciales aunque en casos especiales, como por ejemplo cuando se utilizan máquinas de altas prestaciones en las que los productos de matrices son más rápidos que las inversiones, y se dispone de suficiente memoria, el método de Paterson-Stockmeyer puede ser la mejor elección, siempre que A sea significativamente menor que uno.

3.4 Raíz Cuadrada de una Matriz Uno de los primeros intentos para el cálculo de raíces cuadradas de un matriz aparece en [BjHa83]. En este artículo Björck y Hammarling describen un método rápido y estable para calcular la raíz cuadrada de una matriz compleja, basado en la forma real de Schur. Aunque este método se puede aplicar a matrices reales con únicamente valores propios reales, fracasa cuando la matriz real tiene valores propios complejos. En [Hig287], Higham realiza una extensión del método de Björck y Hammarling para matrices reales con valores propios reales o complejos que evita la aritmética compleja. Varios autores han utilizado el método de Newton para implementar algoritmos que calculan raíces cuadradas de una matriz. A continuación se describen, brevemente, algunos de ellos. Sea nxnCA∈ y la ecuación matricial

0)( 2 =−= AXXF . Aplicando el método de Newton, se obtiene la recurrencia

)()(' 11 kkkk XFXFXX −+ −= , ,...2,1,0=k ,

donde 'F es la derivada de Fréchet de la función F . Mediante el cálculo de la derivada de Fréchet se llega a la recurrencia

L,2,1,0,1

2

=⎭⎬⎫

+=−=+

+

kHXX

XAXHHX

kkk

kkkkk ,

siendo 0X una matriz previamente seleccionada que suele coincidir con la propia matriz A o con la matriz identidad. Esta iteración converge cuadráticamente a una raíz cuadrada de A , siempre que 0XX − sea suficientemente pequeño y la transformación lineal )(' XF sea no singular. El problema de la iteración anterior es que para cada paso es necesario resolver una ecuación de Sylvester para matrices densas, lo cual requiere la utilización del método de Bartels y Stewart ([BaSt71]), con el consiguiente alto coste computacional. Una posible mejora consiste en suponer que las matrices kH y kX conmutan, con lo que se pueden deducir las dos siguientes iteraciones

( )AYYY kkk1

1 5.0 −+ += ,

( )11 5.0 −+ += kkk AZZZ ,

las cuales, en caso de converger, lo hacen hacia una raíz cuadrada de la matriz A .

Page 32: P.O. Box: 22012 E-46071 Valencia (SPAIN)

31

El problema de estas dos iteraciones es que son numéricamente inestables tal como se demuestra en [High84]. En este mismo artículo Higham demuestra que si en lugar de utilizar las iteraciones anteriores, se utilizan las iteraciones acopladas

AP =0 , nIQ =0 ,

( )( ) L,2,1,0,

5.0

5.01

1

11 =

⎪⎭

⎪⎬⎫

+=

+=−

+

−+ k

PQQ

QPP

kkk

kkk ,

basadas en las iteraciones DB ([DeBe76]), entonces se obtiene un algoritmo numéricamente estable. Si la matriz A no tiene valores propios reales negativos y todas las iteraciones están bien definidas, se puede demostrar que

2/1APk → , 2/1−→ AQk , cuando ∞→k .

Posteriormente en [Hig297], Higham establece nuevas iteraciones basadas en iteraciones utilizadas para la función signo matricial:

• Un par de esas iteraciones acopladas están basadas en la iteración de Schulz de la función signo matricial, que evitan el cálculo de inversas. Estas iteraciones están definidas mediante las expresiones

AP =0 , nIQ =0 ,

( )( ) L,2,1,0,35.0

35.0

1

1 =⎭⎬⎫

+=+=

+

+ kQPQIQ

PQIPP

kkknk

kknkk .

Si se cumple que 1),( <−− IAIAdiag , entonces kP y kQ convergen

cuadráticamente a 2/1A y 2/1−A , respectivamente. • Otro par de iteraciones acopladas están basadas en la iteración ( 10 ). Estas

iteraciones son AY =0 , nIZ =0 ,

( 13 ) ( )

( ) ⎪⎪⎭

⎪⎪⎬

+=

+=

=

+

=

+

p

inikk

ikk

p

inikk

ikk

IZYZp

Z

IYZYp

Y

1

121

1

121

11

11

αξ

αξ

, .,2,1,0 L=k

Si A no tiene valores propios reales negativos, entonces las iteraciones kY y kZ definidas en ( 13 ) convergen a 2/1A y 2/1−A , respectivamente.

Al igual que ocurre con la función signo matricial, es conveniente utilizar técnicas de escalado que aceleren la convergencia de los métodos descritos anteriormente. Estas técnicas, en el caso de la iteración DB, se pueden expresar como

( )( )( )( ) L,2,1,0,

5.0

5.01

1

11 =

⎪⎭

⎪⎬⎫

+=

+=−

+

−+ k

PQQ

QPP

kkkkk

kkkkk

γγ

γγ.

De igual modo se puede utilizar el escalado para las iteraciones acopladas ( 13 ). Basándose en la técnica de escalado de la función signo matricial descrita en [Byer87], Higham, en ([Hig294], determina factores de escalado para el cálculo de raíces cuadradas de una matriz. En este artículo propone utilizar el factor de escalado

)2/(1)det()det( nkkk QP −=γ .

Page 33: P.O. Box: 22012 E-46071 Valencia (SPAIN)

32

Este factor se puede obtener fácilmente teniendo en cuenta que al realizar la descomposición LU de las matrices kP y kQ para calcular sus inversas, se puede obtener fácilmente el valor de )det()det( kk QP .

Otra estrategia utilizada por Hoskins y D. J. Walton en [HoWa78] consiste en estimar el radio espectral ([HoJo91], capítulo 1) de las matrices kP , 1−

kP , kQ y 1−kQ .

3.5 Raíz p-ésima de una Matriz En [HoWa79], Hoskins y Walton proponen un método, basado en el método de Newton, para matrices cuadradas A simétricas y definidas positivas, que permite calcular su raíz p-ésima, mediante la iteración

AX =0 ,

[ ]pkkk AXXp

pX −

+ +−= 11 )1(1 .

Sin embargo, como se demuestra en [Smit03], dicha iteración es inestable a menos que la matriz A esté extremadamente bien condicionada, y además esa iteración generalmente no converge para otros tipos de matrices que admiten raíces p-ésimas. En [TsSY88], Tsai, Shieh y Yates definen iteraciones cuya velocidad de convergencia es un parámetro. Las iteraciones acopladas que permiten una convergencia cuadrática a una raíz p-ésima se definen mediante las expresiones

AG =0 , nIR =0 ,

( )( )[ ]( ) ( ) ⎪⎭

⎪⎬⎫

−+−+=

−+−+=−

+

−+

kkkk

p

kkkk

GpIGpIRR

GpIGpIGG

)1()2(2

)1()2(21

1

11 , L,2,1,0=k ,

Cumpliéndose que IGk → y p

k AR /1→ , cuando ∞→k .

La expresión integral

( )∫∞

−+=

0

1/1 )/(sen dxAxAppA pp

ππ ,

puede deducirse a partir de una identidad estándar en el campo complejo ([Bhat97], [MaHI92]). En [HaHS00], M. Hasan, J. Hasan y L. Scharenroich proponen calcular aproximadamente la integral anterior mediante cuadratura Gaussiana. En [Smit03], Smith muestra un método basado en la forma real de Schur para el cálculo de raíces p-ésimas de una matriz que es estable numéricamente. A continuación se detalla ese método. Sea TQTQA = la descomposición real de Schur de la matriz nxnA ℜ∈ , con nxnT ℜ∈ una matriz casi triangular superior con bloques diagonales iiT ( mi ,,2,1 L= ) de tamaños

11x o 22x , correspondientes a valores propios reales o complejos conjugados respectivamente, y nxnQ ℜ∈ ortogonal. Para calcular la raíz p-ésima nxnU ℜ∈ de la matriz T , se siguen los siguientes pasos:

1. Determinar iiU y )(qiiR ( mi ,,2,1 L= , 2,,2,1 −= pq L ), mediante las siguientes

expresiones

Page 34: P.O. Box: 22012 E-46071 Valencia (SPAIN)

33

1)2(2)1(/1 ,,, −− === pii

piiiiii

piiii URURTU L , mi ,,2,1 L= .

2. Para 1:1 −= nk 2.1. Para kni −= :1

2.1.1. Calcular kiiU +, , resolviendo las ecuaciones

∑∑−

=

−−−

=

−− +=2

0

)(21

0

1p

m

mij

mpii

p

h

hjjij

hpiiij BUUUUT ,

siendo ∑−

+=

=1

1

)()(j

ik

mijik

mij RUB .

2.1.2. Calcular )(,q

kiiR + , 2,,2,1 −= pq L , mediante las expresiones

∑∑−

=

−−

=

− +=1

0

)(1

0

)(q

m

mij

mqii

q

h

hjjij

hqii

qij BUUUUR .

2.2. Fin Para 3. Fin Para.

Una vez se ha determinado la matriz nxnU ℜ∈ , la raíz p-ésima X se obtiene a partir de la expresión

TQUQX = . Recientemente en [BiHM04], Bini, Higham y Meini, han presentado una variedad de fórmulas que permiten calcular la raíz p-ésima de una matriz mediante técnicas de integración numérica.

3.6 Coseno de una Matriz El método para calcular el coseno de una matriz nxnA ℜ∈ , que se describe a continuación, está basado en los aproximantes de Padé. Aunque el algoritmo original se encuentra en [SeBl80], en este apartado se describe una mejora de él ([Hig203]). Este algoritmo, básicamente, consta de cuatro etapas:

Etapa 1: Reducir la norma de la matriz. Se aplican sucesivamente tres técnicas para reducir la norma de la matriz A :

• En primer lugar, se aplica una transformación de bajo coste que explota la relación de periodicidad de la función coseno,

)cos()1()cos( AqIA qn −=−π , Zq∈ .

El entero q se elige de manera que minimice el valor de nqIA π− . No es sencillo calcular el valor óptimo de q , a menos que se haga algún tipo de aproximación. La posibilidad que se apunta en el citado artículo, es considerar q como el entero más cercano a nA /)(trazat = que hace menor el valor de 1A , siendo nqIAA π−=1 .

• A continuación, se aplican técnicas de equilibrado sobre la matriz 1A , obtenida en el paso anterior. El equilibrado de 1A consiste en encontrar una matriz diagonal D , de manera que la matriz DADA 1

12

−= cumpla que para cada valor i ,

Page 35: P.O. Box: 22012 E-46071 Valencia (SPAIN)

34

ni ,,2,1 L= , la 1-norma de su i-ésima fila y la 1-norma de su i-ésima columna sean de magnitud semejante.

• Por último, se realiza el escalado de la matriz 2A . Para ello, se determina el valor de un entero j que cumpla

∞+−

∞− <≤ 2

12 212 AA jj ,

y se define la matriz mAA /23 = ,

siendo jm 2= .

Etapa 2: Calcular la aproximación de Padé. El cálculo de los coeficientes de los polinomios que aparecen en la aproximación de Padé, se realiza utilizando computación simbólica (Maple y Matemática). Con los valores calculados se obtiene la matriz

333 cos)( AARB pq ≅= .

Etapa 3: Aplicar las transformaciones inversas a las realizadas en la primera etapa.

La transformación inversa del escalado consiste en determinar 22 cos AB = a partir de

33 cos AB = . Para ello, se utiliza el siguiente código:

1. 23 BB =

2. Para 1:0 −= ji

2.1. nIBB −= 33 2

3. Fin para

Como se puede observar, el cálculo realizado en el bucle está basado en la identidad

nIBB −= 2cos22cos , nxnB ℜ∈ .

Las otras dos transformaciones inversas consisten en determinar 1B a partir de 2B , y B a partir de 1B :

121

−= DDBB ,

1)1( BB q−= . Esta última fórmula está basada en la identidad

)cos()1(cos nq qIAA π−−= , nxnA ℜ∈ .

3.7 Caso general Hasta el momento no se ha tratado el problema de implementar métodos generales eficientes que calculen funciones de matrices reales, aunque recientemente ha aparecido un artículo ([DaH103]) en el que se detalla un método general basado en la forma de Schur con intercambio de bloques diagonales para matrices complejas y en la siguiente propiedad debida a Parlet.

Page 36: P.O. Box: 22012 E-46071 Valencia (SPAIN)

35

Propiedad 1 ([Parl74]). Si )( ijTT = tiene una estructura triangular superior por bloques, entonces )(TfF = tiene la misma estructura por bloques )( ijFF = , cumpliéndose que para ji < ,

( 14 ) ∑∑+=

=

−=−j

ikkjik

j

ikkjikjjijijii FTTFTFFT

1

1

.

El algoritmo que se desarrolla en el citado artículo se presenta brevemente a continuación.

Algoritmo 1: Algoritmo de Schur-Parlett. Entradas: Matriz nxnCA∈ y )(zf función analítica. Salida: Matriz nxnCAfB ∈= )( . 1. Obtener la descomposición de Schur de la matriz A : Calcular una matriz

triangular superior nxnCT ∈ y una matriz unitaria nxnCQ∈ ( *1 QQ =− ), de manera que *QTQA = .

2. Reordenar la forma real de Schur de la matriz A , reagrupando los valores propios cercanos: Calcular una transformación bien condicionada definida por una matriz nxnCV ∈ , de manera que la matriz 1−=VTVT tenga los valores propios cercanos en el mismo cluster. Esta matriz puede estructurarse en bloques ( mxmijFF )(= ) de manera que los bloques diagonales correspondan a los clusters de valores propios cercanos.

3. Calcular )(TfF = : 3.1. Para mi :1=

3.1.1. Calcular )( iiii TfF = , mediante la aproximación de Taylor adaptada a matrices triangulares superiores con valores propios cercanos.

3.1.2. Para 1:1:1 −−= ij

3.1.2.1. Resolver para ijF la ecuación de Sylvester ( 14 ).

3.1.3. Fin Para 3.2. Fin Para

4. *1FVQQVF −= .

4 Software de Funciones de Matrices El software disponible para el cálculo de funciones de matrices es escaso, salvo el disponible en los paquetes de software matemático como Matlab.

4.1 Matlab • Función exponencial.

B = expm(A) calcula AeB = . Si A tiene valores propios negativos, entonces la matriz devuelta en B es compleja. Esta función utiliza una versión de la aproximación de Padé con escalado y potenciación.

• Función logaritmo.

Page 37: P.O. Box: 22012 E-46071 Valencia (SPAIN)

36

B = logm(A) calcula el logaritmo principal de la matriz A, mediante el Algoritmo 1. Si la matriz A es singular o tiene algún valor propio en el semieje real negativo, entonces no se puede calcular B; en este caso, logm devuelve un mensaje de error. La función logm también admite la sintaxis

[B, exitflag] = logm(A), devolviendo, además del logaritmo principal en caso de existir, el entero exitflag que describe la condición de salida de logm:

− Si exitflag = 0, el logaritmo principal se ha podido calcular. − Si exitflag = 1, alguna evaluación de la serie Taylor utilizada en el cálculo de

)( iiii TfF = del Algoritmo 1 no converge. Sin embargo, el valor devuelto de L puede ser incluso exacto.

• Función raíz cuadrada. B = sqrtm(A) calcula la raíz cuadrada principal de la matriz A. La matriz B es la única raíz cuadrada con valores propios con parte real no negativa. Si A tiene algún valor propio con parte real negativa entonces la matriz devuelta en B es compleja. Si A es singular entonces A no puede tener una raíz cuadrada. Un mensaje de error se muestra en ese caso. La función sqrtm también admite otras sintaxis:

− [X, resnorm] = sqrtm(A). En este caso no se muestran mensajes de error, y se devuelve en resnorm el valor del residual

F

F

A

XA 2−.

− [X, alpha, condest] = sqrtm(A). En este caso se devuelve un factor de estabilidad en alpha y una estimación en condest del número de condición asociado a la raíz cuadrada X. El residual está acotado aproximadamente por n*alpha*eps y el error relativo cometido al calcular la raíz cuadrada está acotado aproximadamente por n*alpha*condest*eps, siendo n = max(size(A)).

Si X es real, simétrica y definida positiva, o compleja, hermítica y definida positiva, entonces también es posible calcular su raíz cuadrada.

• Funciones en general. funm(A,fun) calcula )(Af para una función dada en el argumento fun, basándose en el Algoritmo 1. Esta función debe admitir un desarrollo en series de Taylor con un radio de convergencia infinito, excepto para fun = @log, la cuál es tratada de forma especial. Los posibles valores de fun son: @exp, @log, @sin, @cos, @sinh y @cosh. Admite además otras sintaxis que permiten controlar ciertos parámetros para el cálculo de la función matricial.

4.2 Expokit Se trata de un paquete de software numérico para el cálculo de exponenciales de matrices densas o dispersas, reales o complejas, escrito en Fortran y Matlab, y disponible en http://www.maths.uq.edu.au/expokit/. Más concretamente, Expokit permite calcular exponenciales de matrices de pequeño tamaño, mediante

Page 38: P.O. Box: 22012 E-46071 Valencia (SPAIN)

37

aproximaciones de Chebyshev y de Padé, y productos de la forma ve At , para A matriz dispersa y v vector, mediante un algoritmo basado en los subespacios de Krilov (procesos de Arnoldi y Lanczos).

4.3 Proyecto “Parallel Computation of Matrix Functions” Fruto de un proyecto de investigación denominado “Parallel Computation of Matrix Functions”, y desarrollado durante los años 1998 y 2001, se publicaron diversos artículos y se desarrollaron un conjunto de rutinas escritas en Fortran, denominado “LogPack”, que calculan logaritmos de matrices basados en el método de escalado inverso y potenciación ([ChHi01]). Estas rutinas se encuentran disponibles en la dirección de Internet http://www.ma.man.ac.uk/~higham/PCMF/.

4.4 Proyecto “Numerical Analysis of Matrix Functions” El proyecto de investigación “Numerical Analysis of Matrix Functions”, desarrollado durante los años 2001 y 2004, y auspiciado por la agencia de investigación “Engineering and Physical Sciences Research Council” (EPSRC), ha permitido un notable desarrollo teórico y práctico del cálculo de funciones de matrices:

• Método general para el cálculo de funciones de matrices complejas ([DaH103]). • Métodos para calcular funciones trascendentes y raíces p-ésimas. • Técnicas que permiten obtener bAf )( , siendo )(zf función analítica, A matriz

cuadrada y b vector, sin calcular explícitamente )(Af ([DaH203]).

• Teoría de la perturbación y números de condición asociados al cálculo de funciones de matrices ([Davi04]).

• Teoría y métodos para las funciones matriciales no primarias ([HiMN03], [HiMN03], [DaSm02]).

El software disponible (http://www.maths.man.ac.uk/~higham/NAMF/), consiste en un conjunto de ficheros de tipo “M” y de tipo “MEX” de Matlab, para el cálculo de funciones de matrices basados en el Algoritmo 1 del apartado 3.7.

5 Conclusiones En este informe técnico se han descrito los algoritmos más relevantes para el cálculo de las funciones matriciales más usuales. Posiblemente pueden existir más métodos, pero no tienen la importancia de los descritos en este informe. No se puede asegurar cual es el mejor método, pues la eficiencia y precisión de cualquiera de ellos depende de la matriz y de la función considerada. Como se puede fácilmente observar, los métodos son muy dependientes de la función considerada, aunque emergen dos métodos que se aplican en todos los casos y que en general suelen presentar buenas cualidades numéricas: métodos basados en la forma real de Schur y los métodos basados en aproximaciones racionales de Padé con escalado. Una continuación del presente informe técnico consistirá en diseñar algoritmos generales basados en estos métodos que permitan un cálculo eficiente y preciso de funciones de matrices.

6 Bibliografía [Abra71] A. A. Abramov, “On the boundary conditions at a singular point for linear ordinary

differentials equations”, U.S.S.R. Computational Mathematics an Mathematical Physics, vo. 11, pp. 363-367, 1971.

Page 39: P.O. Box: 22012 E-46071 Valencia (SPAIN)

38

[ABHI00] E. Arias, I. Blanquer, V. Hernández y J. Ibáñez, “Nonsingular Jacobian Free Piecewise Linealization of State Equation”. Contolo’2000, Portuguese Association of Automatic Control, 2000

[AlPr81] R. C. Allen and S. A. Pruess, “An analysis of an inverse problem in ordinary differential equations”. SIAM J. Sci. Statist. Comput., 2, pp. 176–185, 1981.

[AnDo92] E. Anderson, J. Dongarra and S. Ostrouchov, "LAPACK Working Note 41 Installation Guide for LAPACK", Department of Computer Science University of Tennessee Knoxville, Tennessee, 1992.

[ArCa76] E. S. Armstron and A.K. Caglayan, “An algorithm for the weighting matrices in the sampled-data optimal linear regulator problem”. NASA Langley Res. Ctr., Hampton, VA, NASA Tech. Note NASA TN D-8372,1976.

[BaGr96] G. A. Baker, Jr. and P. Graves-Morris, “Padé Approximants”, 2nd ed., Encyclopedia Math. Appl., Cambridge University Press, Cambridge, UK, 1996.

[Balz80] L. A. Balzer, “Accelerated convergente of the matriz sign function method of solving Lyapunov, Riccati, and other matriz equations”, Internat. J. Control, Vol. 32., pp. 1057-1078, 1980.

[Barr79] A. Y. Barraud, “Investigations autor de la function signe d’une matrice-application à l’Équation de Riccati”, R.A.I.R.O. Automat. Syst. Anal. Control, Vol. 13, pp. 335-368, 1979.

[BaSt71] R. H. Bartels and G. W. Stewart, “Algorithm 432, solution of the matrix equation AX+XB=C”, Communications of the ACM, Vol. 15, Nº 9, pp. 820-913, 1972.

[Bhat97] R. Bhatia, “Matrix Analysis”, Springer-Verlag, New York, 1997. [BeDo91] A. Beguelin, J. Dongarra, et al., “A user’s guide to PVM: Parallel Virtual Machine”,

Tech. Report TM-11826, Oak Ridge National Laboratory, 1991. [Bell53] R. Bellman, “Stability Theory of Differential Equations”, McGraw-Hill Book Co.,

Inc., New York, 1953. [Bell83] R. Bellman, “On the Calculation of Matrix Exponential”. Linear and Multilinear

Algebra, 41:73-79, 1983. [BiHM04] D. A. Bini, N. J. Higham, And Beatrice Meini,, “Algorithms for the matrix pth root”,

Numerical Analysis Report 454, Manchester Centre for Computational Mathematics, University of Manchester, 2004.

[BjHa83] A. Björck and S. Hammarling, “A Schur method for the square root of a matrix, Linear Algebra Appl. 52/53:127-140, 1983.

[BlDo99] S. Blackford, J. Dongarra, “LAPACK Working Note 41 Installation Guide for LAPACK, Version 3.0”, Department of Computer Science University of Tennessee Knoxville, Tennessee, 1999.

[Byer87] R. Byers, “Solving the algebraic Riccati equation with the matrix sign function”, Linear Algebra Appl., Vol. 85, pp. 267–279, 1987.

[CDOP95] J. Choi, J. Dongarra, S. Ostrouchov, A. Petitet, D. Walker, and R. C. WHALEY, “A proposal for a set of parallel basic linear algebra subprograms”. Computer Science Dept. Technical Report CS-95-292, University of Tennessee, Knoxville, TN, May 1995.

[ChHi01] S. H. Cheng, N. J. Higham, C. S. Kenney, and A. J. Laub, “Approximating the logarithm of a matrix to specified accuracy”. SIAM J. Matrix Anal. Appl., 22, pp. 1112–1125, 2001.

[DaH103] Philip I. Davies and Nicholas J. Higham, “A Schur-Parlett Algorithm for Computing Matrix Functions”. SIAM J. Matrix Analysis Appl., Vol. 25, No. 2, pp 464-485, 2003.

[DaH203] Philip I. Davies and Nicholas J. Higham, “Computing f(A)b for matrix functions f”. Numerical Analysis Report No. 436, Manchester Centre for Computational Mathematics, Manchester, England, November 2003. Submitted to Proceedings of the Third International Workshop on QCD and Numerical Analysis, Edinburgh, 2003.

[DaSm02] Philip I. Davies and Matthew I. Smith “Updating the singular value decomposition”. Numerical Analysis Report No. 405, Manchester Centre for Computational Mathematics, Manchester, England, August 2002. To appear in J. Comput. Appl. Math.

[Davi04] Philip I. Davies, “Structured conditioning of matrix functions”. Numerical Analysis Report No. 441, Manchester Centre for Computational Mathematics, Manchester, England, January 2004.

Page 40: P.O. Box: 22012 E-46071 Valencia (SPAIN)

39

[DDHH90] J. J. Dongarra, J. Du Croz, S. Hammerling, and R. J. Hanson, “A Set of Level 3 Basic Linear Algebra Subprograms”, ACM Trans. Math. Soft, 16(90), 1990.

[DeHi90] J. W. Demmel and N. J. Higham,”Improved Error Bounds for Undetermined Systems Solvers”, Computer Science Dept. Technical Report CS-90-113, University of Tennesse, Knoxville, 1990.

[DeBe76] E. D. Denman and A. N. Beavers, “The matrix sign function and computations in systems”, Appl. Math. Comp., vol. 2, pp. 63-94, 1976.

[DenSch83] J. E. Dennis, Jr., and R. B. Schnabel, “Numerical Methods for Unconstrained Optimization and Nonlinear Equations”. Prentice-Hall, Englewood Cliffs, NJ, 1983.

[DiPa00] L. Dieci and A. Papini, “Conditioning and Pad´e approximation of the logarithm of a matrix”, SIAM J. Matrix Anal. Appl., Vol. 21, pp. 913–930, 2000.

[DoVan92] Dongarra, R. Van De Geijn, And D. W. Walker. “A look at scalable dense linear algebra libraries”. in Proceedings of the Scalable High-Performance Computing Conference, IEEE, ed., IEEE Publishers, 1992, pp. 372-379.

[DoWhS95] J. DONGARRA AND R. C. WHALEY, “A user's guide to the BLACS v1.1”. Computer Science Dept. Technical Report CS-95-281, University of Tennessee, Knoxville, TN, 1995.

[DorLev76] P. Dorato and A. Levis, “Optimal Linear Regulators: The Discrete Time Case”. IEEE Trans. Automat. Control, col AC-16, 1971.

[DrGr98] V. Druskin, A. Greenbaum and L. Knizhnerman, “Using nonortthogonal Lanczos vectors in the computation of matrix functions”. SIAM J. Sci. Comput. 19, pp. 38-54, 1998.

[Fadd59] V. N. Faddeeva, “Computational Methods of Linear Algebra”, Dover Publications, New York, 1959.

[GaSa92] [E. Gallopoulos an Saad, “Efficient solution of parabolic equations by Krylov approximation methods”. SIAM J. Sci. Statist. Comput., 13, pp. 1236-1264, 1992.

[Gant90] F. R. Gantmacher, “The Theory of Matrices”. Vol. I, Chelsey, New York, 1990. [GoLR82] I. Gohberg, P. Lancaster, and L. Rodman., “Matrix Polinomials”. Academic Press,

New York,, 1982. [GoWi76] G. H. Golub and J. H. Wilkinson, “Ill-Conditioned Eigensystems and the

Computation of the Jordan Canonical Form”, SIAM Review 18, 1976. [GoVa96] G. H. Golub and C. F. Van Loan, “Matrix Computations”, Third Edition, The Johns

Hopkins University Press, Baltimore, Maryland, 1996. [GrLS94] W. Group, E. Lusk, A. Skjellum,"Using MPI: Portable Parallel Programming with the

Message-Passing Interface", the MIT Press, Cambridge, Massachusetts, 1994. [Hage84] W. W. Hager, “Condition Estimators”, SIAM J. Sci Stat. Comput., 5, pp. 311-316,

1984. [HaHS00] M. A. Hasan, J. A. K. Hasan, and L. Scharenroich. “New integral representations and

algorithms for computing nth roots and the matrix sector function of nonsingular complex matrices”, Proceedings of the 39th IEEE Conference on Decision and Control, Sydney, Australia, pages 4247–4252, 2000.

[High84] N. J. Higham, “Newton’s method for the matrix square root”, Numerical Analysis Report No. 91, Univ. of Manchester, 1984.

[High86] N. J. Higham, “Computing the polar decomposition-with applications”, SIAM J. Sci. Stat. Comput., Vol. 7, pp. 1160-1174, 1986

[Hig187] N. J. Higham, “A Survey of Condition Number Estimation for Triangular Matrices”, SIAM Review, 29, pp. 575-596, 1987.

[Hig287] Nicholas J. Higham, “Computing Real Square Roots of a Real Matrix”. Linear Algebra and appl.,88/89, pag 405-430, 1987.

[High88] N. J. Higham, “FORTRAN Codes for Estimating the One-Norm of a Real or Complex Matrix, with Applications to Condition Estimation”, ACM Trans. Math. Soft., 14, pp. 381-396, 1988.

[High90] N. J. Higham, “Experience with a Matrix Norm Estimator”, SIAM J. Sci. Stat. Comput.,11, pp. 804-809,1990.

[HiSh90] N. J. Higham and R. S. Schreiber, “Fast polar decomposition of an arbitrary matrix”, SIAM J. Sci. Stat. Comput.,11, pp. 648-655,1990.

[Hig194] N. J. Higham, “The Matrix Sign Decomposition and its Relation to the Polar Decomposition”,Linear Algebra and Appl., 212/213:3-20,1994.

Page 41: P.O. Box: 22012 E-46071 Valencia (SPAIN)

40

[Hig297] N. J. Higham, “Stable iterations for the matrix square root”, Numerical Algorithms”, Vol. 15, pp. 227-242, 1997.

[High01] N. J. Higham, “Evaluating Padé approximants of the matrix logarithm”, SIAM J. Matrix Anal. App., Vol. 22, Nº 4, pp. 1126-1135, 2001.

[Hig103] N. J. Higham, “A schur-Parlett Algorithm for Computing Matrix Functions”. SIAM J. Matrix Anal. Appl., Vol. 25, No. 2, pp. 464-485, 2003.

[Hig203] N. J. Higham, “Computing the matrix cosine”, Kluwer Academic Publishers, Numerical Algorithms 34: 13–26, 2003.

[High04] N. J. Higham, “The Scaling and Squaring Method for the Matrix Exponential Revisited”, Numerical Analysis Report 452, Manchester Centre for Computacional Mathematics, 2004.

[HiMN03] Nicholas J. Higham, D. Steven Mackey, Niloufer Mackey, and Fran¸coise Tisseur, “Computing the polar decomposition and the matrix sign decomposition in matrix groups”. Numerical Analysis Report No. 426, Manchester Centre for Computational Mathematics, Manchester, England, April 2003. Revised November 2003. To appear in SIAM J. Matrix Anal. Appl.

[HiMN04] Nicholas J. Higham, D. Steven Mackey, Niloufer Mackey, and Fran¸coise Tisseur, “Functions preserving matrix groups and iterations for the matrix square root”. Numerical Analysis Report 446, Manchester Centre for Computational Mathematics, Manchester, England, March 2004.

[HoLS97] M. Hochbruck, C. Lubich, and H. Selhofer, “Exponential integrators for large systems of differential equations”. SIAM J. Numer. Anal. 34, pp. 1911-1925, 1997.

[HoJo91] R. A. Horn and C. R. Johnson, “Topics in Matrix Analysis”. Cambridge University Press, London, 1991.

[HoWa78] W.D. Hoskins and D.J. Walton, “A faster method of computing the square root of a matrix”, IEEE Trans. Automat. Control. AC-23(3), pp. 494–495, 1978.

[HoWa79] W. D. Hoskins and D. J. Walton, “A faster, more stable method for computing the pth roots of positive definite matrices”. Linear Algebra Appl., 26, pp. 139–163, 1979.

[Ibañ97] J. Javier Ibáñez González, “Algoritmos Paralelos para el Cálculo de la Exponencial de una Matriz sobre Multiprocesadores de Memoria Compartida”. Proyecto Fin de Carrera UPV, 1997.

[KeLa91] C. S. Kenney and A. J. Laub, “Rational iterative methods for the matrix sign function”, SIAM J. Matrix Anal. Appl., 12(2):273-291, 1991.

[KeLa92] C. S. Kenney, A. J. Laub and P. M. Papadopoulos, “Matrix sign algorithms for Riccati equations”, IMA J. of Math. Control and Information, 9:331-344,1991.

[Karl59] S. Karlin, “Mathematical Methods and Theory in Games, Programming, and Economics”, Addison-Wedsley Pub. Co., Mass., 1959.

[Kall73] C. Kallstrom, “ Computing Exp(A) and Exp(As)ds”, Report 7309, Division of Automatic Control, Lund Institute of Technology, Lund, Sweden, 1973.

[Kamm76] D. W. Kammler, “Numerical Evaluation of Exp(At) when A is a Companion Matrix”, unpublished manuscript, University of Southern Illinois, Carbondale, IL,1976.

[KaRu74] B. Kågström and A. Ruhe, “An algorithm for Numerical Computation of the Jordan Normal Form of a Complex Matrix”, Report UMONF 51.74, Department of Information Processing, University of Umea, Umea, Sweden, 1974.

[KeL189] C. Kenney and A. J. Laub, “Padé error estimates for the logarithm of a matrix”, Internat. J. Control, 50 , pp. 707–730, 1989.

[KeL289] Kenney and A. J. Laub, “Condition estimates for matrix functions”, SIAM J. Matrix Anal. Appl., Vol. 10, pp. 191–209, 1989.

[KeLa92] C. Kenney and A.J. Laub, “On scaling Newton’s method for polar decomposition and the matrix sign function”, SIAM J. Matrix Anal. Appl. 13(3), pp. 688–706, 1992.

[KeLa98] C. Kenney and A.J. Laub, “A Schur-Fréchet algorithm for computing the logarithm and exponential of a matrix”, SIAM J. Matrix Anal. Appl., Vol. 19, Nº 3, pp. 640-663, 1998.

[Kniz91] L. A. Knizhnerman, “Calculation of functions of unsymmetric matrices using Arnoldi’s method”. Comput Math. and Math. Phys. 31, pp. 1-9, 1991.

[KoBa95] C. K. Koc¸ and B. Bakkaloglu, “Halley’s method for the matrix sector function”. IEEE Trans. Automat. Control, 40, pp. 944–949, 1995.

Page 42: P.O. Box: 22012 E-46071 Valencia (SPAIN)

41

[LaMi85] P. Lancaster and M. Tismenetsky, “The theory of matrices second edition with applications”. Computer Science and Applied Mathematics, Academic Press Inc., 1985.

[MaHI92] M. Marqués, V. Hernández and J. Ibáñez, “Parallel Algorithms for Computing Functions of Matrices on Shared Memory Multiprocessors”, Pacta´92, part 1, pp 157, 1992.

[Meht89] M. L. Mehta, “Matrix Theory: Selected Topics and Useful Results”, Hindustan Publishing Company, Delhi, second edition, 1989.

[MoVa78] C. B. Moler and Van Loan. “Nineteen Dubious Ways to Compute the Exponential of a Matrix”, SIAM Review 20, 801-36, 1978.

[MoVa03] C. B. Moler and Van Loan. “Nineteen Dubious Ways to Compute the Exponential of a Matrix, Twenty-five Years Later*”, SIAM Review 45, 3-49, 2003.

[MiQD95] P. Misra, E. Quintana and P. M. Van Dooren, "Numerically Reliable Computation of Characteristic Polynomials", American Control Conference, Seattle, WA, 1995.

[Parl76] B. N. Parlett, “A recurrence among the elements of functions of triangular matrices”, Linear Algebra Appl., Vol 14, pp. 117-121, 1976.

[Pate73] M. S. Paterson and L. J. Stockmeyer, “On the number of nonscalar multiplications necessary to evaluate polynomials”, SIAM J. Comput., Vol. 2, pp. 60–66, 1973.

[PeCK91] P. Petkov, N. Christov, and D. Konstantinov, “Computational Methods for Linear Control Systems”, Prentice Hall International Series in Systems and Control Engineering, 1991.

[Macd56] C. C. MacDuffee, “The Theory of Matrices”, Chelsea, New York, 1956. [Mast69] E. J. Mastascusa, “A Relation between Liou´s Method and Forth Order Runge-Kutta

Method for Evaluation of Transient Response”, Proc. IEEE, 57, 1969. [PaKL90] P. Pandey, C. Kenney and A. J. Laub, “A parallel algorithm for the matrix sign

function”, Int. J. High Speed Computing, 2(2), 181-191, 1990. [PaSt73] M. S. Paterson and L. J. Stockmeyer, “On the number of nonscalar multiplications

necessary to evaluate polynomials”, SIAM J. Comput., Vol 2, pp. 60–66, 1973. [Parl74] B. N. Parlett, “Computation of matrix-valud functions”. SIAM J. Matrix Anal., Vol

14, pp. 1061-1063, 1974. [PeCK91] P. Petkov, N. Christov, and D. Konstantinov, “Computational Methods for Linear

Control Systems”, Prentice Hall International Series in Systems and Control Engineering, 1991.

[Poll89] A. A. Pollicini, “Using Toolpack Software Tools”, Kluwer Academic, 1989. [Rine78] R. F. Rinehart, “The equivalence of definitions of a matrix functions”. IEEE Trans.

Auto. Cont., AC-24, pag. 320:321, 1978. [Robe71] J. D. Roberts, “Linear model reduction and solution of the Algebraic Riccati equation

by use of the Sign Function”. CUED/B-Control/TR13, Departament of Engineering, University of Cambridge, 1971.

[Robe80] J. D. Roberts, “Linear model reduction and solution of the Algebraic Riccati equation by use of the Sign Function”, International Journal Control, vol. 32. pp. 677-687, 1980.

[Scra71] R. E. Scraton, “Comment On Rational Approximants to the Matrix Exponential”, Electron. Lett., 7, 1971.

[ScaLA97] S. Blackford, J. Choi, A. Cleary, E. D’Azevedo, I. Dhillon, J. Demmel, J. Dongarra, S. Hammarling, G. Henry, A. Petitet, K. Stanley, D. Walker, R.C. Whaley, “ScaLAPACK Users’ Guide”. SIAM Publications, Philadelphia, 1997.

[Saad92] Y. Saad, “Analysis of some Krylov Subspace Approximations to the Matrix Exonential Operator”. SIAM J. Numerical Analysis, Vol. 29, pp. 209-228, 1992.

[SeBl80] S.M. Serbin and S.A. Blalock, “An algorithm for computing the matrix cosine”. SIAM J. Sci. Statist. Comput. Vol 1(2), pp. 198–204, 1980.

[Serb79] S.M. Serbin, “Rational approximations of trigonometric matrices with application to second-order systems of differential equations”. Appl. Math. and Comput., Vol. 5, pp. 75-92, 1979.

[Shah71] M. M. Shah, “On the Evaluation of Exp(At)”, Cambridge Report CUED/B-Control TR., Cambridge, England, 1971.

[ShTs84] L. S. Shieh, Y. T. Tsay, and C. T. Wang, Matrix sector functions and their applications to systems theory, Proc. IEE-D, 131, pp. 171–181, 1984.

Page 43: P.O. Box: 22012 E-46071 Valencia (SPAIN)

42

[SiSp76] B. Singer and S. Spilerman, “The representation of social processes by Markov models”. Amer. J. Sociology, 82, pp. 1–54, 1976.

[Smit03] M. I. Smith, “A schur algorithm for computing matrix pth roots”, SIAM J. Matrix Anal. Appl., Vol. 24. No. 4, pp. 971-989, 2003.

[StLe96] D. E. Stewqrt and T.S. Leyk, “Error estimates for Krylov subspace approximations of matrix exponentials”. J. Comput. Appl. Math. 72, pp. 359-369, 1996.

[Trot59] H. F. Trotter, “Product of Semigroups of Operators”, Prpc. Amer. Math. Soc., 10, 1959.

[TsSY88] J. S. H. Tsai, L. S. Shieh, and R. E. Yates. “Fast and stable algorithms for computing the principal nth root of a complex matrix and the matrix sector function”, Comput. Math. Applic., Vol. 15(11), pp. 903–913, 1988.

[VanL78] C. F. Van Loan, “Computing Integrals Involving the Matrix Exponential”, IEEE Transactions on Automatic Control, Vol. AC-23, 1978.

[VanL79] C. F. Van Loan, “A Note on the Evaluation of Matrix Polynomials”, IEEE Transactions on Automatic Control, Vol. AC-24, 1979.

[Varah79] J. M. Varah, “On the separation of two matrices”. SIAM J. Numerical Analysis, Vol. 16, pp. 216-222, 1979.

[Varg62] R. S. Varga, “Matrix Iterative Analysis”, Prentice Hall, Englewood Cliffs, New Jersey, 1962.

[Ward77] R. C. Ward, “Numerical Computation of the Matrix Exponential with Accuracy Estimate”, SIAM Journal Numerical Analysis, 14, 1977.

[Whit69] D. E. Whitney, “More Similarities between Runge-Kutta and Matrix Exponential Methods for Evaluating Transient Response”, Ibid., 57, 1969.

[Wilk92] J. H. Wilkinson, “the Algebraic Eigenvalues Problem”, Clarendon Press, Oxford. Reprinted, 1992.