Skip to main content

Module laplacian

Module laplacian 

Source
Expand description

The weighted Laplacian L = A diag(w) Aᵀ, reference grounding, and the index bookkeeping for mapping a grounded solve back to full size.

Built from the same A, w factors the incidence module produces, so L and its reference-grounded form share an exact factorization.

Structs§

GroundedIndexMap
Maps indices between the full [0, n) space and the grounded [0, n−1) space (row/column r removed). Used by the DC OPF interior point operators (the kkt feature) to place a grounded solve back into full bus order.

Functions§

build_weighted_laplacian
L = A diag(w) Aᵀ (n×n). With w = b this is the DC Laplacian; with w = b²·θ_f⁻¹ it is the reweighted Laplacian L₁ from the KKT system.
ground_at
Delete row r and column r from a square matrix, returning the (n−1)×(n−1) grounded matrix. Used to remove the slack bus so a singular Laplacian becomes SPD. The single-reference case of ground_at_each.
ground_at_each
Delete every row and column in refs from a square matrix, returning the grounded matrix of side n − k, where k is the count of distinct in-range references. Grounding one bus per connected component turns a singular Laplacian SPD. Grounding several buses within one component fixes several angles to zero; this is not a participation factor based slack model.
reference_indicator
The reference indicator, length n: 1 at every grounded (slack) bus, 0 elsewhere. The multi-reference form of unit_vector; a downstream solver reads it to recover which buses were grounded.
unit_vector
The unit vector e_r, length n.