Dado un sistema lineal tridiagonal SPD, ¿podemos calcular previamente para que se puedan vincular tres índices en el tiempo O (1)?

11

Considere una simétrica definida positiva tridiagonal sistema lineal , donde A R n × n y b R n . Dados tres índices 0 i < j < k < n , si asumimos que solo las filas de ecuaciones estrictamente entre i y k se mantienen, podemos eliminar variables intermedias para obtener una ecuación de la forma u x i + v x j + w x k = C

Ax=b
ARn×nbRn0i<j<k<nik
uxi+vxj+wxk=c
donde . Esta ecuación relaciona el valor de x j con x i , x k independientemente de la influencia "externa" (por ejemplo, si se introdujo una restricción que afecta a x 0 ).v>0xjxi,xkx0

Pregunta : ¿Es posible preprocesar el sistema lineal en el tiempo O ( n ) para que la ecuación de enlace para cualquier ( i , j , k ) se pueda determinar en el tiempo O ( 1 ) ?Ax=bO(n)(i,j,k)O(1)

Si la diagonal de es 2, los offdiagonals son - 1 , y b = 0 , el resultado deseado es el resultado analítico para la ecuación de Poisson discretizado. Desafortunadamente, no es posible transformar un sistema tridiagonal SPD general en una ecuación de Poisson de coeficiente constante sin romper la estructura tridiagonal, esencialmente porque las diferentes variables pueden tener diferentes niveles de "detección" (definición positiva local estricta). Una escala diagonal simple de x , por ejemplo, puede eliminar la mitad de los 2 n - 1 DOF de A pero no la otra mitad.A1b=0x2n1A

Intuitivamente, una solución a este problema requeriría organizar el problema para que la cantidad de detección se pueda acumular en una matriz de tamaño lineal y luego de alguna manera "cancelarse" para llegar a la ecuación de enlace para el triple dado.

O(n)O(1)

Geoffrey Irving
fuente

Respuestas:

2

b=0n(0,i,n1)0i<n

xi=aix0+bixn1

i<jijxn1

bjxi=aibjx0+bibjxn1bixj=ajbix0+bibjxn1bjxibixj=(aibjajbi)x0xi=aibjajbibjx0+bibjxj

x0(i,j,k)bj=0bj=0

Geoffrey Irving
fuente
Una vez implementado esto, puedo confirmar que (1) funciona en aritmética exacta y (2) es extremadamente inestable. Intuitivamente, esta solución hace un montón de extrapolación de funciones exponenciales, lo que rompe el buen carácter interpolatorio de los problemas elípticos.
Geoffrey Irving
bj0nlogn
O(n)O(logn)
2

Me pregunto si podría hacer algo útil con una factorización de reducción cíclica de A (que creo que todavía es del tamaño O (n)), reutilizando la mayor parte de los bloques que permanecerían sin cambios al factorizar una submatriz principal contigua de A. Dudo te da O (1), pero tal vez O (log n) ...

Robert Bridson
fuente
O(logn)
¿No hay posibilidad de que la amortización te ayude?
Robert Bridson
Hay muchas otras amortizaciones en marcha, por lo que es bastante posible. Sin embargo, todavía no sé cómo.
Geoffrey Irving
Esto es lo que necesitaría para amortizar el costo: cstheory.stackexchange.com/questions/18655/… .
Geoffrey Irving
¡Excelente! Alguien publicó una solución maravillosa para esa pregunta teórica, por lo que ya no debería necesitar la respuesta a esta pregunta. La operación de multiplicación de semigrupo en esa pregunta está eliminando una variable intermedia.
Geoffrey Irving
1

Aquí hay otro intento, que es más estable que el método de cancelación pero que aún no es muy bueno.

AB=A1

Bij=bi+1bjdj+1dnδiδn

ijbidi,δiULLUAi<j<k

xj=(BjiBki)T(BiiBikBkiBkk)1(xixk)

ikik2×2

[1]: Gerard Meurant (1992), "Una revisión sobre el inverso de la diagonal simétrica y las matrices de bloques tridiagonales".

Geoffrey Irving
fuente