資源簡介
這是用JAVA編寫的一個對矩陣QR分解的程序,采用正交分解法。程序結構清晰,思路清晰。可以不經(jīng)修改直接調(diào)用。
代碼片段和文件信息
package?com.yjb;
/**
?*?把正定矩陣轉(zhuǎn)化為上三角矩陣和一個正交矩陣,如:A=QR
?*?*/
public?class?ToDiagMatrix?{
??????private?double[][]?R;//上三角矩陣
??????private?double[][]?Q;//正交矩陣
??????private?double[][]?A;//要分解的矩陣A=QR
??????private?int?n;
??????public?ToDiagMatrix(double[][]?A){
???? ??this.A=A;
???? ??n=A.length;
??????????this.R=new?double[n][n];
??????????this.Q=new?double[n][n];
??????????this.initR();
??????????schmidt();
??????}
??????public?void?initR(){
???? ??for(int?i=0;i ???? ??for(int?j=0;j ???? ??R[i][j]=0.0;
???? ??}
???? ??}
??????}
??????public?void?schmidt(){
???? ??for(int?i=0;i ???? ??R[i][i]=this.Uii(i);
???? ??this.setQi(i);
???? ??for(int?j=1;j ???? ??R[i][j]=this.Uij(i?j);
???? ??}
???? ??this.updateA(i);
???? ??}
評論
共有 條評論