具体的分析参考算法导论
public class LU
{
/**矩阵相乘*/
public static float[][] multiply(float[][]A,float[][]B){
int n = A[0].length,i = 0,j = 0,k = 0;
float[][] C = new float[n][n];
for(i = 0;i < n;i++){
for(j = 0;j < n;j++){
for(k = 0;k < n;k++){
C[i][j] += A[i][k]*B[k][j];
}
}
}
return C;
}
/**矩阵LU分解*/
public static void LU_Decomposition(float[][] A,float[][] L,float[][] U){
int n = A[0].length;
float u = 0f,l = 0f;
int i=0,j=0,k=0;
//initial L and U
for(i = 0;i < n-1;i++){
u = A[i][i];
//第j行
for(j = i+1;j < n;j++){
l = A[j][i]/u;
A[j][i] = l;
//update A'
for(k = i+1;k < n;k++){
A[j][k] =