qml

This is the top level module from which all basic functions and classes of PennyLane can be directly imported.

Functions

QNode(func, device, *[, interface, mutable, …])

QNode constructor for creating QNodes.

about()

Prints the information for pennylane installation.

apply(func, qnode_collection)

Apply a function to the constituent QNodes of a QNodeCollection.

broadcast(unitary, wires, pattern[, …])

Applies a unitary multiple times to a specific pattern of wires.

device(name[, wires])

Load a Device and return the instance.

disable_tape()

Disable tape mode.

dot(x, y)

Lazily perform the dot product between arrays, tensors, and QNodeCollection.

enable_tape()

Enable tape mode.

expval(op)

Expectation value of the supplied observable.

from_pyquil(pyquil_program)

Loads pyQuil Program objects by using the converter in the PennyLane-Forest plugin.

from_qasm(quantum_circuit)

Loads quantum circuits from a QASM string using the converter in the PennyLane-Qiskit plugin.

from_qasm_file(qasm_filename)

Loads quantum circuits from a QASM file using the converter in the PennyLane-Qiskit plugin.

from_qiskit(quantum_circuit)

Loads Qiskit QuantumCircuit objects by using the converter in the PennyLane-Qiskit plugin.

from_quil(quil)

Loads quantum circuits from a Quil string using the converter in the PennyLane-Forest plugin.

from_quil_file(quil_filename)

Loads quantum circuits from a Quil file using the converter in the PennyLane-Forest plugin.

grad(func[, argnum])

Returns the gradient as a callable function of (functions of) QNodes.

inv(operation_list)

Invert a list of operations or a template.

jacobian(func[, argnum])

Returns the Jacobian as a callable function of vector-valued (functions of) QNodes.

layer(template, depth, *args, **kwargs)

Repeatedly applies a unitary a given number of times.

load(quantum_circuit_object, format)

Load external quantum assembly and quantum circuits from supported frameworks into PennyLane templates.

map(template, observables, device[, …])

Map a quantum template over a list of observables to create a QNodeCollection.

probs(wires)

Probability of each computational basis state.

qnode(device, *[, interface, mutable, …])

Decorator for creating QNodes.

sample(op)

Sample from the supplied observable, with the number of shots determined from the dev.shots attribute of the corresponding device.

sum(x)

Lazily sum the constituent QNodes of a QNodeCollection.

template(func)

Register a quantum template with PennyLane.

var(op)

Variance of the supplied observable.

version()

Returns the PennyLane version number.

Classes

AdagradOptimizer([stepsize, eps])

Gradient-descent optimizer with past-gradient-dependent learning rate in each dimension.

AdamOptimizer([stepsize, beta1, beta2, eps])

Gradient-descent optimizer with adaptive learning rate, first and second moment.

AmplitudeDamping(gamma, wires)

Single-qubit amplitude damping error channel.

BasisState(n, wires)

Prepares a single computational basis state.

Beamsplitter(theta, phi, wires)

Beamsplitter interaction.

CNOT(wires)

The controlled-NOT operator

CRX(phi, wires)

The controlled-RX operator

CRY(phi, wires)

The controlled-RY operator

CRZ(phi, wires)

The controlled-RZ operator

CRot(phi, theta, omega, wires)

The controlled-Rot operator

CSWAP(wires)

The controlled-swap operator

CY(wires)

The controlled-Y operator

CZ(wires)

The controlled-Z operator

CatState(a, phi, p, wires)

Prepares a cat state.

CircuitGraph(ops, variable_deps, wires)

Represents a quantum circuit as a directed acyclic graph.

CoherentState(a, phi, wires)

Prepares a coherent state.

Configuration(name)

Configuration class.

ControlledAddition(s, wires)

Controlled addition operation.

ControlledPhase(s, wires)

Controlled phase operation.

CrossKerr(kappa, wires)

Cross-Kerr interaction.

CubicPhase(gamma, wires)

Cubic phase shift.

DepolarizingChannel(p, wires)

Single-qubit symmetrically depolarizing error channel.

Device([wires, shots])

Abstract base class for PennyLane devices.

DeviceError

Exception raised by a Device when it encounters an illegal operation in the quantum circuit.

DiagonalQubitUnitary(D, wires)

Apply an arbitrary fixed diagonal unitary matrix.

DisplacedSqueezedState(a, phi_a, r, phi_r, wires)

