JAVA-判断三阶矩阵是否满秩
目录
1.先复习一下线性代数
什么是满秩:我们只针对方阵来讲,方阵对应的行列式的值不等于0的话,这个方阵就是满秩
2.附上代码
这个算法也比较简单
如果不会算三阶行列式的值的话本章就不细讲了,需要的小伙伴百度一下吧
import java.util.Scanner;
public class isFullRank {
public static void main(String[] args) {
int[][] matrix = new int[3][3];
Scanner cin = new Scanner(System.in);
for( int i = 0; i < 3; i++ ){
for( int j = 0; j < 3; j++){
matrix[i][j] = cin.nextInt();
}
}
printMatrix(matrix);
if(isFullRank(matrix)){
System.out.println("finsh");
}
}
public static boolean isFullRank(int[][] matrix){
int det = ( matrix[0][0] * matrix[1][1] * matrix[2][2] ) + ( matrix[0][1] * matrix[1][2] * matrix[2][0] ) + ( matrix[0][2] * matrix[1][0] * matrix[2][1])
- ( matrix[0][2] * matrix[1][1] * matrix[2][0] ) - ( matrix[0][1] * matrix[1][0] * matrix[2][2] ) - ( matrix[0][0] * matrix[2][1] * matrix[1][2]);
if(det == 0){
System.out.println("det(A) = 0,thus it is not full rank!");
return false;
}else {
System.out.println("det(A) = " + det);
return true;
}
}
public static void printMatrix(int[][] matrix) {
for( int i = 0; i < 3; i++ ){
for( int j = 0; j < 3; j++){
System.out.print(matrix[i][j] + " ");
}
System.out.println();
}
}
}
4.总结
总体来看还是很简单的,如果有看不懂的小伙伴可以私聊我