use crate::algebra::{
abstr::{AbsDiffEq, Field, RelativeEq, Scalar},
linear::{matrix::General, vector::vector::Vector},
};
use crate::algebra::linear::matrix::{LUDecomposition, Solve};
impl<T> Solve<Vector<T>> for General<T>
where
T: Field + Scalar + AbsDiffEq<Epsilon = T> + RelativeEq,
{
fn solve(&self, rhs: &Vector<T>) -> Result<Vector<T>, ()> {
self.dec_lu()?.solve(rhs)
}
}
impl<T> Solve<General<T>> for General<T>
where
T: Field + Scalar + AbsDiffEq,
{
fn solve(&self, rhs: &General<T>) -> Result<General<T>, ()> {
self.dec_lu()?.solve(rhs)
}
}