calculate.h:int calculatemmatrix(int m,double *w,double *mm,double *mi);	// m=nc u=f->m mm=h->m mi=h->mi
calculate.h:int calculatetranspose(int m,int n,double *a,double *t); // m=nc n=nr a=h->bt t=h->b
calculate.h:int calculatetriangular(int n,double *r,double *t);	// n=nr r=h->g t=h->gt
