Python3实现行列式的输入与求值

    行列式就是特殊的矩阵,通过Python3对其进行求解时,我们可以用Numpy库中的linalg.det()函数。
    
	我们这里以n==3时为例。但在一般题目中,测试数据是这样输入的:
1 2 3
4 5 6
7 8 8
   	这里给出两种输入方法:
   	首先是第一种输入方法,先构造一个n*n的空矩阵
array = [[0]*n for i in range(n)]
    这里我们可以把上述给出的三阶行列式看作三行字符串,对每行字符串用split()函数进行处理,存储到一个列表中,再通过pop()函数将列表中的元素从前到后依次输入矩阵的每一行中,代码如下:
count=0 #代表行列式的行
while count != n:
    s_list = (input()).split()
    for i in range(n):  #在count行中将当前列表中的元素依次存储进i列
        array[count][i] = int(s_list.pop(0))
    count += 1
	其次是第二种输入方法,其中运用到了Numpy库中的reshape()方法,首先构造一个空列表
list = []
	然后将数据一次性全部输入
for i in range(n):
    s_list = (input()).split()
    for j in range(n):
        list.append(int(s_list.pop(0)))
array = np.reshape(list, (n, n))
    需要注意的是,新构建的列表中的元素都是str型,需要通过强制转化将列表中的元素转化为int型,从而存储在之前构建的array列表中。
    现在,我们已经得到了一个完整的三阶行列式,直接用linalg.det()函数对其进行求值即可。
print(np.linalg.det(array))
  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值