Namespace qdk::chemistry::data::detail
-
namespace detail
Functions
-
std::shared_ptr<ContainerTypes::MatrixVariant> add_matrix_variants(const ContainerTypes::MatrixVariant &mat1, const ContainerTypes::MatrixVariant &mat2)
Helper to add two ContainerTypes::MatrixVariants.
- Parameters:
mat1 – First matrix variant
mat2 – Second matrix variant
- Returns:
Shared pointer to new ContainerTypes::MatrixVariant containing the sum
-
std::shared_ptr<ContainerTypes::VectorVariant> add_vector_variants(const ContainerTypes::VectorVariant &vec1, const ContainerTypes::VectorVariant &vec2)
Helper to add two ContainerTypes::VectorVariants.
- Parameters:
vec1 – First vector variant
vec2 – Second vector variant
- Returns:
Shared pointer to new ContainerTypes::VectorVariant containing the sum
-
std::string denormalize_basis_set_name(const std::string &normalized)
Denormalize basis set name from filesystem representation.
Reverses the normalization:
’st’ -> ‘*’
’sl’ -> ‘/’
’pl’ -> ‘+’
- Parameters:
normalized – Normalized name from filesystem
- Returns:
Original basis set name
-
bool is_matrix_variant_complex(const ContainerTypes::MatrixVariant &variant)
Check if a ContainerTypes::MatrixVariant contains complex type.
- Parameters:
variant – The matrix variant to check
- Returns:
True if contains Eigen::MatrixXcd, false if Eigen::MatrixXd
-
bool is_vector_variant_complex(const ContainerTypes::VectorVariant &variant)
Check if a ContainerTypes::VectorVariant contains complex type.
- Parameters:
variant – The vector variant to check
- Returns:
True if contains Eigen::VectorXcd, false if Eigen::VectorXd
Helper to create a ContainerTypes::MatrixVariant from scalar multiplication.
- Parameters:
matrix – The matrix variant to multiply
scalar – The scalar value to multiply by
- Returns:
Shared pointer to new ContainerTypes::MatrixVariant containing the result
Helper to create a ContainerTypes::VectorVariant from scalar multiplication.
- Parameters:
vector – The vector variant to multiply
scalar – The scalar value to multiply by
- Returns:
Shared pointer to new ContainerTypes::VectorVariant containing the result
-
std::string normalize_basis_set_name(const std::string &name)
Normalize basis set name for filesystem usage.
Replaces special characters that are problematic in filenames:
’*’ -> ‘st’ (star)
’/’ -> ‘sl’ (slash)
’+’ -> ‘pl’ (plus)
- Parameters:
name – Original basis set name (e.g., “6-31g*+”)
- Returns:
Normalized name safe for filesystem (e.g., “6-31g_st__pl_”)
-
std::shared_ptr<ContainerTypes::VectorVariant> transpose_ijkl_klij_vector_variant(const ContainerTypes::VectorVariant &variant, int norbs)
Transpose a 2-RDM vector from (ij|kl) to (kl|ij) ordering.
- Parameters:
variant – The vector variant to transpose
norbs – Number of orbitals
- Returns:
shared pointer to new ContainerTypes::VectorVariant containing the transposed data
-
std::shared_ptr<ContainerTypes::MatrixVariant> add_matrix_variants(const ContainerTypes::MatrixVariant &mat1, const ContainerTypes::MatrixVariant &mat2)