quemb.molbe.lo.get_iao

quemb.molbe.lo.get_iao(Co, S12, S1, S2, mol, iao_valence_basis, iao_loc_method='SO')

Gets symmetrically orthogonalized IAO coefficient matrix from system MOs Derived from G. Knizia: J. Chem. Theory Comput. 2013, 9, 11, 4834–4843 Note: same function as get_iao_from_s12 in frankenstein

Parameters:
  • Co (ndarray[tuple[int, ...], dtype[TypeVar(T_dtype_co, bound= generic, covariant=True)]]) – occupied MO coefficient matrix with core

  • S12 (ndarray[tuple[int, ...], dtype[TypeVar(T_dtype_co, bound= generic, covariant=True)]]) – ovlp between working (large) basis and valence (minimal) basis can be thought of as working basis in valence basis

  • S1 (ndarray[tuple[int, ...], dtype[TypeVar(T_dtype_co, bound= generic, covariant=True)]]) – AO ovlp matrix, in working (large) basis

  • S2 (ndarray[tuple[int, ...], dtype[TypeVar(T_dtype_co, bound= generic, covariant=True)]]) – AO ovlp matrix, in valence (minimal) basis

  • mol (Mole) – mol object

  • iao_valence_basis (str) – (minimal-like) basis used for valence orbitals

  • iao_loc_method (str) – Localization method for the IAOs and PAOs. If symmetric orthogonalization is used, the overlap matrices between the valence (minimal) and working (large) basis are determined by separating S1 (working) by AO labels. If other localization methods are used, these matrices are calculated in full Default is SO

Returns:

(symmetrically orthogonalized)

Return type:

Ciao quemb.shared.typing.Matrix