Prepares a displaced squeezed vacuum state.

Displacement(a, phi, wires)

Phase space displacement.

FockDensityMatrix(state, wires)

Prepare subsystems using the given density matrix in the Fock basis.

FockState(n, wires)

Prepares a single Fock state.

FockStateProjector(n, wires)

The number state observable \(\ket{n}\bra{n}\).

FockStateVector(state, wires)

Prepare subsystems using the given ket vector in the Fock basis.

GaussianState(r, V, wires)

Prepare subsystems in a given Gaussian state.

GeneralizedAmplitudeDamping(gamma, p, wires)

Single-qubit generalized amplitude damping error channel.

GradientDescentOptimizer([stepsize])

Basic gradient-descent optimizer.

Hadamard(wires)

The Hadamard operator

Hamiltonian(coeffs, observables[, simplify])

Lightweight class for representing Hamiltonians for Variational Quantum Eigensolver problems.

Hermitian(A, wires)

An arbitrary Hermitian observable.

Identity(wires)

The identity observable \(\I\).

Interferometer(U, wires)

A linear interferometer transforming the bosonic operators according to the unitary matrix \(U\).

Kerr(kappa, wires)

Kerr interaction.

MomentumOptimizer([stepsize, momentum])

Gradient-descent optimizer with momentum.

MultiRZ(theta, wires)

Arbitrary multi Z rotation.

NestedAttrError

This class mocks out the qchem module in case it is not installed.

NesterovMomentumOptimizer([stepsize, momentum])

Gradient-descent optimizer with Nesterov momentum.

NumberOperator(wires)

The photon number observable \(\langle \hat{n}\rangle\).

P(wires)

The momentum quadrature observable \(\hat{p}\).

PauliRot(theta, pauli_word, wires)

Arbitrary Pauli word rotation.

PauliX(wires)

The Pauli X operator

PauliY(wires)

The Pauli Y operator

PauliZ(wires)

The Pauli Z operator

PhaseDamping(gamma, wires)

Single-qubit phase damping error channel.

PhaseShift(phi, wires)

Arbitrary single qubit local phase shift

PolyXP(q, wires)

An arbitrary second-order polynomial observable.

QNGOptimizer([stepsize, diag_approx, lam])

Optimizer with adaptive learning rate, via calculation of the diagonal or block-diagonal approximation to the Fubini-Study metric tensor.

QNodeCollection([qnodes])

Represents a sequence of independent QNodes that all share the same signature.

QuadOperator(phi, wires)

The generalized quadrature observable \(\x_\phi = \x cos\phi+\p\sin\phi\).

QuadraticPhase(s, wires)

Quadratic phase shift.

QuantumFunctionError

Exception raised when an illegal operation is defined in a quantum function.

QubitChannel(K_list, wires)

Apply an arbitrary fixed quantum channel.

QubitDevice([wires, shots, analytic])

Abstract base class for PennyLane qubit devices.

QubitStateVector(state, wires)

Prepare subsystems using the given ket vector in the computational basis.

QubitUnitary(U, wires)

Apply an arbitrary fixed unitary matrix.

QueuingContext

Abstract base class for classes that exposes a queue for objects.

RMSPropOptimizer([stepsize, decay, eps])

Root mean squared propagation optimizer.

RX(phi, wires)

The single qubit X rotation

RY(phi, wires)

The single qubit Y rotation

RZ(phi, wires)

The single qubit Z rotation

Rot(phi, theta, omega, wires)

Arbitrary single qubit rotation

Rotation(phi, wires)

Phase space rotation.

RotoselectOptimizer([possible_generators])

Rotoselect gradient-free optimizer.

RotosolveOptimizer

Rotosolve gradient free optimizer.

S(wires)

The single-qubit phase gate

SWAP(wires)

The swap operator

SqueezedState(r, phi, wires)

Prepares a squeezed vacuum state.

Squeezing(r, phi, wires)

Phase space squeezing.

T(wires)

The single-qubit T gate

TensorN(wires)

The tensor product of the NumberOperator acting on different wires.

ThermalState(nbar, wires)

Prepares a thermal state.

Toffoli(wires)

Toffoli (controlled-controlled-X) gate.

TwoModeSqueezing(r, phi, wires)

Phase space two-mode squeezing.

U1(phi)

U1 gate.

