Skip to content

num::diagonal_similarity

Defined in header <linear/sparse/sparse.hpp>

mat<real> diagonal_similarity(const spmat &A, view<const real> weights);

Compute diagonal similarity transform \(D^{-1} A D\) where \(D = \text{diag}(\mathbf{w})\).

Parameters

  • A: Square CSR matrix.
  • weights: Positive diagonal weight entries \(w_i > 0\).

Return value

Dense similarity transformed matrix \(D^{-1} A D\).

Exceptions

  • std::invalid_argument: If dimensions mismatch or any weight is non-positive.