10 #ifndef EIGEN_PACKED_TRIANGULAR_MATRIX_VECTOR_H
11 #define EIGEN_PACKED_TRIANGULAR_MATRIX_VECTOR_H
16 template <
typename Index,
int Mode,
typename LhsScalar,
bool ConjLhs,
typename RhsScalar,
bool ConjRhs,
20 template <
typename Index,
int Mode,
typename LhsScalar,
bool ConjLhs,
typename RhsScalar,
bool ConjRhs>
35 Index s = IsLower && (HasUnitDiag || HasZeroDiag) ? 1 : 0;
37 if (!(HasUnitDiag || HasZeroDiag) || (--
r > 0)) {
38 ResMap(
res + (IsLower ?
s +
i : 0),
r) +=
alpha * cj(rhs[
i]) * ConjLhsType(LhsMap(lhs +
s,
r));
43 lhs += IsLower ?
size -
i :
i + 1;
48 template <
typename Index,
int Mode,
typename LhsScalar,
bool ConjLhs,
typename RhsScalar,
bool ConjRhs>
64 Index s = !IsLower && (HasUnitDiag || HasZeroDiag) ? 1 : 0;
66 if (!(HasUnitDiag || HasZeroDiag) || (--
r > 0)) {
69 (ConjLhsType(LhsMap(lhs +
s,
r)).cwiseProduct(ConjRhsType(RhsMap(rhs + (IsLower ? 0 :
s +
i),
r)))).sum();
74 lhs += IsLower ?
i + 1 :
size -
i;
int i
Definition: BiCGSTAB_step_by_step.cpp:9
cout<< "Here is the matrix m:"<< endl<< m<< endl;Matrix< ptrdiff_t, 3, 1 > res
Definition: PartialRedux_count.cpp:3
Scalar Scalar int size
Definition: benchVecAdd.cpp:17
A matrix or vector expression mapping an existing array of data.
Definition: Map.h:96
@ UnitDiag
Definition: Constants.h:215
@ ZeroDiag
Definition: Constants.h:217
@ Lower
Definition: Constants.h:211
@ ColMajor
Definition: Constants.h:318
@ RowMajor
Definition: Constants.h:320
RealScalar s
Definition: level1_cplx_impl.h:130
RealScalar alpha
Definition: level1_cplx_impl.h:151
std::conditional<!Cond, const T &, CwiseUnaryOp< scalar_conjugate_op< typename traits< T >::Scalar >, T > > conj_expr_if
Definition: SelfadjointRank2Update.h:52
Namespace containing all symbols from the Eigen library.
Definition: bench_norm.cpp:70
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:83
Definition: Eigen_Colamd.h:49
Determines whether the given binary operation of two numeric types is allowed and what the scalar ret...
Definition: XprHelper.h:1043
Definition: ConjHelper.h:42
ScalarBinaryOpTraits< LhsScalar, RhsScalar >::ReturnType ResScalar
Definition: PackedTriangularMatrixVector.h:50
static void run(Index size, const LhsScalar *lhs, const RhsScalar *rhs, ResScalar *res, ResScalar alpha)
Definition: PackedTriangularMatrixVector.h:56
static void run(Index size, const LhsScalar *lhs, const RhsScalar *rhs, ResScalar *res, ResScalar alpha)
Definition: PackedTriangularMatrixVector.h:28
ScalarBinaryOpTraits< LhsScalar, RhsScalar >::ReturnType ResScalar
Definition: PackedTriangularMatrixVector.h:22
Definition: PackedTriangularMatrixVector.h:18