Skip to content
Construct PsiQDK Algorithms

compression_gadget_utils

compression_gadget_utils

ListOfBlockEncodingsCompressionGadget

ListOfBlockEncodingsCompressionGadget(list_strategies: tuple[Qubrick] | list[Qubrick], data: tuple | list)

Implementation of a CompressionGadgetStrategy for a list of block-encodings.

Parameters:

Name Type Description Default
list_strategies tuple[Qubrick] | list[Qubrick]

List of strategies to apply the block-encodings.

required
data tuple | list

List of block-encoding's data.

required

list_strategies property

list_strategies

List of strategies.

data property

data

List of data.

apply_compression_gadget_block_encoding

apply_compression_gadget_block_encoding(system_reg: Qubits, be_anc: Qubits, idx: int, ctrl: Qubits | int = 0)

Apply block-encoding strategy of kth block-encoding.

Parameters:

Name Type Description Default
system_reg Qubits

System register.

required
be_anc Qubits

Block-encoding auxiliary qubits.

required
idx int

Index of the strategy to used.

required
ctrl Qubits | int

Control register. Default to 0.

0

PowerCompressionGadgetStrategy

PowerCompressionGadgetStrategy(block_encoding_strategy: Qubrick, data)

Implementation of a CompressionGadgetStrategy to implement \(H^n\).

Parameters:

Name Type Description Default
block_encoding_strategy Qubrick

Strategy to apply the block-encoding.

required
data Any

Block-encoding's data.

required

block_encoding_strategy property

block_encoding_strategy

Block-encoding strategy.

data property

data

Block-encoding's data.

apply_compression_gadget_block_encoding

apply_compression_gadget_block_encoding(system_reg: Qubits, be_anc: Qubits, idx: int, ctrl: Qubits | int = 0)

Apply block-encoding strategy of k-th block-encoding.

Parameters:

Name Type Description Default
system_reg Qubits

System register.

required
be_anc Qubits

Block-encoding auxiliary qubits.

required
idx int

Index of the strategy to use.

required
ctrl Qubits | int

Control register. Default to 0.

0