pub struct LuRef<'a, I: Index, T> { /* private fields */ }Expand description
sparse $LU$ factorization wrapper
Implementations§
Source§impl<'a, I: Index, T> LuRef<'a, I, T>
impl<'a, I: Index, T> LuRef<'a, I, T>
Sourcepub unsafe fn new_unchecked(
symbolic: &'a SymbolicLu<I>,
numeric: &'a NumericLu<I, T>,
) -> Self
pub unsafe fn new_unchecked( symbolic: &'a SymbolicLu<I>, numeric: &'a NumericLu<I, T>, ) -> Self
creates $LU$ factors from their components
§safety
the numeric part must be the output of SymbolicLu::factorize_numeric_lu, called with a
matrix having the same symbolic structure as the one used to create symbolic
Sourcepub fn symbolic(self) -> &'a SymbolicLu<I>
pub fn symbolic(self) -> &'a SymbolicLu<I>
returns the symbolic structure of the $LU$ factorization
Sourcepub fn solve_in_place_with_conj(
self,
conj: Conj,
rhs: MatMut<'_, T>,
par: Par,
stack: &mut MemStack,
)where
T: ComplexField,
pub fn solve_in_place_with_conj(
self,
conj: Conj,
rhs: MatMut<'_, T>,
par: Par,
stack: &mut MemStack,
)where
T: ComplexField,
solves the equation $A x = \text{rhs}$ and stores the result in rhs, implicitly
conjugating $A$ if needed
§panics
- panics if
self.nrows() != self.ncols() - panics if
rhs.nrows() != self.nrows()
Sourcepub fn solve_transpose_in_place_with_conj(
self,
conj: Conj,
rhs: MatMut<'_, T>,
par: Par,
stack: &mut MemStack,
)where
T: ComplexField,
pub fn solve_transpose_in_place_with_conj(
self,
conj: Conj,
rhs: MatMut<'_, T>,
par: Par,
stack: &mut MemStack,
)where
T: ComplexField,
solves the equation $A^\top x = \text{rhs}$ and stores the result in rhs,
implicitly conjugating $A$ if needed
§panics
- panics if
self.nrows() != self.ncols() - panics if
rhs.nrows() != self.nrows()
Trait Implementations§
impl<I: Index, T> Copy for LuRef<'_, I, T>
Auto Trait Implementations§
impl<'a, I, T> Freeze for LuRef<'a, I, T>
impl<'a, I, T> RefUnwindSafe for LuRef<'a, I, T>where
I: RefUnwindSafe,
T: RefUnwindSafe,
impl<'a, I, T> Send for LuRef<'a, I, T>where
T: Sync,
impl<'a, I, T> Sync for LuRef<'a, I, T>where
T: Sync,
impl<'a, I, T> Unpin for LuRef<'a, I, T>
impl<'a, I, T> UnwindSafe for LuRef<'a, I, T>where
I: RefUnwindSafe,
T: RefUnwindSafe,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more