pub fn solve(mat: Vec<Vec<i32>>, rank: usize) -> Vec<Vec<i32>> {
    let col_n = mat[0].len();
    match col_n - rank {
        0 => vec![],
        1 => vec![solve_unique(mat, rank)],
        _ => solve_multiple(mat, rank),
    }
}
/// Solves the null space of a matrix in row echelon form and returns one possible basis.
Solves the null space of a matrix in row echelon form and returns one possible basis.
Solves the null space of a matrix in row echelon form and returns one possible basis .
pub fn solve(mat: Vec<Vec<i32>>, rank: usize) -> Vec<Vec<i32>> {
    let col_n = mat[0].len();
    match col_n - rank {
        0 => vec![],
        1 => vec![solve_unique(mat, rank)],
        _ => solve_multiple(mat, rank),
    }
}
pub fn solve ( mat : Vec < Vec < i32 > > , rank : usize ) -> Vec < Vec < i32 > > { let col_n = mat [ 0 ] . len ( ) ; match col_n - rank { 0 => vec ! [ ] , 1 => vec ! [ solve_unique ( mat rank ) ] , _ => solve_multiple ( mat , rank ) , } }
Solves the null space of a matrix in row echelon form and returns one possible basis.
Solves the null space of a matrix in row echelon form and returns one possible basis .
mat
Vec<Vec<i32>>
rank
usize
mat
Vec<Vec<i32>>
rank
usize