quemb.molbe.eri_sparse_DFΒΆ

Functions

account_for_symmetry(reachable)

Account for permutational symmetry and remove all q that are larger than p.

calculate_abs_overlap(mol[, grid_level])

Calculates the overlap matrix \(S_ij = \int |phi_i(r)| |phi_j(r)| dr\) using numerical integration on a DFT grid.

contract_with_TA_1st(TA, int_mu_nu_P, ...)

contract_with_TA_2nd_to_dense(TA, int_mu_i_P)

Contract the first dimension of int_mu_i_P with the first dimension of TA.

contract_with_TA_2nd_to_sym_dense(TA, int_mu_i_P)

Contract the first dimension of int_mu_i_P with the first dimension of TA.

contract_with_TA_2nd_to_sym_sparse(TA, ...)

Contract the first dimension of int_mu_i_P with the first dimension of TA.

conversions_AO_shell(mol)

Return dictionaries that for a shell index return the corresponding AO indices and for an AO index return the corresponding shell index.

find_screening_radius(mol[, auxmol, ...])

Return a dictionary with radii for each element in mol that can be used to screen the 2-electron integrals to be lower than threshold.

get_atom_per_AO(mol)

get_atom_per_MO(atom_per_AO, TA[, epsilon])

get_blocks(reachable)

Return the value of the border elements of contiguous blocks in the sequence X."

get_complement(reachable)

Return the orbitals that cannot be reached by an orbital after screening.

get_dense_integrals(ints_3c2e, df_coef)

Compute dense ERIs from sparse 3-center integrals and sparse DF coefficients.

get_orbs_per_atom(atom_per_orb)

get_orbs_reachable_by_atom(orb_per_atom, ...)

get_orbs_reachable_by_orb(atom_per_orb, ...)

Concatenate the atom_per_orb and reachable_orb_per_atom Such that it becomes a mapping i_orb -> i_atom -> j_atom

get_reachable(atoms_per_start_orb, ...)

Return the sorted orbitals that can by reached for each orbital after screening.

get_screened(mol, screening_radius)

get_sparse_D_ints_and_coeffs(mol, auxmol[, ...])

Return the 3-center 2-electron integrals and fitting coefficients in a semi-sparse format for the AO basis

get_sparse_P_mu_nu(mol, auxmol, exch_reachable)

Return the 3-center 2-electron integrals in a sparse format.

identify_contiguous_blocks(X)

Identify the indices of contiguous blocks in the sequence X.

to_numba_input(exch_reachable)

Convert the reachable orbitals to a list of numpy arrays.

transform_sparse_DF_integral_cpp(mf, Fobjs, ...)

transform_sparse_DF_integral_cpp_gpu(mf, ...)

transform_sparse_DF_integral_nb(mf, Fobjs, ...)

traverse_nonzero(g[, unique])

Traverse the non-zero elements of a semi-sparse 3-index tensor.

Classes

MutableSemiSparse3DTensor(shape)

Specialised datastructure for semi-sparse 3-indexed tensors.

SemiSparse3DTensor(unique_dense_data, keys, ...)

Specialised datastructure for immutable and semi-sparse 3-indexed tensors.

SemiSparseSym3DTensor(unique_dense_data, ...)

Specialised datastructure for immutable, semi-sparse, and partially symmetric 3-indexed tensors.