Function russell_lab::matrix::mat_norm
source · pub fn mat_norm(a: &Matrix, kind: Norm) -> f64
Expand description
(dlange) Computes the matrix norm
Computes one of:
‖a‖_1 = max_j ( Σ_i |aij| )
‖a‖_∞ = max_i ( Σ_j |aij| )
‖a‖_F = sqrt(Σ_i Σ_j |aij|²) == ‖a‖_2
‖a‖_max = max_ij ( |aij| )
See also: https://www.netlib.org/lapack/explore-html/dc/d09/dlange_8f.html
§Examples
use russell_lab::*;
fn main() {
let a = Matrix::from(&[
[-2.0, 2.0],
[ 1.0, -4.0],
]);
approx_eq(mat_norm(&a, Norm::One), 6.0, 1e-15);
approx_eq(mat_norm(&a, Norm::Inf), 5.0, 1e-15);
approx_eq(mat_norm(&a, Norm::Fro), 5.0, 1e-15);
approx_eq(mat_norm(&a, Norm::Max), 4.0, 1e-15);
}