vibeqc.compute_ecp_matrix

vibeqc.compute_ecp_matrix(basis, ecp_centers, library_name='ecp10mdf', share_dir='')[source]

Compute the AO-basis ECP matrix V_ECP_{μν} = ⟨χ_μ|V_ECP|χ_ν⟩ via libecpint’s built-in XML library (ecp10mdf, ecp28mdf, ecp46mdf, ecp60mdf, ecp78mdf, lanl2dz). Output is in spherical (real-solid-harmonic) basis.

share_dir defaults to the XML library bundled inside the vibe-qc Python package (python/vibeqc/ecp_library/) — no setup, no LIBECPINT_SHARE_DIR fiddling, no Homebrew dependency. Override by passing an explicit path, or by setting $VIBEQC_ECP_SHARE_DIR before import vibeqc.

Note on the share-dir convention: libecpint’s ECPIntegrator::set_ecp_basis_from_library() internally appends "/xml/" + name + ".xml", so share_dir is the directory CONTAINING xml/ (i.e. .../share/libecpint), not xml/ itself. The libecpint header doc is misleading on this; api.cpp:73 is the authority.