float dotprod; x=new float[n];
float dotprod; x=new Complex[n];
  public static float[][] LQcalc(int m,int n,float[][] A){	float[][] B;	float[]   x;	float[]   w;	float[]   v;	float normx;	float beta;	float dotprod;// wiil be used in calculating the dot product	x=new float[n];	v=new float[n];	w=new float[m];		B=new float[m][m];	for (int row=0;row <m; row ++){	    normx=0;	    for (int i=row; i <n; i++)		{		    x[i]=A[row][i];		    normx=normx+x[i]*x[i];		}	    normx=(float) Math.sqrt(normx);	    				    v=x;	    	    v[row]=v[row]+sign(x[row])*normx;	    beta=0;	    for (int i=row; i <n ; i++)		beta=beta+v[i]*v[i];	    beta=-2/beta;	    	    for (int i=row; i <m; i++)		{		    dotprod=0;		    for (int j=row; j <n ; j++)			dotprod=dotprod+A[i][j]*v[j];		    w[i]=beta*dotprod;		    //System.out.println(w[i]);		}	    for (int i=row; i <m ; i++)		for (int j=row; j <n ; j++)		    A[i][j]=A[i][j]+w[i]*v[j];       	}	for (int i=0 ; i <m ; i++)	    for (int j=0 ; j <=i ; j++)		B[i][j]=A[i][j];		return(B);    }