sig*_*hol 11 python numpy matrix linear-algebra scipy
在MATLAB中,您可以使用该函数计算矩阵的Jordan正规形式jordan.
它有NumPy和SciPy中的等效功能吗?
War*_*ser 14
MATLAB jordan函数来自Symbolic Math Toolbox,因此从SymPy库中取代它的Python似乎并不合理.具体来说,Matrix该类具有该方法jordan_form.创建sympy Matrix时,可以将numpy数组作为参数传递.例如,以下是关于Jordan正常形式的维基百科文章:
In [1]: import numpy as np
In [2]: from sympy import Matrix
In [3]: a = np.array([[5, 4, 2, 1], [0, 1, -1, -1], [-1, -1, 3, 0], [1, 1, -1, 2]])
In [4]: m = Matrix(a)
In [5]: m
Out[5]:
Matrix([
[ 5, 4, 2, 1],
[ 0, 1, -1, -1],
[-1, -1, 3, 0],
[ 1, 1, -1, 2]])
In [6]: P, J = m.jordan_form()
In [7]: J
Out[7]:
Matrix([
[1, 0, 0, 0],
[0, 2, 0, 0],
[0, 0, 4, 1],
[0, 0, 0, 4]])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6741 次 |
| 最近记录: |