U2(phi, lambda, wires)

U2 gate.

U3(theta, phi, lambda, wires)

Arbitrary single qubit unitary.

VQECost(ansatz, hamiltonian, device[, …])

Create a VQE cost function, i.e., a cost function returning the expectation value of a Hamiltonian.

X(wires)

The position quadrature observable \(\hat{x}\).

Variables

entry

Object representing an advertised importable object

Class Inheritance Diagram

Inheritance diagram of pennylane.optimize.adagrad.AdagradOptimizer, pennylane.optimize.adam.AdamOptimizer, pennylane.ops.channel.AmplitudeDamping, pennylane.ops.qubit.BasisState, pennylane.ops.cv.Beamsplitter, pennylane.ops.qubit.CNOT, pennylane.ops.qubit.CRX, pennylane.ops.qubit.CRY, pennylane.ops.qubit.CRZ, pennylane.ops.qubit.CRot, pennylane.ops.qubit.CSWAP, pennylane.ops.qubit.CY, pennylane.ops.qubit.CZ, pennylane.ops.cv.CatState, pennylane.circuit_graph.CircuitGraph, pennylane.ops.cv.CoherentState, pennylane.configuration.Configuration, pennylane.ops.cv.ControlledAddition, pennylane.ops.cv.ControlledPhase, pennylane.ops.cv.CrossKerr, pennylane.ops.cv.CubicPhase, pennylane.ops.channel.DepolarizingChannel, pennylane._device.Device, pennylane._device.DeviceError, pennylane.ops.qubit.DiagonalQubitUnitary, pennylane.ops.cv.DisplacedSqueezedState, pennylane.ops.cv.Displacement, pennylane.ops.cv.FockDensityMatrix, pennylane.ops.cv.FockState, pennylane.ops.cv.FockStateProjector, pennylane.ops.cv.FockStateVector, pennylane.ops.cv.GaussianState, pennylane.ops.channel.GeneralizedAmplitudeDamping, pennylane.optimize.gradient_descent.GradientDescentOptimizer, pennylane.ops.qubit.Hadamard, pennylane.vqe.vqe.Hamiltonian, pennylane.ops.qubit.Hermitian, pennylane.ops.Identity, pennylane.ops.cv.Interferometer, pennylane.ops.cv.Kerr, pennylane.optimize.momentum.MomentumOptimizer, pennylane.ops.qubit.MultiRZ, pennylane.NestedAttrError, pennylane.optimize.nesterov_momentum.NesterovMomentumOptimizer, pennylane.ops.cv.NumberOperator, pennylane.ops.cv.P, pennylane.ops.qubit.PauliRot, pennylane.ops.qubit.PauliX, pennylane.ops.qubit.PauliY, pennylane.ops.qubit.PauliZ, pennylane.ops.channel.PhaseDamping, pennylane.ops.qubit.PhaseShift, pennylane.ops.cv.PolyXP, pennylane.optimize.qng.QNGOptimizer, pennylane.collections.qnode_collection.QNodeCollection, pennylane.ops.cv.QuadOperator, pennylane.ops.cv.QuadraticPhase, pennylane.qnodes.base.QuantumFunctionError, pennylane.ops.channel.QubitChannel, pennylane._qubit_device.QubitDevice, pennylane.ops.qubit.QubitStateVector, pennylane.ops.qubit.QubitUnitary, pennylane._queuing.QueuingContext, pennylane.optimize.rms_prop.RMSPropOptimizer, pennylane.ops.qubit.RX, pennylane.ops.qubit.RY, pennylane.ops.qubit.RZ, pennylane.ops.qubit.Rot, pennylane.ops.cv.Rotation, pennylane.optimize.rotoselect.RotoselectOptimizer, pennylane.optimize.rotosolve.RotosolveOptimizer, pennylane.ops.qubit.S, pennylane.ops.qubit.SWAP, pennylane.ops.cv.SqueezedState, pennylane.ops.cv.Squeezing, pennylane.ops.qubit.T, pennylane.ops.cv.TensorN, pennylane.ops.cv.ThermalState, pennylane.ops.qubit.Toffoli, pennylane.ops.cv.TwoModeSqueezing, pennylane.ops.qubit.U1, pennylane.ops.qubit.U2, pennylane.ops.qubit.U3, pennylane.vqe.vqe.VQECost, pennylane.ops.cv.X