1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
use crate::{matrix::Matrix, number::Number};

impl<T> Matrix<T>
where
    T: Number,
{
    /// # Identity
    pub fn identity(n: usize) -> Matrix<T> {
        let mut new_matrix = Matrix::<T>::zeros(n, n);
        for i in 0..n {
            new_matrix[i][i] = T::one();
        }

        new_matrix
    }
}