pub fn cholsol<T: Numeric<T>>(
a: &Sprs<T>,
b: &mut [T],
order: i8,
) -> Result<(), Error>Expand description
A\b solver using Cholesky factorization.
x=A\b where A is symmetric positive definite; b overwritten with solution
§Parameters:
Input, i8 ORDER:
- -1:natural,
- 0:Cholesky,
- 1:LU,
- 2:QR
§Example:
let c = [
vec![5.0, 0.0, 0.0, 0.0, 0.0],
vec![0.0, 5.0, 0.0, 0.0, 0.017856],
vec![0.0, 0.0, 5.0, 0.0, 0.0],
vec![0.0, 0.0, 0.0, 5.0, 0.479746],
vec![0.0, 0.017856, 0.0, 0.479746, 5.0]
];
let mut c_sparse = rsparse::data::Sprs::new();
c_sparse.from_vec(&c);
let mut b = [
0.2543,
0.8143,
0.2435,
0.9293,
0.3500
];
rsparse::cholsol(&mut c_sparse, &mut b, 0);
println!("\nX");
println!("{:?}", &b);