¿Se puede aproximar la solución de un sistema lineal de ecuaciones solo para las primeras variables?


15

Tengo un sistema lineal de ecuaciones de tamaño mxm, donde m es grande. Sin embargo, las variables que me interesan son solo las primeras n variables (n es pequeña en comparación con m). ¿Hay alguna manera de aproximar la solución para los primeros valores de m sin tener que resolver todo el sistema? Si es así, ¿sería esta aproximación más rápida que resolver el sistema lineal completo?


2
No, a menos que su función de forzado también esté restringida a las primeras n variables. Si es así, puede formar el complemento Schur, aunque es probable que sea denso. Si su operador original es escaso, puede que no valga la pena.
Jack Poulson

1
Supongo que podría usar la eliminación gaussiana a partir de la esquina inferior derecha de la matriz. Esto sería ~ 2 veces más rápido que la eliminación gaussiana regular si solo te preocupan los primeros elementos y te detienes a la mitad. No sé cómo se compararía con los métodos iterativos.
Dan

44
@OscarB: Por favor no. La regla de Cramer es una atrocidad en aritmética de coma flotante. Nunca he oído que se use para cálculos serios, y se necesita una buena cantidad de pensamiento para evitar la complejidad factorial , donde todavía no es competitivo con la eliminación gaussiana.
Jack Poulson

1
@Paul: La mayor parte de la reducción del orden del modelo se usa en el contexto de grandes sistemas ODE o DAE. A veces, las metodologías de reducción están motivadas por los sistemas ODE o DAE que surgen de la discretización de PDEs. No he visto la reducción de modelos utilizada en ecuaciones puramente algebraicas. (Si es así, por favor envíeme referencias, porque estoy haciendo mi tesis sobre métodos de reducción de modelos y estaría muy interesado en verla). Si lo desea, podría esbozar cómo se vería la reducción de modelos si tratamos ecuaciones algebraicas como un caso degenerado de un sistema de ecuaciones algebraicas diferenciales.
Geoff Oxberry

1
@JackPoulson: ¿te importaría resumir tu comentario como respuesta? Creo que es la solución más correcta y no quiero que se pierda en los comentarios.
Aron Ahmadia

Respuestas:


13

Como otros han señalado, esto es difícil de hacer con un solucionador directo. Dicho esto, no es tan difícil de hacer con solucionadores iterativos. Con este fin, tenga en cuenta que la mayoría de los solucionadores iterativos de una forma u otra minimizan el error con respecto a alguna norma. A menudo, esta norma es inducida por la matriz misma, pero a veces también es solo la norma del vector l2. Pero ese no tiene por qué ser el caso: puede elegir en qué norma quiere minimizar el error (o residual) y, por ejemplo, puede elegir una norma en la que pese los componentes que le interesan con 1 y todos los demás con 1e-12, es decir, por ejemplo, algo como (1e-24)N i = 6 x 2 i y el producto escalar correspondiente. Luego, escriba todos los pasos del solucionador iterativo con respecto a esta norma y producto escalar, y obtendrá un solucionador iterativo que presta mucha más atención a los elementos vectoriales que le interesan que a los demás.El |El |XEl |El |2=yo=15 5Xyo2+yo=6 6norteXyo2

La pregunta, por supuesto, es si necesita menos iteraciones que con el producto estándar / escalar que pesa todos los componentes por igual. Pero ese debería ser el caso: digamos que solo te importan los cinco primeros elementos vectoriales. Entonces debería necesitar como máximo cinco iteraciones para reducir el error en un factor de 1e12 ya que cinco iteraciones es lo que se necesita para el sistema 5x5 que las describe. Eso no es una prueba, pero estoy bastante seguro de que debería salirse con una cantidad mucho menor de iteraciones si el peso en la norma (1e-12 arriba) es menor que la tolerancia con la que desea resolver el sistema lineal de forma iterativa .


