本文简要介绍 python 语言中 scipy.linalg.orthogonal_procrustes
的用法。
用法:
scipy.linalg.orthogonal_procrustes(A, B, check_finite=True)#
计算正交 Procrustes 问题的矩阵解。
给定形状相同的矩阵 A 和 B,使用 [1] 中给出的算法找到一个最接近将 A 映射到 B 的正交矩阵 R。
- A: (M, N) 数组
要映射的矩阵。
- B: (M, N) 数组
目标矩阵。
- check_finite: 布尔型,可选
是否检查输入矩阵是否仅包含有限数。禁用可能会提高性能,但如果输入确实包含无穷大或 NaN,则可能会导致问题(崩溃、非终止)。
- R: (N, N) 数组
正交 Procrustes 问题的矩阵解。最小化
(A @ R) - B
的 Frobenius 范数,以R.T @ R = I
为准。- scale: 浮点数
A.T @ B
的奇异值之和。
- ValueError
如果输入数组形状不匹配,或者如果 check_finite 为 True 并且数组包含 Inf 或 NaN。
参数 ::
返回 ::
抛出 ::
注意:
请注意,与更高级别的 Procrustes 空间数据分析不同,此函数仅使用正交变换,如旋转和反射,而不使用缩放或平移。
参考:
[1]Peter H. Schonemann,“正交 Procrustes 问题的通用解决方案”,Psychometrica - Vol. 1。 31,第 1 期,1966 年 3 月。DOI:10.1007/BF02289451
例子:
>>> import numpy as np >>> from scipy.linalg import orthogonal_procrustes >>> A = np.array([[ 2, 0, 1], [-2, 0, 0]])
翻转列的顺序并检查反对角映射
>>> R, sca = orthogonal_procrustes(A, np.fliplr(A)) >>> R array([[-5.34384992e-17, 0.00000000e+00, 1.00000000e+00], [ 0.00000000e+00, 1.00000000e+00, 0.00000000e+00], [ 1.00000000e+00, 0.00000000e+00, -7.85941422e-17]]) >>> sca 9.0
相关用法
- Python SciPy linalg.orth用法及代码示例
- Python SciPy linalg.ordqz用法及代码示例
- Python SciPy linalg.onenormest用法及代码示例
- Python SciPy linalg.eigvalsh_tridiagonal用法及代码示例
- Python SciPy linalg.cdf2rdf用法及代码示例
- Python SciPy linalg.LaplacianNd用法及代码示例
- Python SciPy linalg.solve_circulant用法及代码示例
- Python SciPy linalg.polar用法及代码示例
- Python SciPy linalg.clarkson_woodruff_transform用法及代码示例
- Python SciPy linalg.rsf2csf用法及代码示例
- Python SciPy linalg.hessenberg用法及代码示例
- Python SciPy linalg.tril用法及代码示例
- Python SciPy linalg.triu用法及代码示例
- Python SciPy linalg.svd用法及代码示例
- Python SciPy linalg.ishermitian用法及代码示例
- Python SciPy linalg.invhilbert用法及代码示例
- Python SciPy linalg.factorized用法及代码示例
- Python SciPy linalg.lu_factor用法及代码示例
- Python SciPy linalg.SuperLU用法及代码示例
- Python SciPy linalg.lsqr用法及代码示例
- Python SciPy linalg.cho_factor用法及代码示例
- Python SciPy linalg.fractional_matrix_power用法及代码示例
- Python SciPy linalg.eig_banded用法及代码示例
- Python SciPy linalg.tanhm用法及代码示例
- Python SciPy linalg.use_solver用法及代码示例
注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.linalg.orthogonal_procrustes。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。