Articulo de referencia

Algoritmo iterativo racional de Krylov

El algoritmo iterativo racional de Krylov (IRKA) es un algoritmo iterativo, útil para la reducción de orden de modelo (MOR) de sistemas dinámicos lineales invariantes en el tiem...

El algoritmo iterativo racional de Krylov (IRKA) es un algoritmo iterativo, útil para la reducción de orden de modelo (MOR) de sistemas dinámicos lineales invariantes en el tiempo de una entrada y una salida (SISO) . [ 1 ] En cada iteración, IRKA realiza una interpolación de tipo Hermite de la función de transferencia del sistema original. Cada interpolación requiere resolverr{\displaystyle r}pares desplazados de sistemas lineales , cada uno de tamañonorte×norte{\displaystyle n\times n}; dóndenorte{\displaystyle n}es el orden del sistema original, yr{\displaystyle r}es el orden del modelo reducido deseado (generalmenternorte{\displaystyle r\ll n}).

El algoritmo fue presentado por primera vez por Gugercin, Antoulas y Beattie en 2008. [ 2 ] Se basa en una condición de optimalidad necesaria de primer orden, investigada inicialmente por Meier y Luenberger en 1967. [ 3 ] La primera prueba de convergencia de IRKA fue dada por Flagg, Beattie y Gugercin en 2012, [ 4 ] para un tipo particular de sistemas.

MOR como problema de optimización

Consideremos un sistema dinámico lineal invariante en el tiempo SISO, con entradav(t){\displaystyle v(t)}y saliday(t){\displaystyle y(t)}:

