Function russell_lab::matrix_norm
source · [−]Expand description
Computes the matrix norm
Computes one of:
One: 1-norm
‖a‖_1 = max_j ( Σ_i |aᵢⱼ| )
Inf: inf-norm
‖a‖_∞ = max_i ( Σ_j |aᵢⱼ| )
Fro: Frobenius-norm (2-norm)
‖a‖_F = sqrt(Σ_i Σ_j |aij|²) == ‖a‖_2
Max: max-norm
‖a‖_max = max_ij ( |aᵢⱼ| )
Example
use russell_lab::{matrix_norm, Matrix, NormMat};
fn main() {
let a = Matrix::from(&[
[-2.0, 2.0],
[ 1.0, -4.0],
]);
assert_eq!(matrix_norm(&a, NormMat::One), 6.0);
assert_eq!(matrix_norm(&a, NormMat::Inf), 5.0);
assert_eq!(matrix_norm(&a, NormMat::Fro), 5.0);
assert_eq!(matrix_norm(&a, NormMat::Max), 4.0);
}