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>
40 template<
typename Scalar,
typename Index,
typename UType,
typename VType>
55 CwiseUnaryOp<scalar_conjugate_op<typename traits<T>::Scalar>,T> > {};
59 template<
typename MatrixType,
unsigned int UpLo>
60 template<
typename DerivedU,
typename DerivedV>
65 typedef typename UBlasTraits::DirectLinearAccessType ActualUType;
70 typedef typename VBlasTraits::DirectLinearAccessType ActualVType;
78 Scalar actualAlpha = alpha * UBlasTraits::extractScalarFactor(u.derived())
79 *
numext::conj(VBlasTraits::extractScalarFactor(v.derived()));
87 ::
run(_expression().const_cast_derived().data(),_expression().outerStride(),UType(actualU),VType(actualV),actualAlpha);
94 #endif // EIGEN_SELFADJOINTRANK2UPTADE_H static void run(Scalar *mat, Index stride, const UType &u, const VType &v, const Scalar &alpha)
A matrix or vector expression mapping an existing array of data.
Namespace containing all symbols from the Eigen library.
const unsigned int RowMajorBit
AnnoyingScalar conj(const AnnoyingScalar &x)
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.
Array< int, Dynamic, 1 > v
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))
EIGEN_CONSTEXPR Index size(const T &x)
#define EIGEN_DEVICE_FUNC
Base class for all dense matrices, vectors, and expressions.
static EIGEN_DEVICE_FUNC void run(Scalar *mat, Index stride, const UType &u, const VType &v, const Scalar &alpha)