{incógnita˙(t)=Aincógnita(t)+bv(t)y(t)=doTincógnita(t)ARnorte×norte,b,doRnorte,v(t),y(t)R,incógnita(t)Rnorte.{\displaystyle {\begin{cases}{\dot {x}}(t)=Ax(t)+bv(t)\\y(t)=c^{T}x(t)\end{cases}}\qquad A\in \mathbb {R} ^{n\times n},\,b,c\in \mathbb {R} ^{n},\,v(t),y(t)\in \mathbb {R} ,\,x(t)\in \mathbb {R} ^{n}.}

Aplicando la transformada de Laplace , con condiciones iniciales nulas, obtenemos la función de transferencia.GRAMO{\displaystyle G}, que es una fracción de polinomios:

GRAMO(s)=doT(sIA)1b,ARnorte×norte,b,doRnorte.{\displaystyle G(s)=c^{T}(sI-A)^{-1}b,\quad A\in \mathbb {R} ^{n\times n},\,b,c\in \mathbb {R} ^{n}.}

AsumirGRAMO{\displaystyle G}es estable. Dador<norte{\displaystyle r<n}MOR intenta aproximar la función de transferencia.GRAMO{\displaystyle G}mediante una función de transferencia racional estableGRAMOr{\displaystyle G_{r}}, de ordenr{\displaystyle r}:

GRAMOr(s)=dorT(sIrAr)1br,ArRr×r,br,dorRr.{\displaystyle G_{r}(s)=c_{r}^{T}(sI_{r}-A_{r})^{-1}b_{r},\quad A_{r}\in \mathbb {R} ^{r\times r},\,b_{r},c_{r}\in \mathbb {R} ^{r}.}

Un posible criterio de aproximación es minimizar el error absoluto enH2{\displaystyle H_{2}}norma:

GRAMOrargramominoscuro(GRAMO^)=r,GRAMO^ estableGRAMOGRAMO^H2,GRAMOH22:=12π|GRAMO(ja)|2da.{\displaystyle G_{r}\in {\underset {\dim({\hat {G}})=r,\,{\hat {G}}{\text{ stable}}}{\operatorname {arg\min } }}\|G-{\hat {G}}\|_{H_{2}},\quad \|G\|_{H_{2}}^{2}:={\frac {1}{2\pi }}\int \limits _{-\infty }^{\infty }|G(ja)|^{2}\,da.}

Esto se conoce como elH2{\displaystyle H_{2}}problema de optimización . Este problema ha sido estudiado extensamente y se sabe que no es convexo [ 4 ], lo que implica que normalmente será difícil encontrar un minimizador global.

Condiciones de Meier-Luenberger

La siguiente condición necesaria de optimalidad de primer orden para laH2{\displaystyle H_{2}}Este problema es de gran importancia para el algoritmo IRKA.

Teorema ( [ 2 ] [Teorema 3.4] [ 4 ] [Teorema 1.2]) Supongamos que el H2{\displaystyle H_{2}}El problema de optimización admite una solución.GRAMOr{\displaystyle G_{r}}con polos simples. Denotemos estos polos de la siguiente manera:λ1(Ar),,λr(Ar){\displaystyle \lambda _{1}(A_{r}),\ldots ,\lambda _{r}(A_{r})}. Entonces,GRAMOr{\displaystyle G_{r}}debe ser un interpolador de Hermite deGRAMO{\displaystyle G}a través de los polos reflejados deGRAMOr{\displaystyle G_{r}}:

GRAMOr(σi)=GRAMO(σi),GRAMOr(σi)=GRAMO(σi),σi=λi(Ar),i=1,,r.{\displaystyle G_{r}(\sigma _{i})=G(\sigma _{i}),\quad G_{r}^{\prime }(\sigma _{i})=G^{\prime }(\sigma _{i}),\quad \sigma _{i}=-\lambda _{i}(A_{r}),\quad \forall \,i=1,\ldots ,r.}

Tenga en cuenta que los polosλi(Ar){\displaystyle \lambda _{i}(A_{r})}son los valores propios de la reducidar×r{\displaystyle r\times r}matrizAr{\displaystyle A_{r}}.

interpolación de Hermite

Un interpolante ermitañoGRAMOr{\displaystyle G_{r}}de la función racionalGRAMO{\displaystyle G}a través der{\displaystyle r}puntos distintosσ1,,σrdo{\displaystyle \sigma _{1},\ldots ,\sigma _{r}\in \mathbb {C} }tiene componentes:

Ar=WrAVr,br=Wrb,dor=Vrdo,ArRr×r,brRr,dorRr;{\displaystyle A_{r}=W_{r}^{*}AV_{r},\quad b_{r}=W_{r}^{*}b,\quad c_{r}=V_{r}^{*}c,\quad A_{r}\in \mathbb {R} ^{r\times r},\,b_{r}\in \mathbb {R} ^{r},\,c_{r}\in \mathbb {R} ^{r};}

donde las matricesVr=(v1vr)donorte×r{\displaystyle V_{r}=(v_{1}\mid \ldots \mid v_{r})\in \mathbb {C} ^{n\times r}}yWr=(w1wr)donorte×r{\displaystyle W_{r}=(w_{1}\mid \ldots \mid w_{r})\in \mathbb {C} ^{n\times r}}se puede encontrar resolviendor{\displaystyle r}pares duales de sistemas lineales, uno para cada desplazamiento [ 4 ] [Teorema 1.1]:

(σiIA)vi=b,(σiIA)wi=do,i=1,,r.{\displaystyle (\sigma _{i}I-A)v_{i}=b,\quad (\sigma _{i}I-A)^{*}w_{i}=c,\quad \forall \,i=1,\ldots ,r.}

Algoritmo IRKA

Como se puede ver en la sección anterior, encontrar un interpolador de HermiteGRAMOr{\displaystyle G_{r}}deGRAMO{\displaystyle G}a través der{\displaystyle r}La obtención de puntos de referencia es relativamente sencilla. La dificultad reside en encontrar los puntos de interpolación correctos. IRKA intenta aproximar iterativamente estos puntos de interpolación "óptimos".

Para ello, comienza conr{\displaystyle r}puntos de interpolación arbitrarios (cerrados bajo conjugación) y luego, en cada iteraciónmetro{\displaystyle m}, impone la condición de optimalidad necesaria de primer orden de laH2{\displaystyle H_{2}}problema:

1. Hallar el interpolante de HermiteGRAMOr{\displaystyle G_{r}}deGRAMO{\displaystyle G}a través de la realidadr{\displaystyle r}puntos de cambio:σ1metro,,σrmetro{\displaystyle \sigma _{1}^{m},\ldots ,\sigma _{r}^{m}}.

2. Actualizar los desplazamientos utilizando los polos del nuevoGRAMOr{\displaystyle G_{r}}:σimetro+1=λi(Ar),i=1,,r.{\displaystyle \sigma _{i}^{m+1}=-\lambda _{i}(A_{r}),\,\forall \,i=1,\ldots ,r.}

La iteración se detiene cuando el cambio relativo en el conjunto de desplazamientos de dos iteraciones sucesivas es menor que una tolerancia dada. Esta condición se puede expresar como:

|σimetro+1σimetro||σimetro|<tol,i=1,,r.{\displaystyle {\frac {|\sigma _{i}^{m+1}-\sigma _{i}^{m}|}{|\sigma _{i}^{m}|}}<{\text{tol}},\,\forall \,i=1,\ldots ,r.}

Como ya se mencionó, cada interpolación de Hermite requiere resolverr{\displaystyle r}pares desplazados de sistemas lineales, cada uno de tamañonorte×norte{\displaystyle n\times n}:

(σimetroIA)vi=b,(σimetroIA)wi=do,i=1,,r.{\displaystyle (\sigma _{i}^{m}I-A)v_{i}=b,\quad (\sigma _{i}^{m}I-A)^{*}w_{i}=c,\quad \forall \,i=1,\ldots ,r.}

Además, actualizar los turnos requiere encontrar elr{\displaystyle r}polos del nuevo interpolanteGRAMOr{\displaystyle G_{r}}. Es decir, encontrar elr{\displaystyle r}autovalores del reducidor×r{\displaystyle r\times r}matrizAr{\displaystyle A_{r}}.

Pseudocódigo

El siguiente es un pseudocódigo para el algoritmo IRKA [ 2 ] [Algoritmo 4.1].

Entrada del algoritmo IRKA :A,b,do{\displaystyle A,b,c},tol>0{\displaystyle {\text{tol}}>0},σ1,,σr{\displaystyle \sigma _{1},\ldots ,\sigma _{r}}cerrado bajo conjugación (σiIA)vi=b,i=1,,r{\displaystyle (\sigma _{i}I-A)v_{i}=b,\,\forall \,i=1,\ldots ,r}% Resolver sistemas primales (σiIA)wi=do,i=1,,r{\displaystyle (\sigma _{i}I-A)^{*}w_{i}=c,\,\forall \,i=1,\ldots ,r}% Resolver sistemas duales mientras que el cambio relativo en {σi{\displaystyle \sigma _{i}}} > tol Ar=WrAVr{\displaystyle A_{r}=W_{r}^{*}AV_{r}}Matriz de orden reducido % σi=λi(Ar),i=1,,r{\displaystyle \sigma _{i}=-\lambda _{i}(A_{r}),\,\forall \,i=1,\ldots ,r}% Actualizar los cambios, usando polos deGRAMOr{\displaystyle G_{r}}(σiIA)vi=b,i=1,,r{\displaystyle (\sigma _{i}I-A)v_{i}=b,\,\forall \,i=1,\ldots ,r}% Resolver sistemas primales (σiIA)wi=do,i=1,,r{\displaystyle (\sigma _{i}I-A)^{*}w_{i}=c,\,\forall \,i=1,\ldots ,r}% Resuelve sistemas duales final mientrasdevolverAr=WrAVr,br=Wrb,dorT=doTVr{\displaystyle A_{r}=W_{r}^{*}AV_{r},\,b_{r}=W_{r}^{*}b,\,c_{r}^{T}=c^{T}V_{r}}% Modelo de pedido reducido

Convergencia

Se dice que un sistema lineal SISO tiene un espacio de estados simétrico (SSS) cuandoA=AT,b=do.{\displaystyle A=A^{T},\,b=c.}Este tipo de sistemas aparece en muchas aplicaciones importantes, como en el análisis de circuitos RC y en problemas inversos que involucran ecuaciones de Maxwell en 3D . [ 4 ] Para sistemas SSS con polos distintos, se ha demostrado el siguiente resultado de convergencia: [ 4 ] "IRKA es una iteración de punto fijo localmente convergente a un minimizador local de laH2{\displaystyle H_{2}}problema de optimización."

Aunque no existe una prueba de convergencia para el caso general, numerosos experimentos han demostrado que IRKA a menudo converge rápidamente para diferentes tipos de sistemas dinámicos lineales. [ 1 ] [ 4 ]

Extensiones

El algoritmo IRKA ha sido extendido por los autores originales a sistemas de entrada múltiple y salida múltiple (MIMO), y también a sistemas de tiempo discreto y algebraicos diferenciales [ 1 ] [ 2 ] [Observación 4.1].

Véase también

Reducción de orden de modelo

Referencias

  1. 1 2 3 "Algoritmo iterativo racional de Krylov" . MOR Wiki . Consultado el 3 de junio de 2021 .
  2. 1 2 3 4 Gugercin, S.; Antoulas, AC ; Beattie, C. (2008),H2{\displaystyle H_{2}}Reducción de modelos para sistemas dinámicos lineales a gran escala , Journal on Matrix Analysis and Applications, vol.  30, SIAM, pp. 609–638 
  3. L. Meier; DG Luenberger (1967), Aproximación de sistemas lineales constantes , IEEE Transactions on Automatic Control, vol. 12, pp . 585–588  
  4. 1 2 3 4 5 6 7 G. Flagg; C. Beattie; S. Gugercin (2012), Convergencia del algoritmo iterativo racional de Krylov , Systems & Control Letters, vol. 61, pp. 688–691  
  • Wiki de reducción de orden modelo