svd#
- scipy.linalg.interpolative.svd(A, eps_or_k, rand=True, rng=None)[Quelle]#
Berechnet die SVD einer Matrix über eine ID.
Eine SVD einer Matrix A ist eine Faktorisierung
A = U @ np.diag(S) @ V.conj().T
wobei U und V orthonormale Spalten haben und S nicht negativ ist.
Die SVD kann mit jeder relativen Genauigkeit oder jedem Rang berechnet werden (abhängig vom Wert von eps_or_k).
Siehe auch
interp_decompundid_to_svd.- Parameter:
- A
numpy.ndarrayoderscipy.sparse.linalg.LinearOperator Zu faktorisierende Matrix, entweder als
numpy.ndarrayoder alsscipy.sparse.linalg.LinearOperatormit den Methoden matvec und rmatvec (zum Anwenden der Matrix und ihrer Adjungierten).- eps_or_kfloat oder int
Relative Fehler (wenn
eps_or_k < 1) oder Rang (wenneps_or_k >= 1) der Approximation.- randbool, optional
Ob Zufallsabtastung verwendet werden soll, wenn A vom Typ
numpy.ndarrayist (zufallsbasierte Algorithmen werden immer verwendet, wenn A vom Typscipy.sparse.linalg.LinearOperatorist).- rng
numpy.random.Generator, optional Zustand des Pseudozufallszahlengenerators. Wenn rng None ist, wird ein neuer
numpy.random.Generatormithilfe von Entropie aus dem Betriebssystem erstellt. Typen außernumpy.random.Generatorwerden annumpy.random.default_rngübergeben, um einenGeneratorzu instanziieren. WennrandFalseist, wird das Argument ignoriert.
- A
- Rückgabe:
- U
numpy.ndarray 2D-Array der linken singulären Vektoren.
- S
numpy.ndarray 1D-Array der singulären Werte.
- V
numpy.ndarray 2D-Array der rechten singulären Vektoren.
- U