# qml.templates¶

This module provides a growing library of templates of common variational circuit architectures that can be used to easily build, evaluate, and train quantum nodes.

## Embeddings¶

Embeddings are templates that take features and encode them into a quantum state. They can optionally be repeated, and may contain trainable parameters. Embeddings are typically used at the beginning of a circuit.

### Functions¶

`AmplitudeEmbedding` (features, wires[, pad, …]) |
Encodes \(2^n\) features into the amplitude vector of \(n\) qubits. |

`AngleEmbedding` (features, wires[, rotation]) |
Encodes \(N\) features into the rotation angles of \(n\) qubits, where \(N \leq n\). |

`SqueezingEmbedding` (features, wires[, method, c]) |
Encodes \(N\) features into the squeezing amplitudes \(r \geq 0\) or phases \(\phi \in [0, 2\pi)\) of \(M\) modes, where \(N\leq M\). |

`BasisEmbedding` (features, wires) |
Encodes \(n\) binary features into a basis state of \(n\) qubits. |

`DisplacementEmbedding` (features, wires[, …]) |
Encodes \(N\) features into the displacement amplitudes \(r\) or phases \(\phi\) of \(M\) modes, |

## Layers¶

Layers are trainable templates that are typically repeated, using different adjustable parameters in each repetition. They implement a transformation from a quantum state to another quantum state.

### Functions¶

`StronglyEntanglingLayers` (weights, wires[, …]) |
Layers consisting of single qubit rotations and entanglers, inspired by the circuit-centric classifier design arXiv:1804.00633. |

`CVNeuralNetLayers` (theta_1, phi_1, varphi_1, …) |
A sequence of layers of a continuous-variable quantum neural network, as specified in arXiv:1806.06871. |

`RandomLayers` (weights, wires[, ratio_imprim, …]) |
Layers of randomly chosen single qubit rotations and 2-qubit entangling gates, acting on randomly chosen qubits. |

## Subroutines¶

Subroutines are the most basic template, consisting of a collection of quantum operations. As opposed to layers and embeddings, subroutines do not encode features, and they have no native option to be applied repeatedly.

### Functions¶

`Interferometer` (theta, phi, varphi, wires[, …]) |
General linear interferometer, an array of beamsplitters and phase shifters. |

## State preperations¶

State preperations are templates that prepare a given quantum state, by decomposing it into elementary operations.

### Functions¶

`BasisStatePreparation` (basis_state, wires) |
Prepares a basis state on the given wires using a sequence of Pauli X gates. |

`MottonenStatePreparation` (state_vector, wires) |
Prepares an arbitrary state on the given wires using a decomposition into gates developed by Möttönen et al. |

## Contents

## Downloads