Skip to content
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions Wrappers/Python/cil/optimisation/algorithms/PDHG.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,15 @@ class PDHG(Algorithm):
Parameters
----------
f : Function
A convex function with a "simple" proximal method of its conjugate.
A convex function with a "simple" proximal method of its conjugate. This function must map from the operator range to the Reals, as :math: `f(Kx)` or :math: `f^{*}(x)` will be the contribution to the total objective. See below for details.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
A convex function with a "simple" proximal method of its conjugate. This function must map from the operator range to the Reals, as :math: `f(Kx)` or :math: `f^{*}(x)` will be the contribution to the total objective. See below for details.
A convex function with a "simple" proximal method of its conjugate. This function must map from the operator range to the Reals, as :math: `f(Kx)` will be the contribution to the total objective. See below for details.

I think leave the convex conjugate out for now?

g : Function
A convex function with a "simple" proximal.
A convex function with a "simple" proximal. This function must map from the operator domain to the Reals. See below for details.
operator : LinearOperator
A Linear Operator.
sigma : positive :obj:`float`, or `np.ndarray`, `DataContainer`, `BlockDataContainer`, optional, default is 1.0/norm(K) or 1.0/ (tau*norm(K)**2) if tau is provided
Step size for the dual problem.
Step size for the dual problem. Needs to obey constraints with tau and operator norm to be valid, see below for details.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Step size for the dual problem. Needs to obey constraints with tau and operator norm to be valid, see below for details.
Step size for the dual problem. Needs to obey constraints with tau and operator norm to satisfy convergence guarantees, see below for details.

Potentially? Valid is interesting as you get step sizes that don't meet the convergence guarantees but still lead to convergence... and this can vastly speed things up!

tau : positive :obj:`float`, or `np.ndarray`, `DataContainer`, `BlockDataContainer`, optional, default is 1.0/norm(K) or 1.0/ (sigma*norm(K)**2) if sigma is provided
Step size for the primal problem.
Step size for the primal problem. Needs to obey constraints with sigma and operator's norm to be valid, see below for details.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Step size for the primal problem. Needs to obey constraints with sigma and operator's norm to be valid, see below for details.
Step size for the primal problem. Needs to obey constraints with sigma and operator's norm to satisfy convergence guarantees, see below for details.

initial : `DataContainer`, or `list` or `tuple` of `DataContainer`s, optional, default is a DataContainer of zeros for both primal and dual variables
Initial point for the PDHG algorithm. If just one data container is provided, it is used for the primal and the dual variable is initialised as zeros. If a list or tuple is passed, the first element is used for the primal variable and the second one for the dual variable. If either of the two is not provided, it is initialised as a DataContainer of zeros.
gamma_g : positive :obj:`float`, optional, default=None
Expand Down
Loading