Skip to content

workbench_algorithms.utils.compression_gadget_utils

Compression Gadget utilities.

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: Union[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 ancillas.

required
idx int

Index of the strategy to use.

required
ctrl Union[Qubits, int]

Control register. Default to 0.

0

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: Union[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 ancillas.

required
idx int

Index of the strategy to used.

required
ctrl Union[Qubits, int]

Control register. Default to 0.

0