identity_k

Function identity_k 

Source
pub fn identity_k<T: Zero + One>(n: usize, k: isize) -> DTensor<T, 2>
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::tensor;
use mdarray_linalg::identity_k;

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