pub trait MatrixOp {
// Required methods
fn nrows(&self) -> usize;
fn ncols(&self) -> usize;
fn is_square(&self) -> bool;
fn gemv(
&self,
alpha: f64,
x: &DVector<f64>,
beta: f64,
y: &mut DVector<f64>,
);
fn is_empty(&self) -> bool;
}