# pllm.nonlinear Python API

Public objects, practical usage, and research context for pllm.nonlinear.

[View canonical HTML](https://pllm.run/sdk/reference/python/pllm/nonlinear/)

Document ID: `pllm.docs.reference.python.pllm.nonlinear`  
Release: `0.1.0`

Nonlinear components identify approximation or protected-evaluation methods separately from their scheduling strategy and executable coverage. Presence documents API availability, not complete model, security, or deployment coverage; check [implementation status](/sdk/reference/status/) before relying on a path.

## Research context

Relevant design inputs: [Garbling Gadgets](/research/papers/r03-garbling-gadgets/), [Compact](/research/papers/r18-compact/). PLLM's implementation and evidence claims remain independent.

## Python SDK example

The example performs a bounded offline task and checks an observable result. It does not download a checkpoint or contact a provider.

```python
import pllm.nonlinear as nonlinear

methods = [nonlinear.BinaryTableGatedMultiplyQ7(), nonlinear.R03CrtGatedMultiplyQ7()]
assert [method.component for method in methods] == ["pllm/binary-table/v1", "pllm/r03-crt/v1"]
```

API: [`pllm.nonlinear`](/sdk/reference/python/pllm/nonlinear/#objects-and-signatures)

## Objects and signatures

### `ArithmeticGarblingSiluQ7`

Selects component `pllm/arithmetic-garbling-silu-q7/v1` during `runtime`; it provides `protected-silu-q7` for roles client, inference.

- Canonical object: `pllm.nonlinear.ArithmeticGarblingSiluQ7`
- Kind: `class`
- Signature/type: `__init__(self) -> None`
- Public exports: `pllm.nonlinear.ArithmeticGarblingSiluQ7`
- Public members: `descriptor: ComponentDescriptor`; `__init__(self) -> None`; `classmethod describe(cls) -> ComponentDescriptor`

### `BinaryTableGatedMultiplyQ7`

Selects component `pllm/binary-table/v1` during `compilation`; it provides `protected-gated-multiply-q7` for roles client, inference.

- Canonical object: `pllm.nonlinear.BinaryTableGatedMultiplyQ7`
- Kind: `class`
- Signature/type: `__init__(self) -> None`
- Public exports: `pllm.nonlinear.BinaryTableGatedMultiplyQ7`
- Public members: `descriptor: ComponentDescriptor`; `__init__(self) -> None`; `classmethod describe(cls) -> ComponentDescriptor`

### `NonlinearProtocol`

Immutable `NonlinearProtocol` record carrying `component`, `params` for the workflow where nonlinear components identify approximation or protected-evaluation methods separately from their scheduling strategy and executable coverage.

- Canonical object: `pllm.nonlinear.NonlinearProtocol`
- Kind: `class`
- Signature/type: `constructor not exposed`
- Public exports: `pllm.nonlinear.NonlinearProtocol`

### `R03CrtGatedMultiplyQ7`

Selects component `pllm/r03-crt/v1` during `compilation`; it provides `protected-gated-multiply-q7` for roles client, inference.

- Canonical object: `pllm.nonlinear.R03CrtGatedMultiplyQ7`
- Kind: `class`
- Signature/type: `__init__(self) -> None`
- Public exports: `pllm.nonlinear.R03CrtGatedMultiplyQ7`
- Public members: `descriptor: ComponentDescriptor`; `__init__(self) -> None`; `classmethod describe(cls) -> ComponentDescriptor`
