本文簡要介紹 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。