problem

class StoppingCriteria[source]

Bases: ABC

Abstract base class for iteration stopping criteria

abstract satisfied(previous_iterate, current_iterate)

Specifies if criteria is satisfied. :param current_iterate: :param previous_iterate: :return:

Parameters
Return type

bool

class ResidualNormStoppingCriteria(tol=1e-09)[source]

Bases: StoppingCriteria

__init__(tol=1e-09)

Stopping criteria based on the relative residual between two iterations is less than a given tolerance :param tol: tolerance for residual

property tol
satisfied(previous_iterate, current_iterate)

Returns true if

\[\frac{\|X_{\text{prev}} - X_{\text{curr}}\||_{F}}{\|X_{\text{prev}}\|_{F}} < tol.\]
Parameters
  • previous_iterate (ndarray) – \(X_{\text{prev}\)

  • current_iterate (ndarray) – \(X_{\text{curr}\)

Returns

class Problem(measurement_operator, data, indexing_order=None, input_shape=None)[source]

Bases: object

Parameters
__init__(measurement_operator, data, indexing_order=None, input_shape=None)

Description for a rank minimization problem

\[\min_{x \in \mathbb{C}^{d_1 \times d_2}} \operatorname{rank}(x), \text{s.t.} \Phi(x) = y,\]
Parameters
solve(schatten_p_parameter, max_iter=1000, rank_estimate=None, regularization_rule=None, weighted_least_squares_solver=<hmirls.weighted_least_squares.ScipyCgWeightedLeastSquaresSolver object>, stopping_criteria=<hmirls.problem.ResidualNormStoppingCriteria object>)
Parameters
Returns