Problema: A è quadrato, a pieno rango, sparse e a bande. Ha troppi elementi da memorizzare come una singola matrice in Matlab (almeno ~ 4.6 * 10 e idealmente ~ 10 , entrambi superano lo max array size. MODIFICA: A è memorizzato come sparse, e il problema non è con memoria limitata ma con un numero limitato di elementi). Pertanto devo memorizzarlo come una raccolta di array più piccoli (righe/diagonali/colonne/blocchi).Risolvere Ax = b dove A è troppo grande per essere memorizzato in un singolo array
In cerca di: un modo per risolvere Ax = b, con A dato come raccolta di array più piccoli. Idealmente in Matlab, ma non è un must.
In alternativa, se non in Matlab: forse c'è un programma in grado di archiviare e risolvere una A così grande?
Trovato finora: metodi se A è tri/pentadiagonale, ma il mio A ha N diagonali. Ho anche trovato qualcosa sul partizionamento A sui blocchi, ma non sono riuscito a trovare un modo per risolvere un sistema lineare con questi blocchi.
p.s. Il sistema è a 64 bit.
Grazie a tutti!
Hai definito la matrice come una matrice normale? Non esplicitamente come [** sparse **] (http://www.mathworks.de/de/help/matlab/ref/sparse.html)? Quest'ultimo dovrebbe farti risparmiare molta memoria. Per risolvere: [** questo articolo **] (http://www.mathworks.de/de/help/matlab/math/sparse-matrix-operations.html) è probabilmente utile. Non ho mai usato matrici sparse e non posso aiutarti ulteriormente, ma sicuramente altri possono;) – thewaywewalk
'sparse' ha anche limiti di dimensione. Controlla il secondo argomento di output di 'computer', restituisce il numero massimo di elementi che possono essere indicizzati. '[~, Maxsize] = computer'. Non li link qui perché dipendono dalla tua versione MATLAB, ma per quanto ne so nessuna versione supporta 4.6 * 10^18 elementi. – Daniel
È necessario trovare un solutore che utilizzerà un puntatore/handle di funzione anziché una matrice memorizzata. Ho appena guardato ma non ho trovato nulla. Tuttavia, sono sicuro che ne esiste uno. Detto questo, ho il sospetto che avrete problemi di precisione con tanti elementi indipendentemente dal risolutore. – AnonSubmitter85