java 行列式计算_n阶行列式的全排列求解(Java)

本文介绍如何使用Java计算行列式的值。通过全排列计算,对于每种排列,确定符号(根据逆序数的奇偶性),然后将选择的数值相乘,最后将所有情况的乘积加总。文章提供了矩阵类、全排列、获取数组、计算行列式值的代码实现,并给出了一个具体的运行示例。
摘要由CSDN通过智能技术生成

上一个随笔,我介绍了全排列的递归求解,其中还有排列的逆序数等代码,这次我来介绍如何使用全排列计算行列式的值。

使用全排列求行列式的值,简单的描述就是:

对这个行列式每一行选取一个数,这些数处于行列式的不同的列,将这些数相乘,结果记为A_1

将这些数的列标按行标从上到下的顺序排列,如果这个排列的逆序数为偶数,A_1加个正号+A_1,否则加个负号-A_1

由排列组合知识我们知道我们一共能从行列式中取出n!种情况。他们的和就是行列式的值

(刚开始用博客园,没找到插入latex的地方,我就截个图了。。。)

742283497ce2fbc33ec08d1be513cdd0.png

可见,我们需要实现以下功能:

1. 定义矩阵类

2. 获得矩阵列标的全排列

3. 对每个排列,在矩阵的每一行取一个数,并计算这个排列的逆序数,决定符号

4. 计算取出的数的求积,综合以上操作,求出行列式的值

逐个实现!

1. 首先,类定义的代码分别如下(成员函数逐一介绍):

public classMatrix {/*** author:ZhaoKe

* college: CUST*/

public introw;public intcolumn;public double[][] elements;publicMatrix() {t

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值