vibeqc.iao_population.IAOAnalysis

class vibeqc.iao_population.IAOAnalysis(populations=None, charges=None, spin_populations=None, bond_orders=None, reference_basis='mini', orthogonalization='symmetric', method='iao-wiberg', density_convention='integer-occupied all-electron SCF determinant', spin_convention='2 sum_sigma sum_mu_in_a, nu_in_b |D_sigma[mu, nu]|^2', partition='separate spin IAOs with common reference atom labels', diagnostics=<factory>, unavailable_reason=None, iaos_alpha=None, iaos_beta=None, reference=None)[source]

Bases: object

A full atom partition, or an explicit reason it is unavailable.

Charges are in elementary charge units, populations and spins in electrons, and bond orders dimensionless. bond_orders is dense and unthresholded; its diagonal is zero. spin_populations is absent for restricted states. The coefficient/reference fields allow reuse by molecular localization and are deliberately excluded from the structured output payload.

Parameters:
  • populations (ndarray | None)

  • charges (ndarray | None)

  • spin_populations (ndarray | None)

  • bond_orders (ndarray | None)

  • reference_basis (str)

  • orthogonalization (str)

  • method (str)

  • density_convention (str)

  • spin_convention (str)

  • partition (str)

  • diagnostics (dict[str, float])

  • unavailable_reason (str | None)

  • iaos_alpha (ndarray | None)

  • iaos_beta (ndarray | None)

  • reference (IAOReference | None)

__init__(populations=None, charges=None, spin_populations=None, bond_orders=None, reference_basis='mini', orthogonalization='symmetric', method='iao-wiberg', density_convention='integer-occupied all-electron SCF determinant', spin_convention='2 sum_sigma sum_mu_in_a, nu_in_b |D_sigma[mu, nu]|^2', partition='separate spin IAOs with common reference atom labels', diagnostics=<factory>, unavailable_reason=None, iaos_alpha=None, iaos_beta=None, reference=None)
Parameters:
  • populations (ndarray | None)

  • charges (ndarray | None)

  • spin_populations (ndarray | None)

  • bond_orders (ndarray | None)

  • reference_basis (str)

  • orthogonalization (str)

  • method (str)

  • density_convention (str)

  • spin_convention (str)

  • partition (str)

  • diagnostics (dict[str, float])

  • unavailable_reason (str | None)

  • iaos_alpha (ndarray | None)

  • iaos_beta (ndarray | None)

  • reference (IAOReference | None)

Return type:

None

Methods

__init__([populations, charges, ...])

to_dict()

Portable numerical payload; atom order is the input molecule order.

Attributes

populations: ndarray | None = None
charges: ndarray | None = None
spin_populations: ndarray | None = None
bond_orders: ndarray | None = None
reference_basis: str = 'mini'
orthogonalization: str = 'symmetric'
method: str = 'iao-wiberg'
density_convention: str = 'integer-occupied all-electron SCF determinant'
spin_convention: str = '2 sum_sigma sum_mu_in_a,nu_in_b |D_sigma[mu,nu]|^2'
partition: str = 'separate spin IAOs with common reference atom labels'
diagnostics: dict[str, float]
unavailable_reason: str | None = None
iaos_alpha: ndarray | None = None
iaos_beta: ndarray | None = None
reference: IAOReference | None = None
property available: bool
to_dict()[source]

Portable numerical payload; atom order is the input molecule order.

Return type:

dict[str, Any]