Esiste un pacchetto o un metodo ottimizzato che stima l'autovalore Perron-Frobenius di una matrice reale, quadrata, non negativa? Questo potrebbe essere significativamente più veloce (specialmente per matrici grandi e/o sparse) rispetto a un calcolo esatto - dato che l'autovalore Perron-Frobenius può essere ottenuto iterando la matrice. Spero che esista un pacchetto ottimizzato che fa questo.Pacchetto Python per stimare l'autovalore Perron-Frobenius della matrice reale, quadrata, non negativa
5
A
risposta
4
In scipy.sparse.linalg
si hanno le funzioni eigs
e eigsh
che utilizzano ARPACK library. Si può leggere di più in this tutorial, ma se a
è una matrice quadrata, possibilmente in formato sparse, allora si può ottenere il suo più grande autovalore grandezza, cioè la sua autovalore di Perron-Frobenius, e il corrispondente autovettore come:
val, vec = scipy.sparse.linalg.eigs(a, k=1, which='LM')
Grazie ! Questo è esattamente quello che volevo. Manca la bandiera 'which'. Inoltre, è interessante (e fantastico) che questo dovrebbe essere nel pacchetto sparse. Doppi punti. – gabe