java实现求可逆矩阵使用代数余子式的形式

import java.text.DecimalFormat;

/**
 * 求可逆矩阵使用代数余子式的形式
 * @author imlilu
 *
 */
public class InverseMatrix {

	/***
	 * 求行列式的算法
	 * @param value 需要算的行列式
	 * @return 计算的结果
	 */
	public static double mathDeterminantCalculation(double[][] value) throws Exception{
		if (value.length == 1) {
			//当行列式为1阶的时候就直接返回本身
			return value[0][0];
		}else if (value.length == 2) {
			//如果行列式为二阶的时候直接进行计算
			return value[0][0]*value[1][1]-value[0][1]*value[1][0];
		}
		//当行列式的阶数大于2时
		double result = 1;
		for (int i = 0; i < value.length; i++) {       
			//检查数组对角线位置的数值是否是0,如果是零则对该数组进行调换,查找到一行不为0的进行调换
			if (value[i][i] == 0) {
				value = changeDeterminantNoZero(value,i,i);
				result*=-1;
			}
			for (int j = 0; j 

你可能感兴趣的:(Java)