pdft.bases.TEBDBasis#

class pdft.bases.TEBDBasis(m, n, tensors=None, phases=None, code=None, inv_code=None, seed=None, parametrization='cp')[source]#

Bases: object

2D TEBD basis with row + column rings of controlled-phase gates.

Mirror of upstream src/basis.jl:600-745.

Parameters:
__init__(m, n, tensors=None, phases=None, code=None, inv_code=None, seed=None, parametrization='cp')[source]#

When seed is provided AND phases is None, draws phases from np.random.default_rng(seed).normal(0, 0.1, n_row_gates + n_col_gates) — Julia’s randn(n_gates) * 0.1 convention from ParametricDFT.jl/src/training.jl::_init_circuit.

parametrization is “cp” (diagonal ring gates on U(1)^4) or “u4” (dense two-qubit ring gates on U(4), the canonical TEBD gate).

Parameters:

Methods

__init__(m, n[, tensors, phases, code, ...])

When seed is provided AND phases is None, draws phases from np.random.default_rng(seed).normal(0, 0.1, n_row_gates + n_col_gates) — Julia's randn(n_gates) * 0.1 convention from ParametricDFT.jl/src/training.jl::_init_circuit.

forward_transform(pic)

inverse_transform(pic)

Attributes

m: int#
n: int#
n_row_gates: int#
n_col_gates: int#
tensors: list[Array]#
code: object#
inv_code: object#
property inv_tensors: list[Array]#
property image_size: tuple[int, int]#
property num_parameters: int#
forward_transform(pic)[source]#
Parameters:

pic (Array)

Return type:

Array

inverse_transform(pic)[source]#
Parameters:

pic (Array)

Return type:

Array