pub fn new_identity_matrix<T>(
dimension: usize,
) -> Result<Matrix<T>, &'static str>where
T: MatrixElementRequiredTraits<T>,
Expand description
Creates an identity matrix of the specified dimension using whatever corresponds to unity for type T
use matrix::matrix_algebra::{Matrix, new_identity_matrix};
use rand::prelude::*;
let mut rng = rand::thread_rng();
let dimension = rng.gen_range(1..=100);
let test_matrix_f64 = new_identity_matrix::<f64>(dimension)
.expect("test_new_identity_matrix: unable to create test_matrix_f64");
for index in 0..dimension {
assert_eq!(*test_matrix_f64.get_entry_ij(index, index), 1.0);
}
let test_matrix_f32 = new_identity_matrix::<f32>(dimension)
.expect("test_new_identity_matrix: unable to create test_matrix_f64");
for index in 0..dimension {
assert_eq!(*test_matrix_f32.get_entry_ij(index, index), 1.0);
}