You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中计算含未知量x的4×4矩阵行列式?

问题解答

代码正确性分析

你写的这段代码不正确,原因如下:

  • numpy是数值计算库,仅能处理具体数值构成的矩阵,无法直接处理符号未知量。你将x=float赋值为类型对象,(x-3)会触发类型错误(float类和整数3无法直接相减)。
  • 调用np.linalg.det([A])时多套了一层列表,正确用法是直接传入矩阵A,但即便修正这一点,numpy依然无法处理含符号变量的矩阵。

行列式结果验证

你的猜想是正确的,该4×4矩阵的行列式确实是(x-3)^4,推导过程如下:
原矩阵第四行仅最后一个元素非零,按第四行展开行列式:
行列式 = (x-3) × (-1)^(4+4) × 左上角3×3子矩阵的行列式

计算3×3子矩阵的行列式:

[
 [x-3, 0, -1],
 [0, x-3, 0],
 [0, -1, x-3]
]

按第一列展开后可得结果为(x-3)^3,因此整个4×4矩阵的行列式 = (x-3) × (x-3)^3 = (x-3)^4。

正确实现方法

要在Python中处理符号变量的代数计算,需使用专门的符号数学库sympy,步骤如下:

  1. 安装sympy(若未安装):
pip install sympy
  1. 编写符号计算代码:
import sympy as sp

# 定义符号变量x
x = sp.symbols('x')

# 创建符号矩阵
A = sp.Matrix([
    [(x-3), 0, -1, 0],
    [0, (x-3), 0, 0],
    [0, -1, x-3, 0],
    [0, 0, 0, (x-3)]
])

# 计算行列式并化简结果
det_A = sp.simplify(A.det())
print(det_A)

运行代码后会输出(x - 3)**4,与预期一致。

内容的提问来源于stack exchange,提问作者Makketijn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 15:47:23