![]() |
KIDS
ver-0.0.1
KIDS : Kernel Integrated Dynamics Simulator
|
< http://warp.povusers.org/FunctionParser/fparser.html More...
Namespaces | |
namespace | DATA |
namespace | Dimension |
Dimension namespace locates read parameters for system size. | |
namespace | FORCE_OPT |
Classes | |
class | Context |
class | DataSet |
DataSet class is a tree-structured container for storage of Tensor and other DataSet. More... | |
struct | DimenHelper |
DimenHelper is a struct control dimensional utils on the orginal/einsum index for a given tensor. More... | |
class | EinsumHelper |
struct | EinsumIdx |
EinsumIdx is a struct store information of index used in einsum operation. More... | |
class | elec_utils |
class | Expression |
A class representing a mathematical expression. More... | |
class | Handler |
this class provides a control of simulation More... | |
class | Kernel |
this class provides the container and implementation of algorithms More... | |
class | Kernel_Conserve |
This class implements a process for energy conservation. More... | |
class | Kernel_Dump_DataSet |
this class implements a process for dumping current data with stuctured format More... | |
class | Kernel_Elec |
this class implements calculation/utils for electronic DOFs: More... | |
class | Kernel_Elec_NAD |
initialization kernel for electonic DOFs in NAD More... | |
class | Kernel_Elec_Switch |
initialization kernel for electonic DOFs in NAD More... | |
class | Kernel_GWP |
class | Kernel_Iter |
Minimal iterator for integration of the equations of motion. More... | |
class | Kernel_Iter_Adapt |
class | Kernel_Load_DataSet |
this class implements a process for loading data in state stucture More... | |
class | Kernel_NADForce |
this class implements process of calculation of nuclear force for nonadiabatic dynamics More... | |
class | Kernel_Prioritization |
This class specifies the kernels that prioritizing other kernels. More... | |
class | Kernel_Random |
Kernel_Random manipulation of random engine and numbers. More... | |
class | Kernel_Read_Dimensions |
This class specifies the kernels that initialize the dimensions of data. More... | |
class | Kernel_Recorder |
class | Kernel_Representation |
Kernel_Representationfor solving basis transformation for electronic problems. More... | |
class | Kernel_Update_c |
class | Kernel_Update_p |
class | Kernel_Update_T |
class | Kernel_Update_x |
class | KernelInfo |
struct | kids_error |
struct | MNDOKW |
class | Model_Bath |
class | Model_CED |
class | Model_ElectronTransfer |
class | Model_Hello |
class | Model_HO |
class | Model_Interf_MNDO |
class | Model_LVCM |
class | MODEL_MD1D |
class | Model_NAD1D |
class | Model_SystemBath |
class | MPI_Guard |
class | Node |
Node class is an abstract interface. More... | |
class | Param |
this class provides an interface wrapper for the parameter data. More... | |
struct | param_warning |
class | Platform |
class | Result |
struct | RuleEvaluator |
Represents a rule for evaluating an expression. More... | |
class | RuleSet |
Represents a handler for input/output operations related to expressions. More... | |
class | Shape |
Shape class provide information about of a Tensor's shape. More... | |
class | Solver |
struct | Status |
class | System |
class | Tensor |
Tensor class is the container for array-like data. More... | |
class | VARIABLE |
class | VARIABLE_BASE |
struct | VariableDescriptor |
Represents a variable token in an expression rule. More... | |
Typedefs | |
using | Basic_Dimen = std::size_t |
using | Basic_Shape = std::vector<std::size_t> |
using | kids_void = void |
Alias for void type. | |
using | kids_bool = bool |
Alias for bool type. | |
using | kids_int = int |
Alias for integer type. | |
using | kids_bint = int |
Alias for integer type. | |
using | kids_real = double |
Alias for real number type. | |
using | kids_complex = std::complex<double> |
Alias for complex number type. | |
using | kids_str = std::string |
Alias for string type. | |
using | kids_param = Param |
Alias for Param type (to be defined later) | |
using | kids_dataset = DataSet |
Alias for DataSet type (to be defined later) | |
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> |
using | EigVXr = EigVX<kids_real> |
using | EigVXc = EigVX<kids_complex> |
using | EigMXr = EigMX<kids_real> |
using | EigMXc = EigMX<kids_complex> |
using | EigAXr = EigMX<kids_real> |
using | EigAXc = EigMX<kids_complex> |
using | MapVXr = Eigen::Map<EigVXr> |
using | MapVXc = Eigen::Map<EigVXc> |
using | MapMXr = Eigen::Map<EigMXr> |
using | MapMXc = Eigen::Map<EigMXc> |
using | MapAXr = Eigen::Map<EigAXr> |
using | MapAXc = Eigen::Map<EigAXc> |
using | MNDOKW_map = std::map<std::string, std::string> |
Enumerations | |
enum | kids_dtype { kids_void_type , kids_bool_type , kids_int_type , kids_real_type , kids_complex_type , kids_str_type , kids_param_type , kids_dataset_type } |
Functions | |
template<typename T > | |
void | einsum (EinsumHelper &EH, const std::vector< T * > &data_inputs, T *data_output) |
template<typename T > | |
void | einsum (const std::string &einsum_expression, std::vector< T * > data_inputs, const std::vector< std::vector< std::size_t > > &shape_inputs, T *data_output, const std::vector< std::size_t > &shape_output={}) |
constexpr int | FMT_WIDTH (int X) |
control the io printing format | |
bool | ARRAY_ISFINITE (kids_real *A, size_t n) |
Check if all elements of a real array are finite. | |
bool | ARRAY_ISFINITE (kids_complex *A, size_t n) |
Check if all elements of a complex array are finite. | |
void | ARRAY_CLEAR (kids_int *A, size_t N) |
Set all elements of an integer array to zero. | |
void | ARRAY_CLEAR (kids_real *A, size_t N) |
Set all elements of a real array to zero. | |
void | ARRAY_CLEAR (kids_complex *A, size_t N) |
Set all elements of a complex array to zero. | |
void | ARRAY_MATMUL (kids_real *A, kids_real *B, kids_real *C, size_t N1, size_t N2, size_t N3) |
Perform matrix multiplication where A = B * C for real matrices. | |
void | ARRAY_MATMUL (kids_complex *A, kids_complex *B, kids_complex *C, size_t N1, size_t N2, size_t N3) |
Perform matrix multiplication where A = B * C for complex matrices. | |
void | ARRAY_MATMUL (kids_complex *A, kids_real *B, kids_complex *C, size_t N1, size_t N2, size_t N3) |
Perform matrix multiplication where A = B * C for complex and real matrices. | |
void | ARRAY_MATMUL (kids_complex *A, kids_complex *B, kids_real *C, size_t N1, size_t N2, size_t N3) |
Perform matrix multiplication where A = B * C for complex and real matrices. | |
void | ARRAY_MATMUL_TRANS1 (kids_real *A, kids_real *B, kids_real *C, size_t N1, size_t N2, size_t N3) |
Perform matrix multiplication where A = B^T * C for real matrices. | |
void | ARRAY_MATMUL_TRANS1 (kids_complex *A, kids_complex *B, kids_complex *C, size_t N1, size_t N2, size_t N3) |
Perform matrix multiplication where A = B^T * C for complex matrices. | |
void | ARRAY_MATMUL_TRANS1 (kids_complex *A, kids_real *B, kids_complex *C, size_t N1, size_t N2, size_t N3) |
Perform matrix multiplication where A = B^T * C for complex and real matrices. | |
void | ARRAY_MATMUL_TRANS1 (kids_complex *A, kids_complex *B, kids_real *C, size_t N1, size_t N2, size_t N3) |
Perform matrix multiplication where A = B^T * C for complex and real matrices. | |
void | ARRAY_MATMUL_TRANS2 (kids_real *A, kids_real *B, kids_real *C, size_t N1, size_t N2, size_t N3) |
Perform matrix multiplication where A = B * C^T for real matrices. | |
void | ARRAY_MATMUL_TRANS2 (kids_complex *A, kids_complex *B, kids_complex *C, size_t N1, size_t N2, size_t N3) |
Perform matrix multiplication where A = B * C^T for complex matrices. | |
void | ARRAY_MATMUL_TRANS2 (kids_complex *A, kids_real *B, kids_complex *C, size_t N1, size_t N2, size_t N3) |
Perform matrix multiplication where A = B * C^T for complex and real matrices. | |
void | ARRAY_MATMUL_TRANS2 (kids_complex *A, kids_complex *B, kids_real *C, size_t N1, size_t N2, size_t N3) |
Perform matrix multiplication where A = B * C^T for complex and real matrices. | |
void | ARRAY_OUTER_TRANS2 (kids_real *A, kids_real *B, kids_real *C, size_t N1, size_t N2) |
Perform outer product with transpose where A = B^T * C for real matrices. | |
void | ARRAY_OUTER_TRANS2 (kids_complex *A, kids_complex *B, kids_complex *C, size_t N1, size_t N2) |
Perform outer product with transpose where A = B^T * C for complex matrices. | |
void | ARRAY_MATMUL3_TRANS1 (kids_real *A, kids_real *B, kids_real *C, kids_real *D, size_t N1, size_t N2, size_t N0, size_t N3) |
Perform matrix multiplication where A = B^T * C * D for real matrices. | |
void | ARRAY_MATMUL3_TRANS1 (kids_complex *A, kids_complex *B, kids_complex *C, kids_complex *D, size_t N1, size_t N2, size_t N0, size_t N3) |
Perform matrix multiplication where A = B^T * C * D for complex matrices. | |
void | ARRAY_MATMUL3_TRANS1 (kids_complex *A, kids_real *B, kids_complex *C, kids_real *D, size_t N1, size_t N2, size_t N0, size_t N3) |
Perform matrix multiplication where A = B^T * C * D for complex and real matrices. | |
void | ARRAY_MATMUL3_TRANS1 (kids_complex *A, kids_complex *B, kids_real *C, kids_complex *D, size_t N1, size_t N2, size_t N0, size_t N3) |
Perform matrix multiplication where A = B^T * C * D for complex and real matrices. | |
void | ARRAY_MATMUL3_TRANS2 (kids_real *A, kids_real *B, kids_real *C, kids_real *D, size_t N1, size_t N2, size_t N0, size_t N3) |
Perform matrix multiplication where A = B * C * D^T for real matrices. | |
void | ARRAY_MATMUL3_TRANS2 (kids_complex *A, kids_complex *B, kids_complex *C, kids_complex *D, size_t N1, size_t N2, size_t N0, size_t N3) |
Perform matrix multiplication where A = B * C * D^T for complex matrices. | |
void | ARRAY_MATMUL3_TRANS2 (kids_complex *A, kids_real *B, kids_complex *C, kids_real *D, size_t N1, size_t N2, size_t N0, size_t N3) |
Perform matrix multiplication where A = B * C * D^T for complex and real matrices. | |
void | ARRAY_MATMUL3_TRANS2 (kids_complex *A, kids_complex *B, kids_real *C, kids_complex *D, size_t N1, size_t N2, size_t N0, size_t N3) |
Perform matrix multiplication where A = B * C * D^T for complex and real matrices. | |
kids_real | ARRAY_TRACE2 (kids_real *B, kids_real *C, size_t N1, size_t N2) |
Compute the trace of the matrix product B * C for real matrices. | |
kids_complex | ARRAY_TRACE2 (kids_complex *B, kids_complex *C, size_t N1, size_t N2) |
Compute the trace of the matrix product B * C for complex matrices. | |
kids_complex | ARRAY_TRACE2 (kids_complex *B, kids_real *C, size_t N1, size_t N2) |
Compute the trace of the matrix product B * C for complex and real matrices. | |
kids_complex | ARRAY_TRACE2 (kids_real *B, kids_complex *C, size_t N1, size_t N2) |
Compute the trace of the matrix product B * C for real and complex matrices. | |
kids_real | ARRAY_TRACE2_DIAG (kids_real *B, kids_real *C, size_t N1, size_t N2) |
Compute the trace of the diagonal elements of the matrix product B * C for real matrices. | |
kids_complex | ARRAY_TRACE2_DIAG (kids_complex *B, kids_complex *C, size_t N1, size_t N2) |
Compute the trace of the diagonal elements of the matrix product B * C for complex matrices. | |
kids_complex | ARRAY_TRACE2_DIAG (kids_complex *B, kids_real *C, size_t N1, size_t N2) |
Compute the trace of the diagonal elements of the matrix product B * C for complex and real matrices. | |
kids_complex | ARRAY_TRACE2_DIAG (kids_real *B, kids_complex *C, size_t N1, size_t N2) |
Compute the trace of the diagonal elements of the matrix product B * C for real and complex matrices. | |
kids_real | ARRAY_TRACE2_OFFD (kids_real *B, kids_real *C, size_t N1, size_t N2) |
Compute the trace of the off-diagonal elements of the matrix product B * C for real matrices. | |
kids_complex | ARRAY_TRACE2_OFFD (kids_complex *B, kids_complex *C, size_t N1, size_t N2) |
Compute the trace of the off-diagonal elements of the matrix product B * C for complex matrices. | |
kids_complex | ARRAY_TRACE2_OFFD (kids_complex *B, kids_real *C, size_t N1, size_t N2) |
Compute the trace of the off-diagonal elements of the matrix product B * C for complex and real matrices. | |
kids_complex | ARRAY_TRACE2_OFFD (kids_real *B, kids_complex *C, size_t N1, size_t N2) |
Compute the trace of the off-diagonal elements of the matrix product B * C for real and complex matrices. | |
kids_real | ARRAY_INNER_TRANS1 (kids_real *B, kids_real *C, size_t N1) |
Compute the inner product of the transpose of B with C for real matrices. | |
kids_complex | ARRAY_INNER_TRANS1 (kids_complex *B, kids_complex *C, size_t N1) |
Compute the inner product of the conjugate transpose of B with C for complex matrices. | |
kids_complex | ARRAY_INNER_TRANS1 (kids_complex *B, kids_real *C, size_t N1) |
Compute the inner product of the conjugate transpose of B with C for complex and real matrices. | |
kids_complex | ARRAY_INNER_TRANS1 (kids_real *B, kids_complex *C, size_t N1) |
Compute the inner product of the transpose of B with C for real and complex matrices. | |
kids_real | ARRAY_INNER_VMV_TRANS1 (kids_real *B, kids_real *C, kids_real *D, size_t N1, size_t N2) |
Compute the inner product of the transpose of the real vector B with the matrix C, element-wise multiplication with the real vector D. | |
kids_complex | ARRAY_INNER_VMV_TRANS1 (kids_complex *B, kids_complex *C, kids_complex *D, size_t N1, size_t N2) |
Compute the inner product of the conjugate transpose of the complex vector B with the complex matrix C, element-wise multiplication with the complex vector D. | |
kids_complex | ARRAY_INNER_VMV_TRANS1 (kids_complex *B, kids_real *C, kids_complex *D, size_t N1, size_t N2) |
Compute the inner product of the conjugate transpose of the complex vector B with the real matrix C, element-wise multiplication with the complex vector D. | |
kids_complex | ARRAY_INNER_VMV_TRANS1 (kids_real *B, kids_complex *C, kids_real *D, size_t N1, size_t N2) |
Compute the inner product of the transpose of the real vector B with the complex matrix C, element-wise multiplication with the real vector D. | |
void | ARRAY_EYE (kids_real *A, size_t n) |
Generate an identity matrix of size n for real numbers. | |
void | ARRAY_EYE (kids_complex *A, size_t n) |
Generate an identity matrix of size n for complex numbers. | |
void | ARRAY_MAT_DIAG (kids_real *A, kids_real *B, size_t N1) |
Copy the diagonal elements from matrix B to matrix A for real matrices. | |
void | ARRAY_MAT_DIAG (kids_complex *A, kids_complex *B, size_t N1) |
Copy the diagonal elements from matrix B to matrix A for complex matrices. | |
void | ARRAY_MAT_DIAG (kids_complex *A, kids_real *B, size_t N1) |
Copy the diagonal elements from matrix B to matrix A for complex and real matrices. | |
void | ARRAY_MAT_OFFD (kids_real *A, kids_real *B, size_t N1) |
Copy the off-diagonal elements from matrix B to matrix A for real matrices. | |
void | ARRAY_MAT_OFFD (kids_complex *A, kids_complex *B, size_t N1) |
Copy the off-diagonal elements from matrix B to matrix A for complex matrices. | |
void | ARRAY_MAT_OFFD (kids_complex *A, kids_real *B, size_t N1) |
Copy the off-diagonal elements from matrix B to matrix A for complex and real matrices. | |
void | LinearSolve (kids_real *x, kids_real *A, kids_real *b, size_t N) |
Solve a linear system Ax = b for real matrices. | |
void | EigenSolve (kids_real *E, kids_real *T, kids_real *A, size_t N) |
Solve the eigenvalue problem for real matrices. | |
void | EigenSolve (kids_real *E, kids_complex *T, kids_complex *A, size_t N) |
Solve the eigenvalue problem for (hermite) complex matrices. | |
void | EigenSolve (kids_complex *E, kids_complex *T, kids_complex *A, size_t N) |
Solve the eigenvalue problem for general complex matrices. | |
void | PseudoInverse (kids_real *A, kids_real *invA, size_t N, kids_real e=1E-5) |
Compute the pseudo-inverse of a matrix for real numbers. | |
void | MatrixInverse (kids_real *invA, kids_real *A, size_t N) |
Compute the inverse of a matrix for real numbers. | |
void | ARRAY_INV_MAT (kids_complex *invA, kids_complex *A, size_t N) |
Compute the inverse of a matrix for complex numbers. | |
void | ARRAY_EXP_MAT_GENERAL (kids_complex *expkA, kids_complex *A, kids_complex k, size_t N) |
void | ARRAY_CORRECT_U (kids_complex *U, size_t N) |
void | ARRAY_TRANSPOSE (kids_real *A, size_t N1, size_t N2) |
void | ARRAY_TRANSPOSE (kids_complex *A, size_t N1, size_t N2) |
template<typename T > | |
kids_dtype | as_enum () |
Converts a C++ type to its corresponding kids_dtype enumeration. | |
template<typename T > | |
std::string | as_str () |
Converts a C++ type to its string representation. | |
DEFINE_BIND_UTILS_FOR (kids_void) | |
DEFINE_BIND_UTILS_FOR (kids_int) | |
DEFINE_BIND_UTILS_FOR (kids_bool) | |
DEFINE_BIND_UTILS_FOR (kids_real) | |
DEFINE_BIND_UTILS_FOR (kids_complex) | |
DEFINE_BIND_UTILS_FOR (kids_str) | |
DEFINE_BIND_UTILS_FOR (kids_param) | |
DEFINE_BIND_UTILS_FOR (kids_dataset) | |
std::string | _subreplace (std::string resource_str, std::string sub_str, std::string new_str) |
std::map< std::string, Kernel * > & | getDictOfKernels () |
static void | ARRAY_MATMUL_UNIVERSAL (kids_real *A, kids_real *B, kids_real *C, size_t N1, size_t N2, size_t N3, bool ad1=false, bool ad2=false) |
static void | ARRAY_MATMUL_UNIVERSAL (kids_complex *A, kids_complex *B, kids_complex *C, size_t N1, size_t N2, size_t N3, bool ad1=false, bool ad2=false) |
static void | ARRAY_MATMUL_UNIVERSAL (kids_complex *A, kids_real *B, kids_complex *C, size_t N1, size_t N2, size_t N3, bool ad1=false, bool ad2=false) |
static void | ARRAY_MATMUL_UNIVERSAL (kids_complex *A, kids_complex *B, kids_real *C, size_t N1, size_t N2, size_t N3, bool ad1=false, bool ad2=false) |
void | ARRAY_INV_MAT (kids_real *invA, kids_real *A, size_t N) |
template<typename T , typename Tout > | |
void | einsum_fun (EinsumHelper &EH, Expression< T > &FP, const std::vector< void * > &data_inputs, const std::vector< kids_dtype > &data_idtype, Tout *data_output) |
custumized einsum-like function operation | |
DEFINE_POLICY (NADPolicy, EHR, BOSH, CVSH, BOSD, CVSD) | |
DEFINE_POLICY (SQCPolicy, SQR, TRI, SPX, BIG) | |
DEFINE_POLICY (NADForcePolicy, EHR, BO, CV, BOSD, CVSD, ELSE) | |
DEFINE_POLICY (RepresentationPolicy, Diabatic, Adiabatic, Force, Density) | |
DEFINE_POLICY (SpacePolicy, H, L) | |
double | calc_alpha (kids_real *V, int i=0, int k=1, int F=2) |
int | calc_wrho (kids_complex *wrho, kids_complex *rho, double xi, double gamma, double alpha) |
double | calc_Ew (kids_real *E, kids_complex *wrho, int occ) |
int | calc_distforce (kids_real *f1, kids_real *E, kids_real *dE, kids_complex *wrho, kids_complex *rho, double alpha) |
the force driven from the shape of distorted-density W(\rho) | |
int | hopping_impulse (kids_real *direction, kids_real *np, kids_real *nm, kids_real Efrom, kids_real Eto, int from, int to, bool reflect) |
DEFINE_POLICY (BathPolicy, Debye, Ohmic, Closure, HuangRhys, GFactor, ReadFormula, ReadFile, Read) | |
DEFINE_POLICY (StrengthPolicy, Lambda, Alpha, Eta, Erg) | |
DEFINE_POLICY (LVCMPolicy, PYR3, PYR3_SPEC, PYR4, PYR4_SPEC, PYR24, CRC2, CRC5, BEN5, BUTA5, PENTA5, CED2, CED3, PYR2CED, Read) | |
DEFINE_POLICY (NAD1DPolicy, PURE, SAC, SAC2, SAC3, DAC, ECR, DBG, DAG, DRN, NA_I, MORSE3A, MORSE3B, MORSE3C, MORSE15, MORSE15C, MORSE15E, CL1D, JC1D, IVP1, IVP2, IVP3, IVP4) | |
DEFINE_POLICY (SystemPolicy, SB, FMO, SF3a, SF3b, SF3c, SF5a, SF5b, FCP, AGG, CYC, Read) | |
DEFINE_POLICY (CouplingPolicy, SB, SE, Read) | |
DEFINE_POLICY (NSampPolicy, Wigner, Classical, QCT) | |
std::shared_ptr< Kernel > | ModelFactory (const std::string &name) |
int | mspes_SAC (double *V, double *dV, double *ddV, double *R, int flag, int rdim, int fdim) |
int | mspes_SAC2 (double *V, double *dV, double *ddV, double *R, int flag, int rdim, int fdim) |
int | mspes_SAC3 (double *V, double *dV, double *ddV, double *R, int flag, int rdim, int fdim) |
int | mspes_DAC (double *V, double *dV, double *ddV, double *R, int flag, int rdim, int fdim) |
int | mspes_ECR (double *V, double *dV, double *ddV, double *R, int flag, int rdim, int fdim) |
int | mspes_DBG (double *V, double *dV, double *ddV, double *R, int flag, int rdim, int fdim) |
int | mspes_DAG (double *V, double *dV, double *ddV, double *R, int flag, int rdim, int fdim) |
int | mspes_DRN (double *V, double *dV, double *ddV, double *R, int flag, int rdim, int fdim) |
int | mspes_MORSE3A (double *V, double *dV, double *ddV, double *R, int flag, int rdim, int fdim) |
int | mspes_MORSE3B (double *V, double *dV, double *ddV, double *R, int flag, int rdim, int fdim) |
int | mspes_MORSE3C (double *V, double *dV, double *ddV, double *R, int flag, int rdim, int fdim) |
int | mspes_MORSE15 (double *V, double *dV, double *ddV, double *R, int flag, int rdim, int fdim) |
int | mspes_MORSE15C (double *V, double *dV, double *ddV, double *R, int flag, int rdim, int fdim) |
int | mspes_MORSE15E (double *V, double *dV, double *ddV, double *R, int flag, int rdim, int fdim) |
int | mspes_CL1D (double *V, double *dV, double *ddV, double *R, int flag, int rdim, int fdim) |
int | mspes_JC1D (double *V, double *dV, double *ddV, double *R, int flag, int rdim, int fdim) |
int | mspes_NA_I (double *V, double *dV, double *ddV, double *R, int flag, int rdim, int fdim) |
std::shared_ptr< Kernel > | SolverFactory (const std::string &name, std::shared_ptr< Kernel > kmodel) |
std::shared_ptr< Kernel > | NAD_Adapt_Kernel (std::shared_ptr< Kernel > kmodel, std::string NAD_Kernel_name) |
std::shared_ptr< Kernel > | NAD_AdaptM_Kernel (std::shared_ptr< Kernel > kmodel, std::string NAD_Kernel_name) |
std::shared_ptr< Kernel > | NAD_Kernel (std::shared_ptr< Kernel > kmodel, std::string NAD_Kernel_name) |
types_cast | |
Utility functions for type casting | |
template<class Tto , class Tfrom = void> | |
Tto | cast (Tfrom value) |
template<class Tto > | |
Tto | cast_from_complex (kids_complex value) |
template<> | |
kids_complex | cast_from_complex (kids_complex value) |
template<class Tto > | |
Tto | cast (kids_complex value) |
template<class Tto , class Tfrom > | |
Tto | cast_at (void *data, int index=0) |
Variables | |
const std::string | MSG_PARAM_BAD_KEY = "bad key error : " |
const std::string | MSG_PARAM_BAD_TYPE = "bad type error : " |
const std::string | MSG_DATASET_BAD_KEY = "bad key error : " |
const std::string | MSG_DATASET_BAD_SIZE = "bad size error : " |
const std::string | MSG_DATASET_BAD_TYPE = "bad type error : " |
const std::string | MSG_DATASET_ERR_LOAD = "load error : " |
const std::string | MSG_DATASET_ERR_DUMP = "dump error : " |
constexpr std::string | OCCUPATION_PLACEHOLDER = "$OCC" |
constexpr std::string | TRJ_INDEX_PLACEHOLDER = "$TRJ" |
constexpr std::string | MPI_INDEX_PLACEHOLDER = "$MPI" |
constexpr std::string | KRULE_KKCMM = "{\"rule\":\"KKCMM<mik>(K1<m[$OCC][$OCC]>)\"}" |
constexpr std::string | KRULE_KKwMM = {"$KK_wMM", "KK"} |
constexpr std::string | KRULE_KKSQC = {"$KK_SQC", "KK"} |
double | mspes_parm [100] |
using PROJECT_NS::Basic_Dimen = std::size_t |
using PROJECT_NS::Basic_Shape = std::vector<std::size_t> |
using PROJECT_NS::EigAX = Eigen::Array<T, Eigen::Dynamic, Eigen::Dynamic, EigMajor> |
Definition at line 23 of file linalg.cpp.
typedef EigMX< kids_complex > PROJECT_NS::EigAXc = EigMX<kids_complex> |
Definition at line 30 of file linalg.cpp.
typedef EigMX< kids_real > PROJECT_NS::EigAXr = EigMX<kids_real> |
Definition at line 29 of file linalg.cpp.
using PROJECT_NS::EigMX = Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic, EigMajor> |
Definition at line 20 of file linalg.cpp.
typedef EigMX< kids_complex > PROJECT_NS::EigMXc = EigMX<kids_complex> |
Definition at line 28 of file linalg.cpp.
typedef EigMX< kids_real > PROJECT_NS::EigMXr = EigMX<kids_real> |
Definition at line 27 of file linalg.cpp.
using PROJECT_NS::EigVX = Eigen::Matrix<T, Eigen::Dynamic, 1, EigMajor> |
Definition at line 17 of file linalg.cpp.
typedef EigVX< kids_complex > PROJECT_NS::EigVXc = EigVX<kids_complex> |
Definition at line 26 of file linalg.cpp.
typedef EigVX< kids_real > PROJECT_NS::EigVXr = EigVX<kids_real> |
Definition at line 25 of file linalg.cpp.
using PROJECT_NS::kids_bint = int |
using PROJECT_NS::kids_bool = bool |
using PROJECT_NS::kids_complex = std::complex<double> |
using PROJECT_NS::kids_dataset = DataSet |
using PROJECT_NS::kids_int = int |
using PROJECT_NS::kids_param = Param |
using PROJECT_NS::kids_real = double |
using PROJECT_NS::kids_str = std::string |
using PROJECT_NS::kids_void = void |
typedef Eigen::Map< EigAXc > PROJECT_NS::MapAXc = Eigen::Map<EigAXc> |
Definition at line 36 of file linalg.cpp.
typedef Eigen::Map< EigAXr > PROJECT_NS::MapAXr = Eigen::Map<EigAXr> |
Definition at line 35 of file linalg.cpp.
typedef Eigen::Map< EigMXc > PROJECT_NS::MapMXc = Eigen::Map<EigMXc> |
Definition at line 34 of file linalg.cpp.
typedef Eigen::Map< EigMXr > PROJECT_NS::MapMXr = Eigen::Map<EigMXr> |
Definition at line 33 of file linalg.cpp.
typedef Eigen::Map< EigVXc > PROJECT_NS::MapVXc = Eigen::Map<EigVXc> |
Definition at line 32 of file linalg.cpp.
typedef Eigen::Map< EigVXr > PROJECT_NS::MapVXr = Eigen::Map<EigVXr> |
Definition at line 31 of file linalg.cpp.
using PROJECT_NS::MNDOKW_map = std::map<std::string, std::string> |
Definition at line 18 of file Model_Interf_MNDO.h.
Enumerator | |
---|---|
kids_void_type | Represents void type. |
kids_bool_type | Represents bool type. |
kids_int_type | Represents integer type. |
kids_real_type | Represents real number type. |
kids_complex_type | Represents complex number type. |
kids_str_type | Represents string type. |
kids_param_type | Represents Param type. |
kids_dataset_type | Represents DataSet type. |
|
inline |
Definition at line 46 of file Variable.h.
void PROJECT_NS::ARRAY_CLEAR | ( | kids_complex * | A, |
size_t | N ) |
Set all elements of a complex array to zero.
A | Pointer to the complex array. |
N | Size of the array. |
Definition at line 54 of file linalg.cpp.
void PROJECT_NS::ARRAY_CLEAR | ( | kids_int * | A, |
size_t | N ) |
Set all elements of an integer array to zero.
A | Pointer to the integer array. |
N | Size of the array. |
Definition at line 50 of file linalg.cpp.
void PROJECT_NS::ARRAY_CLEAR | ( | kids_real * | A, |
size_t | N ) |
Set all elements of a real array to zero.
A | Pointer to the real array. |
N | Size of the array. |
Definition at line 52 of file linalg.cpp.
void PROJECT_NS::ARRAY_CORRECT_U | ( | kids_complex * | U, |
size_t | N ) |
Definition at line 132 of file linalg_1.cpp.
References ARRAY_MATMUL3_TRANS2, and EigenSolve().
Referenced by PROJECT_NS::Kernel_GWP::impl_1().
void PROJECT_NS::ARRAY_EXP_MAT_GENERAL | ( | kids_complex * | expkA, |
kids_complex * | A, | ||
kids_complex | k, | ||
size_t | N ) |
Definition at line 97 of file linalg_1.cpp.
References ARRAY_MATMUL3_TRANS2, ARRAY_MATMUL_TRANS1, ARRAY_TRANSPOSE(), and EigenSolve().
Referenced by PROJECT_NS::Kernel_GWP::impl_0().
void PROJECT_NS::ARRAY_EYE | ( | kids_complex * | A, |
size_t | n ) |
Generate an identity matrix of size n for complex numbers.
A | Pointer to the complex matrix A to store the result. |
n | Size of the identity matrix. |
Definition at line 453 of file linalg.cpp.
void PROJECT_NS::ARRAY_EYE | ( | kids_real * | A, |
size_t | n ) |
Generate an identity matrix of size n for real numbers.
A | Pointer to the real matrix A to store the result. |
n | Size of the identity matrix. |
Definition at line 448 of file linalg.cpp.
kids_complex PROJECT_NS::ARRAY_INNER_TRANS1 | ( | kids_complex * | B, |
kids_complex * | C, | ||
size_t | N1 ) |
Compute the inner product of the conjugate transpose of B with C for complex matrices.
B | Pointer to the complex matrix B. |
C | Pointer to the complex matrix C. |
N1 | Number of elements in B and C (length of vectors). |
Definition at line 406 of file linalg.cpp.
References ARRAY_MATMUL_TRANS1.
kids_complex PROJECT_NS::ARRAY_INNER_TRANS1 | ( | kids_complex * | B, |
kids_real * | C, | ||
size_t | N1 ) |
Compute the inner product of the conjugate transpose of B with C for complex and real matrices.
B | Pointer to the complex matrix B. |
C | Pointer to the real matrix C. |
N1 | Number of elements in B and C (length of vectors). |
Definition at line 412 of file linalg.cpp.
References ARRAY_MATMUL_TRANS1.
kids_complex PROJECT_NS::ARRAY_INNER_TRANS1 | ( | kids_real * | B, |
kids_complex * | C, | ||
size_t | N1 ) |
Compute the inner product of the transpose of B with C for real and complex matrices.
B | Pointer to the real matrix B. |
C | Pointer to the complex matrix C. |
N1 | Number of elements in B and C (length of vectors). |
Definition at line 418 of file linalg.cpp.
References ARRAY_MATMUL_TRANS1.
Compute the inner product of the transpose of B with C for real matrices.
B | Pointer to the real matrix B. |
C | Pointer to the real matrix C. |
N1 | Number of elements in B and C (length of vectors). |
Definition at line 400 of file linalg.cpp.
References ARRAY_MATMUL_TRANS1.
Referenced by PROJECT_NS::elec_utils::c_sphere(), and PROJECT_NS::Kernel_GWP::calc_dtSele().
kids_complex PROJECT_NS::ARRAY_INNER_VMV_TRANS1 | ( | kids_complex * | B, |
kids_complex * | C, | ||
kids_complex * | D, | ||
size_t | N1, | ||
size_t | N2 ) |
Compute the inner product of the conjugate transpose of the complex vector B with the complex matrix C, element-wise multiplication with the complex vector D.
B | Pointer to the complex vector B. |
C | Pointer to the complex matrix C. |
D | Pointer to the complex vector D. |
N1 | Number of elements in B and rows in C and D. |
N2 | Number of columns in C and elements in D. |
Definition at line 430 of file linalg.cpp.
References ARRAY_MATMUL3_TRANS1.
kids_complex PROJECT_NS::ARRAY_INNER_VMV_TRANS1 | ( | kids_complex * | B, |
kids_real * | C, | ||
kids_complex * | D, | ||
size_t | N1, | ||
size_t | N2 ) |
Compute the inner product of the conjugate transpose of the complex vector B with the real matrix C, element-wise multiplication with the complex vector D.
B | Pointer to the complex vector B. |
C | Pointer to the real matrix C. |
D | Pointer to the complex vector D. |
N1 | Number of elements in B and rows in C and D. |
N2 | Number of columns in C and elements in D. |
Definition at line 436 of file linalg.cpp.
References ARRAY_MATMUL3_TRANS1.
kids_complex PROJECT_NS::ARRAY_INNER_VMV_TRANS1 | ( | kids_real * | B, |
kids_complex * | C, | ||
kids_real * | D, | ||
size_t | N1, | ||
size_t | N2 ) |
Compute the inner product of the transpose of the real vector B with the complex matrix C, element-wise multiplication with the real vector D.
B | Pointer to the real vector B. |
C | Pointer to the complex matrix C. |
D | Pointer to the real vector D. |
N1 | Number of elements in B and rows in C and D. |
N2 | Number of columns in C and elements in D. |
Definition at line 442 of file linalg.cpp.
References ARRAY_MATMUL3_TRANS1.
kids_real PROJECT_NS::ARRAY_INNER_VMV_TRANS1 | ( | kids_real * | B, |
kids_real * | C, | ||
kids_real * | D, | ||
size_t | N1, | ||
size_t | N2 ) |
Compute the inner product of the transpose of the real vector B with the matrix C, element-wise multiplication with the real vector D.
B | Pointer to the real vector B. |
C | Pointer to the real matrix C. |
D | Pointer to the real vector D. |
N1 | Number of elements in B and rows in C and D. |
N2 | Number of columns in C and elements in D. |
Definition at line 424 of file linalg.cpp.
References ARRAY_MATMUL3_TRANS1.
Referenced by PROJECT_NS::Kernel_GWP::calc_dtSele(), and PROJECT_NS::Kernel_GWP::calc_Hbasis().
void PROJECT_NS::ARRAY_INV_MAT | ( | kids_complex * | invA, |
kids_complex * | A, | ||
size_t | N ) |
Compute the inverse of a matrix for complex numbers.
invA | Pointer to the matrix to store the inverse of A. |
A | Pointer to the matrix A. |
N | Size of the matrix (number of rows or columns in A). |
Definition at line 91 of file linalg_1.cpp.
Definition at line 85 of file linalg_1.cpp.
bool PROJECT_NS::ARRAY_ISFINITE | ( | kids_complex * | A, |
size_t | n ) |
Check if all elements of a complex array are finite.
A | Pointer to the complex array. |
n | Size of the array. |
Definition at line 44 of file linalg.cpp.
bool PROJECT_NS::ARRAY_ISFINITE | ( | kids_real * | A, |
size_t | n ) |
Check if all elements of a real array are finite.
A | Pointer to the real array. |
n | Size of the array. |
Definition at line 38 of file linalg.cpp.
void PROJECT_NS::ARRAY_MAT_DIAG | ( | kids_complex * | A, |
kids_complex * | B, | ||
size_t | N1 ) |
Copy the diagonal elements from matrix B to matrix A for complex matrices.
A | Pointer to the complex matrix A. |
B | Pointer to the complex matrix B. |
N1 | Number of rows and columns in A and B. |
Definition at line 465 of file linalg.cpp.
References ARRAY_CLEAR.
void PROJECT_NS::ARRAY_MAT_DIAG | ( | kids_complex * | A, |
kids_real * | B, | ||
size_t | N1 ) |
Copy the diagonal elements from matrix B to matrix A for complex and real matrices.
A | Pointer to the complex matrix A. |
B | Pointer to the real matrix B. |
N1 | Number of rows and columns in A and B. |
Definition at line 472 of file linalg.cpp.
References ARRAY_CLEAR.
Copy the diagonal elements from matrix B to matrix A for real matrices.
A | Pointer to the real matrix A. |
B | Pointer to the real matrix B. |
N1 | Number of rows and columns in A and B. |
Definition at line 458 of file linalg.cpp.
References ARRAY_CLEAR.
Referenced by PROJECT_NS::Kernel_Elec_NAD::executeKernel_impl(), and PROJECT_NS::Kernel_Elec_Switch::executeKernel_impl().
void PROJECT_NS::ARRAY_MAT_OFFD | ( | kids_complex * | A, |
kids_complex * | B, | ||
size_t | N1 ) |
Copy the off-diagonal elements from matrix B to matrix A for complex matrices.
A | Pointer to the complex matrix A. |
B | Pointer to the complex matrix B. |
N1 | Number of rows and columns in A and B. |
Definition at line 486 of file linalg.cpp.
void PROJECT_NS::ARRAY_MAT_OFFD | ( | kids_complex * | A, |
kids_real * | B, | ||
size_t | N1 ) |
Copy the off-diagonal elements from matrix B to matrix A for complex and real matrices.
A | Pointer to the complex matrix A. |
B | Pointer to the real matrix B. |
N1 | Number of rows and columns in A and B. |
Definition at line 493 of file linalg.cpp.
Copy the off-diagonal elements from matrix B to matrix A for real matrices.
A | Pointer to the real matrix A. |
B | Pointer to the real matrix B. |
N1 | Number of rows and columns in A and B. |
Definition at line 479 of file linalg.cpp.
void PROJECT_NS::ARRAY_MATMUL | ( | kids_complex * | A, |
kids_complex * | B, | ||
kids_complex * | C, | ||
size_t | N1, | ||
size_t | N2, | ||
size_t | N3 ) |
Perform matrix multiplication where A = B * C for complex matrices.
A | Pointer to the result complex matrix. |
B | Pointer to the first complex matrix. |
C | Pointer to the second complex matrix. |
N1 | Number of rows in B and A. |
N2 | Number of columns in B and rows in C. |
N3 | Number of columns in C and A. |
Definition at line 116 of file linalg.cpp.
References ARRAY_MATMUL_UNIVERSAL().
void PROJECT_NS::ARRAY_MATMUL | ( | kids_complex * | A, |
kids_complex * | B, | ||
kids_real * | C, | ||
size_t | N1, | ||
size_t | N2, | ||
size_t | N3 ) |
Perform matrix multiplication where A = B * C for complex and real matrices.
A | Pointer to the result complex matrix. |
B | Pointer to the first complex matrix. |
C | Pointer to the second real matrix. |
N1 | Number of rows in B and A. |
N2 | Number of columns in B and rows in C. |
N3 | Number of columns in C and A. |
Definition at line 124 of file linalg.cpp.
References ARRAY_MATMUL_UNIVERSAL().
void PROJECT_NS::ARRAY_MATMUL | ( | kids_complex * | A, |
kids_real * | B, | ||
kids_complex * | C, | ||
size_t | N1, | ||
size_t | N2, | ||
size_t | N3 ) |
Perform matrix multiplication where A = B * C for complex and real matrices.
A | Pointer to the result complex matrix. |
B | Pointer to the first complex matrix. |
C | Pointer to the second real matrix. |
N1 | Number of rows in B and A. |
N2 | Number of columns in B and rows in C. |
N3 | Number of columns in C and A. |
Definition at line 120 of file linalg.cpp.
References ARRAY_MATMUL_UNIVERSAL().
void PROJECT_NS::ARRAY_MATMUL | ( | kids_real * | A, |
kids_real * | B, | ||
kids_real * | C, | ||
size_t | N1, | ||
size_t | N2, | ||
size_t | N3 ) |
Perform matrix multiplication where A = B * C for real matrices.
A | Pointer to the result real matrix. |
B | Pointer to the first real matrix. |
C | Pointer to the second real matrix. |
N1 | Number of rows in B and A. |
N2 | Number of columns in B and rows in C. |
N3 | Number of columns in C and A. |
Definition at line 112 of file linalg.cpp.
References ARRAY_MATMUL_UNIVERSAL().
void PROJECT_NS::ARRAY_MATMUL3_TRANS1 | ( | kids_complex * | A, |
kids_complex * | B, | ||
kids_complex * | C, | ||
kids_complex * | D, | ||
size_t | N1, | ||
size_t | N2, | ||
size_t | N0, | ||
size_t | N3 ) |
Perform matrix multiplication where A = B^T * C * D for complex matrices.
A | Pointer to the result complex matrix. |
B | Pointer to the first complex matrix. |
C | Pointer to the second complex matrix. |
D | Pointer to the third complex matrix. |
N1 | Number of rows in A. |
N2 | Number of columns in B^T and rows in C. |
N0 | Number of columns in B^T and rows in D; N0==0 when C is a diagonal vector and N2 is for rows of D. |
N3 | Number of columns in D and A. |
Definition at line 186 of file linalg.cpp.
References ARRAY_MATMUL, and ARRAY_MATMUL_TRANS1.
void PROJECT_NS::ARRAY_MATMUL3_TRANS1 | ( | kids_complex * | A, |
kids_complex * | B, | ||
kids_real * | C, | ||
kids_complex * | D, | ||
size_t | N1, | ||
size_t | N2, | ||
size_t | N0, | ||
size_t | N3 ) |
Perform matrix multiplication where A = B^T * C * D for complex and real matrices.
A | Pointer to the result complex matrix. |
B | Pointer to the first complex matrix. |
C | Pointer to the second real matrix. |
D | Pointer to the third complex matrix. |
N1 | Number of rows in A. |
N2 | Number of columns in B^T and rows in C. |
N0 | Number of columns in B^T and rows in D; N0==0 when C is a diagonal vector and N2 is for rows of D. |
N3 | Number of columns in D and A. |
Definition at line 222 of file linalg.cpp.
References ARRAY_MATMUL, and ARRAY_MATMUL_TRANS1.
void PROJECT_NS::ARRAY_MATMUL3_TRANS1 | ( | kids_complex * | A, |
kids_real * | B, | ||
kids_complex * | C, | ||
kids_real * | D, | ||
size_t | N1, | ||
size_t | N2, | ||
size_t | N0, | ||
size_t | N3 ) |
Perform matrix multiplication where A = B^T * C * D for complex and real matrices.
A | Pointer to the result complex matrix. |
B | Pointer to the first real matrix. |
C | Pointer to the second complex matrix. |
D | Pointer to the third real matrix. |
N1 | Number of rows in A. |
N2 | Number of columns in B^T and rows in C. |
N0 | Number of columns in B^T and rows in D; N0==0 when C is a diagonal vector and N2 is for rows of D. |
N3 | Number of columns in D and A. |
Definition at line 204 of file linalg.cpp.
References ARRAY_MATMUL, and ARRAY_MATMUL_TRANS1.
void PROJECT_NS::ARRAY_MATMUL3_TRANS1 | ( | kids_real * | A, |
kids_real * | B, | ||
kids_real * | C, | ||
kids_real * | D, | ||
size_t | N1, | ||
size_t | N2, | ||
size_t | N0, | ||
size_t | N3 ) |
Perform matrix multiplication where A = B^T * C * D for real matrices.
A | Pointer to the result real matrix. |
B | Pointer to the first real matrix. |
C | Pointer to the second real matrix. |
D | Pointer to the third real matrix. |
N1 | Number of rows in A. |
N2 | Number of columns in B^T and rows in C. |
N0 | Number of columns in B^T and rows in D; N0==0 when C is a diagonal vector and N2 is for rows of D. |
N3 | Number of columns in D and A. |
Definition at line 168 of file linalg.cpp.
References ARRAY_MATMUL, and ARRAY_MATMUL_TRANS1.
void PROJECT_NS::ARRAY_MATMUL3_TRANS2 | ( | kids_complex * | A, |
kids_complex * | B, | ||
kids_complex * | C, | ||
kids_complex * | D, | ||
size_t | N1, | ||
size_t | N2, | ||
size_t | N0, | ||
size_t | N3 ) |
Perform matrix multiplication where A = B * C * D^T for complex matrices.
A | Pointer to the result complex matrix. |
B | Pointer to the first complex matrix. |
C | Pointer to the second complex matrix. |
D | Pointer to the third complex matrix. |
N1 | Number of rows in A. |
N2 | Number of columns in B and rows in C. |
N0 | Number of columns in C and rows in D^T; N0==0 when C is a diagonal vector and N2 is for rows of D^T. |
N3 | Number of columns in D^T and A. |
Definition at line 258 of file linalg.cpp.
References ARRAY_MATMUL, and ARRAY_MATMUL_TRANS2.
void PROJECT_NS::ARRAY_MATMUL3_TRANS2 | ( | kids_complex * | A, |
kids_complex * | B, | ||
kids_real * | C, | ||
kids_complex * | D, | ||
size_t | N1, | ||
size_t | N2, | ||
size_t | N0, | ||
size_t | N3 ) |
Perform matrix multiplication where A = B * C * D^T for complex and real matrices.
A | Pointer to the result complex matrix. |
B | Pointer to the first complex matrix. |
C | Pointer to the second real matrix. |
D | Pointer to the third complex matrix. |
N1 | Number of rows in A. |
N2 | Number of columns in B and rows in C. |
N0 | Number of columns in C and rows in D^T; N0==0 when C is a diagonal vector and N2 is for rows of D^T. |
N3 | Number of columns in D^T and A. |
Definition at line 294 of file linalg.cpp.
References ARRAY_MATMUL, and ARRAY_MATMUL_TRANS2.
void PROJECT_NS::ARRAY_MATMUL3_TRANS2 | ( | kids_complex * | A, |
kids_real * | B, | ||
kids_complex * | C, | ||
kids_real * | D, | ||
size_t | N1, | ||
size_t | N2, | ||
size_t | N0, | ||
size_t | N3 ) |
Perform matrix multiplication where A = B * C * D^T for complex and real matrices.
A | Pointer to the result complex matrix. |
B | Pointer to the first real matrix. |
C | Pointer to the second complex matrix. |
D | Pointer to the third real matrix. |
N1 | Number of rows in A. |
N2 | Number of columns in B and rows in C. |
N0 | Number of columns in C and rows in D^T; N0==0 when C is a diagonal vector and N2 is for rows of D^T. |
N3 | Number of columns in D^T and A. |
Definition at line 276 of file linalg.cpp.
References ARRAY_MATMUL, and ARRAY_MATMUL_TRANS2.
void PROJECT_NS::ARRAY_MATMUL3_TRANS2 | ( | kids_real * | A, |
kids_real * | B, | ||
kids_real * | C, | ||
kids_real * | D, | ||
size_t | N1, | ||
size_t | N2, | ||
size_t | N0, | ||
size_t | N3 ) |
Perform matrix multiplication where A = B * C * D^T for real matrices.
A | Pointer to the result real matrix. |
B | Pointer to the first real matrix. |
C | Pointer to the second real matrix. |
D | Pointer to the third real matrix. |
N1 | Number of rows in A. |
N2 | Number of columns in B and rows in C. |
N0 | Number of columns in C and rows in D^T; N0==0 when C is a diagonal vector and N2 is for rows of D^T. |
N3 | Number of columns in D^T and A. |
Definition at line 240 of file linalg.cpp.
References ARRAY_MATMUL, and ARRAY_MATMUL_TRANS2.
void PROJECT_NS::ARRAY_MATMUL_TRANS1 | ( | kids_complex * | A, |
kids_complex * | B, | ||
kids_complex * | C, | ||
size_t | N1, | ||
size_t | N2, | ||
size_t | N3 ) |
Perform matrix multiplication where A = B^T * C for complex matrices.
A | Pointer to the result complex matrix. |
B | Pointer to the first complex matrix. |
C | Pointer to the second complex matrix. |
N1 | Number of rows in B^T and A. |
N2 | Number of columns in B^T and rows in C. |
N3 | Number of columns in C and A. |
Definition at line 132 of file linalg.cpp.
References ARRAY_MATMUL_UNIVERSAL().
void PROJECT_NS::ARRAY_MATMUL_TRANS1 | ( | kids_complex * | A, |
kids_complex * | B, | ||
kids_real * | C, | ||
size_t | N1, | ||
size_t | N2, | ||
size_t | N3 ) |
Perform matrix multiplication where A = B^T * C for complex and real matrices.
A | Pointer to the result complex matrix. |
B | Pointer to the first complex matrix. |
C | Pointer to the second real matrix. |
N1 | Number of rows in B^T and A. |
N2 | Number of columns in B^T and rows in C. |
N3 | Number of columns in C and A. |
Definition at line 140 of file linalg.cpp.
References ARRAY_MATMUL_UNIVERSAL().
void PROJECT_NS::ARRAY_MATMUL_TRANS1 | ( | kids_complex * | A, |
kids_real * | B, | ||
kids_complex * | C, | ||
size_t | N1, | ||
size_t | N2, | ||
size_t | N3 ) |
Perform matrix multiplication where A = B^T * C for complex and real matrices.
A | Pointer to the result complex matrix. |
B | Pointer to the first real matrix. |
C | Pointer to the second complex matrix. |
N1 | Number of rows in B^T and A. |
N2 | Number of columns in B^T and rows in C. |
N3 | Number of columns in C and A. |
Definition at line 136 of file linalg.cpp.
References ARRAY_MATMUL_UNIVERSAL().
void PROJECT_NS::ARRAY_MATMUL_TRANS1 | ( | kids_real * | A, |
kids_real * | B, | ||
kids_real * | C, | ||
size_t | N1, | ||
size_t | N2, | ||
size_t | N3 ) |
Perform matrix multiplication where A = B^T * C for real matrices.
A | Pointer to the result real matrix. |
B | Pointer to the first real matrix. |
C | Pointer to the second real matrix. |
N1 | Number of rows in B^T and A. |
N2 | Number of columns in B^T and rows in C. |
N3 | Number of columns in C and A. |
Definition at line 128 of file linalg.cpp.
References ARRAY_MATMUL_UNIVERSAL().
void PROJECT_NS::ARRAY_MATMUL_TRANS2 | ( | kids_complex * | A, |
kids_complex * | B, | ||
kids_complex * | C, | ||
size_t | N1, | ||
size_t | N2, | ||
size_t | N3 ) |
Perform matrix multiplication where A = B * C^T for complex matrices.
A | Pointer to the result complex matrix. |
B | Pointer to the first complex matrix. |
C | Pointer to the second complex matrix. |
N1 | Number of rows in B and A. |
N2 | Number of columns in B and A^T. |
N3 | Number of columns in C^T and A. |
Definition at line 148 of file linalg.cpp.
References ARRAY_MATMUL_UNIVERSAL().
void PROJECT_NS::ARRAY_MATMUL_TRANS2 | ( | kids_complex * | A, |
kids_complex * | B, | ||
kids_real * | C, | ||
size_t | N1, | ||
size_t | N2, | ||
size_t | N3 ) |
Perform matrix multiplication where A = B * C^T for complex and real matrices.
A | Pointer to the result complex matrix. |
B | Pointer to the first complex matrix. |
C | Pointer to the second real matrix. |
N1 | Number of rows in B and A. |
N2 | Number of columns in B and A^T. |
N3 | Number of columns in C^T and A. |
Definition at line 156 of file linalg.cpp.
References ARRAY_MATMUL_UNIVERSAL().
void PROJECT_NS::ARRAY_MATMUL_TRANS2 | ( | kids_complex * | A, |
kids_real * | B, | ||
kids_complex * | C, | ||
size_t | N1, | ||
size_t | N2, | ||
size_t | N3 ) |
Perform matrix multiplication where A = B * C^T for complex and real matrices.
A | Pointer to the result complex matrix. |
B | Pointer to the first real matrix. |
C | Pointer to the second complex matrix. |
N1 | Number of rows in B and A. |
N2 | Number of columns in B and A^T. |
N3 | Number of columns in C^T and A. |
Definition at line 152 of file linalg.cpp.
References ARRAY_MATMUL_UNIVERSAL().
void PROJECT_NS::ARRAY_MATMUL_TRANS2 | ( | kids_real * | A, |
kids_real * | B, | ||
kids_real * | C, | ||
size_t | N1, | ||
size_t | N2, | ||
size_t | N3 ) |
Perform matrix multiplication where A = B * C^T for real matrices.
A | Pointer to the result real matrix. |
B | Pointer to the first real matrix. |
C | Pointer to the second real matrix. |
N1 | Number of rows in B and A. |
N2 | Number of columns in B and A^T. |
N3 | Number of columns in C^T and A. |
Definition at line 144 of file linalg.cpp.
References ARRAY_MATMUL_UNIVERSAL().
|
static |
Definition at line 70 of file linalg.cpp.
|
static |
Definition at line 98 of file linalg.cpp.
|
static |
Definition at line 84 of file linalg.cpp.
|
static |
Definition at line 56 of file linalg.cpp.
Referenced by ARRAY_MATMUL(), ARRAY_MATMUL(), ARRAY_MATMUL(), ARRAY_MATMUL(), ARRAY_MATMUL_TRANS1(), ARRAY_MATMUL_TRANS1(), ARRAY_MATMUL_TRANS1(), ARRAY_MATMUL_TRANS1(), ARRAY_MATMUL_TRANS2(), ARRAY_MATMUL_TRANS2(), ARRAY_MATMUL_TRANS2(), and ARRAY_MATMUL_TRANS2().
void PROJECT_NS::ARRAY_OUTER_TRANS2 | ( | kids_complex * | A, |
kids_complex * | B, | ||
kids_complex * | C, | ||
size_t | N1, | ||
size_t | N2 ) |
Perform outer product with transpose where A = B^T * C for complex matrices.
A | Pointer to the result complex matrix. |
B | Pointer to the first complex vector. |
C | Pointer to the second complex vector. |
N1 | Number of rows in A. |
N2 | Number of columns in A. |
Definition at line 164 of file linalg.cpp.
References ARRAY_MATMUL_TRANS2.
void PROJECT_NS::ARRAY_OUTER_TRANS2 | ( | kids_real * | A, |
kids_real * | B, | ||
kids_real * | C, | ||
size_t | N1, | ||
size_t | N2 ) |
Perform outer product with transpose where A = B^T * C for real matrices.
A | Pointer to the result real matrix. |
B | Pointer to the first real vector. |
C | Pointer to the second real vector. |
N1 | Number of rows in A. |
N2 | Number of columns in A. |
Definition at line 160 of file linalg.cpp.
References ARRAY_MATMUL_TRANS2.
Referenced by PROJECT_NS::Kernel_Elec::ker_from_c().
kids_complex PROJECT_NS::ARRAY_TRACE2 | ( | kids_complex * | B, |
kids_complex * | C, | ||
size_t | N1, | ||
size_t | N2 ) |
Compute the trace of the matrix product B * C for complex matrices.
B | Pointer to the first complex matrix. |
C | Pointer to the second complex matrix. |
N1 | Number of rows in B and columns in C. |
N2 | Number of columns in B and rows in C. |
Definition at line 319 of file linalg.cpp.
kids_complex PROJECT_NS::ARRAY_TRACE2 | ( | kids_complex * | B, |
kids_real * | C, | ||
size_t | N1, | ||
size_t | N2 ) |
Compute the trace of the matrix product B * C for complex and real matrices.
B | Pointer to the first complex matrix. |
C | Pointer to the second real matrix. |
N1 | Number of rows in B and columns in C. |
N2 | Number of columns in B and rows in C. |
Definition at line 326 of file linalg.cpp.
kids_complex PROJECT_NS::ARRAY_TRACE2 | ( | kids_real * | B, |
kids_complex * | C, | ||
size_t | N1, | ||
size_t | N2 ) |
Compute the trace of the matrix product B * C for real and complex matrices.
B | Pointer to the first real matrix. |
C | Pointer to the second complex matrix. |
N1 | Number of rows in B and columns in C. |
N2 | Number of columns in B and rows in C. |
Definition at line 333 of file linalg.cpp.
Compute the trace of the matrix product B * C for real matrices.
B | Pointer to the first real matrix. |
C | Pointer to the second real matrix. |
N1 | Number of rows in B and columns in C. |
N2 | Number of columns in B and rows in C. |
Definition at line 312 of file linalg.cpp.
kids_complex PROJECT_NS::ARRAY_TRACE2_DIAG | ( | kids_complex * | B, |
kids_complex * | C, | ||
size_t | N1, | ||
size_t | N2 ) |
Compute the trace of the diagonal elements of the matrix product B * C for complex matrices.
B | Pointer to the first complex matrix. |
C | Pointer to the second complex matrix. |
N1 | Number of rows in B and columns in C. |
N2 | Number of columns in B and rows in C. |
Definition at line 347 of file linalg.cpp.
kids_complex PROJECT_NS::ARRAY_TRACE2_DIAG | ( | kids_complex * | B, |
kids_real * | C, | ||
size_t | N1, | ||
size_t | N2 ) |
Compute the trace of the diagonal elements of the matrix product B * C for complex and real matrices.
B | Pointer to the first complex matrix. |
C | Pointer to the second real matrix. |
N1 | Number of rows in B and columns in C. |
N2 | Number of columns in B and rows in C. |
Definition at line 354 of file linalg.cpp.
kids_complex PROJECT_NS::ARRAY_TRACE2_DIAG | ( | kids_real * | B, |
kids_complex * | C, | ||
size_t | N1, | ||
size_t | N2 ) |
Compute the trace of the diagonal elements of the matrix product B * C for real and complex matrices.
B | Pointer to the first real matrix. |
C | Pointer to the second complex matrix. |
N1 | Number of rows in B and columns in C. |
N2 | Number of columns in B and rows in C. |
Definition at line 361 of file linalg.cpp.
Compute the trace of the diagonal elements of the matrix product B * C for real matrices.
B | Pointer to the first real matrix. |
C | Pointer to the second real matrix. |
N1 | Number of rows in B and columns in C. |
N2 | Number of columns in B and rows in C. |
Definition at line 340 of file linalg.cpp.
Referenced by PROJECT_NS::Kernel_NADForce::executeKernel_impl().
kids_complex PROJECT_NS::ARRAY_TRACE2_OFFD | ( | kids_complex * | B, |
kids_complex * | C, | ||
size_t | N1, | ||
size_t | N2 ) |
Compute the trace of the off-diagonal elements of the matrix product B * C for complex matrices.
B | Pointer to the first complex matrix. |
C | Pointer to the second complex matrix. |
N1 | Number of rows in B and columns in C. |
N2 | Number of columns in B and rows in C. |
Definition at line 376 of file linalg.cpp.
kids_complex PROJECT_NS::ARRAY_TRACE2_OFFD | ( | kids_complex * | B, |
kids_real * | C, | ||
size_t | N1, | ||
size_t | N2 ) |
Compute the trace of the off-diagonal elements of the matrix product B * C for complex and real matrices.
B | Pointer to the first complex matrix. |
C | Pointer to the second real matrix. |
N1 | Number of rows in B and columns in C. |
N2 | Number of columns in B and rows in C. |
Definition at line 384 of file linalg.cpp.
kids_complex PROJECT_NS::ARRAY_TRACE2_OFFD | ( | kids_real * | B, |
kids_complex * | C, | ||
size_t | N1, | ||
size_t | N2 ) |
Compute the trace of the off-diagonal elements of the matrix product B * C for real and complex matrices.
B | Pointer to the first real matrix. |
C | Pointer to the second complex matrix. |
N1 | Number of rows in B and columns in C. |
N2 | Number of columns in B and rows in C. |
Definition at line 392 of file linalg.cpp.
Compute the trace of the off-diagonal elements of the matrix product B * C for real matrices.
B | Pointer to the first real matrix. |
C | Pointer to the second real matrix. |
N1 | Number of rows in B and columns in C. |
N2 | Number of columns in B and rows in C. |
Definition at line 368 of file linalg.cpp.
Referenced by PROJECT_NS::Kernel_NADForce::executeKernel_impl().
void PROJECT_NS::ARRAY_TRANSPOSE | ( | kids_complex * | A, |
size_t | N1, | ||
size_t | N2 ) |
Definition at line 506 of file linalg.cpp.
void PROJECT_NS::ARRAY_TRANSPOSE | ( | kids_real * | A, |
size_t | N1, | ||
size_t | N2 ) |
Definition at line 500 of file linalg.cpp.
Referenced by ARRAY_EXP_MAT_GENERAL(), and PROJECT_NS::Kernel_Representation::executeKernel_impl().
kids_dtype PROJECT_NS::as_enum | ( | ) |
Converts a C++ type to its corresponding kids_dtype enumeration.
std::string PROJECT_NS::as_str | ( | ) |
Converts a C++ type to its string representation.
double PROJECT_NS::calc_alpha | ( | kids_real * | V, |
int | i = 0, | ||
int | k = 1, | ||
int | F = 2 ) |
Definition at line 39 of file Kernel_Elec_NAD.cpp.
References phys::math::pi.
Referenced by PROJECT_NS::Kernel_Elec_NAD::executeKernel_impl(), PROJECT_NS::Kernel_Elec_Switch::executeKernel_impl(), PROJECT_NS::Kernel_Elec_NAD::initializeKernel_impl(), and PROJECT_NS::Kernel_Elec_Switch::initializeKernel_impl().
int PROJECT_NS::calc_distforce | ( | kids_real * | f1, |
kids_real * | E, | ||
kids_real * | dE, | ||
kids_complex * | wrho, | ||
kids_complex * | rho, | ||
double | alpha ) |
the force driven from the shape of distorted-density W(\rho)
f1 | The result | |
E | adiabatic PES | |
dE | The gradients of adiabatic PES | |
wrho | The distorted-density W(\rho) | |
rho | The density rho | |
[in] | xi | affine coefficient |
[in] | gamma | affine coefficient |
[in] | alpha | The distortion parameter |
Definition at line 102 of file Kernel_Elec_NAD.cpp.
References PROJECT_NS::Dimension::F, PROJECT_NS::Dimension::Fadd1, PROJECT_NS::Dimension::FF, and PROJECT_NS::Dimension::N.
Referenced by PROJECT_NS::Kernel_Elec_NAD::executeKernel_impl(), and PROJECT_NS::Kernel_Elec_Switch::executeKernel_impl().
double PROJECT_NS::calc_Ew | ( | kids_real * | E, |
kids_complex * | wrho, | ||
int | occ ) |
Definition at line 70 of file Kernel_Elec_NAD.cpp.
References PROJECT_NS::Dimension::F, PROJECT_NS::Dimension::Fadd1, and PROJECT_NS::Kernel_NADForce::NADForce_type.
Referenced by PROJECT_NS::Kernel_Elec_NAD::executeKernel_impl(), and PROJECT_NS::Kernel_Elec_Switch::executeKernel_impl().
int PROJECT_NS::calc_wrho | ( | kids_complex * | wrho, |
kids_complex * | rho, | ||
double | xi, | ||
double | gamma, | ||
double | alpha ) |
Definition at line 47 of file Kernel_Elec_NAD.cpp.
References PROJECT_NS::Dimension::F, and PROJECT_NS::Dimension::Fadd1.
Referenced by PROJECT_NS::Kernel_Elec_NAD::executeKernel_impl(), and PROJECT_NS::Kernel_Elec_Switch::executeKernel_impl().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
PROJECT_NS::DEFINE_BIND_UTILS_FOR | ( | kids_bool | ) |
PROJECT_NS::DEFINE_BIND_UTILS_FOR | ( | kids_complex | ) |
PROJECT_NS::DEFINE_BIND_UTILS_FOR | ( | kids_dataset | ) |
PROJECT_NS::DEFINE_BIND_UTILS_FOR | ( | kids_int | ) |
PROJECT_NS::DEFINE_BIND_UTILS_FOR | ( | kids_param | ) |
PROJECT_NS::DEFINE_BIND_UTILS_FOR | ( | kids_real | ) |
PROJECT_NS::DEFINE_BIND_UTILS_FOR | ( | kids_str | ) |
PROJECT_NS::DEFINE_BIND_UTILS_FOR | ( | kids_void | ) |
PROJECT_NS::DEFINE_POLICY | ( | BathPolicy | , |
Debye | , | ||
Ohmic | , | ||
Closure | , | ||
HuangRhys | , | ||
GFactor | , | ||
ReadFormula | , | ||
ReadFile | , | ||
Read | ) |
PROJECT_NS::DEFINE_POLICY | ( | CouplingPolicy | , |
SB | , | ||
SE | , | ||
Read | ) |
PROJECT_NS::DEFINE_POLICY | ( | LVCMPolicy | , |
PYR3 | , | ||
PYR3_SPEC | , | ||
PYR4 | , | ||
PYR4_SPEC | , | ||
PYR24 | , | ||
CRC2 | , | ||
CRC5 | , | ||
BEN5 | , | ||
BUTA5 | , | ||
PENTA5 | , | ||
CED2 | , | ||
CED3 | , | ||
PYR2CED | , | ||
Read | ) |
PROJECT_NS::DEFINE_POLICY | ( | NAD1DPolicy | , |
PURE | , | ||
SAC | , | ||
SAC2 | , | ||
SAC3 | , | ||
DAC | , | ||
ECR | , | ||
DBG | , | ||
DAG | , | ||
DRN | , | ||
NA_I | , | ||
MORSE3A | , | ||
MORSE3B | , | ||
MORSE3C | , | ||
MORSE15 | , | ||
MORSE15C | , | ||
MORSE15E | , | ||
CL1D | , | ||
JC1D | , | ||
IVP1 | , | ||
IVP2 | , | ||
IVP3 | , | ||
IVP4 | ) |
PROJECT_NS::DEFINE_POLICY | ( | NADForcePolicy | , |
EHR | , | ||
BO | , | ||
CV | , | ||
BOSD | , | ||
CVSD | , | ||
ELSE | ) |
PROJECT_NS::DEFINE_POLICY | ( | NADPolicy | , |
EHR | , | ||
BOSH | , | ||
CVSH | , | ||
BOSD | , | ||
CVSD | ) |
PROJECT_NS::DEFINE_POLICY | ( | NSampPolicy | , |
Wigner | , | ||
Classical | , | ||
QCT | ) |
PROJECT_NS::DEFINE_POLICY | ( | RepresentationPolicy | , |
Diabatic | , | ||
Adiabatic | , | ||
Force | , | ||
Density | ) |
PROJECT_NS::DEFINE_POLICY | ( | SpacePolicy | , |
H | , | ||
L | ) |
PROJECT_NS::DEFINE_POLICY | ( | SQCPolicy | , |
SQR | , | ||
TRI | , | ||
SPX | , | ||
BIG | ) |
PROJECT_NS::DEFINE_POLICY | ( | StrengthPolicy | , |
Lambda | , | ||
Alpha | , | ||
Eta | , | ||
Erg | ) |
PROJECT_NS::DEFINE_POLICY | ( | SystemPolicy | , |
SB | , | ||
FMO | , | ||
SF3a | , | ||
SF3b | , | ||
SF3c | , | ||
SF5a | , | ||
SF5b | , | ||
FCP | , | ||
AGG | , | ||
CYC | , | ||
Read | ) |
void PROJECT_NS::EigenSolve | ( | kids_complex * | E, |
kids_complex * | T, | ||
kids_complex * | A, | ||
size_t | N ) |
Solve the eigenvalue problem for general complex matrices.
E | Pointer to the array to store the eigenvalues. |
T | Pointer to the temporary complex matrix. |
A | Pointer to the complex matrix for eigenvalue computation. |
N | Size of the matrix (number of rows or columns in A). |
Definition at line 62 of file linalg_1.cpp.
void PROJECT_NS::EigenSolve | ( | kids_real * | E, |
kids_complex * | T, | ||
kids_complex * | A, | ||
size_t | N ) |
Solve the eigenvalue problem for (hermite) complex matrices.
E | Pointer to the array to store the eigenvalues. |
T | Pointer to the temporary complex matrix. |
A | Pointer to the complex matrix for eigenvalue computation. |
N | Size of the matrix (number of rows or columns in A). |
Definition at line 53 of file linalg_1.cpp.
Solve the eigenvalue problem for real matrices.
E | Pointer to the array to store the eigenvalues. |
T | Pointer to the temporary matrix. |
A | Pointer to the matrix for eigenvalue computation. |
N | Size of the matrix (number of rows or columns in A). |
Definition at line 44 of file linalg_1.cpp.
Referenced by ARRAY_CORRECT_U(), ARRAY_EXP_MAT_GENERAL(), PROJECT_NS::Kernel_Representation::executeKernel_impl(), PROJECT_NS::Kernel_GWP::impl_0(), and PROJECT_NS::Kernel_GWP::impl_1().
void PROJECT_NS::einsum | ( | const std::string & | einsum_expression, |
std::vector< T * > | data_inputs, | ||
const std::vector< std::vector< std::size_t > > & | shape_inputs, | ||
T * | data_output, | ||
const std::vector< std::size_t > & | shape_output = {} ) |
T | data type |
[in] | einsum_expression | expression for einsum rule |
[in] | data_inputs | vector of pointers of data of input tensors |
[in] | shapes_inputs | vector of shapes of input tensors |
[in,out] | data_output | pointer stored data of output tensor |
[in] | shape_output | shape of the output tensor |
void PROJECT_NS::einsum | ( | EinsumHelper & | EH, |
const std::vector< T * > & | data_inputs, | ||
T * | data_output ) |
T | data type |
[in] | EH | EinsumHelper object |
[in] | data_inputs | vector of pointers of data of input tensors |
[in,out] | data_output | pointer stored data of output tensor |
Definition at line 219 of file Einsum.h.
References PROJECT_NS::EinsumHelper::count1, PROJECT_NS::EinsumHelper::count2, PROJECT_NS::EinsumHelper::count3, PROJECT_NS::EinsumHelper::dh_inputs, PROJECT_NS::EinsumHelper::dh_output, PROJECT_NS::EinsumHelper::einsum_dims, PROJECT_NS::EinsumHelper::einsum_iposes, PROJECT_NS::EinsumHelper::ipos_inputs, PROJECT_NS::DimenHelper::mapldims, PROJECT_NS::EinsumHelper::total_esidx, PROJECT_NS::EinsumHelper::total_loop, and PROJECT_NS::EinsumHelper::total_tensor.
void PROJECT_NS::einsum_fun | ( | EinsumHelper & | EH, |
Expression< T > & | FP, | ||
const std::vector< void * > & | data_inputs, | ||
const std::vector< kids_dtype > & | data_idtype, | ||
Tout * | data_output ) |
custumized einsum-like function operation
T | data type |
[in] | EH | EinsumHelper object |
[in] | data_inputs | vector of pointers of data of input tensors |
[in,out] | data_output | pointer stored data of output tensor |
Definition at line 21 of file RuleEvaluator.cpp.
References PROJECT_NS::EinsumHelper::count1, PROJECT_NS::EinsumHelper::count3, PROJECT_NS::EinsumHelper::dh_inputs, PROJECT_NS::EinsumHelper::dh_output, PROJECT_NS::EinsumHelper::einsum_dims, PROJECT_NS::EinsumHelper::einsum_iposes, PROJECT_NS::Expression< T >::evaluate(), PROJECT_NS::EinsumHelper::ipos_inputs, kids_complex_type, kids_int_type, kids_real_type, PROJECT_NS::DimenHelper::mapldims, PROJECT_NS::EinsumHelper::total_esidx, PROJECT_NS::EinsumHelper::total_loop, and PROJECT_NS::EinsumHelper::total_tensor.
Referenced by PROJECT_NS::RuleEvaluator::calculateResult().
|
inlineconstexpr |
std::map< std::string, Kernel * > & PROJECT_NS::getDictOfKernels | ( | ) |
Definition at line 242 of file Kernel.cpp.
int PROJECT_NS::hopping_impulse | ( | kids_real * | direction, |
kids_real * | np, | ||
kids_real * | nm, | ||
kids_real | Efrom, | ||
kids_real | Eto, | ||
int | from, | ||
int | to, | ||
bool | reflect ) |
Definition at line 133 of file Kernel_Elec_NAD.cpp.
References PROJECT_NS::Dimension::N.
Referenced by PROJECT_NS::Kernel_Elec_NAD::executeKernel_impl(), and PROJECT_NS::Kernel_Elec_Switch::executeKernel_impl().
Solve a linear system Ax = b for real matrices.
x | Pointer to the solution vector x. |
A | Pointer to the coefficient matrix A. |
b | Pointer to the right-hand side vector b. |
N | Size of the system (number of rows or columns in A). |
Definition at line 37 of file linalg_1.cpp.
Compute the inverse of a matrix for real numbers.
invA | Pointer to the matrix to store the inverse of A. |
A | Pointer to the matrix A. |
N | Size of the matrix (number of rows or columns in A). |
|
extern |
Definition at line 12 of file ModelFactory.cpp.
Referenced by PROJECT_NS::Handler::Handler().
int PROJECT_NS::mspes_CL1D | ( | double * | V, |
double * | dV, | ||
double * | ddV, | ||
double * | R, | ||
int | flag, | ||
int | rdim, | ||
int | fdim ) |
Definition at line 402 of file Model_NAD1D.cpp.
References mspes_parm.
Referenced by PROJECT_NS::Model_NAD1D::executeKernel_impl().
int PROJECT_NS::mspes_DAC | ( | double * | V, |
double * | dV, | ||
double * | ddV, | ||
double * | R, | ||
int | flag, | ||
int | rdim, | ||
int | fdim ) |
Definition at line 75 of file Model_NAD1D.cpp.
Referenced by PROJECT_NS::Model_NAD1D::executeKernel_impl().
int PROJECT_NS::mspes_DAG | ( | double * | V, |
double * | dV, | ||
double * | ddV, | ||
double * | R, | ||
int | flag, | ||
int | rdim, | ||
int | fdim ) |
Definition at line 143 of file Model_NAD1D.cpp.
Referenced by PROJECT_NS::Model_NAD1D::executeKernel_impl().
int PROJECT_NS::mspes_DBG | ( | double * | V, |
double * | dV, | ||
double * | ddV, | ||
double * | R, | ||
int | flag, | ||
int | rdim, | ||
int | fdim ) |
Definition at line 113 of file Model_NAD1D.cpp.
Referenced by PROJECT_NS::Model_NAD1D::executeKernel_impl().
int PROJECT_NS::mspes_DRN | ( | double * | V, |
double * | dV, | ||
double * | ddV, | ||
double * | R, | ||
int | flag, | ||
int | rdim, | ||
int | fdim ) |
Definition at line 173 of file Model_NAD1D.cpp.
Referenced by PROJECT_NS::Model_NAD1D::executeKernel_impl().
int PROJECT_NS::mspes_ECR | ( | double * | V, |
double * | dV, | ||
double * | ddV, | ||
double * | R, | ||
int | flag, | ||
int | rdim, | ||
int | fdim ) |
Definition at line 95 of file Model_NAD1D.cpp.
Referenced by PROJECT_NS::Model_NAD1D::executeKernel_impl().
int PROJECT_NS::mspes_JC1D | ( | double * | V, |
double * | dV, | ||
double * | ddV, | ||
double * | R, | ||
int | flag, | ||
int | rdim, | ||
int | fdim ) |
Definition at line 422 of file Model_NAD1D.cpp.
References mspes_parm.
Referenced by PROJECT_NS::Model_NAD1D::executeKernel_impl().
int PROJECT_NS::mspes_MORSE15 | ( | double * | V, |
double * | dV, | ||
double * | ddV, | ||
double * | R, | ||
int | flag, | ||
int | rdim, | ||
int | fdim ) |
Definition at line 315 of file Model_NAD1D.cpp.
Referenced by PROJECT_NS::Model_NAD1D::executeKernel_impl().
int PROJECT_NS::mspes_MORSE15C | ( | double * | V, |
double * | dV, | ||
double * | ddV, | ||
double * | R, | ||
int | flag, | ||
int | rdim, | ||
int | fdim ) |
Definition at line 344 of file Model_NAD1D.cpp.
Referenced by PROJECT_NS::Model_NAD1D::executeKernel_impl().
int PROJECT_NS::mspes_MORSE15E | ( | double * | V, |
double * | dV, | ||
double * | ddV, | ||
double * | R, | ||
int | flag, | ||
int | rdim, | ||
int | fdim ) |
Definition at line 373 of file Model_NAD1D.cpp.
Referenced by PROJECT_NS::Model_NAD1D::executeKernel_impl().
int PROJECT_NS::mspes_MORSE3A | ( | double * | V, |
double * | dV, | ||
double * | ddV, | ||
double * | R, | ||
int | flag, | ||
int | rdim, | ||
int | fdim ) |
Definition at line 195 of file Model_NAD1D.cpp.
Referenced by PROJECT_NS::Model_NAD1D::executeKernel_impl().
int PROJECT_NS::mspes_MORSE3B | ( | double * | V, |
double * | dV, | ||
double * | ddV, | ||
double * | R, | ||
int | flag, | ||
int | rdim, | ||
int | fdim ) |
Definition at line 234 of file Model_NAD1D.cpp.
Referenced by PROJECT_NS::Model_NAD1D::executeKernel_impl().
int PROJECT_NS::mspes_MORSE3C | ( | double * | V, |
double * | dV, | ||
double * | ddV, | ||
double * | R, | ||
int | flag, | ||
int | rdim, | ||
int | fdim ) |
Definition at line 273 of file Model_NAD1D.cpp.
Referenced by PROJECT_NS::Model_NAD1D::executeKernel_impl().
int PROJECT_NS::mspes_NA_I | ( | double * | V, |
double * | dV, | ||
double * | ddV, | ||
double * | R, | ||
int | flag, | ||
int | rdim, | ||
int | fdim ) |
Definition at line 442 of file Model_NAD1D.cpp.
References phys::au_2_amu, and mspes_parm.
Referenced by PROJECT_NS::Model_NAD1D::executeKernel_impl().
int PROJECT_NS::mspes_SAC | ( | double * | V, |
double * | dV, | ||
double * | ddV, | ||
double * | R, | ||
int | flag, | ||
int | rdim, | ||
int | fdim ) |
Definition at line 12 of file Model_NAD1D.cpp.
Referenced by PROJECT_NS::Model_NAD1D::executeKernel_impl().
int PROJECT_NS::mspes_SAC2 | ( | double * | V, |
double * | dV, | ||
double * | ddV, | ||
double * | R, | ||
int | flag, | ||
int | rdim, | ||
int | fdim ) |
Definition at line 32 of file Model_NAD1D.cpp.
Referenced by PROJECT_NS::Model_NAD1D::executeKernel_impl().
int PROJECT_NS::mspes_SAC3 | ( | double * | V, |
double * | dV, | ||
double * | ddV, | ||
double * | R, | ||
int | flag, | ||
int | rdim, | ||
int | fdim ) |
Definition at line 53 of file Model_NAD1D.cpp.
Referenced by PROJECT_NS::Model_NAD1D::executeKernel_impl().
std::shared_ptr< Kernel > PROJECT_NS::NAD_Adapt_Kernel | ( | std::shared_ptr< Kernel > | kmodel, |
std::string | NAD_Kernel_name ) |
Integrator Kernel
Result & Sampling & TCF
Definition at line 17 of file NAD_Adapt_Kernel.cpp.
Referenced by SolverFactory().
std::shared_ptr< Kernel > PROJECT_NS::NAD_AdaptM_Kernel | ( | std::shared_ptr< Kernel > | kmodel, |
std::string | NAD_Kernel_name ) |
Integrator Kernel
Result & Sampling & TCF
Definition at line 18 of file NAD_AdaptM_Kernel.cpp.
Referenced by SolverFactory().
std::shared_ptr< Kernel > PROJECT_NS::NAD_Kernel | ( | std::shared_ptr< Kernel > | kmodel, |
std::string | NAD_Kernel_name ) |
Integrator Kernel
Result & Sampling & TCF
Definition at line 17 of file NAD_Kernel.cpp.
Referenced by SolverFactory().
Compute the pseudo-inverse of a matrix for real numbers.
A | Pointer to the matrix A. |
invA | Pointer to the matrix to store the pseudo-inverse of A. |
N | Size of the matrix (number of rows or columns in A). |
e | Tolerance value for singular values. |
Definition at line 71 of file linalg_1.cpp.
|
extern |
Definition at line 9 of file SolverFactory.cpp.
References NAD_Adapt_Kernel(), NAD_AdaptM_Kernel(), and NAD_Kernel().
Referenced by PROJECT_NS::Handler::Handler().
|
constexpr |
Definition at line 12 of file IntrinsicRules.h.
|
constexpr |
Definition at line 14 of file IntrinsicRules.h.
|
constexpr |
Definition at line 13 of file IntrinsicRules.h.
|
constexpr |
Definition at line 10 of file IntrinsicRules.h.
const std::string PROJECT_NS::MSG_DATASET_BAD_KEY = "bad key error : " |
Definition at line 38 of file Exception.h.
const std::string PROJECT_NS::MSG_DATASET_BAD_SIZE = "bad size error : " |
Definition at line 39 of file Exception.h.
const std::string PROJECT_NS::MSG_DATASET_BAD_TYPE = "bad type error : " |
Definition at line 40 of file Exception.h.
const std::string PROJECT_NS::MSG_DATASET_ERR_DUMP = "dump error : " |
Definition at line 42 of file Exception.h.
const std::string PROJECT_NS::MSG_DATASET_ERR_LOAD = "load error : " |
Definition at line 41 of file Exception.h.
const std::string PROJECT_NS::MSG_PARAM_BAD_KEY = "bad key error : " |
Definition at line 36 of file Exception.h.
const std::string PROJECT_NS::MSG_PARAM_BAD_TYPE = "bad type error : " |
Definition at line 37 of file Exception.h.
double PROJECT_NS::mspes_parm[100] |
Definition at line 10 of file Model_NAD1D.cpp.
Referenced by PROJECT_NS::Model_NAD1D::initializeKernel_impl(), mspes_CL1D(), mspes_JC1D(), mspes_NA_I(), and PROJECT_NS::Model_NAD1D::setInputDataSet_impl().
|
constexpr |
Definition at line 8 of file IntrinsicRules.h.
|
constexpr |
Definition at line 9 of file IntrinsicRules.h.