11#ifndef EIGEN_HOUSEHOLDER_H
12#define EIGEN_HOUSEHOLDER_H
41template<
typename Derived>
46 makeHouseholder(essentialPart, tau, beta);
64template<
typename Derived>
65template<
typename EssentialPart>
68 EssentialPart& essential,
80 const RealScalar tol = (std::numeric_limits<RealScalar>::min)();
82 if(tailSqNorm <= tol &&
numext::abs2(numext::imag(c0))<=tol)
85 beta = numext::real(c0);
93 essential =
tail / (c0 - beta);
94 tau =
conj((beta - c0) / beta);
113template<
typename Derived>
114template<
typename EssentialPart>
117 const EssentialPart& essential,
129 tmp.noalias() = essential.adjoint() * bottom;
131 this->
row(0) -= tau * tmp;
132 bottom.noalias() -= tau * essential * tmp;
151template<
typename Derived>
152template<
typename EssentialPart>
155 const EssentialPart& essential,
167 tmp.noalias() = right * essential;
169 this->
col(0) -= tau * tmp;
170 right.noalias() -= tau * tmp * essential.adjoint();
int n
Definition BiCGSTAB_simple.cpp:1
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE FixedSegmentReturnType< internal::get_fixed_value< NType >::value >::Type tail(NType n)
Definition BlockMethods.h:1257
#define EIGEN_DEVICE_FUNC
Definition Macros.h:976
#define EIGEN_STATIC_ASSERT_VECTOR_ONLY(TYPE)
Definition StaticAssert.h:142
int rows
Definition Tutorial_commainit_02.cpp:1
int cols
Definition Tutorial_commainit_02.cpp:1
Scalar Scalar int size
Definition benchVecAdd.cpp:17
SCALAR Scalar
Definition bench_gemm.cpp:46
NumTraits< Scalar >::Real RealScalar
Definition bench_gemm.cpp:47
Expression of a fixed-size or dynamic-size block.
Definition Block.h:105
A matrix or vector expression mapping an existing array of data.
Definition Map.h:96
EIGEN_DEVICE_FUNC void makeHouseholderInPlace(Scalar &tau, RealScalar &beta)
Definition Householder.h:43
NumTraits< Scalar >::Real RealScalar
Definition MatrixBase.h:58
EIGEN_DEVICE_FUNC void applyHouseholderOnTheLeft(const EssentialPart &essential, const Scalar &tau, Scalar *workspace)
Definition Householder.h:116
EIGEN_DEVICE_FUNC void makeHouseholder(EssentialPart &essential, Scalar &tau, RealScalar &beta) const
Definition Householder.h:67
internal::traits< Derived >::Scalar Scalar
Definition MatrixBase.h:56
EIGEN_DEVICE_FUNC void applyHouseholderOnTheRight(const EssentialPart &essential, const Scalar &tau, Scalar *workspace)
Definition Householder.h:154
Expression of a fixed-size or dynamic-size sub-vector.
Definition VectorBlock.h:60
EIGEN_DEVICE_FUNC bool abs2(bool x)
Definition MathFunctions.h:1292
Namespace containing all symbols from the Eigen library.
Definition bench_norm.cpp:85
const AutoDiffScalar< DerType > & conj(const AutoDiffScalar< DerType > &x)
Definition AutoDiffScalar.h:574
const int Dynamic
Definition Constants.h:22
Definition BandTriangularSolver.h:13
Definition Householder.h:18
@ ret
Definition Householder.h:20