20template<
typename T,
typename U,
21 bool NeedToTranspose = T::IsVectorAtCompileTime && U::IsVectorAtCompileTime &&
22 ((int(T::RowsAtCompileTime) == 1 && int(U::ColsAtCompileTime) == 1) ||
23 (
int(T::ColsAtCompileTime) == 1 && int(U::RowsAtCompileTime) == 1))>
27 typedef typename conj_prod::result_type ResScalar;
36template<
typename T,
typename U>
40 typedef typename conj_prod::result_type ResScalar;
62template<
typename Derived>
63template<
typename OtherDerived>
69 EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
71 EIGEN_STATIC_ASSERT_SAME_VECTOR_SIZE(Derived,
OtherDerived)
72#if !(defined(EIGEN_NO_STATIC_ASSERT) && defined(EIGEN_NO_DEBUG))
74 EIGEN_CHECK_BINARY_COMPATIBILIY(func,Scalar,
typename OtherDerived::Scalar);
77 eigen_assert(size() == other.size());
90template<
typename Derived>
93 return numext::real((*this).cwiseAbs2().sum());
102template<
typename Derived>
117template<
typename Derived>
123 RealScalar z = n.squaredNorm();
126 return n / numext::sqrt(z);
139template<
typename Derived>
145 derived() /= numext::sqrt(z);
160template<
typename Derived>
166 RealScalar w = n.cwiseAbs().maxCoeff();
169 return n / (numext::sqrt(z)*w);
185template<
typename Derived>
188 RealScalar w = cwiseAbs().maxCoeff();
191 derived() /= numext::sqrt(z)*w;
198template<
typename Derived,
int p>
206 return pow(m.cwiseAbs().array().pow(p).sum(),
RealScalar(1)/p);
210template<
typename Derived>
216 return m.cwiseAbs().sum();
220template<
typename Derived>
230template<
typename Derived>
237 if(Derived::SizeAtCompileTime==0 || (Derived::SizeAtCompileTime==
Dynamic && m.size()==0))
239 return m.cwiseAbs().maxCoeff();
255template<
typename Derived>
257#ifndef EIGEN_PARSED_BY_DOXYGEN
275template<
typename Derived>
276template<
typename OtherDerived>
296template<
typename Derived>
300 for(
Index i = 0; i < cols(); ++i)
302 if(!internal::isApprox(self.col(i).squaredNorm(),
static_cast<RealScalar
>(1),
prec))
304 for(
Index j = 0; j < i; ++j)
305 if(!internal::isMuchSmallerThan(self.col(i).dot(self.col(j)),
static_cast<Scalar
>(1),
prec))
EIGEN_DEVICE_FUNC Scalar sum() const
Definition Redux.h:459
EIGEN_DEVICE_FUNC TransposeReturnType transpose()
Definition Transpose.h:182
Base class for all dense matrices, vectors, and expressions.
Definition MatrixBase.h:50
EIGEN_DEVICE_FUNC RealScalar squaredNorm() const
Definition Dot.h:91
EIGEN_DEVICE_FUNC ScalarBinaryOpTraits< typenameinternal::traits< Derived >::Scalar, typenameinternal::traits< OtherDerived >::Scalar >::ReturnType dot(const MatrixBase< OtherDerived > &other) const
Namespace containing all symbols from the Eigen library.
Definition LDLT.h:16
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition Meta.h:74
const int Infinity
This value means +Infinity; it is currently used only as the p parameter to MatrixBase::lpNorm<int>()...
Definition Constants.h:36
const int Dynamic
This value means that a positive quantity (e.g., a size) is not known at compile-time,...
Definition Constants.h:22
Definition BinaryFunctors.h:108
Definition ForwardDeclarations.h:17