pdft.bases.freeze_as_blocked

pdft.bases.freeze_as_blocked#

pdft.bases.freeze_as_blocked(basis, block_log_m, block_log_n)[source]#

Return (basis_copy_with_identity_outer_gates, frozen_indices).

Training the returned basis with frozen_indices reproduces BlockedBasis(inner, block_log_m, block_log_n) training dynamics, where inner is the same basis type at (m - block_log_m, n - block_log_n). The outer (block-index) gates are reset to identity; inner gates keep the input basis’s tensor values.

Supports QFTBasis, RichBasis, RealRichBasis.

block_log_m == block_log_n == 0 is a valid no-op: no qubits are block-index qubits, so nothing is frozen and frozen_indices is empty (the returned basis is a tensor-copy of the input).

Parameters:
  • basis (Any)

  • block_log_m (int)

  • block_log_n (int)

Return type:

tuple[Any, list[int]]