# shrinkage.ProximalGradient

Shrinkage for Python · 0.2.0

[Source](<https://github.com/jolars/shrinkage/blob/eeafe449edce19d3c552a03060f681ae3891af74/packages/python/src/shrinkage/solver.py>)

<a id="constructor"></a>

```python
ProximalGradient(
    *,
    stopping: StoppingCriterion | None = None,
    max_iterations: int = 10000,
    initial_step: float = 1.0,
    max_backtracks: int = 100,
    screening: bool = True
)
```

Backtracking PG on the original Gaussian or binomial objective.

`max_iterations` limits accepted proximal updates. `initial_step` is finite and positive, and `max_backtracks` limits step halvings per iteration, with zero permitting only the first trial. `stopping=None` uses absolute full-space mapping tolerance `1e-6`. Gap and KKT criteria are rejected. Screening is enabled by default; heuristic working sets are available through [`HybridCoordinateDescent`](<eca5e50cc47f0bc5b5503fecf690058ec2fb996c9f55c8a08e0486d734563328>).

<a id="stopping"></a>

## `stopping`

```python
stopping: StoppingCriterion | None = field(default=None, kw_only=True)
```

[Source](<https://github.com/jolars/shrinkage/blob/eeafe449edce19d3c552a03060f681ae3891af74/packages/python/src/shrinkage/solver.py>)

<a id="max_iterations"></a>

## `max_iterations`

```python
max_iterations: int = field(default=10_000, kw_only=True)
```

[Source](<https://github.com/jolars/shrinkage/blob/eeafe449edce19d3c552a03060f681ae3891af74/packages/python/src/shrinkage/solver.py>)

<a id="initial_step"></a>

## `initial_step`

```python
initial_step: float = field(default=1.0, kw_only=True)
```

[Source](<https://github.com/jolars/shrinkage/blob/eeafe449edce19d3c552a03060f681ae3891af74/packages/python/src/shrinkage/solver.py>)

<a id="max_backtracks"></a>

## `max_backtracks`

```python
max_backtracks: int = field(default=100, kw_only=True)
```

[Source](<https://github.com/jolars/shrinkage/blob/eeafe449edce19d3c552a03060f681ae3891af74/packages/python/src/shrinkage/solver.py>)

<a id="screening"></a>

## `screening`

```python
screening: bool = field(default=True, kw_only=True)
```

[Source](<https://github.com/jolars/shrinkage/blob/eeafe449edce19d3c552a03060f681ae3891af74/packages/python/src/shrinkage/solver.py>)
