Skip to main content

Module laplacian

Module laplacian 

Source
Expand description

Weighted bus Laplacians L = A diag(w) Aᵀ, reference grounding, and the index bookkeeping for mapping a grounded solve back to full size. For DC power flow, w is the branch susceptance vector b, and L is the DC bus susceptance matrix.

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). Problem specific solvers use it 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 bus susceptance matrix; with w = b²·θ_f⁻¹ it is the reweighted bus 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.