![]() |
KIDS
ver-0.0.1
KIDS : Kernel Integrated Dynamics Simulator
|
linear algebra for array More...
#include "array_utils.h"
#include "types.h"
#include "../thirdpart/Eigen/Dense"
#include "../thirdpart/Eigen/QR"
Go to the source code of this file.
Macros | |
#define | ARRAY_USE_EIGEN |
#define | EigMajor Eigen::RowMajor |
#define | DEFINE_POINTER(T, name) |
each pointer associate with an eigen container | |
#define | DEFINE_POINTER_PROTECTED(T, name) |
#define | ALLOCATE_PTR_TO_VECTOR(name, size) |
allocate eigen container, then refer ptr to the container | |
#define | ALLOCATE_PTR_TO_MATRIX(name, size1, size2) |
allocate eigen container, then refer ptr to the container | |
Typedefs | |
template<class T > | |
using | EigVX = Eigen::Matrix<T, Eigen::Dynamic, 1, EigMajor> |
template<class T > | |
using | EigMX = Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic, EigMajor> |
template<class T > | |
using | EigAX = Eigen::Array<T, Eigen::Dynamic, Eigen::Dynamic, EigMajor> |
typedef EigVX< num_real > | EigVXr |
typedef EigVX< num_complex > | EigVXc |
typedef EigMX< num_real > | EigMXr |
typedef EigMX< num_complex > | EigMXc |
typedef EigMX< num_real > | EigAXr |
typedef EigMX< num_complex > | EigAXc |
typedef Eigen::Map< EigVXr > | MapVXr |
typedef Eigen::Map< EigVXc > | MapVXc |
typedef Eigen::Map< EigMXr > | MapMXr |
typedef Eigen::Map< EigMXc > | MapMXc |
typedef Eigen::Map< EigAXr > | MapAXr |
typedef Eigen::Map< EigAXc > | MapAXc |
Functions | |
void | LinearSolve (num_real *x, num_real *A, num_real *b, const int &N) |
void | EigenSolve (num_real *E, num_real *T, num_real *A, const int &N) |
void | EigenSolve (num_real *E, num_complex *T, num_complex *A, const int &N) |
void | EigenSolve (num_complex *E, num_complex *T, num_complex *A, const int &N) |
void | PseudoInverse (num_real *A, num_real *invA, const int &N, num_real e=1E-5) |
linear algebra for array
here we use eigen for linear algebra (with EIGEN_USE_MKL)
Definition in file la_utils.h.
#define ALLOCATE_PTR_TO_MATRIX | ( | name, | |
size1, | |||
size2 ) |
allocate eigen container, then refer ptr to the container
Definition at line 124 of file la_utils.h.
#define ALLOCATE_PTR_TO_VECTOR | ( | name, | |
size ) |
allocate eigen container, then refer ptr to the container
Definition at line 117 of file la_utils.h.
#define ARRAY_USE_EIGEN |
Definition at line 25 of file la_utils.h.
#define DEFINE_POINTER | ( | T, | |
name ) |
each pointer associate with an eigen container
Definition at line 100 of file la_utils.h.
#define DEFINE_POINTER_PROTECTED | ( | T, | |
name ) |
Definition at line 106 of file la_utils.h.
#define EigMajor Eigen::RowMajor |
Definition at line 62 of file la_utils.h.
Definition at line 71 of file la_utils.h.
Definition at line 78 of file la_utils.h.
Definition at line 77 of file la_utils.h.
Definition at line 68 of file la_utils.h.
Definition at line 76 of file la_utils.h.
Definition at line 75 of file la_utils.h.
Definition at line 65 of file la_utils.h.
Definition at line 74 of file la_utils.h.
Definition at line 73 of file la_utils.h.
Definition at line 84 of file la_utils.h.
Definition at line 83 of file la_utils.h.
Definition at line 82 of file la_utils.h.
Definition at line 81 of file la_utils.h.
Definition at line 80 of file la_utils.h.
Definition at line 79 of file la_utils.h.
void EigenSolve | ( | num_complex * | E, |
num_complex * | T, | ||
num_complex * | A, | ||
const int & | N ) |
void EigenSolve | ( | num_real * | E, |
num_complex * | T, | ||
num_complex * | A, | ||
const int & | N ) |
void EigenSolve | ( | num_real * | E, |
num_real * | T, | ||
num_real * | A, | ||
const int & | N ) |
void LinearSolve | ( | num_real * | x, |
num_real * | A, | ||
num_real * | b, | ||
const int & | N ) |
void PseudoInverse | ( | num_real * | A, |
num_real * | invA, | ||
const int & | N, | ||
num_real | e = 1E-5 ) |