![]() |
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.