20 template<
typename T, 
typename U,
    22          bool NeedToTranspose = T::IsVectorAtCompileTime
    23                 && U::IsVectorAtCompileTime
    24                 && ((int(T::RowsAtCompileTime) == 1 && int(U::ColsAtCompileTime) == 1)
    27                     (
int(T::ColsAtCompileTime) == 1 && int(U::RowsAtCompileTime) == 1))
    36     return a.template binaryExpr<conj_prod>(b).sum();
    40 template<
typename T, 
typename U>
    48     return a.
transpose().template binaryExpr<conj_prod>(b).sum();
    64 template<
typename Derived>
    65 template<
typename OtherDerived>
    73 #if !(defined(EIGEN_NO_STATIC_ASSERT) && defined(EIGEN_NO_DEBUG))    91 template<
typename Derived>
   103 template<
typename Derived>
   118 template<
typename Derived>
   123   _Nested n(derived());
   140 template<
typename Derived>
   161 template<
typename Derived>
   166   _Nested n(derived());
   186 template<
typename Derived>
   199 template<
typename Derived, 
int p>
   206     EIGEN_USING_STD_MATH(
pow)
   207     return pow(m.
cwiseAbs().array().pow(p).sum(), RealScalar(1)/p);
   211 template<
typename Derived>
   221 template<
typename Derived>
   231 template<
typename Derived>
   238     if(Derived::SizeAtCompileTime==0 || (Derived::SizeAtCompileTime==
Dynamic && m.size()==0))
   239       return RealScalar(0);
   256 template<
typename Derived>
   258 #ifndef EIGEN_PARSED_BY_DOXYGEN   276 template<
typename Derived>
   277 template<
typename OtherDerived>
   283   return numext::abs2(nested.dot(otherNested)) <= prec * prec * nested.squaredNorm() * otherNested.squaredNorm();
   297 template<
typename Derived>
   301   for(
Index i = 0; i < cols(); ++i)
   303     if(!internal::isApprox(
self.
col(i).squaredNorm(), static_cast<RealScalar>(1), prec))
   305     for(
Index j = 0; j < i; ++j)
   306       if(!internal::isMuchSmallerThan(
self.
col(i).dot(
self.
col(j)), static_cast<Scalar>(1), prec))
   314 #endif // EIGEN_DOT_H conj_prod::result_type ResScalar
static EIGEN_DEVICE_FUNC NumTraits< typename traits< Derived >::Scalar >::Real run(const MatrixBase< Derived > &m)
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC half pow(const half &a, const half &b)
#define EIGEN_STRONG_INLINE
internal::traits< Derived >::Scalar Scalar
EIGEN_DEVICE_FUNC RealReturnType real() const
#define EIGEN_STATIC_ASSERT_SAME_VECTOR_SIZE(TYPE0, TYPE1)
static EIGEN_DEVICE_FUNC ResScalar run(const MatrixBase< T > &a, const MatrixBase< U > &b)
bool isUnitary(const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const
EIGEN_DEVICE_FUNC ColXpr col(Index i)
This is the const version of col(). */. 
static EIGEN_DEVICE_FUNC NumTraits< typename traits< Derived >::Scalar >::Real run(const MatrixBase< Derived > &m)
static EIGEN_DEVICE_FUNC RealScalar run(const MatrixBase< Derived > &m)
Holds information about the various numeric (i.e. scalar) types allowed by Eigen. ...
EIGEN_DEVICE_FUNC const PlainObject normalized() const
EIGEN_DEVICE_FUNC TransposeReturnType transpose()
EIGEN_DEVICE_FUNC RealScalar squaredNorm() const
NumTraits< typename traits< Derived >::Scalar >::Real RealScalar
EIGEN_DEVICE_FUNC void normalize()
EIGEN_DEVICE_FUNC RealScalar norm() const
conj_prod::result_type ResScalar
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Abs2ReturnType abs2() const
EIGEN_DEVICE_FUNC void stableNormalize()
EIGEN_DEVICE_FUNC RealScalar lpNorm() const
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API. 
NumTraits< Scalar >::Real RealScalar
Base::PlainObject PlainObject
NumTraits< typename traits< Derived >::Scalar >::Real RealScalar
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const CwiseAbsReturnType cwiseAbs() const
scalar_conj_product_op< typename traits< T >::Scalar, typename traits< U >::Scalar > conj_prod
EIGEN_DEVICE_FUNC ScalarBinaryOpTraits< typename internal::traits< Derived >::Scalar, typename internal::traits< OtherDerived >::Scalar >::ReturnType dot(const MatrixBase< OtherDerived > &other) const
EIGEN_DEVICE_FUNC const PlainObject stableNormalized() const
NumTraits< Scalar >::Real RealScalar
ScalarBinaryOpTraits< LhsScalar, RhsScalar, scalar_conj_product_op >::ReturnType result_type
static EIGEN_DEVICE_FUNC ResScalar run(const MatrixBase< T > &a, const MatrixBase< U > &b)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const CwiseAbsReturnType cwiseAbs() const
#define EIGEN_CHECK_BINARY_COMPATIBILIY(BINOP, LHS, RHS)
static EIGEN_DEVICE_FUNC RealScalar run(const MatrixBase< Derived > &m)
Determines whether the given binary operation of two numeric types is allowed and what the scalar ret...
bool isOrthogonal(const MatrixBase< OtherDerived > &other, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE float sqrt(const float &x)
#define EIGEN_STATIC_ASSERT_VECTOR_ONLY(TYPE)
Base class for all dense matrices, vectors, and expressions. 
scalar_conj_product_op< typename traits< T >::Scalar, typename traits< U >::Scalar > conj_prod