Dove posso trovare un risolutore di sistema lineare veloce scritto in D? Dovrebbe essere in grado di prendere una matrice quadrata A e un vettore b e risolvere l'equazione Ax = b per b e, idealmente, anche effettuare l'inversione esplicito A. Ne ho uno che ho scritto da solo, ma è piuttosto lento, probabilmente perché è completamente privo di cache. Tuttavia, per il mio caso d'uso, ho bisogno di qualcosa con i seguenti , non negoziabili requisiti assoluti, vale a dire se non soddisfa questi, allora non altrimenti mi importa quanto è buono il contrario è:Risolutore di sistema lineare veloce per D?
Deve essere concesso in licenza come dominio pubblico, licenza Boost o licenza permissiva simile. Idealmente non dovrebbe richiedere l'attribuzione in binari (cioè non BSD), sebbene questo punto sia in qualche modo negoziabile.
Deve essere scritto in D pura o facilmente traducibile in puro D. Il codice Fortran inscrutabile (cioè LAPACK) non è una buona risposta, non importa quanto sia veloce.
Deve essere ottimizzato per sistemi di grandi dimensioni (ad esempio> 1000). Non voglio qualcosa progettato per i programmatori di giochi per risolvere matrici 4x4 davvero, molto velocemente.
Non deve essere inestricabilmente collegato a un'enorme libreria di materiale di cui non ho bisogno.
Edit: La ragione di queste esigenze apparentemente folle è che ho bisogno di questo codice per una libreria open source con licenza permissively che io non voglio avere eventuali dipendenze di terze parti.
Quali proprietà ha A? Simmetrica? Positivo? Definito positivo? Banded? Sparse? Chiedete qualcosa di veloce, di dominio pubblico ed escludi LAPACK! Non sembra proprio che tu voglia una soluzione! Sei consapevole che tutti i risolutori lineari performanti sono derivati dal Manuale? –
Che cos'è "The Handbook"? – Baxissimo
@Baxissimo "The Handbook for Automatic Computation: Linear Algebra" originariamente pubblicato nel 1972, creato da JH Wilkinson e C. Reinsch –