如何在python中计算包含分数类型变量的ndarray的逆?

如何在python中计算包含分数类型变量的ndarray的逆?,python,numpy,fractions,Python,Numpy,Fractions,我试图在python中计算包含分数的2d数组的倒数,但无法将其转换为浮点,因为我需要正确地保持分子和分母之间的比率 A=np.数组([[分数(1),分数(-0.5)], [分数(-4/9),分数(1)]) 当我尝试np.linalg.inv(A)时,我得到以下错误: 'TypeError:找不到与ufunc inv的指定签名和强制转换匹配的循环。Fraction是Python类型,但不是本机numpy数据类型。换言之,从numpy的角度来看,分数是(不透明的)对象。如果使用numpy方法对它们执

我试图在python中计算包含分数的2d数组的倒数,但无法将其转换为浮点,因为我需要正确地保持分子和分母之间的比率

A=np.数组([[分数(1),分数(-0.5)], [分数(-4/9),分数(1)])

当我尝试np.linalg.inv(A)时,我得到以下错误:
'TypeError:找不到与ufunc inv的指定签名和强制转换匹配的循环。

Fraction
是Python类型,但不是本机numpy数据类型。换言之,从numpy的角度来看,
分数是(不透明的)对象。如果使用numpy方法对它们执行操作,则它们很可能会自动转换为浮点类型(在numpy中是本机的)


长话短说,没有任何numpy矢量化方法能够处理
分数
对象,因此您不应该使用
np.array
来存储它们,而是坚持使用一个普通的旧列表,或者如果您想处理二维数组,则使用列表列表。

尝试反向_a=a[:-1]
sympy
应该能够处理小数组(它是自己的
矩阵
对象)。它不会像
numpy
数字逆运算那样快。