16 A=Eigen::Map<cdmatrix>(aa,n,n).transpose();
19 double *aa=(
double*)a;
20 A=Eigen::Map<dmatrix>(aa,n,n).transpose();
24 A=Eigen::Map<cdvector>(aa,n);
28 double *aa=(
double*)a;
29 A=Eigen::Map<dvector>(aa,n);
35 for(i=0;i<n;i++) aa[i]=A(i);
39 double *aa=(
double*)a;
40 for(i=0;i<n;i++) aa[i]=A(i);
45 for(i=0;i<n;i++)
for(j=0;j<n;j++) aa[i*n+j]=A(i,j);
49 double *aa=(
double*)a;
50 for(i=0;i<n;i++)
for(j=0;j<n;j++) aa[i*n+j]=A(i,j);
83 cdvector b_eigen,X_eigen;
86 Eigen::FullPivLU<cdmatrix> lu(A_eigen);
87 X_eigen=lu.solve(b_eigen);
97 cdvector b_eigen,X_eigen;
99 Eigen::FullPivLU<cdmatrix> lu(A_eigen);
102 X_eigen=lu.solve(b_eigen);
109 dvector b_eigen,X_eigen;
112 Eigen::FullPivLU<dmatrix> lu(A_eigen);
113 X_eigen=lu.solve(b_eigen);
121 Eigen::FullPivLU<cdmatrix> lu(A_eigen);
122 X_eigen=lu.inverse();
130 Eigen::FullPivLU<dmatrix> lu(A_eigen);
131 X_eigen=lu.inverse();
134 void eigen_hermv(
int n,std::complex<double> *A,
double *eval,std::complex<double> *evec){
139 Eigen::SelfAdjointEigenSolver<cdmatrix> eigensolver(A_eigen);
140 eval_eigen=eigensolver.eigenvalues();
141 evec_eigen=eigensolver.eigenvectors();
void get_dvector(int n, void *a, dvector &A)
void cplx_matrix_inverse(void *a, void *x, int n)
Evaluate the inverse matrix of a complex matrix .
void cplx_sq_solve(void *a, void *b, void *x, int dim)
Solve a linear equation ax=b.
void eigen_hermv(int size, std::complex< double > *A, double *eval, std::complex< double > *evec)
Evaluate the eigen set of a given Hermitian matrix .
std::complex< double > cdouble
void set_cdmatrix(int n, void *a, cdmatrix &A)
void set_dmatrix(int n, void *a, dmatrix &A)
void set_dvector(int n, void *a, dvector &A)
void linalg_matrix_inverse(double *a, double *x, int n)
Evaluate the inverse matrix of a real matrix .
void real_sq_solve(double *ad, double *bd, double *xd, int dim)
Solve a linear equation ax=b.
void set_cdvector(int n, void *a, cdvector &A)
void get_cdvector(int n, void *a, cdvector &A)
void get_dmatrix(int n, void *a, const dmatrix &A)
void cplx_sq_solve_many(void *a, void *b, void *x, int dim, int d)
Solve a linear equation .
void get_cdmatrix(int n, void *a, cdmatrix &A)