pub type DiagMut<'a, T, Dim = usize, Stride = isize> = Diag<Mut<'a, T, Dim, Stride>>;Expand description
diagonal mutable matrix view
Aliased Type§
#[repr(transparent)]pub struct DiagMut<'a, T, Dim = usize, Stride = isize>(pub Mut<'a, T, Dim, Stride>);Tuple Fields§
§0: Mut<'a, T, Dim, Stride>Implementations§
Source§impl<'a, T, Dim: Shape, Stride: Stride> DiagMut<'a, T, Dim, Stride>
impl<'a, T, Dim: Shape, Stride: Stride> DiagMut<'a, T, Dim, Stride>
Sourcepub const unsafe fn from_raw_parts_mut(
ptr: *mut T,
dim: Dim,
stride: Stride,
) -> Self
pub const unsafe fn from_raw_parts_mut( ptr: *mut T, dim: Dim, stride: Stride, ) -> Self
creates a DiagMut from pointers to the diagonal data, dimension, and stride
§safety
this function has the same safety requirements as
[MatMut::from_raw_parts_mut(ptr, dim, 1, stride, 0)]
Sourcepub fn column_vector(self) -> ColRef<'a, T, Dim, Stride>
pub fn column_vector(self) -> ColRef<'a, T, Dim, Stride>
returns the diagonal as a column vector view
Sourcepub fn column_vector_mut(self) -> ColMut<'a, T, Dim, Stride>
pub fn column_vector_mut(self) -> ColMut<'a, T, Dim, Stride>
returns the diagonal as a mutable column vector view
Sourcepub fn as_dyn(self) -> DiagRef<'a, T, usize, Stride>
pub fn as_dyn(self) -> DiagRef<'a, T, usize, Stride>
see DiagRef::as_dyn
Sourcepub fn as_dyn_stride(self) -> DiagRef<'a, T, Dim>
pub fn as_dyn_stride(self) -> DiagRef<'a, T, Dim>
Sourcepub fn as_shape_mut<D: Shape>(self, len: D) -> DiagMut<'a, T, D, Stride>
pub fn as_shape_mut<D: Shape>(self, len: D) -> DiagMut<'a, T, D, Stride>
Sourcepub fn as_dyn_mut(self) -> DiagMut<'a, T, usize, Stride>
pub fn as_dyn_mut(self) -> DiagMut<'a, T, usize, Stride>
see DiagRef::as_dyn
Sourcepub fn as_dyn_stride_mut(self) -> DiagMut<'a, T, Dim>
pub fn as_dyn_stride_mut(self) -> DiagMut<'a, T, Dim>
Sourcepub fn conjugate_mut(self) -> DiagMut<'a, T::Conj, Dim, Stride>where
T: Conjugate,
pub fn conjugate_mut(self) -> DiagMut<'a, T::Conj, Dim, Stride>where
T: Conjugate,
Sourcepub fn canonical_mut(self) -> DiagMut<'a, T::Canonical, Dim, Stride>where
T: Conjugate,
pub fn canonical_mut(self) -> DiagMut<'a, T::Canonical, Dim, Stride>where
T: Conjugate,
Sourcepub fn copy_from<RhsT: Conjugate<Canonical = T>>(
&mut self,
rhs: impl AsDiagRef<T = RhsT, Dim = Dim>,
)where
T: ComplexField,
pub fn copy_from<RhsT: Conjugate<Canonical = T>>(
&mut self,
rhs: impl AsDiagRef<T = RhsT, Dim = Dim>,
)where
T: ComplexField,
copies other into self
Trait Implementations§
Source§impl<T: ComplexField, ViewT: Conjugate<Canonical = T>> BiLinOp<T> for DiagMut<'_, ViewT>
impl<T: ComplexField, ViewT: Conjugate<Canonical = T>> BiLinOp<T> for DiagMut<'_, ViewT>
Source§fn transpose_apply_scratch(&self, rhs_ncols: usize, par: Par) -> StackReq
fn transpose_apply_scratch(&self, rhs_ncols: usize, par: Par) -> StackReq
computes the workspace size and alignment required to apply the transpose or adjoint o
self to a matrix with rhs_ncols columnsSource§impl<T: ComplexField, ViewT: Conjugate<Canonical = T>> BiPrecond<T> for DiagMut<'_, ViewT>
impl<T: ComplexField, ViewT: Conjugate<Canonical = T>> BiPrecond<T> for DiagMut<'_, ViewT>
Source§fn transpose_apply_in_place_scratch(
&self,
rhs_ncols: usize,
par: Par,
) -> StackReq
fn transpose_apply_in_place_scratch( &self, rhs_ncols: usize, par: Par, ) -> StackReq
computes the workspace size and alignment required to apply the transpose or adjoint of
self to a matrix with rhs_ncols columns in placeSource§impl<T: ComplexField, ViewT: Conjugate<Canonical = T>> LinOp<T> for DiagMut<'_, ViewT>
impl<T: ComplexField, ViewT: Conjugate<Canonical = T>> LinOp<T> for DiagMut<'_, ViewT>
Source§fn apply_scratch(&self, rhs_ncols: usize, par: Par) -> StackReq
fn apply_scratch(&self, rhs_ncols: usize, par: Par) -> StackReq
computes the workspace size and alignment required to apply
self or the conjugate o
self to a matrix with rhs_ncols columnsSource§impl<T: ComplexField, ViewT: Conjugate<Canonical = T>> Precond<T> for DiagMut<'_, ViewT>
impl<T: ComplexField, ViewT: Conjugate<Canonical = T>> Precond<T> for DiagMut<'_, ViewT>
Source§fn apply_in_place_scratch(&self, rhs_ncols: usize, par: Par) -> StackReq
fn apply_in_place_scratch(&self, rhs_ncols: usize, par: Par) -> StackReq
computes the workspace size and alignment required to apply
self or the conjugate of
self to a matrix with rhs_ncols columns in place