workbench_algorithms.utils.compression_gadget_utils
Compression Gadget utilities.
PowerCompressionGadgetStrategy
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 |
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
|
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 |
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
|