
3.41.0

Enumeration class of all matrix chain multiplication methods available to multiply a Faust to a matrix or to compute Faust.full(). These methods are used by Faust.optimize_time(). More...
Public Attributes  
Constant Property  DEFAULT_L2R =0 
The default method, it computes the product from the right to the left. More...  
Constant Property  DYNPROG =5 
This method implements the classic dynamic programming solution of the chain matrix problem. More...  
Constant Property  TORCH_CPU_L2R =8 
This method computes the product of the matrix chain from the left to the right using the Torch C++ library (CPU backend). More...  
Constant Property  TORCH_CPU_GREEDY =9 
Constant Property  TORCH_CPU_DENSE_DYNPROG_SPARSE_L2R =10 
The same as TORCH_CPU_L2R except that torch::chain_matmul is used to compute in one call the intermediary product of dense contiguous factors, then the result is multiplied by sparse factors if any remains. More...  
Enumeration class of all matrix chain multiplication methods available to multiply a Faust to a matrix or to compute Faust.full(). These methods are used by Faust.optimize_time().
Constant Property matfaust::FaustMulMode::DEFAULT_L2R =0 
The default method, it computes the product from the right to the left.
Constant Property matfaust::FaustMulMode::DYNPROG =5 
This method implements the classic dynamic programming solution of the chain matrix problem.
See https://en.wikipedia.org/wiki/Matrix_chain_multiplication#A_dynamic_programming_algorithm. Note that the standard method is extended in order to take into account the complexity of multiplications including a sparse matrix (because that's not the same cost than multiplying dense matrices).
Constant Property matfaust::FaustMulMode::TORCH_CPU_DENSE_DYNPROG_SPARSE_L2R =10 
The same as TORCH_CPU_L2R except that torch::chain_matmul is used to compute in one call the intermediary product of dense contiguous factors, then the result is multiplied by sparse factors if any remains.
torch::chain_matmul follows the dynamic programming principle as DYNPROG method does (but the former handles only dense matrices).
References: https://pytorch.org/cppdocs/api/function_namespaceat_1aee491a9ff453b6033b4106516bc61a9d.html?highlight=chain_matmul https://pytorch.org/docs/stable/generated/torch.chain_matmul.html?highlight=chain_matmul#torch.chain_matmul This method is only available for the specific packages pyfaust_torch.
Constant Property matfaust::FaustMulMode::TORCH_CPU_GREEDY =9 
The computational cost depends on the matrix dimensions and the number of nonzeros (when a matrix is in sparse format).
This method is only available for the specific packages pyfaust_torch.
Constant Property matfaust::FaustMulMode::TORCH_CPU_L2R =8 
This method computes the product of the matrix chain from the left to the right using the Torch C++ library (CPU backend).
This method is only available for the specific packages pyfaust_torch.