interp_decomp#
- scipy.linalg.interpolative.interp_decomp(A, eps_or_k, rand=True, rng=None)[источник]#
Вычислить ID матрицы.
Идентификатор матрицы A является факторизацией, определенной рангом k, массив индексов столбцов idxи коэффициенты интерполяции proj такой, что:
numpy.dot(A[:,idx[:k]], proj) = A[:,idx[k:]]
Исходная матрица может быть восстановлена как:
numpy.hstack([A[:,idx[:k]], numpy.dot(A[:,idx[:k]], proj)] )[:,numpy.argsort(idx)]
или через процедуру
reconstruct_matrix_from_id. Это может быть эквивалентно записано как:numpy.dot(A[:,idx[:k]], numpy.hstack([numpy.eye(k), proj]) )[:,np.argsort(idx)]
в терминах матриц скелета и интерполяции:
B = A[:,idx[:k]]
и:
P = numpy.hstack([numpy.eye(k), proj])[:,np.argsort(idx)]
соответственно. См. также
reconstruct_interp_matrixиreconstruct_skel_matrix.ID может быть вычислен с любой относительной точностью или рангом (в зависимости от значения eps_or_k). Если указана точность (eps_or_k < 1), то эта функция имеет выходную сигнатуру:
k, idx, proj = interp_decomp(A, eps_or_k)
В противном случае, если указан ранг (eps_or_k >= 1), тогда выходная сигнатура:
idx, proj = interp_decomp(A, eps_or_k)
- Параметры:
- A
numpy.ndarrayилиscipy.sparse.linalg.LinearOperatorс 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
- Возвращает:
- kint
Ранг, необходимый для достижения указанной относительной точности, если
eps_or_k < 1.- idx
numpy.ndarray Массив индексов столбцов.
- proj
numpy.ndarray Коэффициенты интерполяции.