Después de la respuesta de Arnold, hay algo que puede hacer para simplificar el problema. Específicamente, reescriba el sistema como . Luego, tenga en cuenta que, a partir de la afirmación de que G es alto y angosto y que cada fila tiene solo un 1 y ceros, de lo contrario, la afirmación G T y = - b significa que un subconjunto de los elementos de y tiene un valor fijo, es decir, los elementos de - b .Ay+Gx=0,GTy=−bGGTy=−by−b
Digamos que para simplificar que tiene m columnas yn filas y que exactamente las primeras m filas tienen unas y que reordenando los elementos de x , puedo hacer que G tenga la matriz de identidad m × m en la parte superior y una matriz n - m × m cero en la parte inferior. Entonces puedo dividir y = ( y c , y f ) en m elementos "restringidos" y n - m "libres" para queGmnmxGm×mn−m×my=(yc,yf)mn−m . También puedo dividir A para que A = ( A c c A c f A f c A f f ) . De la ecuación A y + G x = 0 , obtengo lo siguiente:
A c c y c + A c f y f + x = 0 ,yc=−bAA=(AccAfcAcfAff)Ay+Gx=0
y usando lo que sabemos sobre y c que tenemos de la segunda de estas ecuaciones
A f f y f = A f c b
y consecuentemente
x = A c c b - A c f A - 1 f f A f c b .
En otras palabras, la única matriz que tiene que invertir es el subconjunto de A
Accyc+Acfyf+x=0,Afcyc+Affyf=0
ycAffyf=Afcb
x=Accb−AcfA−1ffAfcb.
Acuyas filas y columnas no se mencionan en
(el espacio nulo de
G ). Esto se puede hacer fácilmente: (i) calcular
z = A f c b ; (ii) use cualquier solucionador que tenga para resolver
A f f h = z ; (iii) calcule
x = A c c b - A c f h .
GGz=AfcbAffh=zx=Accb−Acfh
En otras palabras, dada la estructura de , resolviendo el sistema lineal que tiene en realidad no es más difícil que la solución de un solo sistema lineal con una .GA