1 import JSci.maths.*; 2 import JSci.maths.wavelet.*; 3 import JSci.maths.wavelet.daubechies2.*; 4 5 9 public class TestBiorthogonalityDau2 { 10 public static void main(String arg[]) { 11 int n0=8; 12 int j0=0; 13 new TestBiorthogonalityDau2(n0,j0); 14 } 15 16 public TestBiorthogonalityDau2(int n0, int j0) { 17 double[][] mat=new double[2*n0-2][2*n0-2]; 18 for(int k=0;k<n0;k++) { 19 System.out.println("k="+k+" /"+(2*n0-2)); 20 for(int l=0;l<n0;l++) { 21 mat[k][l]=EcheEche(k,l,n0,j0); 22 } 23 for(int l=n0;l<2*n0-2;l++) { 24 mat[k][l]=EcheOnde(k,l-n0,n0,j0); 25 } 26 } 27 for(int k=n0;k<2*n0-2;k++) { 28 System.out.println("k="+k+" /"+(2*n0-2)); 29 for(int l=0;l<n0-2;l++) { 30 mat[k][l]=OndeEche(k-n0,l,n0,j0); 31 } 32 for(int l=n0;l<2*n0-2;l++) { 33 mat[k][l]=OndeOnde(k-n0,l-n0,n0,j0); 34 } 35 } 36 double[][] Id=new double[2*n0][2*n0]; 37 for(int k=0;k<2*n0-2;k++) { 38 for(int l=0;l<2*n0-2;l++) { 39 if(k==l) {Id[k][l]=1;} 40 } 41 } 42 double max=0.0; 43 for(int k=0;k<2*n0-2;k++) { 44 for(int l=0;l<2*n0-2;l++) { 45 if(Math.abs(Id[k][l]-mat[k][l])>max) { 46 max=Math.abs(Id[k][l]-mat[k][l]); 47 } 48 } 49 } 50 51 ImprimeMatrice(mat,n0); 52 System.out.println("Max = "+max); 53 } 54 public void ImprimeMatrice(double[][] mat, int n0) { 55 for(int k=0;k<2*n0-2;k++) { 56 for(int l=0;l<2*n0-2;l++) { 57 if(Math.abs(mat[k][l])>0.000001) { 58 System.out.println(" mat [ "+k+" , "+l+" ] = "+mat[k][l]); 59 } 60 } 61 } 62 } 63 public double EcheEche(int k, int l,int n0,int j0) { 64 MultiscaleFunction Primaire=new Scaling2(n0,k); 65 MultiscaleFunction Duale=new Scaling2(n0,l); 66 return(DiscreteHilbertSpace.integrate(Primaire,Duale,j0)); 67 } 68 public double EcheOnde(int k, int l,int n0, int j0) { 69 MultiscaleFunction Primaire=new Scaling2(n0,k); 70 MultiscaleFunction Duale=new Wavelet2(n0,l); 71 return(DiscreteHilbertSpace.integrate(Primaire,Duale,j0)); 72 } 73 public double OndeEche(int k, int l,int n0,int j0) { 74 MultiscaleFunction Primaire=new Wavelet2(n0,k); 75 MultiscaleFunction Duale=new Scaling2(n0,l); 76 return(DiscreteHilbertSpace.integrate(Primaire,Duale,j0)); 77 } 78 public double OndeOnde(int k, int l,int n0, int j0) { 79 MultiscaleFunction Primaire=new Wavelet2(n0,k); 80 MultiscaleFunction Duale=new Wavelet2(n0,l); 81 return(DiscreteHilbertSpace.integrate(Primaire,Duale,j0 )); 82 } 83 } 84 85
| Popular Tags
|