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 onek < 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.]]);