作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
以下代码根据 x、y、z 生成一个 3x3 矩阵。我想生成矩阵的行列式。却做不到。
import numpy as np
import sympy as sp
from sympy import *
from sympy.matrices import Matrix
x,y,z =sp.symbols('x,y,z')
H1=np.array([[x,y,z]])
H2=np.array([[0.0630,0.0314,-0.0001],[0.0314,96.1659,-0.0001],[-0.0001,-0.0001,0.0001]])
H3=H1.T
H=H1*H2*H3
print H
要找到上述矩阵的行列式,我使用以下命令。
H.det()
但是显示错误
AttributeError: 'numpy.ndarray' object has no attribute 'det'
最佳答案
首先需要将你的numpy n维数组转换为sympy矩阵,然后进行符号行列式的计算。 @hildensia 所说的是行不通的,因为 H
是一个 numpy 对象,它不适用于符号实体。
>>> M = sp.Matrix(H)
>>> M
Matrix([
[ 0.063*x**2, 0.0314*x*y, -0.0001*x*z],
[ 0.0314*x*y, 96.1659*y**2, -0.0001*y*z],
[-0.0001*x*z, -0.0001*y*z, 0.0001*z**2]])
>>> M.det()
0.000604784913*x**2*y**2*z**2
关于python - 使用 sympy 的行列式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26798615/
我试图找到这 3 个函数的 Wronskian 行列式,但代码有“TypeError: No loop matching the specified signature and casting was
我需要编写一个在编译时计算行列式的 constexpr 函数。最明显的解决方案是使用拉普拉斯展开。支持 C++14。 #include #include constexpr int get_cof
是否有任何类似 A * A-1 = I 的数学性质可用于测试类似格式的单元测试中行列式的计算? 最佳答案 手动计算一个(或多个)已知数组的行列式,并将您的结果与该数字进行比较。 尝试不同大小、排列方式
我有一个大的 numpy 数组 arr,形状为 (N, D, M, D) 其中 D 是两个或三。该数组可以被认为是 (D,D) 矩阵 block ,这些矩阵在 N 和 M 维度中被阻塞在一起。我想取这
我是一名优秀的程序员,十分优秀!