esipy.mci

Module Contents

Functions

find_node_distances(connec)

Standard BFS to find the shortest path between nodes.

_kernel_exact(args)

DFS worker for exact MCI.

_prep_matrices(arr, aom)

Normalize input into list of matrices, handling NO tuples.

compute_mci(arr, aom[, partition, n_cores])

Computes Exact MCI using DFS.

sequential_mci(arr, aom[, partition])

multiprocessing_mci(arr, aom, ncores[, partition])

Attributes

sequential_mci_no

multiprocessing_mci_no

esipy.mci.find_node_distances(connec)[source]

Standard BFS to find the shortest path between nodes.

esipy.mci._kernel_exact(args)[source]

DFS worker for exact MCI.

esipy.mci._prep_matrices(arr, aom)[source]

Normalize input into list of matrices, handling NO tuples.

esipy.mci.compute_mci(arr, aom, partition='mulliken', n_cores=None)[source]

Computes Exact MCI using DFS.

Parameters
  • arr (list) – Atom indices involved in the ring.

  • aom (np.ndarray or tuple) – Atomic Overlap Matrices. If tuple (AOMs, Occ), assumes Natural Orbitals.

  • partition (str) – ‘mulliken’, ‘symmetric’, etc. Controls path pruning.

  • n_cores (int, optional) – Number of processes. Defaults to cpu_count.

esipy.mci.sequential_mci(arr, aom, partition='mulliken')[source]
esipy.mci.multiprocessing_mci(arr, aom, ncores, partition='mulliken')[source]
esipy.mci.sequential_mci_no[source]
esipy.mci.multiprocessing_mci_no[source]