Eigen::KroneckerProductBase< Derived > Class Template Reference

The base class of dense and sparse Kronecker product. More...

#include <KroneckerTensorProduct.h>

+ Inheritance diagram for Eigen::KroneckerProductBase< Derived >:

Public Member Functions

 KroneckerProductBase (const Lhs &A, const Rhs &B)
 Constructor. More...
 
Index rows () const
 
Index cols () const
 
Scalar coeff (Index row, Index col) const
 
Scalar coeff (Index i) const
 
- Public Member Functions inherited from Eigen::ReturnByValue< Derived >
template<typename Dest >
EIGEN_DEVICE_FUNC void evalTo (Dest &dst) const
 
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index rows () const EIGEN_NOEXCEPT
 
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index cols () const EIGEN_NOEXCEPT
 
const Unusablecoeff (Index) const
 
const Unusablecoeff (Index, Index) const
 
UnusablecoeffRef (Index)
 
UnusablecoeffRef (Index, Index)
 

Protected Types

typedef Traits::Lhs Lhs
 
typedef Traits::Rhs Rhs
 

Protected Attributes

Lhs::Nested m_A
 
Rhs::Nested m_B
 

Private Types

typedef internal::traits< Derived > Traits
 
typedef Traits::Scalar Scalar
 

Additional Inherited Members

- Public Types inherited from Eigen::ReturnByValue< Derived >
typedef internal::traits< Derived >::ReturnType ReturnType
 
typedef internal::dense_xpr_base< ReturnByValue >::type Base
 

Detailed Description

template<typename Derived>
class Eigen::KroneckerProductBase< Derived >

The base class of dense and sparse Kronecker product.

Template Parameters
Derivedis the derived type.

Member Typedef Documentation

◆ Lhs

template<typename Derived >
typedef Traits::Lhs Eigen::KroneckerProductBase< Derived >::Lhs
protected

◆ Rhs

template<typename Derived >
typedef Traits::Rhs Eigen::KroneckerProductBase< Derived >::Rhs
protected

◆ Scalar

template<typename Derived >
typedef Traits::Scalar Eigen::KroneckerProductBase< Derived >::Scalar
private

◆ Traits

template<typename Derived >
typedef internal::traits<Derived> Eigen::KroneckerProductBase< Derived >::Traits
private

Constructor & Destructor Documentation

◆ KroneckerProductBase()

template<typename Derived >
Eigen::KroneckerProductBase< Derived >::KroneckerProductBase ( const Lhs A,
const Rhs B 
)
inline

Constructor.

39 : m_A(A), m_B(B) {}
Matrix< SCALARA, Dynamic, Dynamic, opt_A > A
Definition: bench_gemm.cpp:47
Rhs::Nested m_B
Definition: KroneckerTensorProduct.h:63
Lhs::Nested m_A
Definition: KroneckerTensorProduct.h:62
Definition: matrices.h:74

Member Function Documentation

◆ coeff() [1/2]

template<typename Derived >
Scalar Eigen::KroneckerProductBase< Derived >::coeff ( Index  i) const
inline

This overrides ReturnByValue::coeff because this function is efficient enough.

56  {
58  return m_A.coeff(i / m_A.size()) * m_B.coeff(i % m_A.size());
59  }
int i
Definition: BiCGSTAB_step_by_step.cpp:9
#define EIGEN_STATIC_ASSERT_VECTOR_ONLY(TYPE)
Definition: StaticAssert.h:36

References EIGEN_STATIC_ASSERT_VECTOR_ONLY, i, Eigen::KroneckerProductBase< Derived >::m_A, and Eigen::KroneckerProductBase< Derived >::m_B.

◆ coeff() [2/2]

template<typename Derived >
Scalar Eigen::KroneckerProductBase< Derived >::coeff ( Index  row,
Index  col 
) const
inline

This overrides ReturnByValue::coeff because this function is efficient enough.

48  {
49  return m_A.coeff(row / m_B.rows(), col / m_B.cols()) * m_B.coeff(row % m_B.rows(), col % m_B.cols());
50  }
m col(1)
m row(1)

References col(), Eigen::KroneckerProductBase< Derived >::m_A, Eigen::KroneckerProductBase< Derived >::m_B, and row().

◆ cols()

◆ rows()

Member Data Documentation

◆ m_A

◆ m_B


The documentation for this class was generated from the following file: