# shrinkage.HybridStep

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
HybridStep(
    kind: typing.Literal["backtracking", "fixed_bound"],
    initial_curvature: float | None = None,
    max_backtracks: int = 100
)
```

Curvature policy for hybrid proximal-gradient transitions.

Use `backtracking` or `fixed_bound`. A fixed bound uses the design's Frobenius bound. Backtracking doubles curvature after rejected trials. Logistic outer step halvings have a separate budget on [`HybridCoordinateDescent`](<eca5e50cc47f0bc5b5503fecf690058ec2fb996c9f55c8a08e0486d734563328>).

<a id="kind"></a>

## `kind`

```python
kind: typing.Literal["backtracking", "fixed_bound"]
```

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

<a id="initial_curvature"></a>

## `initial_curvature`

```python
initial_curvature: float | None = None
```

[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 = 100
```

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

<a id="backtracking"></a>

## `backtracking`

```python
backtracking(
    *,
    initial_curvature: float | None = None,
    max_backtracks: int = 100
) -> shrinkage.HybridStep
```

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

Use a positive seed or the largest averaged column curvature.

<a id="fixed_bound"></a>

## `fixed_bound`

```python
fixed_bound() -> shrinkage.HybridStep
```

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

Use a computed global curvature bound without a spectral estimate.
