Quantum++  v0.8.7-devel
C++11 quantum computing library
qpp::experimental::MatrixView< Derived > Class Template Reference

Matrix view class, maps between a matrix and a multi-dimensional array. More...

#include <experimental/experimental.h>

Inheritance diagram for qpp::experimental::MatrixView< Derived >:
Collaboration diagram for qpp::experimental::MatrixView< Derived >:

Public Member Functions

 MatrixView (const Eigen::MatrixBase< Derived > &A, const std::vector< idx > perm, const std::vector< idx > dims)
 
 MatrixView (const Eigen::MatrixBase< Derived > &A, const std::vector< idx > perm, idx d=2)
 
std::vector< idxperm () const noexcept
 
std::vector< idxdims () const noexcept
 
Derived::Scalar operator() (idx i, idx j=0) const override
 
- Public Member Functions inherited from qpp::experimental::MatrixViewBase< Derived >
 MatrixViewBase (const Eigen::MatrixBase< Derived > &A)
 
 MatrixViewBase (const Eigen::MatrixBase< Derived > &&A)=delete
 
idx rows () const noexcept
 
idx cols () const noexcept
 
const Eigen::MatrixBase< Derived > & get_ref () const noexcept
 
Eigen::Matrix< typename Derived::Scalar, Eigen::Dynamic, Eigen::Dynamic > get_copy () const
 
 operator Eigen::Matrix< typename Derived::Scalar, Eigen::Dynamic, Eigen::Dynamic > () const
 
Derived::Scalar at (idx i, idx j=0) const
 
virtual ~MatrixViewBase ()=default
 

Private Attributes

const std::vector< idx_perm
 
const std::vector< idx_dims
 

Additional Inherited Members

- Protected Attributes inherited from qpp::experimental::MatrixViewBase< Derived >
const Eigen::MatrixBase< Derived > & _viewA
 

Detailed Description

template<typename Derived>
class qpp::experimental::MatrixView< Derived >

Matrix view class, maps between a matrix and a multi-dimensional array.

Constructor & Destructor Documentation

template<typename Derived>
qpp::experimental::MatrixView< Derived >::MatrixView ( const Eigen::MatrixBase< Derived > &  A,
const std::vector< idx perm,
const std::vector< idx dims 
)
inline
template<typename Derived>
qpp::experimental::MatrixView< Derived >::MatrixView ( const Eigen::MatrixBase< Derived > &  A,
const std::vector< idx perm,
idx  d = 2 
)
inline

Member Function Documentation

template<typename Derived>
std::vector<idx> qpp::experimental::MatrixView< Derived >::dims ( ) const
inlinenoexcept
template<typename Derived>
Derived::Scalar qpp::experimental::MatrixView< Derived >::operator() ( idx  i,
idx  j = 0 
) const
inlineoverridevirtual
template<typename Derived>
std::vector<idx> qpp::experimental::MatrixView< Derived >::perm ( ) const
inlinenoexcept

Member Data Documentation

template<typename Derived>
const std::vector<idx> qpp::experimental::MatrixView< Derived >::_dims
private
template<typename Derived>
const std::vector<idx> qpp::experimental::MatrixView< Derived >::_perm
private

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