Java 查找2x2数组的秩
我有一个2d阵列,扮演2x2矩阵的角色。我怎样才能找到那个矩阵的秩呢。到目前为止,我有以下几点:Java 查找2x2数组的秩,java,arrays,math,matrix,linear-algebra,Java,Arrays,Math,Matrix,Linear Algebra,我有一个2d阵列,扮演2x2矩阵的角色。我怎样才能找到那个矩阵的秩呢。到目前为止,我有以下几点: Scanner input=new Scanner(System.in); int[][] A = new int[2][2]; int[][] B = new int[2][2]; int[][] C = new int[2][2]; System.out.println("Enter elements for matrix A : "); for (int i=0 ; i < A.l
Scanner input=new Scanner(System.in);
int[][] A = new int[2][2];
int[][] B = new int[2][2];
int[][] C = new int[2][2];
System.out.println("Enter elements for matrix A : ");
for (int i=0 ; i < A.length ; i++)
{
for (int j=0 ; j < A[i].length ; j++)
{
A[i][j] = input.nextInt();
}
System.out.println("Matrix A: ");
for (int i=0 ; i < A.length ; i++)
{
System.out.println();
for(int j=0 ; j < A[i].length ; j++)
{
System.out.print(A[i][j]+" ");
}
}
}
扫描仪输入=新扫描仪(System.in);
int[]A=新的int[2][2];
int[]B=新的int[2][2];
int[][]C=新int[2][2];
System.out.println(“为矩阵A输入元素:”);
for(int i=0;i
如何找到该矩阵(数组)的秩?您可以通过将矩阵转换为行梯队形式来找到矩阵的秩。矩阵的行梯队形式将与矩阵具有相同的排名。行梯队形式矩阵的秩只是非零行的总数。在2x2的情况下,计算非常简单。有关更详细的说明,请参阅此链接 一种简单而粗略的快速方法(因为您只有2x2个矩阵)是简单地检测矩阵的一列是否是另一列的倍数。这可以通过测试这些比率是否相等(使用矩阵表示法,而不是基于整数零的数组索引)来大致检测(到您选择的一些数字公差) 像往常一样注意零除法。如果比率相等,则表明列是彼此的倍数,因此矩阵不是满秩(因此为1或0)。如果所有矩阵元素都为零,则秩为零
如果这对于您的需求来说太粗糙,请使用上面链接中建议的高斯消去法。@Sean Owen:排名也可以是0。排名的含义是什么?@BhavikAmbani您尝试过什么?因为这里的代码与求秩无关,它只是填充并打印矩阵,它是1或2。什么条件使它成为秩1矩阵?检查一下。@SeanOwen-我想它也可能是零。。。
A(1,1)/A(1,2) == A(2,1)/A(2,2)