pub struct LUDecomposition<T> { /* private fields */ }
Expand description
LU Decomposition.
Originally based on JAMA.
For an m-by-n matrix A with m >= n, the LU decomposition is an m-by-n unit lower triangular matrix L, an n-by-n upper triangular matrix U, and a permutation vector piv of length m so that A(piv,:) = L*U. If m < n, then L is m-by-m and U is m-by-n.
The LU decompostion with pivoting always exists, even if the matrix is singular. The primary use of the LU decomposition is in the solution of square systems of simultaneous linear equations. This will fail if the matrix is singular.
Implementations§
Source§impl<T: Float + ApproxEq<T> + Signed> LUDecomposition<T>
impl<T: Float + ApproxEq<T> + Signed> LUDecomposition<T>
pub fn new(a: &Matrix<T>) -> LUDecomposition<T>
pub fn is_singular(&self) -> bool
pub fn is_non_singular(&self) -> bool
pub fn get_l(&self) -> Matrix<T>
pub fn get_u(&self) -> Matrix<T>
pub fn get_p(&self) -> Matrix<T>
pub fn get_piv<'lt>(&'lt self) -> &'lt Vec<usize>
pub fn det(&self) -> T
pub fn solve(&self, b: &Matrix<T>) -> Option<Matrix<T>>
Auto Trait Implementations§
impl<T> Freeze for LUDecomposition<T>
impl<T> RefUnwindSafe for LUDecomposition<T>where
T: RefUnwindSafe,
impl<T> Send for LUDecomposition<T>where
T: Send,
impl<T> Sync for LUDecomposition<T>where
T: Sync,
impl<T> Unpin for LUDecomposition<T>where
T: Unpin,
impl<T> UnwindSafe for LUDecomposition<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more