DvM*_*DvM 5 python arrays numpy matrix scipy
我试图计算它具有以下式矩阵B:
B = A^2。
假设 A 是一个矩阵:
array([[1, 2], [3, 4]])
Run Code Online (Sandbox Code Playgroud)
当我在 Matlab 中取这个矩阵的负半幂时(A^-0.5)。我得到以下结果:
答案 =
0.1031 - 1.2474i 0.1502 + 0.5706i
0.2253 + 0.8559i 0.3284 - 0.3915i
Run Code Online (Sandbox Code Playgroud)
但是,在使用代码的 Python 中,(A**-0.5)我得到了不同的结果
array([[ 1. , 0.70710678],
[ 0.57735027, 0.5 ]]).
Run Code Online (Sandbox Code Playgroud)
我的问题是如何使用 Python 来复制 Matlab 输出。我已经尝试过 numpy 函数 numpy.linalg.matrix_power(M, n),但这失败了,因为它只需要整数作为第二个参数,而我需要一个浮点数。谢谢!!!
scipy.linalg 支持分数矩阵幂:
import numpy as np
from scipy.linalg import fractional_matrix_power
A = np.array([[1, 2], [3, 4]])
fractional_matrix_power(A, -0.5)
# array([[ 0.10306396-1.24742804j, 0.15020820+0.5706074j ],
# [ 0.22531231+0.8559111j , 0.32837626-0.39151694j]])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3843 次 |
| 最近记录: |