2
Hmm, buen punto. Me interesaría ver un ejemplo real, ya que de alguna manera me preocupan los efectos de solo intentar resolver algunos grados de libertad; a pesar de que el residuo puede ser pequeño, tal vez la norma del error sigue siendo bastante grande (ignorar efectivamente a la mayoría del operador).
Jack Poulson

Intuitivamente, esto solo parece funcionar si los componentes del sistema muy pequeño realmente dominan la respuesta en un sentido L2 (o la norma en la que entiende que se mide su error). De lo contrario, creo que la preocupación de Jack es válida, pero definitivamente estaría interesado incluso en ver una prueba numérica de esto ...
Aron Ahmadia

Uno debería asegurarse de tomar un método que minimice el error , no el residual. Creo que MinErr podría ser un buen punto de partida.
Wolfgang Bangerth

@ WolfgangBangerth: No estoy familiarizado con MINERR: ¿es esta la referencia principal?
Jack Poulson

1
Incluso eso no es suficiente, porque serás inexacto. No puede obtener algunos componentes con precisión utilizando esta ponderación.
Matt Knepley

17

Formando el complemento Schur

Suponga que ha permutado y dividido su matriz en el formulario

UN=(UN11UN12UN21UN22),

tal que contenga sus grados de libertad de interés y sea mucho más pequeño que A 11 , entonces uno puede formar el complemento SchurUN22UN11

S22: =UN22-UN21UN11-1UN12,

ya sea a través de una factorización LU parcial de aspecto correcto o la fórmula explícita, y luego puede entenderse en el siguiente sentido:S22

S22X=y(UN11UN12UN21UN22)(X)=(0 0y),

donde representa la parte 'poco interesante' de la solución. Por lo tanto, dado un lado derecho que no es cero en los grados de libertad del complemento Schur S 22 , solo necesitamos resolver contra S 22 para obtener la porción de la solución correspondiente a esos grados de libertad.S22S22

Complejidad computacional en caso denso no estructurado

Configuración de a la altura de A y n a la altura de A 22 , a continuación, el método estándar para el cálculo de S 22 es a primera factor de L 11 U 11 : = A 11 (Ignoremos pivotante por ahora) en aproximadamente 2 / 3 ( N - n ) 3 trabajos, luego formarnorteUNnorteUN22S22L11U11: =UN112/ /3(norte-norte)3

S22:=A22(A21U111)(L111A12)=A22A21A111A12

usando dos soluciones triangulares que requieren trabajo cada una, y luego realizando la actualización a A 22 en 2 n 2 ( N - n ) trabajo.n(Nn)2A222n2(Nn)

Por lo tanto, el trabajo total es aproximadamente . Cuando n es muy pequeño, N - n N , por lo que el coste puede ser visto a ser aproximadamente 2 / 3 N 3 , que es el costo de una factorización completa.2/3(Nn)3+2n(Nn)2+2n2(Nn)nNnnorte2/3N3

El beneficio es que, si hay una gran cantidad de lados derechos para resolver con el mismo sistema de ecuaciones, entonces podría potencialmente reutilizarse una gran cantidad de veces, donde cada resolución solo requeriría 2 n 2 de trabajo (en lugar de 2 N 2 funciona) si S 22 está factorizado.S222norte22norte2S22

Complejidad computacional en el caso disperso (típico)

Si su sistema disperso surgió de algún tipo de aproximación por diferencias finitas o elementos finitos, entonces los solucionadores directos dispersos seguramente podrán explotar parte de la estructura; Sistemas 2D se pueden resolver con de trabajo y O ( N log N ) de almacenamiento, mientras que los sistemas 3D se pueden resolver con O ( N 2 ) de trabajo y O ( N 4 / 3 ) de almacenamiento. Los sistemas factorizados se pueden resolver con la misma cantidad de trabajo que los requisitos de almacenamiento.O(norte3/ /2)O(norteIniciar sesiónnorte)O(norte2)O(norte4 4/ /3)

