pub trait MatrixOperations<F> {
// Required methods
fn new(n_rows: usize, n_cols: usize, elements: Vec<F>) -> Self;
fn elements(&self) -> &Vec<F>;
fn get_element(&self, i: usize, j: usize) -> F;
fn set_element(&mut self, i: usize, j: usize, val: F);
fn rows(&self) -> Vec<&[F]>;
fn n_rows(&self) -> usize;
fn n_cols(&self) -> usize;
fn transpose(&self) -> Self;
fn hadamard_product(&self, rhs: &Self) -> Result<Self>
where Self: Sized;
// Provided method
fn iter_rows(&self) -> Chunks<'_, F> { ... }
}
Required Methods§
sourcefn get_element(&self, i: usize, j: usize) -> F
fn get_element(&self, i: usize, j: usize) -> F
Get element[i,j]
sourcefn set_element(&mut self, i: usize, j: usize, val: F)
fn set_element(&mut self, i: usize, j: usize, val: F)
Set element[i,j]
sourcefn hadamard_product(&self, rhs: &Self) -> Result<Self>where
Self: Sized,
fn hadamard_product(&self, rhs: &Self) -> Result<Self>where Self: Sized,
Compute Hadamard (element-wise) product