10 #ifndef EIGEN_DETERMINANT_H
11 #define EIGEN_DETERMINANT_H
20 template <
typename Derived>
26 template <
typename Derived,
int DeterminantType = Derived::RowsAtCompileTime>
30 return m.partialPivLu().determinant();
34 template <
typename Derived>
39 template <
typename Derived>
42 return m.coeff(0, 0) *
m.coeff(1, 1) -
m.coeff(1, 0) *
m.coeff(0, 1);
46 template <
typename Derived>
53 template <
typename Derived>
63 Scalar d3_0 = det3(
m, 1, d2_23, 2, d2_13, 3, d2_12);
64 Scalar d3_1 = det3(
m, 0, d2_23, 2, d2_03, 3, d2_02);
65 Scalar d3_2 = det3(
m, 0, d2_13, 1, d2_03, 3, d2_01);
66 Scalar d3_3 = det3(
m, 0, d2_12, 1, d2_02, 2, d2_01);
73 return m(i0, 0) *
m(i1, 1) -
m(i1, 0) *
m(i0, 1);
89 template <
typename Derived>
#define EIGEN_DEVICE_FUNC
Definition: Macros.h:892
#define eigen_assert(x)
Definition: Macros.h:910
int rows
Definition: Tutorial_commainit_02.cpp:1
int cols
Definition: Tutorial_commainit_02.cpp:1
Scalar * b
Definition: benchVecAdd.cpp:17
SCALAR Scalar
Definition: bench_gemm.cpp:45
Base class for all dense matrices, vectors, and expressions.
Definition: MatrixBase.h:52
EIGEN_DEVICE_FUNC Scalar determinant() const
Definition: Determinant.h:90
Eigen::Map< Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor >, 0, Eigen::OuterStride<> > matrix(T *data, int rows, int cols, int stride)
Definition: common.h:85
const Scalar * a
Definition: level2_cplx_impl.h:32
int * m
Definition: level2_cplx_impl.h:294
EIGEN_STRONG_INLINE Packet4f pmadd(const Packet4f &a, const Packet4f &b, const Packet4f &c)
Definition: AltiVec/PacketMath.h:1218
EIGEN_DEVICE_FUNC const Derived::Scalar bruteforce_det3_helper(const MatrixBase< Derived > &matrix, int a, int b, int c)
Definition: Determinant.h:21
Namespace containing all symbols from the Eigen library.
Definition: bench_norm.cpp:70
auto run(Kernel kernel, Args &&... args) -> decltype(kernel(args...))
Definition: gpu_test_helper.h:414
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:83
const int Dynamic
Definition: Constants.h:25
int c
Definition: calibrate.py:100
Definition: Eigen_Colamd.h:49
static EIGEN_DEVICE_FUNC traits< Derived >::Scalar run(const Derived &m)
Definition: Determinant.h:36
static EIGEN_DEVICE_FUNC traits< Derived >::Scalar run(const Derived &m)
Definition: Determinant.h:41
static EIGEN_DEVICE_FUNC traits< Derived >::Scalar run(const Derived &m)
Definition: Determinant.h:48
static EIGEN_DEVICE_FUNC Scalar det3(const Derived &m, Index i0, const Scalar &d0, Index i1, const Scalar &d1, Index i2, const Scalar &d2)
Definition: Determinant.h:76
static EIGEN_DEVICE_FUNC Scalar run(const Derived &m)
Definition: Determinant.h:56
traits< Derived >::Scalar Scalar
Definition: Determinant.h:55
static EIGEN_DEVICE_FUNC Scalar det2(const Derived &m, Index i0, Index i1)
Definition: Determinant.h:72
Definition: Determinant.h:27
static traits< Derived >::Scalar run(const Derived &m)
Definition: Determinant.h:28
std::conditional_t< Evaluate, PlainObject, typename ref_selector< T >::type > type
Definition: XprHelper.h:549
Definition: ForwardDeclarations.h:21