[−][src]Struct la::LUDecomposition
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.
Methods
impl<T: Float + ApproxEq<T> + Signed> LUDecomposition<T>
[src]
pub fn new(a: &Matrix<T>) -> LUDecomposition<T>
[src]
pub fn is_singular(&self) -> bool
[src]
pub fn is_non_singular(&self) -> bool
[src]
pub fn get_l(&self) -> Matrix<T>
[src]
pub fn get_u(&self) -> Matrix<T>
[src]
pub fn get_p(&self) -> Matrix<T>
[src]
pub fn get_piv<'lt>(&'lt self) -> &'lt Vec<usize>
[src]
pub fn det(&self) -> T
[src]
pub fn solve(&self, b: &Matrix<T>) -> Option<Matrix<T>>
[src]
Auto Trait Implementations
impl<T> Send for LUDecomposition<T> where
T: Send,
T: Send,
impl<T> Sync for LUDecomposition<T> where
T: Sync,
T: Sync,
impl<T> Unpin for LUDecomposition<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for LUDecomposition<T> where
T: UnwindSafe,
T: UnwindSafe,
impl<T> RefUnwindSafe for LUDecomposition<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,