svd#
- scipy.linalg.interpolative.svd(A, eps_or_k, rand=True, rng=None)[источник]#
Вычислите SVD матрицы через ID.
SVD матрицы A является факторизацией:
A = U @ np.diag(S) @ V.conj().T
где U и V имеют ортонормированные столбцы и S неотрицательно.
SVD может быть вычислена с любой относительной точностью или рангом (в зависимости от значения eps_or_k).
Смотрите также
interp_decompиid_to_svd.- Параметры:
- A
numpy.ndarrayилиscipy.sparse.linalg.LinearOperator Матрица для факторизации, заданная как либо
numpy.ndarrayилиscipy.sparse.linalg.LinearOperatorс matvec и rmatvec методы (для применения матрицы и её сопряжённой).- eps_or_kfloat или int
Относительная ошибка (если
eps_or_k < 1) или ранг (еслиeps_or_k >= 1) аппроксимации.- randbool, необязательно
Использовать ли случайную выборку, если A имеет тип
numpy.ndarray(рандомизированные алгоритмы всегда используются, если A имеет типscipy.sparse.linalg.LinearOperator).- rng
numpy.random.Generator, опционально Состояние генератора псевдослучайных чисел. Когда rng равно None, новый
numpy.random.Generatorсоздаётся с использованием энтропии из операционной системы. Типы, отличные отnumpy.random.Generatorпередаются вnumpy.random.default_rngдля создания экземпляраGenerator. ЕслиrandявляетсяFalse, аргумент игнорируется.
- A
- Возвращает:
- U
numpy.ndarray 2D массив левых сингулярных векторов.
- S
numpy.ndarray Одномерный массив сингулярных значений.
- V
numpy.ndarray 2D массив правых сингулярных векторов.
- U