32 #define NULL ((void *)0 49 int minv(
double *a,
int n) ;
51 int psinv(
double *v,
int n) ;
53 int ruinv(
double *a,
int n) ;
55 int solv(
double *a,
double *
b,
int n) ;
57 int solvps(
double *s,
double *
x,
int n) ;
59 int solvru(
double *a,
double *
b,
int n) ;
61 void solvtd(
double *a,
double *
b,
double *c,
double *
x,
int m) ;
63 void eigen(
double *a,
double *eval,
int n) ;
65 void eigval(
double *a,
double *eval,
int n) ;
67 double evmax(
double *a,
double *u,
int n) ;
69 int svdval(
double *d,
double *a,
int m,
int n) ;
71 int sv2val(
double *d,
double *a,
int m,
int n) ;
73 int svduv(
double *d,
double *a,
double *u,
int m,
double *v,
int n) ;
75 int sv2uv(
double *d,
double *a,
double *u,
int m,
double *v,
int n) ;
77 int svdu1v(
double *d,
double *a,
int m,
double *v,
int n) ;
79 int sv2u1v(
double *d,
double *a,
int m,
double *v,
int n) ;
81 void mmul(
double *mat,
double *a,
double *
b,
int n) ;
83 void rmmult(
double *mat,
double *a,
double *
b,
int m,
int k,
int n) ;
85 void vmul(
double *vp,
double *mat,
double *v,
int n) ;
87 double vnrm(
double *u,
double *v,
int n) ;
89 void matprt(
double *a,
int n,
int m,
char *fmt) ;
91 void fmatprt(FILE *fp,
double *a,
int n,
int m,
char *fmt) ;
93 void trnm(
double *a,
int n) ;
95 void mattr(
double *a,
double *
b,
int m,
int n) ;
97 void otrma(
double *at,
double *u,
double *a,
int n) ;
99 void otrsm(
double *
st,
double *u,
double *s0,
int n) ;
101 void mcopy(
double *a,
double *
b,
int m) ;
103 void ortho(
double *evc,
int n) ;
105 void smgen(
double *a,
double *eval,
double *evec,
int n) ;
109 void house(
double *a,
double *d,
double *ud,
int n) ;
111 void housev(
double *a,
double *d,
double *ud,
int n) ;
113 int qreval(
double *eval,
double *ud,
int n) ;
115 int qrevec(
double *eval,
double *evec,
double *dp,
int n) ;
119 int qrbdi(
double *d,
double *e,
int n) ;
121 int qrbdv(
double *d,
double *e,
double *u,
int m,
double *v,
int n) ;
123 int qrbdu1(
double *d,
double *e,
double *u,
int m,
double *v,
int n) ;
125 void ldumat(
double *a,
double *u,
int m,
int n) ;
127 void ldvmat(
double *a,
double *v,
int n) ;
129 void atou1(
double *a,
int m,
int n) ;
131 void atovm(
double *v,
int n) ;
155 void cmprt(
Cpx *a,
int n,
int m,
char *fmt) ;
176 void chouse(
Cpx *a,
double *d,
double *ud,
int n) ;
178 void chousv(
Cpx *a,
double *d,
double *ud,
int n) ;
180 void qrecvc(
double *eval,
Cpx *evec,
double *ud,
int n) ;
void mcopy(double *a, double *b, int m)
void utrncm(Cpx *at, Cpx *u, Cpx *a, int n)
int svduv(double *d, double *a, double *u, int m, double *v, int n)
void hconj(Cpx *u, int n)
int qrbdu1(double *d, double *e, double *u, int m, double *v, int n)
void cmcpy(Cpx *a, Cpx *b, int n)
void trnm(double *a, int n)
void trncm(Cpx *a, int n)
void cmmul(Cpx *c, Cpx *a, Cpx *b, int n)
int solvps(double *s, double *x, int n)
void cmattr(Cpx *a, Cpx *b, int m, int n)
int svdval(double *d, double *a, int m, int n)
void qrecvc(double *eval, Cpx *evec, double *ud, int n)
int qreval(double *eval, double *ud, int n)
void eigen(double *a, double *eval, int n)
int sv2u1v(double *d, double *a, int m, double *v, int n)
void heigval(Cpx *a, double *eval, int n)
void chousv(Cpx *a, double *d, double *ud, int n)
void utrnhm(Cpx *ht, Cpx *u, Cpx *h0, int n)
int qrbdv(double *d, double *e, double *u, int m, double *v, int n)
void ortho(double *evc, int n)
Cpx cvnrm(Cpx *u, Cpx *v, int n)
void chouse(Cpx *a, double *d, double *ud, int n)
void solvtd(double *a, double *b, double *c, double *x, int m)
void mmul(double *mat, double *a, double *b, int n)
void cmmult(Cpx *c, Cpx *a, Cpx *b, int m, int k, int n)
void ldumat(double *a, double *u, int m, int n)
void hmgen(Cpx *h, double *eval, Cpx *u, int n)
void cmprt(Cpx *a, int n, int m, char *fmt)
void unitary(Cpx *u, int n)
void smgen(double *a, double *eval, double *evec, int n)
int sv2val(double *d, double *a, int m, int n)
int minv(double *a, int n)
void mattr(double *a, double *b, int m, int n)
int psinv(double *v, int n)
void vmul(double *vp, double *mat, double *v, int n)
double hevmax(Cpx *a, Cpx *u, int n)
int sv2uv(double *d, double *a, double *u, int m, double *v, int n)
void cvmul(Cpx *vp, Cpx *mat, Cpx *v, int n)
void matprt(double *a, int n, int m, char *fmt)
void fmatprt(FILE *fp, double *a, int n, int m, char *fmt)
void house(double *a, double *d, double *ud, int n)
int solvru(double *a, double *b, int n)
int svdu1v(double *d, double *a, int m, double *v, int n)
void heigvec(Cpx *a, double *eval, int n)
int csolv(Cpx *a, Cpx *b, int n)
void otrsm(double *st, double *u, double *s0, int n)
double evmax(double *a, double *u, int n)
void ldvmat(double *a, double *v, int n)
void rmmult(double *mat, double *a, double *b, int m, int k, int n)
void otrma(double *at, double *u, double *a, int n)
int ruinv(double *a, int n)
int solv(double *a, double *b, int n)
void atou1(double *a, int m, int n)
int qrevec(double *eval, double *evec, double *dp, int n)
int qrbdi(double *d, double *e, int n)
void housev(double *a, double *d, double *ud, int n)
void atovm(double *v, int n)
void eigval(double *a, double *eval, int n)
double vnrm(double *u, double *v, int n)