10#ifndef EIGEN_SELFADJOINTRANK2UPTADE_H
11#define EIGEN_SELFADJOINTRANK2UPTADE_H
21template<
typename Scalar,
typename Index,
typename UType,
typename VType,
int UpLo>
24template<
typename Scalar,
typename Index,
typename UType,
typename VType>
34 (numext::conj(
alpha) * numext::conj(u.coeff(
i))) *
v.tail(
size-
i)
40template<
typename Scalar,
typename Index,
typename UType,
typename VType>
48 (numext::conj(
alpha) * numext::conj(u.coeff(
i))) *
v.head(
i+1)
49 + (
alpha * numext::conj(
v.coeff(
i))) * u.head(
i+1);
55 CwiseUnaryOp<scalar_conjugate_op<typename traits<T>::Scalar>,T> > {};
59template<
typename MatrixType,
unsigned int UpLo>
60template<
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()));
81 actualAlpha = numext::conj(actualAlpha);
87 ::run(_expression().const_cast_derived().data(),_expression().outerStride(),UType(actualU),VType(actualV),actualAlpha);
Array< int, Dynamic, 1 > v
Definition Array_initializer_list_vector_cxx11.cpp:1
int i
Definition BiCGSTAB_step_by_step.cpp:9
#define EIGEN_DEVICE_FUNC
Definition Macros.h:976
MatrixXf mat
Definition Tutorial_AdvancedInitialization_CommaTemporary.cpp:1
Scalar Scalar int size
Definition benchVecAdd.cpp:17
SCALAR Scalar
Definition bench_gemm.cpp:46
A matrix or vector expression mapping an existing array of data.
Definition Map.h:96
Base class for all dense matrices, vectors, and expressions.
Definition MatrixBase.h:50
Expression of a selfadjoint matrix from a triangular part of a dense matrix.
Definition SelfAdjointView.h:51
internal::traits< SelfAdjointView >::Scalar Scalar
The type of coefficients in this matrix.
Definition SelfAdjointView.h:61
@ Lower
Definition Constants.h:209
@ Upper
Definition Constants.h:211
const unsigned int RowMajorBit
Definition Constants.h:66
RealScalar alpha
Definition level1_cplx_impl.h:147
Namespace containing all symbols from the Eigen library.
Definition bench_norm.cpp:85
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition Meta.h:74
Definition BandTriangularSolver.h:13
Definition SelfadjointRank2Update.h:55
static EIGEN_DEVICE_FUNC void run(Scalar *mat, Index stride, const UType &u, const VType &v, const Scalar &alpha)
Definition SelfadjointRank2Update.h:28
static void run(Scalar *mat, Index stride, const UType &u, const VType &v, const Scalar &alpha)
Definition SelfadjointRank2Update.h:43
Definition SelfadjointRank2Update.h:22
Definition ForwardDeclarations.h:17