1 | #ifndef EIGEN_H |
---|
2 | #define EIGEN_H |
---|
3 | |
---|
4 | int eigen(int job, double *A, int n, double *rr, double *ri, |
---|
5 | double *vr, double *vi, double *w); |
---|
6 | void balance(double *mat, int n, int *low, int *hi, double *scale); |
---|
7 | void unbalance(int n, double *vr, double *vi, int low, int hi, |
---|
8 | double *scale); |
---|
9 | int realeig(int job, double *mat, int n,int low, int hi, double *valr, |
---|
10 | double *vali, double *vr, double *vi); |
---|
11 | void elemhess(int job, double *mat, int n, int low, int hi, |
---|
12 | double *vr, double *vi, int *work); |
---|
13 | |
---|
14 | |
---|
15 | /* complex functions */ |
---|
16 | |
---|
17 | typedef struct { double re, im; } complex; |
---|
18 | #define csize(a) (fabs(a.re)+fabs(a.im)) |
---|
19 | |
---|
20 | complex compl (double re,double im); |
---|
21 | complex _conj (complex a); |
---|
22 | complex cplus (complex a, complex b); |
---|
23 | complex cminus (complex a, complex b); |
---|
24 | complex cby (complex a, complex b); |
---|
25 | complex cdiv (complex a,complex b); |
---|
26 | /* complex local_cexp (complex a); */ |
---|
27 | complex cfactor (complex x, double a); |
---|
28 | int cxtoy (complex *x, complex *y, int n); |
---|
29 | int cmatby (complex *a, complex *b, complex *c, int n,int m,int k); |
---|
30 | int cmatout (FILE * fout, complex *x, int n, int m); |
---|
31 | int cmatinv( complex *x, int n, int m, double *space); |
---|
32 | |
---|
33 | |
---|
34 | #endif |
---|
35 | |
---|