行列式为0,如何用python求其中未知数的值。

想用python求解行列式中未知数的值:比如下面这个例子

import numpy as np
import sympy as sp

B = sp.symbols('B')
HB = np.array([[2, 0.5*(B-B**(-1))+1],
               [0.5*(B+B**(-1))-1, 2]])
result = sp.solve('sp.linalg.det(HB)', B)
print(result)

这个样子写是报错的,请教一下大佬该如何改?

只是想知道求解这类问题的一般方法,后面可以用来求四阶、五阶等高阶的行列式。

最近也遇到这个问题了,是通过下面程序解决的 :

import numpy as np
from sympy import *
B = symbols('B')
HB = Matrix([[2, 0.5*(B-B**(-1))+1],
               [0.5*(B+B**(-1))-1, 2]])
result = solve(det(HB), B)
print(result)