本文简要介绍 python 语言中 scipy.linalg.interpolative.interp_decomp
的用法。
用法:
scipy.linalg.interpolative.interp_decomp(A, eps_or_k, rand=True)#
计算矩阵的 ID。
矩阵 A 的 ID 是由秩 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_k: 浮点数或int
近似的相对误差(如果eps_or_k < 1)或等级(如果eps_or_k >= 1)。
- rand: 布尔型,可选
是否使用随机抽样如果A是类型numpy.ndarray(如果出现以下情况,则始终使用随机算法A是类型scipy.sparse.linalg.LinearOperator)。
- k: int
如果eps_or_k < 1,则达到指定的相对精度所需的等级。
- idx: numpy.ndarray
列索引数组。
- proj: numpy.ndarray
插值系数。
参数 ::
返回 ::
相关用法
- Python SciPy interpolative.id_to_svd用法及代码示例
- Python SciPy interpolative.reconstruct_matrix_from_id用法及代码示例
- Python SciPy interpolative.reconstruct_interp_matrix用法及代码示例
- Python SciPy interpolative.svd用法及代码示例
- Python SciPy interpolative.reconstruct_skel_matrix用法及代码示例
- Python SciPy interpolate.make_interp_spline用法及代码示例
- Python SciPy interpolate.krogh_interpolate用法及代码示例
- Python SciPy interpolate.InterpolatedUnivariateSpline用法及代码示例
- Python SciPy interpolate.BSpline用法及代码示例
- Python SciPy interpolate.LSQSphereBivariateSpline用法及代码示例
- Python SciPy interpolate.griddata用法及代码示例
- Python SciPy interpolate.splder用法及代码示例
- Python SciPy interpolate.LinearNDInterpolator用法及代码示例
- Python SciPy interpolate.PPoly用法及代码示例
- Python SciPy interpolate.NdBSpline用法及代码示例
- Python SciPy interpolate.pade用法及代码示例
- Python SciPy interpolate.barycentric_interpolate用法及代码示例
- Python SciPy interpolate.RegularGridInterpolator用法及代码示例
- Python SciPy interpolate.NdPPoly用法及代码示例
- Python SciPy interpolate.interp2d用法及代码示例
- Python SciPy interpolate.approximate_taylor_polynomial用法及代码示例
- Python SciPy interpolate.RectSphereBivariateSpline用法及代码示例
- Python SciPy interpolate.sproot用法及代码示例
- Python SciPy interpolate.splantider用法及代码示例
- Python SciPy interpolate.CloughTocher2DInterpolator用法及代码示例
注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.linalg.interpolative.interp_decomp。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。