# 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. 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 mode. dot(x, y) Lazily perform the dot product between arrays, tensors, and QNodeCollection. draw(_qnode[, charset, wire_order]) draw(qnode, charset=”unicode”): Create a function that draws the given _qnode. 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. 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. Scan installed PennyLane plugins to refresh the device list. sample(op) Sample from the supplied observable, with the number of shots determined from the dev.shots attribute of the corresponding device. Lazily sum the constituent QNodes of a QNodeCollection. Returns whether tape mode is enabled. template(func) Register a quantum template with PennyLane. var(op) Variance of the supplied observable. 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. BitFlip(p, wires) Single-qubit bit flip (Pauli $$X$$) error channel. 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. ExpvalCost(ansatz, hamiltonian, device[, …]) Create a cost function that gives the expectation value of an input Hamiltonian. 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. PhaseFlip(p, wires) Single-qubit bit flip (Pauli $$Z$$) 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, cache]) 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 SX(wires) The single-qubit Square-Root X 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(*args, **kwargs) Create a cost function that gives the expectation value of an input Hamiltonian. X(wires) The position quadrature observable $$\hat{x}$$. grad(fun[, argnum]) Returns the gradient as a callable function of (functions of) QNodes.

## Variables¶

 entry Object representing an advertised importable object