eye_offset

Function eye_offset 

Source
pub fn eye_offset<T>(n: usize, m: usize, k: isize) -> Array<T, Ix2>
where T: Clone + Zero + One,
Expand description

Create a matrix with ones on the given diagonal and zeros elsewhere

§Arguments

  • n - Number of rows
  • m - Number of columns
  • k - Diagonal offset (0 for main diagonal, positive for above, negative for below)

§Returns

An n x m matrix with ones on the specified diagonal

§Examples

use scirs2_core::ndarray_ext::matrix::eye_offset;

// 3x3 matrix with ones on the main diagonal (k=0)
let id3 = eye_offset::<f64>(3, 3, 0);
assert_eq!(id3.shape(), &[3, 3]);
assert_eq!(id3[[0, 0]], 1.0);
assert_eq!(id3[[1, 1]], 1.0);
assert_eq!(id3[[2, 2]], 1.0);

// 3x4 matrix with ones on the first superdiagonal (k=1)
let super_diag = eye_offset::<f64>(3, 4, 1);
assert_eq!(super_diag.shape(), &[3, 4]);
assert_eq!(super_diag[[0, 1]], 1.0);
assert_eq!(super_diag[[1, 2]], 1.0);
assert_eq!(super_diag[[2, 3]], 1.0);