lazymatrix::MatTransposeVecInto
LazyMatrix for Rust · 0.8.1
rust
pub trait MatTransposeVecInto<X, Y = X>: MatrixShape + MatrixErrorTypeTransposed matrix–vector product out = Aᵀ x, overwriting reusable output storage.
X and Y may differ so that backends can accept borrowed or strided inputs while writing into an owned output. Implementations must not depend on the previous values in out.
Errors
Returns the backend error if the product cannot be completed. After an error, out may be partially overwritten and must not be used as a product result.
Panics
Panics unless x has length nrows and out has length ncols.
Methods
mat_transpose_vec_into
rust
fn mat_transpose_vec_into(
&self,
x: &X,
out: &mut Y
) -> Result<(), <Self as MatrixErrorType>::Error>mat_transpose_vec_normalized_into
rust
fn mat_transpose_vec_normalized_into<F: lazymatrix::Scalar>(
&self,
x: &X,
centers: Option<&[F]>,
scales: Option<&[F]>,
out: &mut Y
) -> Result<(), <Self as MatrixErrorType>::Error> where X: lazymatrix::SumEntries<F>, Y: lazymatrix::ScaledSubSlice<F> + lazymatrix::ElemDivAssign<F>Apply the transpose of the optionally normalized matrix.
Backends may center entries before accumulation to avoid cancellation.
Implementation of MatTransposeVecInto
rust
impl<A, F, X, Y> MatTransposeVecInto<X, Y> for ZarrMatrix<A, F> where A: ZarrArray<F>, F: Scalar, X: VectorView<F>, Y: VectorViewMut<F>Implementation of MatTransposeVecInto
rust
impl<M, F, X, Y> MatTransposeVecInto<X, Y> for WithIntercept<M, F> where F: Scalar, X: VectorView<F>, Y: VectorOwned<F> + VectorViewMut<F>, M: MatTransposeVecInto<X, <Y as VectorOwned>::Owned>Implementation of MatTransposeVecInto
rust
impl<M, X, Y, F> MatTransposeVecInto<X, Y> for LazyMatrix<M, F> where F: Scalar, M: MatTransposeVecInto<X, Y>, X: SumEntries<F>, Y: ScaledSubSlice<F> + ElemDivAssign<F>Implementation of MatTransposeVecInto
rust
impl<M, X, Y, F> MatTransposeVecInto<X, Y> for Submatrix<'_, M, F> where M: SubmatrixKernel<F>, F: Scalar, X: VectorView<F>, Y: VectorViewMut<F>Implementation of MatTransposeVecInto
rust
impl<M, X, Y, T> MatTransposeVecInto<X, Y> for EagerMatrix<M, T> where M: MatTransposeVecInto<X, Y>Implementation of MatTransposeVecInto
rust
impl<M: MatTransposeVecInto<X, Y>, X, Y> MatTransposeVecInto<X, Y> for SprsCsc<M>Implementation of MatTransposeVecInto
rust
impl<M: MatTransposeVecInto<X, Y>, X, Y> MatTransposeVecInto<X, Y> for SprsCsr<M>
