Skip to main content

identity_k

Function identity_k 

Source
pub fn identity_k<T: Zero + One, D0: Dim, D1: Dim>(
    n: usize,
    k: isize,
) -> Array<T, (D0, D1)>
Expand description

Creates a diagonal matrix of size n x n with ones on a specified diagonal.

The diagonal can be shifted using k:

  • k = 0 โ†’ main diagonal (default, standard identity)
  • k > 0 โ†’ k-th diagonal above the main one
  • k < 0 โ†’ k-th diagonal below the main one

ยงExamples

use mdarray::{Const, tensor};
use mdarray_linalg::utils::identity_k;

let i3 = identity_k::<f64, Const<3>, Const<3>>(3, 1);
assert_eq!(i3, tensor![[0.,1.,0.],[0.,0.,1.],[0.,0.,0.]]);