source: trunk/GDE/PHYML20130708/phyml/src/eigen.h

Last change on this file was 10307, checked in by aboeckma, 11 years ago

added most recent version of phyml

File size: 1.4 KB
Line 
1#include <config.h>
2
3#ifndef EIGEN_H
4#define EIGEN_H
5
6#include "utilities.h"
7#include "free.h"
8
9#ifdef RWRAPPER
10#include <R.h>
11#endif
12
13int ludcmp_1D(phydbl *a, int n, phydbl *d);
14void det_1D(phydbl *a, int n, phydbl *d);
15
16int Eigen(int job, phydbl *A, int n, phydbl *rr, phydbl *ri,
17          phydbl *vr, phydbl *vi, phydbl *w);
18void balance(phydbl *mat, int n, int *low, int *hi, phydbl *scale);
19void unbalance(int n, phydbl *vr, phydbl *vi, int low, int hi,
20               phydbl *scale);
21int realeig(int job, phydbl *mat, int n,int low, int hi, phydbl *valr,
22            phydbl *vali, phydbl *vr, phydbl *vi);
23void elemhess(int job, phydbl *mat, int n, int low, int hi, 
24            phydbl *vr, phydbl *vi, int *work);
25
26int ludcmp(phydbl **a, int n, phydbl *d);
27void det(phydbl **a, int n, phydbl *d);
28
29/* complex functions */
30
31typedef struct { phydbl re, im; } complex;
32#define csize(a) (FABS(a.re)+FABS(a.im))
33
34complex compl (phydbl re,phydbl im);
35complex _conj (complex a);
36complex cplus (complex a, complex b);
37complex cminus (complex a, complex b);
38complex cby (complex a, complex b);
39complex cdiv (complex a,complex b);
40/* complex local_cexp (complex a); */
41complex cfactor (complex x, phydbl a);
42int cxtoy (complex *x, complex *y, int n);
43int cmatby (complex *a, complex *b, complex *c, int n,int m,int k);
44int cmatout (FILE * fout, complex *x, int n, int m);
45int cmatinv( complex *x, int n, int m, phydbl *space);
46phydbl *Cholesky_Decomp(phydbl *A,  int dim);
47
48
49#endif
50
Note: See TracBrowser for help on using the repository browser.