vibeqc.mulliken_charges

vibeqc.mulliken_charges(result, basis, molecule, *, nuclear_charges=None)[source]

Mulliken atomic partial charges q_A = Z_A - S_{mu in A} (P.S)_mumu.

Returns a 1-D array of length n_atoms. Charges sum to the total molecular charge (molecule.charge) to machine precision. The overall partition is AO-basis-dependent; Mulliken is sensitive to diffuse functions and should be used for trend analysis rather than for quantitative charge assignment.

nuclear_charges – per-atom Z_A to subtract the population from; None is bare Z. On an ECP calculation pass the effective charges Z - n_core (see _resolve_nuclear_charges(), #642).

Parameters:
  • basis (vibeqc._vibeqc_core.BasisSet)

  • molecule (vibeqc._vibeqc_core.Molecule)

  • nuclear_charges (Sequence[float] | None)

Return type:

ndarray