10 #ifndef EIGEN_SELFADJOINTRANK2UPTADE_H 11 #define EIGEN_SELFADJOINTRANK2UPTADE_H 21 template<
typename Scalar,
typename Index,
typename UType,
typename VType,
int UpLo>
24 template<
typename Scalar,
typename Index,
typename UType,
typename VType>
27 static void run(Scalar* mat,
Index stride,
const UType& u,
const VType& v,
const Scalar& alpha)
39 template<
typename Scalar,
typename Index,
typename UType,
typename VType>
42 static void run(Scalar* mat,
Index stride,
const UType& u,
const VType& v,
const Scalar& alpha)
54 CwiseUnaryOp<scalar_conjugate_op<typename traits<T>::Scalar>,T> > {};
58 template<
typename MatrixType,
unsigned int UpLo>
59 template<
typename DerivedU,
typename DerivedV>
64 typedef typename UBlasTraits::DirectLinearAccessType ActualUType;
69 typedef typename VBlasTraits::DirectLinearAccessType ActualVType;
77 Scalar actualAlpha = alpha * UBlasTraits::extractScalarFactor(u.derived())
78 *
numext::conj(VBlasTraits::extractScalarFactor(v.derived()));
86 ::
run(_expression().const_cast_derived().data(),_expression().outerStride(),UType(actualU),VType(actualV),actualAlpha);
93 #endif // EIGEN_SELFADJOINTRANK2UPTADE_H static void run(Scalar *mat, Index stride, const UType &u, const VType &v, const Scalar &alpha)
static void run(Scalar *mat, Index stride, const UType &u, const VType &v, const Scalar &alpha)
const AutoDiffScalar< DerType > & conj(const AutoDiffScalar< DerType > &x)
A matrix or vector expression mapping an existing array of data.
static constexpr size_t size(Tuple< Args... > &)
Provides access to the number of elements in a tuple as a compile-time constant expression.
const unsigned int RowMajorBit
internal::traits< SelfAdjointView >::Scalar Scalar
The type of coefficients in this matrix.
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Expression of a selfadjoint matrix from a triangular part of a dense matrix.
EIGEN_DEVICE_FUNC SelfAdjointView & rankUpdate(const MatrixBase< DerivedU > &u, const MatrixBase< DerivedV > &v, const Scalar &alpha=Scalar(1))
void run(Expr &expr, Dev &dev)
Base class for all dense matrices, vectors, and expressions.