-  3.41.0
matfaust::factparams::ParamsHierarchical Class Reference

The parent class to set input parameters for the hierarchical factorization algorithm. More...

Public Member Functions

function ParamsHierarchical (fact_constraints, res_constraints, stop_crit1, stop_crit2, varargin)
 Constructor. More...
 
- Public Member Functions inherited from matfaust::factparams::ParamsFact
function ParamsFact (num_facts, constraints, varargin)
 

Protected Attributes

Constant Property DEFAULT_IS_FACT_SIDE_LEFT = false
 
- Protected Attributes inherited from matfaust::factparams::ParamsFact
Constant Property DEFAULT_STEP_SIZE = 10
 
Constant Property DEFAULT_VERBOSITY = false
 
Constant Property DEFAULT_CONSTANT_STEP_SIZE = false
 
Constant Property DEFAULT_INIT_LAMBDA = 1.0
 
Constant Property DEFAULT_IS_UPDATE_WAY_R2L = false
 
Constant Property DEFAULT_PACKING_RL = true
 
Constant Property DEFAULT_FACTOR_FORMAT = 'dynamic'
 
Constant Property DEFAULT_NO_NORMALIZATION = false
 
Constant Property DEFAULT_NO_LAMBDA = false
 
Constant Property DEFAULT_NORM2_MAX_ITER = 0
 
Constant Property DEFAULT_NORM2_THRESHOLD = 0
 
Constant Property IDX_FACTOR_FORMAT = 9
 
Constant Property IDX_PACKING_RL = 10
 
Constant Property IDX_NO_NORMALIZATION = 11
 
Constant Property IDX_NO_LAMBDA = 12
 

Additional Inherited Members

- Static Public Member Functions inherited from matfaust::factparams::ParamsFact
static function factor_format_str2int (factor_format)
 
static function parse_opt_args (cell_args, opt_arg_names, opt_arg_map)
 
static function get_constraints (constraints)
 Returns a cell array of constraints from constraints which is a ConstraintList or cell array that can be a mix of pyfaust.factparams.ConstraintGeneric or pyfaust.proj.proj_gen. If projs is a ConstraintList then the function just returns the same object as is. More...
 
- Public Attributes inherited from matfaust::factparams::ParamsFact
Property step_size
 
Property constant_step_size
 
Property factor_format
 
Property packing_RL
 
Property norm2_max_iter
 
Property norm2_threshold
 
Property use_MHTP
 
Property no_normalization
 
Property no_lambda
 

Detailed Description

The parent class to set input parameters for the hierarchical factorization algorithm.

Constructor & Destructor Documentation

◆ ParamsHierarchical()

function matfaust::factparams::ParamsHierarchical::ParamsHierarchical ( fact_constraints  ,
res_constraints  ,
stop_crit1  ,
stop_crit2  ,
varargin   
)

Constructor.

Parameters
fact_constraintsa ConstraintList object or a list of matfaust.proj.proj_gen objects to define the constraints of the main factor at each level of the factorization hierarchy (the first one for the first factorization and so on).
res_constraintsa ConstraintList object or a list of matfaust.proj.proj_gen objects to define the constraints to apply to the residual factor at each level of the factorization hierarchy (the first one for the first factorization and so on).
stop_crit1a matfaust.factparams.StoppingCriterion instance which defines the algorithm stopping criterion for the local optimization of the 2 terms of the last factorization (a main factor and a residual).
stop_crit2a matfaust.factparams.StoppingCriterion instance which defines the algorithm stopping criterion for the global optimization.
'is_update_way_R2L',boolif true matfaust.fact.palm4msa (called for each optimization stage) will update factors from the right to the left, otherwise it's done in reverse order.
'init_lambda',realthe scale scalar initial value for the global optimization (by default the value is one). It applies only to local optimization at each iteration (the global optimization lambda is updated consequently).
'step_size',realthe initial step of the PALM descent for both local and global optimization stages.
'constant_step_size',boolif true the step_size keeps constant along the algorithm iterations otherwise it is updated before every factor update.
'is_fact_side_left',boolif true the leftmost factor is factorized, otherwise it's the rightmost.
'is_verbose',booltrue to enable the verbose mode.
'factor_format',str(optional) 'dynamic' (by default), 'dense', or 'sparse'. If 'dense' or 'sparse' then all factors will be respectively full arrays or sparse matrices. If 'dynamic' is used then the algorithm determines the format of each factor automatically in order to decrease the memory footprint of the Faust. This option is available only on the 2020 backend matfaust.fact.palm4msa, matfaust.fact.hierarchical or matfaust.fact.palm4msa_mhtp, matfaust.fact.hierarchical_mhtp.
'packing_RL',booltrue (by default) to pre-compute R and L products (only available with 2020 backend of pyfaust.fact.hierarchical).
'no_normalization',boolfalse (by default), if true it disables the normalization of prox output matrix in PALM4MSA algorithm. Note that this option is experimental (only available with 2020 backend of pyfaust.fact.palm4msa).
'no_lambda',boolfalse (by default), if true it disables the lambda scalar factor in the PALM4MSA algorithm which consists basically to set it always to one (it also lowers the algorithm cost).
'norm2_max_iter',intmaximum number of iterations of power iteration algorithm (default to 100). Used for computing 2-norm.
'norm2_threshold',realpower iteration algorithm threshold (default to 1e-6). Used for computing 2-norm.
'grad_calc_opt_mode',intthe mode used for computing the PALM gradient. It can be one value among matfaust.factparams.ParamsFact.EXTERNAL_OPT, matfaust.factparams.ParamsFact.INTERNAL_OPT or matfaust.factparams.ParamsFact.DISABLED_OPT. This parameter is experimental, its value shouln't be changed.

Member Data Documentation

◆ DEFAULT_IS_FACT_SIDE_LEFT

Constant Property matfaust::factparams::ParamsHierarchical::DEFAULT_IS_FACT_SIDE_LEFT = false
protected

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