Recent Releases of indirect-zne
indirect-zne - v1.0
New config, new features, improved code readibility.
- Jupyter Notebook
Published by arijit-ship 9 months ago
indirect-zne - Initial version
Initial release
Config details
```
Run configurations: Choose from 'vqe', 'redundant', and 'zne'.
run: "redundant"
System configuration
nqubits: 4
State options: 'dmatrix' and 'statevector'
state: "dmatrix"
Target Hamiltonian configuration
observable: # Definition options: 'custom', 'ising', or 'heisenberg'. # 'custom' and 'ising' are created using a Hamiltonian with terms XZ-Z (this is NOT any standard familier XY model, we call it 'Fancy XY-model Hamiltonian'). def: "ising" # WARNING: Coefficients can be overwritten: # 'custom': Not overwritten. # 'ising': cn, bn, r are overwritten to [0.5], [1], 1. # 'heisenberg': Only cn is used (will NOT be overwritten); bn and r are not used. coefficients: cn: [0.5, 0.5, 0.5] bn: [1.0, 1.0, 1.0, 1.0] r: 1
Output configuration
output: filenameprefix: "testexperiment" draw: status: True figdpi: 100 type: "png"
(1) Variational Quantum Eigensolver (VQE) configuration
vqe: iteration: 1
# Optimization configuration optimization: status: True algorithm: "SLSQP" constraint: False
# Circuit configuration ansatz: # Type options: 'custom', 'xy-iss', 'ising', and 'heisenberg'. # 'custom' and 'ising' are created using a Hamiltonian with terms XZ-Z (this is NOT any standard familier XY model, we call it 'Fancy XY-model Hamiltonian'). # WARNING: For ZNE redundant circuit, the ansatz type must be 'xy-iss' (stands for XY identity-scaling-supported). type: "xy-iss" layer: 1 gateset: 1 ugate: # WARNING: Coefficients can be overwritten: # 'custom': Not overwritten. # 'xy-iss': cn, bn, r are overwritten to [0.5], [0], 0. # 'ising': cn, bn, r are overwritten to [0.5], [1], 1. # 'heisenberg': Only cn is used (will NOT be overwritten); bn and r are not used. coefficients: cn: [0.5, 0.5, 0.5] bn: [0, 0, 0, 0] r: 0 time: min: 0.0 max: 10.0 noise: status: True value: [0, 0, 0, 0] # Noise probabilities for [r, cz, u, y] gates.
# Initial parameters for the ansatz: "random" or "List[float]"
init_param: "random"
(2) Redundant circuit configuration
# Identity factors for r, U, Y, and CZ gates # WARNING: Identity scaling for the U gate is only possible if vqe.ansatz.type is 'xy-iss'. For other types, the identity factor for the U gate must be set to 0. identity_factors: [ [1, 0, 0, 0], [1, 1, 0, 0], [1, 1, 1, 1] ]
(3) Zero noise extrapolation (ZNE) configuration
zne: # Method options: 'linear', 'polynomial', 'richardson', or 'richardson-mul'. # 'linear' and 'polynomial' use scikit-learn for regression. method: "richardson"
# Degree is only applicable for 'polynomial' and 'richardson-mul'. For 'richardson', degree is computed based on the number of data points. degree: 1
# Sampling method options: 'default', 'default-N', or 'random-N', where N is an integer. # 'default' - samples all points. # 'default-N' - samples the first N points. # 'random-N' - samples N points randomly. sampling: "default-2"
# Data points for extrapolation data_points: [[12, 1, 0, 3, -3.4161775440796838], [20, 7, 10, 3, -0.05166483365312464], [20, 3, 18, 3, -0.24895356624222376], [28, 9, 6, 7, -0.07447160728654578], [12, 5, 34, 3, -0.0010315076068858672], [12, 5, 26, 1, -0.005839864429826224]] ```
- Jupyter Notebook
Published by arijit-ship 11 months ago