El punto de plantear las complejidades computacionales es que, si y usted tiene un sistema 2d, entonces dado que el complemento de Schur probablemente será denso, la complejidad de resolución dado el complemento de Schur factorizado seráO(n2)=O(N), que solo le falta un factor logarítmico en lugar de resolver el completo ¡sistema! En 3D, que requiereO(N)trabajo en lugar deO(N 4 / 3 ).nortenorteO(norte2)=O(norte)O(norte)O(norte4 4/ /3)

Por lo tanto, es importante tener en cuenta que, en su caso, donde , solo habrá ahorros significativos si está trabajando en varias dimensiones y tiene muchos lados derechos para resolver.norte=norte


1
¡Este es un gran resumen del método de complemento schur y cuando es computacionalmente eficiente usarlo!
Paul

6

El enfoque de reducción modelo

Como Paul preguntó, hablaré sobre lo que sucede si usa métodos de reducción de modelos basados ​​en proyección para este problema. Suponga que podría llegar a un proyector tal que el rango de P , denotado R ( P ) , contenga la solución a su sistema lineal A x = b , y tenga una dimensión k , donde k es el número de incógnitas para las cuales usted desea resolver en un sistema lineal.PPR(P)Ax=bkk

Una descomposición de valor singular de producirá la siguiente matriz particionada:P

P=[V][diag(1k)000][WT].

Las matrices oscurecidas por las estrellas son importantes para otras cosas (como error de estimación, etc.), pero por ahora, evitaremos tratar con detalles extraños. Resulta que

P=VWT

es una descomposición de rango completo de .P

Esencialmente, resolverás el sistema

PAx=Pb

de una manera inteligente, ya que y W también tienen la propiedad de que W T V = I . Multiplicando ambos lados de P A x = P b por W T y dejando que y = V x ser una aproximación para x rendimientosVWWTV=IPAx=PbWTy=Vx^x

WTAx^=WTb.

Resuelve para x , premultiplicar por V , y usted tiene y , a su aproximación para x .x^Vyx

¿Por qué el enfoque de complemento de Schur es probablemente mejor?

Para empezar, debes elegir alguna manera. Si la solución a A x = b está en R ( P ) , entonces y = x , e y no es una aproximación. De lo contrario, yx , e introduce algún error de aproximación. Este enfoque realmente no aprovecha toda la estructura que mencionó que desea explotar. Si elegimos P de modo que su rango sea la base de la unidad estándar en las coordenadas de x que desea calcular, las coordenadas correspondientes de y tendrán errores. No está claro cómo te gustaría elegirPAx=bR(P)y=xyyxPxy . Podría utilizar una SVD de A , por ejemplo, y seleccionar P para que sea el producto de los primeros k vectores singulares izquierdos de A y el adjunto de los primeros k vectores singulares derechos de A , suponiendo que los vectores singulares estén dispuestos en orden decreciente de valor singular Esta elección de proyector sería equivalente a realizar una descomposición ortogonal adecuada en A , y minimizaría elerror deL 2 en la solución aproximada.PAPkAkAA2

VWP

Los inconvenientes son muy parecidos al enfoque de JackPoulson, excepto que no estás aprovechando la estructura que mencionaste.


4

La respuesta larga es ... más o menos.

k

k

nknorte

Además, tenga en cuenta que la restricción de la orden en el que se va a realizar la copia de substituion puede restringir la forma de la matriz (que le quita la capacidad de las columnas de intercambio) que podría posiblemente conducir a un sistema mal condicionado, pero no estoy seguro de eso, solo algo a tener en cuenta.


O(norte3)O(norte2)norte

por eso la respuesta es "más o menos" en lugar de "sí" =)
drjrm3

Tiene sentido que se pueda hacer de esta manera ... Sin embargo, la mayor parte del cálculo en una Eliminación Gaussiana está en la fase de eliminación directa, produciendo una complejidad O (n ^ 3) a pesar de la fase de sustitución hacia atrás truncada. Esperaba que hubiera un método más rápido ...
Paul
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.