品易云推流 关闭
文章详情页
文章 > Python高级 > python中如何使用scipy.linalg模块计算矩阵的行列式?

python中如何使用scipy.linalg模块计算矩阵的行列式?

头像

宋雪维

2021-02-19 09:54:094074浏览 · 0收藏 · 0评论

作为python中可以计算高等数学库scipy中,scipy.linalg用于计算线性代数,扩展了由numpy.linalg提供的线性代数例程和矩阵分解功能。如果想要计算方阵的行列式,可以使用scipy.linalg.det()方法,可以轻松的获取方阵的行列式,本文介绍python中使用scipy.linalg模块计算矩阵的行列式的过程。

1、scipy.linalg.det()计算方阵的行列式格式

print('Det:',lg.det(arr)) #求矩阵arr的行列式

2、使用scipy.linalg.det()计算方阵的行列式实例

In [22]: from scipy import linalg
 
In [23]: arr = np.array([[1, 2],
   ....:                [3, 4]])
 
In [24]: linalg.det(arr)
Out[24]: -2.0
 
In [25]: linalg.det(np.ones((3,4)))
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-25-375ad1d49940> in <module>()
----> 1 linalg.det(np.ones((3,4)))
 
/usr/lib/python2.7/site-packages/scipy/linalg/basic.pyc in det(a, overwrite_a)
    398     a1 = np.asarray_chkfinite(a)
    399     if len(a1.shape) != 2 or a1.shape[0] != a1.shape[1]:
--> 400         raise ValueError('expected square matrix')
    401     overwrite_a = overwrite_a or _datacopied(a1, a)
    402     fdet, = get_flinalg_funcs(('det',), (a1,))
 
ValueError: expected square matrix
py.linalg.inv()

以上就是python中使用scipy.linalg模块计算矩阵的行列式的过程,希望能对你有所帮助哟~更多python高级教程:python高级教程

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图