braket.default_simulator.noise_operations module

class braket.default_simulator.noise_operations.BitFlip(targets, probability)[source]

Bases: KrausOperation

Bit Flip noise channel

property matrices: list[ndarray]

A list of matrices representing Kraus operators.

Type:

list[np.ndarray]

property targets: tuple[int, ...]

The indices of the qubits the operation applies to.

Note: For an index to be a target of an observable, the observable must have a nontrivial (i.e. non-identity) action on that index. For example, a tensor product observable with a Z factor on qubit j acts trivially on j, so j would not be a target. This does not apply to gate operations.

Type:

tuple[int, …]

property probability
class braket.default_simulator.noise_operations.PhaseFlip(targets, probability)[source]

Bases: KrausOperation

Phase Flip noise channel

property matrices: list[ndarray]

A list of matrices representing Kraus operators.

Type:

list[np.ndarray]

property targets: tuple[int, ...]

The indices of the qubits the operation applies to.

Note: For an index to be a target of an observable, the observable must have a nontrivial (i.e. non-identity) action on that index. For example, a tensor product observable with a Z factor on qubit j acts trivially on j, so j would not be a target. This does not apply to gate operations.

Type:

tuple[int, …]

property probability
class braket.default_simulator.noise_operations.PauliChannel(targets, probX, probY, probZ)[source]

Bases: KrausOperation

Pauli noise channel

property matrices: list[ndarray]

A list of matrices representing Kraus operators.

Type:

list[np.ndarray]

property targets: tuple[int, ...]

The indices of the qubits the operation applies to.

Note: For an index to be a target of an observable, the observable must have a nontrivial (i.e. non-identity) action on that index. For example, a tensor product observable with a Z factor on qubit j acts trivially on j, so j would not be a target. This does not apply to gate operations.

Type:

tuple[int, …]

property probabilities
class braket.default_simulator.noise_operations.Depolarizing(targets, probability)[source]

Bases: KrausOperation

Depolarizing noise channel

property matrices: list[ndarray]

A list of matrices representing Kraus operators.

Type:

list[np.ndarray]

property targets: tuple[int, ...]

The indices of the qubits the operation applies to.

Note: For an index to be a target of an observable, the observable must have a nontrivial (i.e. non-identity) action on that index. For example, a tensor product observable with a Z factor on qubit j acts trivially on j, so j would not be a target. This does not apply to gate operations.

Type:

tuple[int, …]

property probability
class braket.default_simulator.noise_operations.TwoQubitDepolarizing(targets, probability)[source]

Bases: KrausOperation

Two-qubit Depolarizing noise channel

property matrices: list[ndarray]

A list of matrices representing Kraus operators.

Type:

list[np.ndarray]

property targets: tuple[int, ...]

The indices of the qubits the operation applies to.

Note: For an index to be a target of an observable, the observable must have a nontrivial (i.e. non-identity) action on that index. For example, a tensor product observable with a Z factor on qubit j acts trivially on j, so j would not be a target. This does not apply to gate operations.

Type:

tuple[int, …]

property probability
class braket.default_simulator.noise_operations.TwoQubitDephasing(targets, probability)[source]

Bases: KrausOperation

Two-qubit Dephasing noise channel

property matrices: list[ndarray]

A list of matrices representing Kraus operators.

Type:

list[np.ndarray]

property targets: tuple[int, ...]

The indices of the qubits the operation applies to.

Note: For an index to be a target of an observable, the observable must have a nontrivial (i.e. non-identity) action on that index. For example, a tensor product observable with a Z factor on qubit j acts trivially on j, so j would not be a target. This does not apply to gate operations.

Type:

tuple[int, …]

property probability
class braket.default_simulator.noise_operations.AmplitudeDamping(targets, gamma)[source]

Bases: KrausOperation

Amplitude Damping noise channel

property matrices: list[ndarray]

A list of matrices representing Kraus operators.

Type:

list[np.ndarray]

property targets: tuple[int, ...]

The indices of the qubits the operation applies to.

Note: For an index to be a target of an observable, the observable must have a nontrivial (i.e. non-identity) action on that index. For example, a tensor product observable with a Z factor on qubit j acts trivially on j, so j would not be a target. This does not apply to gate operations.

Type:

tuple[int, …]

property gamma
class braket.default_simulator.noise_operations.GeneralizedAmplitudeDamping(targets, gamma, probability)[source]

Bases: KrausOperation

Generalized Amplitude Damping noise channel

property matrices: list[ndarray]

A list of matrices representing Kraus operators.

Type:

list[np.ndarray]

property targets: tuple[int, ...]

The indices of the qubits the operation applies to.

Note: For an index to be a target of an observable, the observable must have a nontrivial (i.e. non-identity) action on that index. For example, a tensor product observable with a Z factor on qubit j acts trivially on j, so j would not be a target. This does not apply to gate operations.

Type:

tuple[int, …]

property probability
property gamma
class braket.default_simulator.noise_operations.PhaseDamping(targets, gamma)[source]

Bases: KrausOperation

Phase Damping noise channel

property matrices: list[ndarray]

A list of matrices representing Kraus operators.

Type:

list[np.ndarray]

property targets: tuple[int, ...]

The indices of the qubits the operation applies to.

Note: For an index to be a target of an observable, the observable must have a nontrivial (i.e. non-identity) action on that index. For example, a tensor product observable with a Z factor on qubit j acts trivially on j, so j would not be a target. This does not apply to gate operations.

Type:

tuple[int, …]

property gamma
class braket.default_simulator.noise_operations.Kraus(targets, matrices)[source]

Bases: KrausOperation

Arbitrary quantum channel that evolve a density matrix through the operator-sum formalism with the provided matrices as Kraus operators.

property matrices: list[ndarray]

A list of matrices representing Kraus operators.

Type:

list[np.ndarray]

property targets: tuple[int, ...]

The indices of the qubits the operation applies to.

Note: For an index to be a target of an observable, the observable must have a nontrivial (i.e. non-identity) action on that index. For example, a tensor product observable with a Z factor on qubit j acts trivially on j, so j would not be a target. This does not apply to gate operations.

Type:

tuple[int, …]

class braket.default_simulator.noise_operations.TwoQubitPauliChannel(targets, probabilities)[source]

Bases: KrausOperation

Two qubit Pauli noise channel

property matrices: list[ndarray]

A list of matrices representing Kraus operators.

Type:

list[np.ndarray]

property targets: tuple[int, ...]

The indices of the qubits the operation applies to.

Note: For an index to be a target of an observable, the observable must have a nontrivial (i.e. non-identity) action on that index. For example, a tensor product observable with a Z factor on qubit j acts trivially on j, so j would not be a target. This does not apply to gate operations.

Type:

tuple[int, …]