TVM  0.9.4
tvm::hint::internal::DiagonalCalculator Class Reference

#include <tvm/hint/internal/DiagonalCalculator.h>

Inheritance diagram for tvm::hint::internal::DiagonalCalculator:
Collaboration diagram for tvm::hint::internal::DiagonalCalculator:

Classes

class  Impl
 

Public Member Functions

 DiagonalCalculator (Eigen::DenseIndex first=0, Eigen::DenseIndex size=-1)
 
 DiagonalCalculator (const std::vector< Eigen::DenseIndex > &nnzRows, const std::vector< Eigen::DenseIndex > &zeroRows={})
 
- Public Member Functions inherited from tvm::hint::abstract::SubstitutionCalculator
virtual ~SubstitutionCalculator ()=default
 
std::unique_ptr< SubstitutionCalculatorImplimpl (const std::vector< LinearConstraintPtr > &cstr, const std::vector< VariablePtr > &x, int rank) const
 

Protected Member Functions

std::unique_ptr< abstract::SubstitutionCalculatorImplimpl_ (const std::vector< LinearConstraintPtr > &cstr, const std::vector< VariablePtr > &x, int rank) const
 

Detailed Description

A calculator for all matrices that are the row selection of a diagonal matrix. The structure of the matrix (position of non-zero elements) is assumed to be constant.

Constructor & Destructor Documentation

◆ DiagonalCalculator() [1/2]

tvm::hint::internal::DiagonalCalculator::DiagonalCalculator ( Eigen::DenseIndex  first = 0,
Eigen::DenseIndex  size = -1 
)

Continuous rows of a diagonal matrix starting at row first of this matrix and finishing at row first + size (not included). If size = -1, finishes at the last row.

◆ DiagonalCalculator() [2/2]

tvm::hint::internal::DiagonalCalculator::DiagonalCalculator ( const std::vector< Eigen::DenseIndex > &  nnzRows,
const std::vector< Eigen::DenseIndex > &  zeroRows = {} 
)

Non-continuous rows of a diagonal matrix

Parameters
nnzRowsindices of the rows with a non-zero element.
zeroRowsindices of the rows (if any) with only zero

Examples: Knowing that it describes a matrix with 6 columns, nnzRows = {0,2,3}, zeroRows = {} corresponds to the shape x 0 0 0 0 0 0 0 x 0 0 0 0 0 0 x 0 0

while nnzRows = {0,2,3}, zeroRows = {1,4} corresponds to x 0 0 0 0 0 0 0 0 0 0 0 0 0 x 0 0 0 0 0 0 x 0 0 0 0 0 0 0 0

Member Function Documentation

◆ impl_()

std::unique_ptr<abstract::SubstitutionCalculatorImpl> tvm::hint::internal::DiagonalCalculator::impl_ ( const std::vector< LinearConstraintPtr > &  cstr,
const std::vector< VariablePtr > &  x,
int  rank 
) const
protectedvirtual

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