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))
37 return a.template binaryExpr<conj_prod>(
b).sum();
41 template<
typename T,
typename U>
50 return a.
transpose().template binaryExpr<conj_prod>(
b).sum();
67 template<
typename Derived>
68 template<
typename OtherDerived>
77 #if !(defined(EIGEN_NO_STATIC_ASSERT) && defined(EIGEN_NO_DEBUG)) 95 template<
typename Derived>
107 template<
typename Derived>
122 template<
typename Derived>
127 _Nested
n(derived());
144 template<
typename Derived>
165 template<
typename Derived>
170 _Nested
n(derived());
190 template<
typename Derived>
203 template<
typename Derived,
int p>
215 template<
typename Derived>
225 template<
typename Derived>
235 template<
typename Derived>
242 if(Derived::SizeAtCompileTime==0 || (Derived::SizeAtCompileTime==
Dynamic && m.size()==0))
260 template<
typename Derived>
262 #ifndef EIGEN_PARSED_BY_DOXYGEN 280 template<
typename Derived>
281 template<
typename OtherDerived>
287 return numext::abs2(nested.dot(otherNested)) <= prec * prec * nested.squaredNorm() * otherNested.squaredNorm();
301 template<
typename Derived>
318 #endif // EIGEN_DOT_H
conj_prod::result_type ResScalar
static EIGEN_DEVICE_FUNC NumTraits< typename traits< Derived >::Scalar >::Real run(const MatrixBase< Derived > &m)
#define EIGEN_STRONG_INLINE
EIGEN_DEVICE_FUNC bool isMuchSmallerThan(const Scalar &x, const OtherScalar &y, const typename NumTraits< Scalar >::Real &precision=NumTraits< Scalar >::dummy_precision())
internal::traits< Derived >::Scalar Scalar
#define EIGEN_STATIC_ASSERT_SAME_VECTOR_SIZE(TYPE0, TYPE1)
EIGEN_DEVICE_FUNC void normalize()
EIGEN_DEVICE_FUNC RealScalar squaredNorm() const
bool isUnitary(const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const
EIGEN_DEVICE_FUNC const PlainObject normalized() const
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)
Namespace containing all symbols from the Eigen library.
EIGEN_DEVICE_FUNC RealScalar norm() const
Holds information about the various numeric (i.e. scalar) types allowed by Eigen. ...
NumTraits< typename traits< Derived >::Scalar >::Real RealScalar
EIGEN_DEVICE_FUNC void stableNormalize()
conj_prod::result_type ResScalar
Scalar EIGEN_BLAS_FUNC() dot(int *n, RealScalar *px, int *incx, RealScalar *py, int *incy)
EIGEN_DEVICE_FUNC RealScalar lpNorm() const
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
NumTraits< Scalar >::Real RealScalar
Eigen::Triplet< double > T
EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE ResScalar run(const MatrixBase< T > &a, const MatrixBase< U > &b)
EIGEN_DEVICE_FUNC ScalarBinaryOpTraits< typename internal::traits< Derived >::Scalar, typename internal::traits< OtherDerived >::Scalar >::ReturnType dot(const MatrixBase< OtherDerived > &other) const
Base::PlainObject PlainObject
NumTraits< typename traits< Derived >::Scalar >::Real RealScalar
EIGEN_DEVICE_FUNC const PlainObject stableNormalized() const
NumTraits< 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_CONSTEXPR Index size(const T &x)
#define EIGEN_DEVICE_FUNC
mp::number< mp::cpp_dec_float< 100 >, mp::et_on > Real
NumTraits< Scalar >::Real RealScalar
#define EIGEN_USING_STD(FUNC)
ScalarBinaryOpTraits< LhsScalar, RhsScalar, scalar_conj_product_op >::ReturnType result_type
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
Jet< T, N > pow(const Jet< T, N > &f, double g)
Generic expression where a coefficient-wise unary operator is applied to an expression.
EIGEN_DEVICE_FUNC bool isApprox(const Scalar &x, const Scalar &y, const typename NumTraits< Scalar >::Real &precision=NumTraits< Scalar >::dummy_precision())
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE float sqrt(const float &x)
#define EIGEN_STATIC_ASSERT_VECTOR_ONLY(TYPE)
EIGEN_DEVICE_FUNC bool abs2(bool x)
EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE ResScalar run(const MatrixBase< T > &a, const MatrixBase< U > &b)
Base class for all dense matrices, vectors, and expressions.
EIGEN_DEVICE_FUNC TransposeReturnType transpose()
scalar_conj_product_op< typename traits< T >::Scalar, typename traits< U >::Scalar > conj_prod