From eda820022ba18914c88eb344828e8dd3e72cc501 Mon Sep 17 00:00:00 2001 From: Eric Arellano <14852634+Eric-Arellano@users.noreply.github.com> Date: Tue, 16 Jan 2024 13:41:54 -0500 Subject: [PATCH] Generate current Qiskit and Runtime API docs with GitHub source links (#632) This also brings in some small updates to the Qiskit API docs which go from 0.45.0 to 0.45.1. ``` npm run gen-api -- -p qiskit -v 0.45.1 -a https://github.com/Qiskit/qiskit/actions/runs/7544113590/artifacts/1172709416 npm run gen-api -- -p qiskit-ibm-runtime -v 0.17.0 -a https://github.com/Qiskit/qiskit-ibm-runtime/actions/runs/7504804240/artifacts/1165774594 ``` The second commit adds special casing for 3 Qiskit modules. --- .../qiskit_ibm_runtime.Estimator.md | 2 +- .../qiskit_ibm_runtime.IBMBackend.md | 2 +- ...qiskit_ibm_runtime.QiskitRuntimeService.md | 2 +- .../qiskit_ibm_runtime.RuntimeDecoder.md | 2 +- .../qiskit_ibm_runtime.RuntimeEncoder.md | 2 +- .../qiskit_ibm_runtime.RuntimeJob.md | 2 +- .../qiskit_ibm_runtime.RuntimeOptions.md | 2 +- .../qiskit_ibm_runtime.Sampler.md | 2 +- .../qiskit_ibm_runtime.Session.md | 2 +- ..._ibm_runtime.options.EnvironmentOptions.md | 2 +- ...it_ibm_runtime.options.ExecutionOptions.md | 2 +- .../qiskit_ibm_runtime.options.Options.md | 2 +- ...t_ibm_runtime.options.ResilienceOptions.md | 2 +- ...it_ibm_runtime.options.SimulatorOptions.md | 2 +- ...bm_runtime.options.TranspilationOptions.md | 2 +- docs/api/qiskit/_package.json | 2 +- docs/api/qiskit/algorithms.md | 8 +- docs/api/qiskit/assembler.md | 8 +- docs/api/qiskit/circuit.md | 60 +-- docs/api/qiskit/circuit_classical.md | 66 ++-- docs/api/qiskit/circuit_library.md | 372 +++++++++--------- docs/api/qiskit/circuit_singleton.md | 6 +- docs/api/qiskit/classicalfunction.md | 4 +- docs/api/qiskit/compiler.md | 8 +- docs/api/qiskit/converters.md | 18 +- docs/api/qiskit/dagcircuit.md | 8 +- docs/api/qiskit/exceptions.md | 8 +- docs/api/qiskit/execute.md | 2 +- docs/api/qiskit/extensions.md | 6 +- docs/api/qiskit/opflow.md | 10 +- docs/api/qiskit/passmanager.md | 14 +- docs/api/qiskit/primitives.md | 16 +- docs/api/qiskit/providers.md | 24 +- docs/api/qiskit/providers_basicaer.md | 8 +- docs/api/qiskit/providers_fake_provider.md | 10 +- docs/api/qiskit/providers_models.md | 24 +- docs/api/qiskit/pulse.md | 228 +++++------ docs/api/qiskit/qasm.md | 8 +- docs/api/qiskit/qasm2.md | 16 +- docs/api/qiskit/qasm3.md | 18 +- .../qiskit/qiskit.algorithms.AlgorithmJob.md | 2 +- .../qiskit.algorithms.AmplificationProblem.md | 2 +- .../qiskit.algorithms.AmplitudeAmplifier.md | 2 +- .../qiskit.algorithms.AmplitudeEstimation.md | 2 +- ...it.algorithms.AmplitudeEstimationResult.md | 2 +- .../qiskit.algorithms.AmplitudeEstimator.md | 2 +- ...kit.algorithms.AmplitudeEstimatorResult.md | 2 +- .../qiskit/qiskit.algorithms.Eigensolver.md | 2 +- .../qiskit.algorithms.EigensolverResult.md | 2 +- .../qiskit.algorithms.EstimationProblem.md | 2 +- .../qiskit.algorithms.EvolutionProblem.md | 2 +- .../qiskit.algorithms.EvolutionResult.md | 2 +- ...it.algorithms.FasterAmplitudeEstimation.md | 2 +- ...orithms.FasterAmplitudeEstimationResult.md | 2 +- docs/api/qiskit/qiskit.algorithms.Grover.md | 2 +- .../qiskit/qiskit.algorithms.GroverResult.md | 2 +- ...t.algorithms.HamiltonianPhaseEstimation.md | 2 +- ...rithms.HamiltonianPhaseEstimationResult.md | 2 +- .../qiskit.algorithms.ImaginaryEvolver.md | 2 +- .../qiskit.algorithms.ImaginaryTimeEvolver.md | 2 +- ...algorithms.IterativeAmplitudeEstimation.md | 2 +- ...thms.IterativeAmplitudeEstimationResult.md | 2 +- ...kit.algorithms.IterativePhaseEstimation.md | 2 +- ...ms.MaximumLikelihoodAmplitudeEstimation.md | 2 +- ...imumLikelihoodAmplitudeEstimationResult.md | 2 +- .../qiskit.algorithms.MinimumEigensolver.md | 2 +- ...kit.algorithms.MinimumEigensolverResult.md | 2 +- .../qiskit.algorithms.NumPyEigensolver.md | 2 +- ...skit.algorithms.NumPyMinimumEigensolver.md | 2 +- docs/api/qiskit/qiskit.algorithms.PVQD.md | 2 +- .../qiskit/qiskit.algorithms.PVQDResult.md | 2 +- .../qiskit.algorithms.PhaseEstimation.md | 2 +- ...qiskit.algorithms.PhaseEstimationResult.md | 2 +- .../qiskit.algorithms.PhaseEstimationScale.md | 2 +- docs/api/qiskit/qiskit.algorithms.QAOA.md | 2 +- .../qiskit/qiskit.algorithms.RealEvolver.md | 2 +- .../qiskit.algorithms.RealTimeEvolver.md | 2 +- ...qiskit.algorithms.SciPyImaginaryEvolver.md | 2 +- .../qiskit.algorithms.SciPyRealEvolver.md | 2 +- .../qiskit.algorithms.TimeEvolutionProblem.md | 2 +- .../qiskit.algorithms.TimeEvolutionResult.md | 2 +- .../qiskit/qiskit.algorithms.TrotterQRTE.md | 2 +- docs/api/qiskit/qiskit.algorithms.VQD.md | 2 +- .../api/qiskit/qiskit.algorithms.VQDResult.md | 2 +- docs/api/qiskit/qiskit.algorithms.VQE.md | 2 +- docs/api/qiskit/qiskit.algorithms.VarQITE.md | 2 +- docs/api/qiskit/qiskit.algorithms.VarQRTE.md | 2 +- ...kit.algorithms.eigensolvers.Eigensolver.md | 2 +- ...gorithms.eigensolvers.EigensolverResult.md | 2 +- ...lgorithms.eigensolvers.NumPyEigensolver.md | 2 +- ...hms.eigensolvers.NumPyEigensolverResult.md | 2 +- .../qiskit.algorithms.eigensolvers.VQD.md | 2 +- ...iskit.algorithms.eigensolvers.VQDResult.md | 2 +- .../qiskit/qiskit.algorithms.eigensolvers.md | 4 +- ...orithms.gradients.BaseEstimatorGradient.md | 2 +- .../qiskit.algorithms.gradients.BaseQGT.md | 2 +- ...lgorithms.gradients.BaseSamplerGradient.md | 2 +- ...ithms.gradients.EstimatorGradientResult.md | 2 +- ...s.gradients.FiniteDiffEstimatorGradient.md | 2 +- ...hms.gradients.FiniteDiffSamplerGradient.md | 2 +- ...thms.gradients.LinCombEstimatorGradient.md | 2 +- .../qiskit.algorithms.gradients.LinCombQGT.md | 2 +- ...rithms.gradients.LinCombSamplerGradient.md | 2 +- ...s.gradients.ParamShiftEstimatorGradient.md | 2 +- ...hms.gradients.ParamShiftSamplerGradient.md | 2 +- .../qiskit/qiskit.algorithms.gradients.QFI.md | 2 +- .../qiskit.algorithms.gradients.QFIResult.md | 2 +- .../qiskit.algorithms.gradients.QGTResult.md | 2 +- ...thms.gradients.ReverseEstimatorGradient.md | 2 +- .../qiskit.algorithms.gradients.ReverseQGT.md | 2 +- ...orithms.gradients.SPSAEstimatorGradient.md | 2 +- ...lgorithms.gradients.SPSASamplerGradient.md | 2 +- ...orithms.gradients.SamplerGradientResult.md | 2 +- .../api/qiskit/qiskit.algorithms.gradients.md | 36 +- ...lgorithms.minimum_eigensolvers.AdaptVQE.md | 2 +- ...hms.minimum_eigensolvers.AdaptVQEResult.md | 2 +- ...minimum_eigensolvers.MinimumEigensolver.md | 2 +- ...m_eigensolvers.MinimumEigensolverResult.md | 2 +- ...um_eigensolvers.NumPyMinimumEigensolver.md | 2 +- ...ensolvers.NumPyMinimumEigensolverResult.md | 2 +- ...it.algorithms.minimum_eigensolvers.QAOA.md | 2 +- ...eigensolvers.SamplingMinimumEigensolver.md | 2 +- ...olvers.SamplingMinimumEigensolverResult.md | 2 +- ...rithms.minimum_eigensolvers.SamplingVQE.md | 2 +- ....minimum_eigensolvers.SamplingVQEResult.md | 2 +- ...kit.algorithms.minimum_eigensolvers.VQE.md | 2 +- ...gorithms.minimum_eigensolvers.VQEResult.md | 2 +- .../qiskit.algorithms.minimum_eigensolvers.md | 8 +- .../qiskit.algorithms.optimizers.ADAM.md | 2 +- .../qiskit.algorithms.optimizers.AQGD.md | 2 +- .../qiskit.algorithms.optimizers.AskData.md | 2 +- .../qiskit.algorithms.optimizers.BOBYQA.md | 2 +- .../qiskit/qiskit.algorithms.optimizers.CG.md | 2 +- .../qiskit.algorithms.optimizers.COBYLA.md | 2 +- .../qiskit.algorithms.optimizers.CRS.md | 2 +- .../qiskit.algorithms.optimizers.DIRECT_L.md | 2 +- ...kit.algorithms.optimizers.DIRECT_L_RAND.md | 2 +- .../qiskit.algorithms.optimizers.ESCH.md | 2 +- .../qiskit.algorithms.optimizers.GSLS.md | 2 +- ...t.algorithms.optimizers.GradientDescent.md | 2 +- ...orithms.optimizers.GradientDescentState.md | 2 +- .../qiskit.algorithms.optimizers.IMFIL.md | 2 +- .../qiskit.algorithms.optimizers.ISRES.md | 2 +- .../qiskit.algorithms.optimizers.L_BFGS_B.md | 2 +- .../qiskit.algorithms.optimizers.Minimizer.md | 2 +- ...iskit.algorithms.optimizers.NELDER_MEAD.md | 2 +- .../qiskit.algorithms.optimizers.NFT.md | 2 +- .../qiskit.algorithms.optimizers.Optimizer.md | 2 +- ...t.algorithms.optimizers.OptimizerResult.md | 2 +- ...it.algorithms.optimizers.OptimizerState.md | 2 +- ...rithms.optimizers.OptimizerSupportLevel.md | 2 +- .../qiskit.algorithms.optimizers.POWELL.md | 2 +- .../qiskit.algorithms.optimizers.P_BFGS.md | 2 +- .../qiskit.algorithms.optimizers.QNSPSA.md | 2 +- .../qiskit.algorithms.optimizers.SLSQP.md | 2 +- .../qiskit.algorithms.optimizers.SNOBFIT.md | 2 +- .../qiskit.algorithms.optimizers.SPSA.md | 2 +- ...it.algorithms.optimizers.SciPyOptimizer.md | 2 +- ...lgorithms.optimizers.SteppableOptimizer.md | 2 +- .../qiskit.algorithms.optimizers.TNC.md | 2 +- .../qiskit.algorithms.optimizers.TellData.md | 2 +- .../qiskit.algorithms.optimizers.UMDA.md | 2 +- ...optimizers.optimizer_utils.LearningRate.md | 2 +- ...thms.state_fidelities.BaseStateFidelity.md | 2 +- ...ithms.state_fidelities.ComputeUncompute.md | 2 +- ...ms.state_fidelities.StateFidelityResult.md | 2 +- .../qiskit.algorithms.state_fidelities.md | 4 +- ...ime_evolvers.trotterization.TrotterQRTE.md | 2 +- ...evolvers.variational.ForwardEulerSolver.md | 2 +- ...variational.ImaginaryMcLachlanPrinciple.md | 2 +- ...riational.ImaginaryVariationalPrinciple.md | 2 +- ...vers.variational.RealMcLachlanPrinciple.md | 2 +- ...rs.variational.RealVariationalPrinciple.md | 2 +- ...olvers.variational.VariationalPrinciple.md | 2 +- ...it.algorithms.time_evolvers.variational.md | 12 +- docs/api/qiskit/qiskit.assembler.RunConfig.md | 2 +- .../api/qiskit/qiskit.circuit.AncillaQubit.md | 2 +- .../qiskit/qiskit.circuit.AncillaRegister.md | 2 +- .../qiskit.circuit.AnnotatedOperation.md | 2 +- docs/api/qiskit/qiskit.circuit.Bit.md | 2 +- docs/api/qiskit/qiskit.circuit.BreakLoopOp.md | 2 +- .../qiskit.circuit.CircuitInstruction.md | 2 +- .../qiskit.circuit.ClassicalRegister.md | 2 +- docs/api/qiskit/qiskit.circuit.Clbit.md | 2 +- .../qiskit.circuit.CommutationChecker.md | 2 +- .../qiskit/qiskit.circuit.ContinueLoopOp.md | 2 +- .../qiskit/qiskit.circuit.ControlFlowOp.md | 2 +- .../qiskit/qiskit.circuit.ControlModifier.md | 2 +- .../qiskit/qiskit.circuit.ControlledGate.md | 2 +- docs/api/qiskit/qiskit.circuit.Delay.md | 46 ++- .../qiskit.circuit.EquivalenceLibrary.md | 2 +- docs/api/qiskit/qiskit.circuit.ForLoopOp.md | 2 +- docs/api/qiskit/qiskit.circuit.Gate.md | 2 +- docs/api/qiskit/qiskit.circuit.IfElseOp.md | 2 +- docs/api/qiskit/qiskit.circuit.Instruction.md | 2 +- .../qiskit/qiskit.circuit.InstructionSet.md | 2 +- .../qiskit/qiskit.circuit.InverseModifier.md | 2 +- docs/api/qiskit/qiskit.circuit.Operation.md | 2 +- docs/api/qiskit/qiskit.circuit.Parameter.md | 2 +- .../qiskit.circuit.ParameterExpression.md | 2 +- .../qiskit/qiskit.circuit.ParameterVector.md | 2 +- .../qiskit/qiskit.circuit.PowerModifier.md | 2 +- .../qiskit/qiskit.circuit.QuantumCircuit.md | 6 +- .../qiskit/qiskit.circuit.QuantumRegister.md | 2 +- docs/api/qiskit/qiskit.circuit.Qubit.md | 2 +- docs/api/qiskit/qiskit.circuit.Register.md | 2 +- .../api/qiskit/qiskit.circuit.SwitchCaseOp.md | 2 +- docs/api/qiskit/qiskit.circuit.WhileLoopOp.md | 2 +- ...uit.classicalfunction.BooleanExpression.md | 2 +- ...uit.classicalfunction.ClassicalFunction.md | 2 +- ...tion.ClassicalFunctionCompilerTypeError.md | 2 +- ...calfunction.ClassicalFunctionParseError.md | 2 +- docs/api/qiskit/qiskit.circuit.library.AND.md | 4 +- .../qiskit/qiskit.circuit.library.Barrier.md | 2 +- .../qiskit/qiskit.circuit.library.C3SXGate.md | 2 +- .../qiskit/qiskit.circuit.library.C3XGate.md | 2 +- .../qiskit/qiskit.circuit.library.C4XGate.md | 2 +- .../qiskit/qiskit.circuit.library.CCXGate.md | 10 +- .../qiskit/qiskit.circuit.library.CCZGate.md | 6 +- ...it.circuit.library.CDKMRippleCarryAdder.md | 4 +- .../qiskit/qiskit.circuit.library.CHGate.md | 10 +- .../qiskit.circuit.library.CPhaseGate.md | 6 +- .../qiskit/qiskit.circuit.library.CRXGate.md | 22 +- .../qiskit/qiskit.circuit.library.CRYGate.md | 22 +- .../qiskit/qiskit.circuit.library.CRZGate.md | 10 +- .../qiskit/qiskit.circuit.library.CSGate.md | 6 +- .../qiskit/qiskit.circuit.library.CSXGate.md | 10 +- .../qiskit/qiskit.circuit.library.CSdgGate.md | 6 +- .../qiskit.circuit.library.CSwapGate.md | 12 +- .../qiskit/qiskit.circuit.library.CU1Gate.md | 6 +- .../qiskit/qiskit.circuit.library.CU3Gate.md | 20 +- .../qiskit/qiskit.circuit.library.CUGate.md | 38 +- .../qiskit/qiskit.circuit.library.CXGate.md | 12 +- .../qiskit/qiskit.circuit.library.CYGate.md | 10 +- .../qiskit/qiskit.circuit.library.CZGate.md | 6 +- .../qiskit/qiskit.circuit.library.DCXGate.md | 6 +- .../qiskit/qiskit.circuit.library.Diagonal.md | 10 +- .../qiskit.circuit.library.DiagonalGate.md | 2 +- .../qiskit.circuit.library.DraperQFTAdder.md | 4 +- .../qiskit/qiskit.circuit.library.ECRGate.md | 10 +- .../qiskit.circuit.library.EfficientSU2.md | 4 +- ...t.circuit.library.EvolvedOperatorAnsatz.md | 4 +- .../qiskit.circuit.library.ExactReciprocal.md | 4 +- ...it.circuit.library.ExcitationPreserving.md | 15 +- .../qiskit.circuit.library.FourierChecking.md | 4 +- ...ircuit.library.FunctionalPauliRotations.md | 4 +- docs/api/qiskit/qiskit.circuit.library.GMS.md | 4 +- docs/api/qiskit/qiskit.circuit.library.GR.md | 4 +- docs/api/qiskit/qiskit.circuit.library.GRX.md | 4 +- docs/api/qiskit/qiskit.circuit.library.GRY.md | 4 +- docs/api/qiskit/qiskit.circuit.library.GRZ.md | 4 +- .../qiskit.circuit.library.GlobalPhaseGate.md | 4 +- .../qiskit.circuit.library.GraphState.md | 4 +- .../qiskit.circuit.library.GroverOperator.md | 12 +- .../qiskit/qiskit.circuit.library.HGate.md | 6 +- ...circuit.library.HRSCumulativeMultiplier.md | 4 +- .../qiskit.circuit.library.HamiltonianGate.md | 2 +- ...it.circuit.library.HiddenLinearFunction.md | 4 +- .../qiskit/qiskit.circuit.library.IGate.md | 6 +- docs/api/qiskit/qiskit.circuit.library.IQP.md | 4 +- .../qiskit.circuit.library.Initialize.md | 2 +- .../qiskit.circuit.library.InnerProduct.md | 4 +- ...iskit.circuit.library.IntegerComparator.md | 4 +- .../qiskit/qiskit.circuit.library.Isometry.md | 2 +- ...circuit.library.LinearAmplitudeFunction.md | 4 +- .../qiskit.circuit.library.LinearFunction.md | 10 +- ...it.circuit.library.LinearPauliRotations.md | 4 +- .../api/qiskit/qiskit.circuit.library.MCMT.md | 4 +- .../qiskit.circuit.library.MCMTVChain.md | 4 +- .../qiskit.circuit.library.MCPhaseGate.md | 2 +- .../qiskit/qiskit.circuit.library.MCXGate.md | 2 +- .../qiskit.circuit.library.MCXGrayCode.md | 2 +- .../qiskit.circuit.library.MCXRecursive.md | 2 +- .../qiskit.circuit.library.MCXVChain.md | 2 +- .../qiskit/qiskit.circuit.library.MSGate.md | 2 +- .../qiskit/qiskit.circuit.library.Measure.md | 2 +- .../qiskit/qiskit.circuit.library.NLocal.md | 4 +- docs/api/qiskit/qiskit.circuit.library.OR.md | 4 +- ...skit.circuit.library.PauliEvolutionGate.md | 2 +- .../qiskit.circuit.library.PauliFeatureMap.md | 8 +- .../qiskit.circuit.library.PauliGate.md | 2 +- .../qiskit.circuit.library.PauliTwoDesign.md | 15 +- .../qiskit.circuit.library.Permutation.md | 4 +- .../qiskit.circuit.library.PermutationGate.md | 2 +- .../qiskit.circuit.library.PhaseEstimation.md | 8 +- .../qiskit.circuit.library.PhaseGate.md | 6 +- .../qiskit.circuit.library.PhaseOracle.md | 4 +- ...skit.circuit.library.PiecewiseChebyshev.md | 4 +- ...t.library.PiecewiseLinearPauliRotations.md | 8 +- ...brary.PiecewisePolynomialPauliRotations.md | 8 +- ...ircuit.library.PolynomialPauliRotations.md | 4 +- .../qiskit.circuit.library.QAOAAnsatz.md | 4 +- docs/api/qiskit/qiskit.circuit.library.QFT.md | 4 +- .../qiskit.circuit.library.QuadraticForm.md | 4 +- .../qiskit.circuit.library.QuantumVolume.md | 4 +- .../qiskit/qiskit.circuit.library.RC3XGate.md | 2 +- .../qiskit/qiskit.circuit.library.RCCXGate.md | 2 +- .../qiskit.circuit.library.RGQFTMultiplier.md | 4 +- .../qiskit/qiskit.circuit.library.RGate.md | 12 +- .../qiskit/qiskit.circuit.library.RVGate.md | 14 +- .../qiskit/qiskit.circuit.library.RXGate.md | 12 +- .../qiskit/qiskit.circuit.library.RXXGate.md | 20 +- .../qiskit/qiskit.circuit.library.RYGate.md | 12 +- .../qiskit/qiskit.circuit.library.RYYGate.md | 20 +- .../qiskit/qiskit.circuit.library.RZGate.md | 6 +- .../qiskit/qiskit.circuit.library.RZXGate.md | 38 +- .../qiskit/qiskit.circuit.library.RZZGate.md | 24 +- .../qiskit.circuit.library.RealAmplitudes.md | 5 +- .../qiskit/qiskit.circuit.library.Reset.md | 2 +- .../qiskit/qiskit.circuit.library.SGate.md | 6 +- .../qiskit/qiskit.circuit.library.SXGate.md | 10 +- .../qiskit/qiskit.circuit.library.SXdgGate.md | 10 +- .../qiskit/qiskit.circuit.library.SdgGate.md | 6 +- ...qiskit.circuit.library.StatePreparation.md | 2 +- .../qiskit/qiskit.circuit.library.SwapGate.md | 6 +- .../qiskit/qiskit.circuit.library.TGate.md | 6 +- .../qiskit/qiskit.circuit.library.TdgGate.md | 6 +- .../qiskit/qiskit.circuit.library.TwoLocal.md | 4 +- .../qiskit/qiskit.circuit.library.U1Gate.md | 6 +- .../qiskit/qiskit.circuit.library.U2Gate.md | 6 +- .../qiskit/qiskit.circuit.library.U3Gate.md | 13 +- .../qiskit/qiskit.circuit.library.UCGate.md | 6 +- .../qiskit.circuit.library.UCPauliRotGate.md | 2 +- .../qiskit/qiskit.circuit.library.UCRXGate.md | 2 +- .../qiskit/qiskit.circuit.library.UCRYGate.md | 2 +- .../qiskit/qiskit.circuit.library.UCRZGate.md | 2 +- .../qiskit/qiskit.circuit.library.UGate.md | 14 +- .../qiskit.circuit.library.UnitaryGate.md | 2 +- .../qiskit.circuit.library.UnitaryOverlap.md | 4 +- ...kit.circuit.library.VBERippleCarryAdder.md | 4 +- .../qiskit.circuit.library.WeightedAdder.md | 4 +- .../qiskit/qiskit.circuit.library.XGate.md | 14 +- docs/api/qiskit/qiskit.circuit.library.XOR.md | 4 +- .../qiskit.circuit.library.XXMinusYYGate.md | 34 +- .../qiskit.circuit.library.XXPlusYYGate.md | 32 +- .../qiskit/qiskit.circuit.library.YGate.md | 14 +- .../qiskit.circuit.library.ZFeatureMap.md | 4 +- .../qiskit/qiskit.circuit.library.ZGate.md | 14 +- .../qiskit.circuit.library.ZZFeatureMap.md | 6 +- .../qiskit.circuit.library.iSwapGate.md | 10 +- .../qiskit/qiskit.dagcircuit.DAGCircuit.md | 4 +- .../qiskit/qiskit.dagcircuit.DAGDepNode.md | 2 +- .../qiskit/qiskit.dagcircuit.DAGDependency.md | 2 +- .../api/qiskit/qiskit.dagcircuit.DAGInNode.md | 2 +- docs/api/qiskit/qiskit.dagcircuit.DAGNode.md | 2 +- .../api/qiskit/qiskit.dagcircuit.DAGOpNode.md | 2 +- .../qiskit/qiskit.dagcircuit.DAGOutNode.md | 2 +- .../qiskit.extensions.SingleQubitUnitary.md | 2 +- docs/api/qiskit/qiskit.extensions.Snapshot.md | 2 +- docs/api/qiskit/qiskit.opflow.OperatorBase.md | 2 +- ...qiskit.opflow.converters.AbelianGrouper.md | 2 +- ...qiskit.opflow.converters.CircuitSampler.md | 2 +- .../qiskit.opflow.converters.ConverterBase.md | 2 +- ...skit.opflow.converters.DictToCircuitSum.md | 2 +- ...skit.opflow.converters.PauliBasisChange.md | 2 +- ...kit.opflow.converters.TwoQubitReduction.md | 2 +- docs/api/qiskit/qiskit.opflow.converters.md | 6 +- .../qiskit.opflow.evolutions.EvolutionBase.md | 2 +- ...skit.opflow.evolutions.EvolutionFactory.md | 2 +- .../qiskit.opflow.evolutions.EvolvedOp.md | 2 +- ...iskit.opflow.evolutions.MatrixEvolution.md | 2 +- ...opflow.evolutions.PauliTrotterEvolution.md | 2 +- .../qiskit/qiskit.opflow.evolutions.QDrift.md | 2 +- .../qiskit/qiskit.opflow.evolutions.Suzuki.md | 2 +- .../qiskit.opflow.evolutions.Trotter.md | 2 +- ...it.opflow.evolutions.TrotterizationBase.md | 2 +- ...opflow.evolutions.TrotterizationFactory.md | 2 +- docs/api/qiskit/qiskit.opflow.evolutions.md | 6 +- ...opflow.expectations.AerPauliExpectation.md | 2 +- ...kit.opflow.expectations.CVaRExpectation.md | 2 +- ...kit.opflow.expectations.ExpectationBase.md | 2 +- ....opflow.expectations.ExpectationFactory.md | 2 +- ...t.opflow.expectations.MatrixExpectation.md | 2 +- ...it.opflow.expectations.PauliExpectation.md | 2 +- docs/api/qiskit/qiskit.opflow.expectations.md | 2 +- ...qiskit.opflow.gradients.CircuitGradient.md | 2 +- .../qiskit.opflow.gradients.CircuitQFI.md | 2 +- .../qiskit.opflow.gradients.DerivativeBase.md | 2 +- .../qiskit.opflow.gradients.Gradient.md | 2 +- .../qiskit.opflow.gradients.GradientBase.md | 2 +- .../qiskit/qiskit.opflow.gradients.Hessian.md | 2 +- .../qiskit.opflow.gradients.HessianBase.md | 2 +- ...qiskit.opflow.gradients.NaturalGradient.md | 2 +- .../api/qiskit/qiskit.opflow.gradients.QFI.md | 2 +- .../qiskit/qiskit.opflow.gradients.QFIBase.md | 2 +- docs/api/qiskit/qiskit.opflow.gradients.md | 2 +- .../qiskit.opflow.list_ops.ComposedOp.md | 2 +- .../qiskit/qiskit.opflow.list_ops.ListOp.md | 2 +- .../qiskit/qiskit.opflow.list_ops.SummedOp.md | 2 +- .../qiskit.opflow.list_ops.TensoredOp.md | 2 +- docs/api/qiskit/qiskit.opflow.list_ops.md | 8 +- .../qiskit.opflow.primitive_ops.CircuitOp.md | 2 +- .../qiskit.opflow.primitive_ops.MatrixOp.md | 2 +- .../qiskit.opflow.primitive_ops.PauliOp.md | 2 +- .../qiskit.opflow.primitive_ops.PauliSumOp.md | 2 +- ...qiskit.opflow.primitive_ops.PrimitiveOp.md | 2 +- ....opflow.primitive_ops.TaperedPauliSumOp.md | 2 +- ...iskit.opflow.primitive_ops.Z2Symmetries.md | 2 +- .../api/qiskit/qiskit.opflow.primitive_ops.md | 14 +- ...qiskit.opflow.state_fns.CVaRMeasurement.md | 2 +- .../qiskit.opflow.state_fns.CircuitStateFn.md | 2 +- .../qiskit.opflow.state_fns.DictStateFn.md | 2 +- ...qiskit.opflow.state_fns.OperatorStateFn.md | 2 +- ...it.opflow.state_fns.SparseVectorStateFn.md | 2 +- .../qiskit/qiskit.opflow.state_fns.StateFn.md | 2 +- .../qiskit.opflow.state_fns.VectorStateFn.md | 2 +- docs/api/qiskit/qiskit.opflow.state_fns.md | 14 +- .../qiskit.passmanager.BaseController.md | 2 +- .../qiskit.passmanager.BasePassManager.md | 2 +- ...iskit.passmanager.ConditionalController.md | 2 +- .../qiskit.passmanager.DoWhileController.md | 2 +- .../qiskit.passmanager.FlowController.md | 2 +- ...qiskit.passmanager.FlowControllerLinear.md | 2 +- .../qiskit/qiskit.passmanager.GenericPass.md | 2 +- .../qiskit.passmanager.PassManagerState.md | 2 +- .../qiskit/qiskit.passmanager.PropertySet.md | 2 +- .../qiskit.passmanager.WorkflowStatus.md | 2 +- .../qiskit.primitives.BackendEstimator.md | 2 +- .../qiskit.primitives.BackendSampler.md | 2 +- .../qiskit/qiskit.primitives.BaseEstimator.md | 2 +- .../qiskit/qiskit.primitives.BaseSampler.md | 2 +- .../api/qiskit/qiskit.primitives.Estimator.md | 2 +- .../qiskit.primitives.EstimatorResult.md | 2 +- docs/api/qiskit/qiskit.primitives.Sampler.md | 2 +- .../qiskit/qiskit.primitives.SamplerResult.md | 2 +- docs/api/qiskit/qiskit.providers.Backend.md | 2 +- docs/api/qiskit/qiskit.providers.BackendV1.md | 2 +- docs/api/qiskit/qiskit.providers.BackendV2.md | 2 +- .../qiskit.providers.BackendV2Converter.md | 2 +- docs/api/qiskit/qiskit.providers.Job.md | 2 +- docs/api/qiskit/qiskit.providers.JobStatus.md | 2 +- docs/api/qiskit/qiskit.providers.JobV1.md | 2 +- docs/api/qiskit/qiskit.providers.Options.md | 2 +- docs/api/qiskit/qiskit.providers.Provider.md | 2 +- .../api/qiskit/qiskit.providers.ProviderV1.md | 2 +- .../qiskit.providers.QubitProperties.md | 2 +- ...qiskit.providers.basicaer.BasicAerError.md | 2 +- .../qiskit.providers.basicaer.BasicAerJob.md | 2 +- ...kit.providers.basicaer.BasicAerProvider.md | 2 +- ...skit.providers.basicaer.QasmSimulatorPy.md | 4 +- ...oviders.basicaer.StatevectorSimulatorPy.md | 4 +- ...t.providers.basicaer.UnitarySimulatorPy.md | 2 +- .../qiskit.providers.convert_to_target.md | 2 +- ...s.fake_provider.ConfigurableFakeBackend.md | 2 +- .../qiskit.providers.fake_provider.Fake1Q.md | 2 +- ...kit.providers.fake_provider.FakeAlmaden.md | 4 +- ...t.providers.fake_provider.FakeAlmadenV2.md | 4 +- ...skit.providers.fake_provider.FakeArmonk.md | 4 +- ...it.providers.fake_provider.FakeArmonkV2.md | 4 +- ...skit.providers.fake_provider.FakeAthens.md | 4 +- ...it.providers.fake_provider.FakeAthensV2.md | 4 +- ...it.providers.fake_provider.FakeAuckland.md | 4 +- ...providers.fake_provider.FakeBackend5QV2.md | 2 +- ...t.providers.fake_provider.FakeBackendV2.md | 2 +- ...iskit.providers.fake_provider.FakeBelem.md | 4 +- ...kit.providers.fake_provider.FakeBelemV2.md | 4 +- ....providers.fake_provider.FakeBoeblingen.md | 4 +- ...roviders.fake_provider.FakeBoeblingenV2.md | 4 +- ...skit.providers.fake_provider.FakeBogota.md | 4 +- ...it.providers.fake_provider.FakeBogotaV2.md | 4 +- ...it.providers.fake_provider.FakeBrooklyn.md | 4 +- ....providers.fake_provider.FakeBrooklynV2.md | 4 +- ....providers.fake_provider.FakeBurlington.md | 4 +- ...roviders.fake_provider.FakeBurlingtonV2.md | 4 +- ...iskit.providers.fake_provider.FakeCairo.md | 4 +- ...kit.providers.fake_provider.FakeCairoV2.md | 4 +- ...t.providers.fake_provider.FakeCambridge.md | 4 +- ...providers.fake_provider.FakeCambridgeV2.md | 4 +- ....providers.fake_provider.FakeCasablanca.md | 4 +- ...roviders.fake_provider.FakeCasablancaV2.md | 4 +- ...iskit.providers.fake_provider.FakeEssex.md | 4 +- ...kit.providers.fake_provider.FakeEssexV2.md | 4 +- ...skit.providers.fake_provider.FakeGeneva.md | 4 +- ...t.providers.fake_provider.FakeGuadalupe.md | 4 +- ...providers.fake_provider.FakeGuadalupeV2.md | 4 +- ...iskit.providers.fake_provider.FakeHanoi.md | 4 +- ...kit.providers.fake_provider.FakeHanoiV2.md | 4 +- ...kit.providers.fake_provider.FakeJakarta.md | 4 +- ...t.providers.fake_provider.FakeJakartaV2.md | 4 +- ...roviders.fake_provider.FakeJohannesburg.md | 4 +- ...viders.fake_provider.FakeJohannesburgV2.md | 4 +- ...kit.providers.fake_provider.FakeKolkata.md | 4 +- ...t.providers.fake_provider.FakeKolkataV2.md | 4 +- ...iskit.providers.fake_provider.FakeLagos.md | 4 +- ...kit.providers.fake_provider.FakeLagosV2.md | 4 +- ...qiskit.providers.fake_provider.FakeLima.md | 4 +- ...skit.providers.fake_provider.FakeLimaV2.md | 4 +- ...skit.providers.fake_provider.FakeLondon.md | 4 +- ...it.providers.fake_provider.FakeLondonV2.md | 4 +- ...t.providers.fake_provider.FakeManhattan.md | 4 +- ...providers.fake_provider.FakeManhattanV2.md | 4 +- ...skit.providers.fake_provider.FakeManila.md | 4 +- ...it.providers.fake_provider.FakeManilaV2.md | 4 +- ...t.providers.fake_provider.FakeMelbourne.md | 2 +- ...providers.fake_provider.FakeMelbourneV2.md | 4 +- ...it.providers.fake_provider.FakeMontreal.md | 4 +- ....providers.fake_provider.FakeMontrealV2.md | 4 +- ...skit.providers.fake_provider.FakeMumbai.md | 4 +- ...rs.fake_provider.FakeMumbaiFractionalCX.md | 2 +- ...it.providers.fake_provider.FakeMumbaiV2.md | 4 +- ...kit.providers.fake_provider.FakeNairobi.md | 4 +- ...t.providers.fake_provider.FakeNairobiV2.md | 4 +- ...providers.fake_provider.FakeOpenPulse2Q.md | 2 +- ...providers.fake_provider.FakeOpenPulse3Q.md | 2 +- ...qiskit.providers.fake_provider.FakeOslo.md | 4 +- ...kit.providers.fake_provider.FakeOurense.md | 4 +- ...t.providers.fake_provider.FakeOurenseV2.md | 4 +- ...iskit.providers.fake_provider.FakeParis.md | 4 +- ...kit.providers.fake_provider.FakeParisV2.md | 4 +- ...iskit.providers.fake_provider.FakePerth.md | 4 +- ...roviders.fake_provider.FakePoughkeepsie.md | 2 +- ...viders.fake_provider.FakePoughkeepsieV2.md | 4 +- ...skit.providers.fake_provider.FakePrague.md | 4 +- ...it.providers.fake_provider.FakeProvider.md | 2 +- ....fake_provider.FakeProviderForBackendV2.md | 2 +- ...oviders.fake_provider.FakeQasmSimulator.md | 2 +- ...iskit.providers.fake_provider.FakeQuito.md | 4 +- ...kit.providers.fake_provider.FakeQuitoV2.md | 4 +- ...t.providers.fake_provider.FakeRochester.md | 4 +- ...providers.fake_provider.FakeRochesterV2.md | 4 +- ...qiskit.providers.fake_provider.FakeRome.md | 4 +- ...skit.providers.fake_provider.FakeRomeV2.md | 4 +- ...providers.fake_provider.FakeRueschlikon.md | 2 +- ...it.providers.fake_provider.FakeSantiago.md | 4 +- ....providers.fake_provider.FakeSantiagoV2.md | 4 +- ....providers.fake_provider.FakeSherbrooke.md | 4 +- ...t.providers.fake_provider.FakeSingapore.md | 4 +- ...providers.fake_provider.FakeSingaporeV2.md | 4 +- ...skit.providers.fake_provider.FakeSydney.md | 4 +- ...it.providers.fake_provider.FakeSydneyV2.md | 4 +- ...it.providers.fake_provider.FakeTenerife.md | 2 +- ...iskit.providers.fake_provider.FakeTokyo.md | 2 +- ...kit.providers.fake_provider.FakeToronto.md | 4 +- ...t.providers.fake_provider.FakeTorontoV2.md | 4 +- ...it.providers.fake_provider.FakeValencia.md | 4 +- ....providers.fake_provider.FakeValenciaV2.md | 4 +- ...qiskit.providers.fake_provider.FakeVigo.md | 4 +- ...skit.providers.fake_provider.FakeVigoV2.md | 4 +- ....providers.fake_provider.FakeWashington.md | 4 +- ...roviders.fake_provider.FakeWashingtonV2.md | 4 +- ...it.providers.fake_provider.FakeYorktown.md | 4 +- ....providers.fake_provider.FakeYorktownV2.md | 4 +- ...t.providers.models.BackendConfiguration.md | 2 +- ...skit.providers.models.BackendProperties.md | 2 +- .../qiskit.providers.models.BackendStatus.md | 2 +- .../qiskit/qiskit.providers.models.Command.md | 2 +- .../qiskit.providers.models.GateConfig.md | 2 +- .../qiskit.providers.models.GateProperties.md | 2 +- .../qiskit.providers.models.JobStatus.md | 2 +- .../qiskit/qiskit.providers.models.Nduv.md | 2 +- ...viders.models.PulseBackendConfiguration.md | 2 +- .../qiskit.providers.models.PulseDefaults.md | 2 +- ...oviders.models.QasmBackendConfiguration.md | 2 +- .../qiskit.providers.models.UchannelLO.md | 2 +- .../qiskit.pulse.InstructionScheduleMap.md | 2 +- docs/api/qiskit/qiskit.pulse.Schedule.md | 2 +- docs/api/qiskit/qiskit.pulse.ScheduleBlock.md | 2 +- .../qiskit.pulse.channels.AcquireChannel.md | 2 +- .../qiskit.pulse.channels.ControlChannel.md | 2 +- .../qiskit.pulse.channels.DriveChannel.md | 2 +- .../qiskit.pulse.channels.MeasureChannel.md | 2 +- .../qiskit.pulse.channels.MemorySlot.md | 2 +- .../qiskit.pulse.channels.RegisterSlot.md | 2 +- .../qiskit.pulse.channels.SnapshotChannel.md | 2 +- .../qiskit.pulse.instructions.Acquire.md | 2 +- .../qiskit/qiskit.pulse.instructions.Call.md | 2 +- .../qiskit/qiskit.pulse.instructions.Delay.md | 2 +- .../qiskit/qiskit.pulse.instructions.Play.md | 2 +- .../qiskit.pulse.instructions.Reference.md | 2 +- ...skit.pulse.instructions.RelativeBarrier.md | 2 +- .../qiskit.pulse.instructions.SetFrequency.md | 4 +- .../qiskit.pulse.instructions.SetPhase.md | 2 +- ...iskit.pulse.instructions.ShiftFrequency.md | 2 +- .../qiskit.pulse.instructions.ShiftPhase.md | 4 +- .../qiskit.pulse.instructions.Snapshot.md | 2 +- .../qiskit.pulse.instructions.TimeBlockade.md | 2 +- ...qiskit.pulse.library.Constant_class.rst.md | 2 +- .../qiskit.pulse.library.Cos_class.rst.md | 2 +- .../qiskit.pulse.library.Drag_class.rst.md | 6 +- .../qiskit.pulse.library.GaussianDeriv.md | 2 +- .../qiskit.pulse.library.GaussianSquare.md | 12 +- ...qiskit.pulse.library.GaussianSquareDrag.md | 16 +- ...qiskit.pulse.library.Gaussian_class.rst.md | 6 +- .../qiskit.pulse.library.ParametricPulse.md | 2 +- ...qiskit.pulse.library.Sawtooth_class.rst.md | 2 +- .../qiskit/qiskit.pulse.library.SechDeriv.md | 2 +- .../qiskit.pulse.library.Sech_fun.rst.md | 2 +- .../qiskit.pulse.library.Sin_class.rst.md | 2 +- .../qiskit.pulse.library.Square_fun.rst.md | 2 +- .../qiskit.pulse.library.SymbolicPulse.md | 2 +- ...qiskit.pulse.library.Triangle_class.rst.md | 2 +- .../qiskit/qiskit.pulse.library.Waveform.md | 2 +- ...skit.pulse.library.gaussian_square_echo.md | 12 +- ...qiskit.pulse.transforms.AlignEquispaced.md | 2 +- .../qiskit.pulse.transforms.AlignFunc.md | 2 +- .../qiskit.pulse.transforms.AlignLeft.md | 2 +- .../qiskit.pulse.transforms.AlignRight.md | 2 +- ...qiskit.pulse.transforms.AlignSequential.md | 2 +- .../api/qiskit/qiskit.qobj.GateCalibration.md | 2 +- .../qiskit/qiskit.qobj.PulseLibraryItem.md | 2 +- docs/api/qiskit/qiskit.qobj.PulseQobj.md | 2 +- .../api/qiskit/qiskit.qobj.PulseQobjConfig.md | 2 +- .../qiskit/qiskit.qobj.PulseQobjExperiment.md | 2 +- .../qiskit.qobj.PulseQobjExperimentConfig.md | 2 +- .../qiskit.qobj.PulseQobjInstruction.md | 2 +- .../qiskit.qobj.QasmExperimentCalibrations.md | 2 +- docs/api/qiskit/qiskit.qobj.QasmQobj.md | 2 +- docs/api/qiskit/qiskit.qobj.QasmQobjConfig.md | 2 +- .../qiskit/qiskit.qobj.QasmQobjExperiment.md | 2 +- .../qiskit.qobj.QasmQobjExperimentConfig.md | 2 +- .../qiskit/qiskit.qobj.QasmQobjInstruction.md | 2 +- .../qiskit.qobj.QobjExperimentHeader.md | 2 +- docs/api/qiskit/qiskit.qobj.QobjHeader.md | 2 +- .../qiskit.qobj.QobjMeasurementOption.md | 2 +- .../qiskit.quantum_info.CNOTDihedral.md | 2 +- docs/api/qiskit/qiskit.quantum_info.Chi.md | 2 +- docs/api/qiskit/qiskit.quantum_info.Choi.md | 2 +- .../qiskit/qiskit.quantum_info.Clifford.md | 2 +- .../qiskit.quantum_info.DensityMatrix.md | 2 +- docs/api/qiskit/qiskit.quantum_info.Kraus.md | 2 +- ...it.quantum_info.OneQubitEulerDecomposer.md | 2 +- .../qiskit/qiskit.quantum_info.Operator.md | 2 +- docs/api/qiskit/qiskit.quantum_info.PTM.md | 2 +- docs/api/qiskit/qiskit.quantum_info.Pauli.md | 14 +- .../qiskit/qiskit.quantum_info.PauliList.md | 2 +- .../qiskit/qiskit.quantum_info.Quaternion.md | 2 +- .../qiskit/qiskit.quantum_info.ScalarOp.md | 2 +- .../qiskit.quantum_info.SparsePauliOp.md | 2 +- .../qiskit.quantum_info.StabilizerState.md | 2 +- .../qiskit/qiskit.quantum_info.Statevector.md | 2 +- .../qiskit/qiskit.quantum_info.Stinespring.md | 2 +- .../api/qiskit/qiskit.quantum_info.SuperOp.md | 2 +- ...it.quantum_info.TwoQubitBasisDecomposer.md | 2 +- .../qiskit.quantum_info.XXDecomposer.md | 2 +- .../qiskit.quantum_info.Z2Symmetries.md | 2 +- .../qiskit/qiskit.quantum_info.pauli_basis.md | 2 +- .../qiskit.result.BaseReadoutMitigator.md | 2 +- ...iskit.result.CorrelatedReadoutMitigator.md | 2 +- docs/api/qiskit/qiskit.result.Counts.md | 2 +- .../qiskit.result.LocalReadoutMitigator.md | 2 +- .../qiskit/qiskit.result.ProbDistribution.md | 2 +- .../qiskit/qiskit.result.QuasiDistribution.md | 2 +- docs/api/qiskit/qiskit.result.Result.md | 2 +- docs/api/qiskit/qiskit.result.ResultError.md | 2 +- .../qiskit.synthesis.EvolutionSynthesis.md | 2 +- .../api/qiskit/qiskit.synthesis.LieTrotter.md | 2 +- .../qiskit.synthesis.MatrixExponential.md | 2 +- .../qiskit/qiskit.synthesis.ProductFormula.md | 2 +- docs/api/qiskit/qiskit.synthesis.QDrift.md | 2 +- ...it.synthesis.SolovayKitaevDecomposition.md | 2 +- .../qiskit/qiskit.synthesis.SuzukiTrotter.md | 2 +- .../qiskit/qiskit.transpiler.AnalysisPass.md | 2 +- .../qiskit/qiskit.transpiler.CouplingMap.md | 2 +- .../qiskit.transpiler.FencedDAGCircuit.md | 2 +- .../qiskit.transpiler.FencedPropertySet.md | 2 +- .../qiskit.transpiler.InstructionDurations.md | 2 +- ...qiskit.transpiler.InstructionProperties.md | 2 +- docs/api/qiskit/qiskit.transpiler.Layout.md | 2 +- .../qiskit/qiskit.transpiler.PassManager.md | 2 +- .../qiskit.transpiler.PassManagerConfig.md | 2 +- .../qiskit.transpiler.StagedPassManager.md | 18 +- docs/api/qiskit/qiskit.transpiler.Target.md | 53 +-- .../qiskit.transpiler.TransformationPass.md | 2 +- .../qiskit.transpiler.TranspileLayout.md | 2 +- .../qiskit.transpiler.passes.ALAPSchedule.md | 2 +- ....transpiler.passes.ALAPScheduleAnalysis.md | 2 +- .../qiskit.transpiler.passes.ASAPSchedule.md | 2 +- ....transpiler.passes.ASAPScheduleAnalysis.md | 4 +- .../qiskit.transpiler.passes.AlignMeasures.md | 2 +- .../qiskit.transpiler.passes.ApplyLayout.md | 6 +- ...r.passes.BarrierBeforeFinalMeasurements.md | 2 +- .../qiskit.transpiler.passes.BasicSwap.md | 6 +- ...iskit.transpiler.passes.BasisTranslator.md | 2 +- .../qiskit.transpiler.passes.CSPLayout.md | 2 +- ...qiskit.transpiler.passes.CXCancellation.md | 4 +- ...it.transpiler.passes.CheckGateDirection.md | 2 +- .../qiskit.transpiler.passes.CheckMap.md | 4 +- .../qiskit.transpiler.passes.Collect1qRuns.md | 2 +- ...iskit.transpiler.passes.Collect2qBlocks.md | 2 +- ...skit.transpiler.passes.CollectCliffords.md | 2 +- ...ranspiler.passes.CollectLinearFunctions.md | 2 +- ...t.transpiler.passes.CollectMultiQBlocks.md | 8 +- ...t.transpiler.passes.CommutationAnalysis.md | 6 +- ...anspiler.passes.CommutativeCancellation.md | 4 +- ...r.passes.CommutativeInverseCancellation.md | 2 +- ...transpiler.passes.Commuting2qGateRouter.md | 6 +- ...kit.transpiler.passes.ConsolidateBlocks.md | 6 +- ...transpiler.passes.ConstrainedReschedule.md | 2 +- ...t.transpiler.passes.ContainsInstruction.md | 2 +- ...nspiler.passes.ConvertConditionsToIfOps.md | 2 +- .../qiskit.transpiler.passes.CountOps.md | 2 +- ...t.transpiler.passes.CountOpsLongestPath.md | 4 +- ...spiler.passes.CrosstalkAdaptiveSchedule.md | 4 +- .../qiskit.transpiler.passes.DAGFixedPoint.md | 4 +- ...qiskit.transpiler.passes.DAGLongestPath.md | 4 +- .../qiskit.transpiler.passes.Decompose.md | 2 +- .../qiskit.transpiler.passes.DenseLayout.md | 4 +- .../qiskit/qiskit.transpiler.passes.Depth.md | 2 +- ...t.transpiler.passes.DynamicalDecoupling.md | 2 +- ...nspiler.passes.EchoRZXWeylDecomposition.md | 4 +- ...it.transpiler.passes.EnlargeWithAncilla.md | 4 +- .../qiskit.transpiler.passes.FixedPoint.md | 4 +- ...transpiler.passes.FullAncillaAllocation.md | 4 +- .../qiskit.transpiler.passes.GateDirection.md | 2 +- .../qiskit.transpiler.passes.GatesInBasis.md | 2 +- ...it.transpiler.passes.HighLevelSynthesis.md | 2 +- ...qiskit.transpiler.passes.HoareOptimizer.md | 2 +- ...nspiler.passes.InstructionDurationCheck.md | 2 +- ...t.transpiler.passes.InverseCancellation.md | 6 +- ...skit.transpiler.passes.Layout2qDistance.md | 4 +- ...nspiler.passes.LinearFunctionsSynthesis.md | 2 +- ...er.passes.LinearFunctionsToPermutations.md | 2 +- .../qiskit.transpiler.passes.LookaheadSwap.md | 4 +- ...transpiler.passes.MergeAdjacentBarriers.md | 2 +- .../qiskit.transpiler.passes.MinimumPoint.md | 4 +- ...t.transpiler.passes.NoiseAdaptiveLayout.md | 2 +- ...skit.transpiler.passes.NormalizeRXAngle.md | 4 +- ...skit.transpiler.passes.NumTensorFactors.md | 2 +- ...iskit.transpiler.passes.Optimize1qGates.md | 6 +- ...ler.passes.Optimize1qGatesDecomposition.md | 6 +- ...passes.Optimize1qGatesSimpleCommutation.md | 6 +- ...kit.transpiler.passes.OptimizeCliffords.md | 2 +- .../qiskit.transpiler.passes.PadDelay.md | 4 +- ...ranspiler.passes.PadDynamicalDecoupling.md | 4 +- .../qiskit.transpiler.passes.PulseGates.md | 4 +- ....transpiler.passes.RXCalibrationBuilder.md | 2 +- ...transpiler.passes.RZXCalibrationBuilder.md | 2 +- ...iler.passes.RZXCalibrationBuilderNoEcho.md | 2 +- ...qiskit.transpiler.passes.RemoveBarriers.md | 2 +- ...passes.RemoveDiagonalGatesBeforeMeasure.md | 2 +- ...anspiler.passes.RemoveFinalMeasurements.md | 4 +- ...ranspiler.passes.RemoveResetInZeroState.md | 2 +- ....passes.ResetAfterMeasureSimplification.md | 4 +- .../qiskit.transpiler.passes.SabreLayout.md | 6 +- ...qiskit.transpiler.passes.SabrePreLayout.md | 2 +- .../qiskit.transpiler.passes.SabreSwap.md | 6 +- .../qiskit.transpiler.passes.SetIOLatency.md | 4 +- .../qiskit.transpiler.passes.SetLayout.md | 2 +- .../qiskit/qiskit.transpiler.passes.Size.md | 2 +- .../qiskit.transpiler.passes.SolovayKitaev.md | 2 +- ...ranspiler.passes.SolovayKitaevSynthesis.md | 2 +- ...qiskit.transpiler.passes.StochasticSwap.md | 4 +- ....transpiler.passes.TemplateOptimization.md | 6 +- ...it.transpiler.passes.TimeUnitConversion.md | 14 +- ...iler.passes.TranslateParameterizedGates.md | 2 +- .../qiskit.transpiler.passes.TrivialLayout.md | 2 +- ...skit.transpiler.passes.UnitarySynthesis.md | 2 +- ...qiskit.transpiler.passes.Unroll3qOrMore.md | 4 +- ...anspiler.passes.UnrollCustomDefinitions.md | 4 +- ...qiskit.transpiler.passes.UnrollForLoops.md | 6 +- .../qiskit.transpiler.passes.Unroller.md | 2 +- .../qiskit.transpiler.passes.VF2Layout.md | 6 +- .../qiskit.transpiler.passes.VF2PostLayout.md | 4 +- ...it.transpiler.passes.ValidatePulseGates.md | 4 +- .../qiskit/qiskit.transpiler.passes.Width.md | 2 +- ...nthesis.plugin.HighLevelSynthesisPlugin.md | 2 +- ....plugin.HighLevelSynthesisPluginManager.md | 2 +- ...synthesis.plugin.UnitarySynthesisPlugin.md | 2 +- ...is.plugin.UnitarySynthesisPluginManager.md | 2 +- ...s.plugin.unitary_synthesis_plugin_names.md | 2 +- ...smanagers.plugin.PassManagerStagePlugin.md | 2 +- ...rs.plugin.PassManagerStagePluginManager.md | 2 +- .../qiskit.transpiler.synthesis.aqc.AQC.md | 2 +- ...spiler.synthesis.aqc.AQCSynthesisPlugin.md | 2 +- ...spiler.synthesis.aqc.ApproximateCircuit.md | 2 +- ...er.synthesis.aqc.ApproximatingObjective.md | 2 +- ...ranspiler.synthesis.aqc.CNOTUnitCircuit.md | 2 +- ...nspiler.synthesis.aqc.CNOTUnitObjective.md | 2 +- ....synthesis.aqc.DefaultCNOTUnitObjective.md | 2 +- ...ler.synthesis.aqc.FastCNOTUnitObjective.md | 2 +- .../qiskit/qiskit.utils.QuantumInstance.md | 2 +- ...kit.utils.mitigation.CompleteMeasFitter.md | 2 +- ...kit.utils.mitigation.TensoredMeasFitter.md | 2 +- .../qiskit.visualization.array_to_latex.md | 2 +- .../qiskit.visualization.circuit_drawer.md | 4 +- .../qiskit/qiskit.visualization.dag_drawer.md | 2 +- ...iskit.visualization.pass_manager_drawer.md | 2 +- ...it.visualization.plot_bloch_multivector.md | 4 +- .../qiskit.visualization.plot_bloch_vector.md | 6 +- ...iskit.visualization.plot_circuit_layout.md | 2 +- .../qiskit.visualization.plot_coupling_map.md | 2 +- .../qiskit.visualization.plot_distribution.md | 4 +- .../qiskit.visualization.plot_error_map.md | 2 +- .../qiskit.visualization.plot_gate_map.md | 2 +- .../qiskit.visualization.plot_histogram.md | 4 +- .../qiskit.visualization.plot_state_city.md | 8 +- .../qiskit.visualization.plot_state_hinton.md | 8 +- ...iskit.visualization.plot_state_paulivec.md | 6 +- ...qiskit.visualization.plot_state_qsphere.md | 6 +- ...qiskit.visualization.pulse.IQXDebugging.md | 2 +- .../qiskit.visualization.pulse.IQXSimple.md | 2 +- .../qiskit.visualization.pulse.IQXStandard.md | 2 +- ...skit.visualization.qcstyle.DefaultStyle.md | 2 +- ...skit.visualization.visualize_transition.md | 2 +- docs/api/qiskit/qobj.md | 26 +- docs/api/qiskit/qpy.md | 8 +- docs/api/qiskit/quantum_info.md | 114 +++--- docs/api/qiskit/release-notes/0.45.md | 234 ++++++++--- docs/api/qiskit/result.md | 18 +- docs/api/qiskit/scheduler.md | 8 +- docs/api/qiskit/synthesis.md | 46 +-- docs/api/qiskit/synthesis_aqc.md | 14 +- docs/api/qiskit/tools.md | 10 +- docs/api/qiskit/transpiler.md | 72 ++-- docs/api/qiskit/transpiler_passes.md | 192 ++++----- docs/api/qiskit/transpiler_plugins.md | 4 +- docs/api/qiskit/transpiler_preset.md | 26 +- docs/api/qiskit/utils.md | 40 +- docs/api/qiskit/utils_mitigation.md | 4 +- docs/api/qiskit/visualization.md | 40 +- public/images/api/qiskit/circuit-1.png | Bin 4978 -> 4978 bytes public/images/api/qiskit/circuit-2.png | Bin 3885 -> 3885 bytes public/images/api/qiskit/circuit-3.png | Bin 5628 -> 5628 bytes public/images/api/qiskit/circuit-4.png | Bin 27444 -> 27444 bytes public/images/api/qiskit/circuit-5.png | Bin 7078 -> 8023 bytes .../images/api/qiskit/circuit_library-1.png | Bin 5904 -> 5904 bytes public/images/api/qiskit/converters-1.png | Bin 8110 -> 8110 bytes .../qiskit/providers_fake_provider-1_00.png | Bin 12644 -> 12644 bytes .../qiskit/providers_fake_provider-1_01.png | Bin 21668 -> 21668 bytes .../qiskit/providers_fake_provider-1_02.png | Bin 14789 -> 14578 bytes public/images/api/qiskit/pulse-1.png | Bin 15975 -> 15975 bytes public/images/api/qiskit/pulse-2.png | Bin 16712 -> 16712 bytes public/images/api/qiskit/pulse-3.png | Bin 31312 -> 31312 bytes public/images/api/qiskit/pulse-4.png | Bin 10338 -> 10943 bytes public/images/api/qiskit/pulse-5.png | Bin 54292 -> 54677 bytes public/images/api/qiskit/pulse-6.png | Bin 18893 -> 19350 bytes public/images/api/qiskit/pulse-7.png | Bin 15811 -> 16498 bytes public/images/api/qiskit/pulse-8.png | Bin 10964 -> 11583 bytes public/images/api/qiskit/pulse-9.png | Bin 13742 -> 14010 bytes public/images/api/qiskit/qasm3-1.png | Bin 25454 -> 25454 bytes .../qiskit-circuit-ControlledGate-1.png | Bin 4422 -> 4422 bytes .../qiskit-circuit-ControlledGate-2.png | Bin 7215 -> 6999 bytes .../qiskit-circuit-InstructionSet-1.png | Bin 8858 -> 8858 bytes .../api/qiskit/qiskit-circuit-Operation-1.png | Bin 5552 -> 5552 bytes .../qiskit/qiskit-circuit-Parameter-1_00.png | Bin 1697 -> 1697 bytes .../qiskit/qiskit-circuit-Parameter-1_01.png | Bin 5365 -> 5365 bytes .../qiskit-circuit-QuantumCircuit-1.png | Bin 6702 -> 6702 bytes .../qiskit-circuit-QuantumCircuit-2.png | Bin 15875 -> 15875 bytes .../qiskit-circuit-QuantumCircuit-3_00.png | Bin 3595 -> 3595 bytes .../qiskit-circuit-QuantumCircuit-3_01.png | Bin 3580 -> 3580 bytes .../qiskit-circuit-QuantumCircuit-4_00.png | Bin 3527 -> 3527 bytes .../qiskit-circuit-QuantumCircuit-4_01.png | Bin 3850 -> 3850 bytes .../qiskit-circuit-QuantumCircuit-5.png | Bin 3673 -> 3673 bytes .../qiskit-circuit-QuantumCircuit-6.png | Bin 4169 -> 4169 bytes .../qiskit/qiskit-circuit-library-AND-1.png | Bin 16847 -> 16847 bytes .../qiskit/qiskit-circuit-library-AND-2.png | Bin 17434 -> 17434 bytes ...skit-circuit-library-FourierChecking-1.png | Bin 11424 -> 11424 bytes .../qiskit/qiskit-circuit-library-GMS-1.png | Bin 12635 -> 12635 bytes .../qiskit/qiskit-circuit-library-GR-1.png | Bin 18949 -> 18949 bytes .../qiskit/qiskit-circuit-library-GRX-1.png | Bin 18704 -> 18704 bytes .../qiskit/qiskit-circuit-library-GRY-1.png | Bin 18949 -> 18949 bytes .../qiskit/qiskit-circuit-library-GRZ-1.png | Bin 12178 -> 12178 bytes .../qiskit-circuit-library-GraphState-1.png | Bin 15618 -> 15618 bytes ...circuit-library-HiddenLinearFunction-1.png | Bin 12956 -> 12956 bytes .../qiskit/qiskit-circuit-library-IQP-1.png | Bin 6586 -> 6586 bytes .../qiskit/qiskit-circuit-library-IQP-2.png | Bin 14797 -> 14797 bytes .../qiskit-circuit-library-InnerProduct-1.png | Bin 14228 -> 14228 bytes .../qiskit-circuit-library-MCMTVChain-1.png | Bin 13705 -> 13705 bytes .../qiskit/qiskit-circuit-library-OR-1.png | Bin 20190 -> 20190 bytes .../qiskit/qiskit-circuit-library-OR-2.png | Bin 18418 -> 18418 bytes ...iskit-circuit-library-PauliTwoDesign-1.png | Bin 10634 -> 10634 bytes .../qiskit-circuit-library-Permutation-1.png | Bin 9125 -> 9125 bytes .../qiskit-circuit-library-Permutation-2.png | Bin 15619 -> 15619 bytes ...skit-circuit-library-PermutationGate-1.png | Bin 7652 -> 7652 bytes ...skit-circuit-library-PermutationGate-2.png | Bin 15240 -> 15073 bytes ...skit-circuit-library-PhaseEstimation-1.png | Bin 12043 -> 12022 bytes ...t-circuit-library-PiecewiseChebyshev-1.png | Bin 7651 -> 7651 bytes .../qiskit/qiskit-circuit-library-QFT-1.png | Bin 11619 -> 11619 bytes .../qiskit/qiskit-circuit-library-QFT-2.png | Bin 11789 -> 11789 bytes .../qiskit/qiskit-circuit-library-QFT-3.png | Bin 11890 -> 11890 bytes ...qiskit-circuit-library-QuantumVolume-1.png | Bin 9480 -> 9480 bytes ...qiskit-circuit-library-QuantumVolume-2.png | Bin 19109 -> 18170 bytes .../qiskit/qiskit-circuit-library-XOR-1.png | Bin 12576 -> 12576 bytes .../qiskit-pulse-library-SymbolicPulse-1.png | Bin 11401 -> 11401 bytes .../qiskit-quantum_info-Statevector-1.png | Bin 7558 -> 7558 bytes ...spiler-passes-DynamicalDecoupling-1_00.png | Bin 22803 -> 22803 bytes ...spiler-passes-DynamicalDecoupling-1_01.png | Bin 23583 -> 23583 bytes ...ler-passes-PadDynamicalDecoupling-1_00.png | Bin 22803 -> 22803 bytes ...ler-passes-PadDynamicalDecoupling-1_01.png | Bin 23583 -> 23583 bytes ...kit-transpiler-passes-RemoveBarriers-1.png | Bin 1561 -> 1561 bytes .../qiskit-visualization-circuit_drawer-1.png | Bin 3934 -> 3934 bytes ...visualization-plot_bloch_multivector-1.png | Bin 92847 -> 92847 bytes ...visualization-plot_bloch_multivector-2.png | Bin 95603 -> 95603 bytes ...skit-visualization-plot_bloch_vector-1.png | Bin 73448 -> 73448 bytes ...skit-visualization-plot_bloch_vector-2.png | Bin 74554 -> 74554 bytes ...it-visualization-plot_circuit_layout-1.png | Bin 8112 -> 8112 bytes ...skit-visualization-plot_coupling_map-1.png | Bin 8007 -> 8007 bytes ...t-visualization-plot_distribution-1_00.png | Bin 16020 -> 16020 bytes ...t-visualization-plot_distribution-1_01.png | Bin 20219 -> 20219 bytes ...t-visualization-plot_distribution-1_02.png | Bin 20276 -> 20276 bytes .../qiskit-visualization-plot_error_map-1.png | Bin 37014 -> 37014 bytes .../qiskit-visualization-plot_gate_map-1.png | Bin 7345 -> 7345 bytes ...skit-visualization-plot_histogram-1_00.png | Bin 12434 -> 12434 bytes ...skit-visualization-plot_histogram-1_01.png | Bin 16199 -> 16199 bytes ...skit-visualization-plot_histogram-1_02.png | Bin 16249 -> 16249 bytes ...qiskit-visualization-plot_state_city-1.png | Bin 117351 -> 117324 bytes ...qiskit-visualization-plot_state_city-2.png | Bin 159858 -> 159875 bytes ...skit-visualization-plot_state_hinton-1.png | Bin 11116 -> 11116 bytes ...it-visualization-plot_state_paulivec-1.png | Bin 17337 -> 17337 bytes ...it-visualization-plot_state_paulivec-2.png | Bin 18522 -> 18522 bytes ...kit-visualization-plot_state_qsphere-1.png | Bin 33861 -> 33861 bytes ...kit-visualization-plot_state_qsphere-2.png | Bin 38572 -> 38572 bytes .../qiskit-visualization-pulse_drawer-1.png | Bin 63647 -> 63400 bytes .../qiskit-visualization-pulse_drawer-2.png | Bin 29394 -> 29394 bytes .../qiskit-visualization-pulse_drawer-3.png | Bin 79650 -> 79793 bytes ...qiskit-visualization-timeline_drawer-1.png | Bin 29867 -> 29867 bytes ...qiskit-visualization-timeline_drawer-2.png | Bin 7453 -> 7453 bytes ...qiskit-visualization-timeline_drawer-3.png | Bin 69676 -> 69676 bytes public/images/api/qiskit/release_notes-1.png | Bin 1266648 -> 1266648 bytes public/images/api/qiskit/transpiler-10.png | Bin 7906 -> 7906 bytes public/images/api/qiskit/transpiler-11.png | Bin 32887 -> 32887 bytes public/images/api/qiskit/transpiler-12.png | Bin 8484 -> 9319 bytes public/images/api/qiskit/transpiler-13.png | Bin 32887 -> 32887 bytes public/images/api/qiskit/transpiler-14.png | Bin 19504 -> 19513 bytes public/images/api/qiskit/transpiler-15.png | Bin 8855 -> 8855 bytes public/images/api/qiskit/transpiler-16.png | Bin 115189 -> 85707 bytes public/images/api/qiskit/transpiler-17.png | Bin 34622 -> 33682 bytes public/images/api/qiskit/transpiler-4.png | Bin 6224 -> 6224 bytes public/images/api/qiskit/transpiler-5.png | Bin 19791 -> 19791 bytes public/images/api/qiskit/transpiler-6.png | Bin 9344 -> 9344 bytes public/images/api/qiskit/transpiler-7.png | Bin 11696 -> 11696 bytes public/images/api/qiskit/transpiler-8.png | Bin 8194 -> 8194 bytes public/images/api/qiskit/transpiler-9.png | Bin 8392 -> 8392 bytes public/images/api/qiskit/visualization-1.png | Bin 10426 -> 10426 bytes public/images/api/qiskit/visualization-2.png | Bin 17293 -> 17293 bytes public/images/api/qiskit/visualization-3.png | Bin 10033 -> 10033 bytes public/images/api/qiskit/visualization-4.png | Bin 108756 -> 108756 bytes public/images/api/qiskit/visualization-5.png | Bin 113167 -> 113083 bytes public/images/api/qiskit/visualization-6.png | Bin 113167 -> 113083 bytes scripts/lib/api/processHtml.test.ts | 6 + scripts/lib/api/processHtml.ts | 6 + 931 files changed, 2451 insertions(+), 2192 deletions(-) diff --git a/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Estimator.md b/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Estimator.md index f006c5dff0..9dca205e86 100644 --- a/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Estimator.md +++ b/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Estimator.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.Estimator -`Estimator(backend=None, session=None, options=None)` +`Estimator(backend=None, session=None, options=None)`[GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/stable/0.17/qiskit_ibm_runtime/estimator.py "view source code") Class for interacting with Qiskit Runtime Estimator primitive service. diff --git a/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.IBMBackend.md b/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.IBMBackend.md index 794879ec5a..e2d8ab0c1e 100644 --- a/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.IBMBackend.md +++ b/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.IBMBackend.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.IBMBackend -`IBMBackend(configuration, service, api_client, instance=None)` +`IBMBackend(configuration, service, api_client, instance=None)`[GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/stable/0.17/qiskit_ibm_runtime/ibm_backend.py "view source code") Backend class interfacing with an IBM Quantum backend. diff --git a/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.QiskitRuntimeService.md b/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.QiskitRuntimeService.md index ab08242df7..85baabeeef 100644 --- a/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.QiskitRuntimeService.md +++ b/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.QiskitRuntimeService.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.QiskitRuntimeService -`QiskitRuntimeService(channel=None, token=None, url=None, filename=None, name=None, instance=None, proxies=None, verify=None, channel_strategy=None)` +`QiskitRuntimeService(channel=None, token=None, url=None, filename=None, name=None, instance=None, proxies=None, verify=None, channel_strategy=None)`[GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/stable/0.17/qiskit_ibm_runtime/qiskit_runtime_service.py "view source code") Class for interacting with the Qiskit Runtime service. diff --git a/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeDecoder.md b/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeDecoder.md index a9d67f28b2..bac7fe0091 100644 --- a/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeDecoder.md +++ b/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeDecoder.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeDecoder -`RuntimeDecoder(*args, **kwargs)` +`RuntimeDecoder(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/stable/0.17/qiskit_ibm_runtime/utils/json.py "view source code") JSON Decoder used by runtime service. diff --git a/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeEncoder.md b/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeEncoder.md index 76df786584..244c1a323b 100644 --- a/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeEncoder.md +++ b/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeEncoder.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeEncoder -`RuntimeEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)` +`RuntimeEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)`[GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/stable/0.17/qiskit_ibm_runtime/utils/json.py "view source code") JSON Encoder used by runtime service. diff --git a/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob.md b/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob.md index ff90635c53..74a04f74a7 100644 --- a/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob.md +++ b/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJob -`RuntimeJob(backend, api_client, client_params, job_id, program_id, service, params=None, creation_date=None, user_callback=None, result_decoder=None, image='', session_id=None, tags=None)` +`RuntimeJob(backend, api_client, client_params, job_id, program_id, service, params=None, creation_date=None, user_callback=None, result_decoder=None, image='', session_id=None, tags=None)`[GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/stable/0.17/qiskit_ibm_runtime/runtime_job.py "view source code") Representation of a runtime program execution. diff --git a/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeOptions.md b/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeOptions.md index b970bbc198..c1c3585fc6 100644 --- a/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeOptions.md +++ b/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeOptions.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeOptions -`RuntimeOptions(backend=None, image=None, log_level=None, instance=None, job_tags=None, max_execution_time=None, session_time=None)` +`RuntimeOptions(backend=None, image=None, log_level=None, instance=None, job_tags=None, max_execution_time=None, session_time=None)`[GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/stable/0.17/qiskit_ibm_runtime/runtime_options.py "view source code") Class for representing generic runtime execution options. diff --git a/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Sampler.md b/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Sampler.md index d0760ea6a5..82a4901169 100644 --- a/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Sampler.md +++ b/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Sampler.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.Sampler -`Sampler(backend=None, session=None, options=None)` +`Sampler(backend=None, session=None, options=None)`[GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/stable/0.17/qiskit_ibm_runtime/sampler.py "view source code") Class for interacting with Qiskit Runtime Sampler primitive service. diff --git a/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Session.md b/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Session.md index 303a0fbfc6..95a763498c 100644 --- a/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Session.md +++ b/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Session.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.Session -`Session(service=None, backend=None, max_time=None)` +`Session(service=None, backend=None, max_time=None)`[GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/stable/0.17/qiskit_ibm_runtime/session.py "view source code") Class for creating a flexible Qiskit Runtime session. diff --git a/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.options.EnvironmentOptions.md b/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.options.EnvironmentOptions.md index c7018b94ff..31f4ada9ba 100644 --- a/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.options.EnvironmentOptions.md +++ b/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.options.EnvironmentOptions.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.options.EnvironmentOptions -`EnvironmentOptions(log_level='WARNING', callback=None, job_tags=)` +`EnvironmentOptions(log_level='WARNING', callback=None, job_tags=)`[GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/stable/0.17/qiskit_ibm_runtime/options/environment_options.py "view source code") Options related to the execution environment. diff --git a/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.options.ExecutionOptions.md b/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.options.ExecutionOptions.md index 9dcb9d7a9d..12b7e92328 100644 --- a/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.options.ExecutionOptions.md +++ b/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.options.ExecutionOptions.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.options.ExecutionOptions -`ExecutionOptions(shots=4000, init_qubits=True)` +`ExecutionOptions(shots=4000, init_qubits=True)`[GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/stable/0.17/qiskit_ibm_runtime/options/execution_options.py "view source code") Execution options. diff --git a/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.options.Options.md b/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.options.Options.md index bb911ecc11..ac6b5fe6fd 100644 --- a/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.options.Options.md +++ b/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.options.Options.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.options.Options -`Options(optimization_level=None, resilience_level=None, max_execution_time=None, transpilation=, resilience=, execution=, environment=, simulator=)` +`Options(optimization_level=None, resilience_level=None, max_execution_time=None, transpilation=, resilience=, execution=, environment=, simulator=)`[GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/stable/0.17/qiskit_ibm_runtime/options/options.py "view source code") Options for the primitives. diff --git a/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.options.ResilienceOptions.md b/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.options.ResilienceOptions.md index e43f6e2433..173b577f75 100644 --- a/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.options.ResilienceOptions.md +++ b/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.options.ResilienceOptions.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.options.ResilienceOptions -`ResilienceOptions(noise_amplifier=None, noise_factors=None, extrapolator=None)` +`ResilienceOptions(noise_amplifier=None, noise_factors=None, extrapolator=None)`[GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/stable/0.17/qiskit_ibm_runtime/options/resilience_options.py "view source code") Resilience options. diff --git a/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.options.SimulatorOptions.md b/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.options.SimulatorOptions.md index 56fbf96eea..73712941cb 100644 --- a/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.options.SimulatorOptions.md +++ b/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.options.SimulatorOptions.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.options.SimulatorOptions -`SimulatorOptions(noise_model=None, seed_simulator=None, coupling_map=None, basis_gates=None)` +`SimulatorOptions(noise_model=None, seed_simulator=None, coupling_map=None, basis_gates=None)`[GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/stable/0.17/qiskit_ibm_runtime/options/simulator_options.py "view source code") Simulator options. diff --git a/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.options.TranspilationOptions.md b/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.options.TranspilationOptions.md index 8d388d9c14..1cb9054dca 100644 --- a/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.options.TranspilationOptions.md +++ b/docs/api/qiskit-ibm-runtime/qiskit_ibm_runtime.options.TranspilationOptions.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.options.TranspilationOptions -`TranspilationOptions(skip_transpilation=False, initial_layout=None, layout_method=None, routing_method=None, approximation_degree=None)` +`TranspilationOptions(skip_transpilation=False, initial_layout=None, layout_method=None, routing_method=None, approximation_degree=None)`[GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/stable/0.17/qiskit_ibm_runtime/options/transpilation_options.py "view source code") Transpilation options. diff --git a/docs/api/qiskit/_package.json b/docs/api/qiskit/_package.json index 255c7ce4b2..ca04801d7f 100644 --- a/docs/api/qiskit/_package.json +++ b/docs/api/qiskit/_package.json @@ -1,4 +1,4 @@ { "name": "qiskit", - "version": "0.45.0" + "version": "0.45.1" } diff --git a/docs/api/qiskit/algorithms.md b/docs/api/qiskit/algorithms.md index 8248a9544b..b2f12fb7cf 100644 --- a/docs/api/qiskit/algorithms.md +++ b/docs/api/qiskit/algorithms.md @@ -195,7 +195,7 @@ Algorithms that compute the fidelity of pairs of quantum states. -`qiskit.algorithms.AlgorithmError(*message)` +`qiskit.algorithms.AlgorithmError(*message)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/exceptions.py "view source code") For Algorithm specific errors. @@ -207,7 +207,7 @@ Utility classes used by algorithms (mainly for type-hinting purposes). | | | | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- | -| [`AlgorithmJob`](qiskit.algorithms.AlgorithmJob "qiskit.algorithms.AlgorithmJob")(function, \*args, \*\*kwargs) | This empty class is introduced for typing purposes. | +| [`AlgorithmJob`](qiskit.algorithms.AlgorithmJob "qiskit.algorithms.AlgorithmJob")(function, \*args, \*\*kwargs) | This empty class is introduced for typing purposes. | ### Utility functions @@ -215,7 +215,7 @@ Utility functions used by algorithms. -`qiskit.algorithms.eval_observables(quantum_instance, quantum_state, observables, expectation, threshold=1e-12)` +`qiskit.algorithms.eval_observables(quantum_instance, quantum_state, observables, expectation, threshold=1e-12)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/aux_ops_evaluator.py "view source code") Deprecated: Accepts a list or a dictionary of operators and calculates their expectation values - means and standard deviations. They are calculated with respect to a quantum state provided. A user can optionally provide a threshold value which filters mean values falling below the threshold. @@ -247,7 +247,7 @@ ListOrDict\[[tuple](https://docs.python.org/3/library/stdtypes.html#tuple "(in P -`qiskit.algorithms.estimate_observables(estimator, quantum_state, observables, parameter_values=None, threshold=1e-12)` +`qiskit.algorithms.estimate_observables(estimator, quantum_state, observables, parameter_values=None, threshold=1e-12)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/observables_evaluator.py "view source code") Accepts a sequence of operators and calculates their expectation values - means and metadata. They are calculated with respect to a quantum state provided. A user can optionally provide a threshold value which filters mean values falling below the threshold. diff --git a/docs/api/qiskit/assembler.md b/docs/api/qiskit/assembler.md index 52b86a718a..8f177df26c 100644 --- a/docs/api/qiskit/assembler.md +++ b/docs/api/qiskit/assembler.md @@ -22,7 +22,7 @@ python_api_name: qiskit.assembler -`qiskit.assembler.assemble_circuits(circuits, run_config, qobj_id, qobj_header)` +`qiskit.assembler.assemble_circuits(circuits, run_config, qobj_id, qobj_header)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/assembler/assemble_circuits.py "view source code") Assembles a list of circuits into a qobj that can be run on the backend. @@ -65,7 +65,7 @@ qobj = assemble_circuits(circuits=[qc], -`qiskit.assembler.assemble_schedules(schedules, qobj_id, qobj_header, run_config)` +`qiskit.assembler.assemble_schedules(schedules, qobj_id, qobj_header, run_config)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/assembler/assemble_schedules.py "view source code") Assembles a list of schedules into a qobj that can be run on the backend. @@ -129,7 +129,7 @@ pulseQobj = assemble_schedules(schedules=[schedule], -`qiskit.assembler.disassemble(qobj)` +`qiskit.assembler.disassemble(qobj)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/assembler/disassemble.py "view source code") Disassemble a qobj and return the circuits or pulse schedules, run\_config, and user header. @@ -176,5 +176,5 @@ circuits, run_config_out, headers = disassemble(qobj) | | | | -------------------------------------------------------------------------------------------------------------- | ---------------------------- | -| [`RunConfig`](qiskit.assembler.RunConfig "qiskit.assembler.RunConfig")(\[shots, seed\_simulator, memory, ...]) | Class for Run Configuration. | +| [`RunConfig`](qiskit.assembler.RunConfig "qiskit.assembler.RunConfig")(\[shots, seed\_simulator, memory, ...]) | Class for Run Configuration. | diff --git a/docs/api/qiskit/circuit.md b/docs/api/qiskit/circuit.md index 13ca74d7ca..e2f0cf6280 100644 --- a/docs/api/qiskit/circuit.md +++ b/docs/api/qiskit/circuit.md @@ -201,40 +201,40 @@ qc.depth() | | | | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")(\*regs\[, name, global\_phase, ...]) | Create a new circuit. | -| [`QuantumRegister`](qiskit.circuit.QuantumRegister "qiskit.circuit.QuantumRegister")(\[size, name, bits]) | Implement a quantum register. | -| [`Qubit`](qiskit.circuit.Qubit "qiskit.circuit.Qubit")(\[register, index]) | Implement a quantum bit. | -| [`ClassicalRegister`](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister")(\[size, name, bits]) | Implement a classical register. | -| [`Clbit`](qiskit.circuit.Clbit "qiskit.circuit.Clbit")(\[register, index]) | Implement a classical bit. | -| [`AncillaRegister`](qiskit.circuit.AncillaRegister "qiskit.circuit.AncillaRegister")(\[size, name, bits]) | Implement an ancilla register. | -| [`AncillaQubit`](qiskit.circuit.AncillaQubit "qiskit.circuit.AncillaQubit")(\[register, index]) | A qubit used as ancillary qubit. | -| [`CircuitInstruction`](qiskit.circuit.CircuitInstruction "qiskit.circuit.CircuitInstruction")(operation\[, qubits, clbits]) | A single instruction in a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"), comprised of the `operation` and various operands. | -| [`Register`](qiskit.circuit.Register "qiskit.circuit.Register")(\[size, name, bits]) | Implement a generic register. | -| [`Bit`](qiskit.circuit.Bit "qiskit.circuit.Bit")(\[register, index]) | Implement a generic bit. | +| [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")(\*regs\[, name, global\_phase, ...]) | Create a new circuit. | +| [`QuantumRegister`](qiskit.circuit.QuantumRegister "qiskit.circuit.QuantumRegister")(\[size, name, bits]) | Implement a quantum register. | +| [`Qubit`](qiskit.circuit.Qubit "qiskit.circuit.Qubit")(\[register, index]) | Implement a quantum bit. | +| [`ClassicalRegister`](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister")(\[size, name, bits]) | Implement a classical register. | +| [`Clbit`](qiskit.circuit.Clbit "qiskit.circuit.Clbit")(\[register, index]) | Implement a classical bit. | +| [`AncillaRegister`](qiskit.circuit.AncillaRegister "qiskit.circuit.AncillaRegister")(\[size, name, bits]) | Implement an ancilla register. | +| [`AncillaQubit`](qiskit.circuit.AncillaQubit "qiskit.circuit.AncillaQubit")(\[register, index]) | A qubit used as ancillary qubit. | +| [`CircuitInstruction`](qiskit.circuit.CircuitInstruction "qiskit.circuit.CircuitInstruction")(operation\[, qubits, clbits]) | A single instruction in a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"), comprised of the `operation` and various operands. | +| [`Register`](qiskit.circuit.Register "qiskit.circuit.Register")(\[size, name, bits]) | Implement a generic register. | +| [`Bit`](qiskit.circuit.Bit "qiskit.circuit.Bit")(\[register, index]) | Implement a generic bit. | ### Gates and Instructions | | | | -------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | -| [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate")(name, num\_qubits, params\[, label, ...]) | Unitary gate. | -| [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate")(name, num\_qubits, params\[, ...]) | Controlled unitary gate. | -| [`Delay`](qiskit.circuit.Delay "qiskit.circuit.Delay")(duration\[, unit]) | Do nothing and just delay/wait/idle for a specified duration. | -| [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction")(name, num\_qubits, num\_clbits, params) | Generic quantum instruction. | -| [`InstructionSet`](qiskit.circuit.InstructionSet "qiskit.circuit.InstructionSet")(\*\[, resource\_requester]) | Instruction collection, and their contexts. | +| [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate")(name, num\_qubits, params\[, label, ...]) | Unitary gate. | +| [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate")(name, num\_qubits, params\[, ...]) | Controlled unitary gate. | +| [`Delay`](qiskit.circuit.Delay "qiskit.circuit.Delay")(duration\[, unit]) | Do nothing and just delay/wait/idle for a specified duration. | +| [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction")(name, num\_qubits, num\_clbits, params) | Generic quantum instruction. | +| [`InstructionSet`](qiskit.circuit.InstructionSet "qiskit.circuit.InstructionSet")(\*\[, resource\_requester]) | Instruction collection, and their contexts. | | [`Operation`](qiskit.circuit.Operation "qiskit.circuit.Operation")() | Quantum Operation Interface Class. | -| [`EquivalenceLibrary`](qiskit.circuit.EquivalenceLibrary "qiskit.circuit.EquivalenceLibrary")(\*\[, base]) | A library providing a one-way mapping of Gates to their equivalent implementations as QuantumCircuits. | +| [`EquivalenceLibrary`](qiskit.circuit.EquivalenceLibrary "qiskit.circuit.EquivalenceLibrary")(\*\[, base]) | A library providing a one-way mapping of Gates to their equivalent implementations as QuantumCircuits. | ### Control Flow Operations | | | | --------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [`ControlFlowOp`](qiskit.circuit.ControlFlowOp "qiskit.circuit.ControlFlowOp")(name, num\_qubits, num\_clbits, ...) | Abstract class to encapsulate all control flow operations. | -| [`IfElseOp`](qiskit.circuit.IfElseOp "qiskit.circuit.IfElseOp")(condition, true\_body\[, false\_body, ...]) | A circuit operation which executes a program (`true_body`) if a provided condition (`condition`) evaluates to true, and optionally evaluates another program (`false_body`) otherwise. | -| [`WhileLoopOp`](qiskit.circuit.WhileLoopOp "qiskit.circuit.WhileLoopOp")(condition, body\[, label]) | A circuit operation which repeatedly executes a subcircuit (`body`) until a condition (`condition`) evaluates as False. | -| [`ForLoopOp`](qiskit.circuit.ForLoopOp "qiskit.circuit.ForLoopOp")(indexset, loop\_parameter, body\[, ...]) | A circuit operation which repeatedly executes a subcircuit (`body`) parameterized by a parameter `loop_parameter` through the set of integer values provided in `indexset`. | -| [`SwitchCaseOp`](qiskit.circuit.SwitchCaseOp "qiskit.circuit.SwitchCaseOp")(target, cases, \*\[, label]) | A circuit operation that executes one particular circuit block based on matching a given `target` against an ordered list of `values`. | -| [`BreakLoopOp`](qiskit.circuit.BreakLoopOp "qiskit.circuit.BreakLoopOp")(num\_qubits, num\_clbits\[, label]) | A circuit operation which, when encountered, jumps to the end of the nearest enclosing loop. | -| [`ContinueLoopOp`](qiskit.circuit.ContinueLoopOp "qiskit.circuit.ContinueLoopOp")(num\_qubits, num\_clbits\[, label]) | A circuit operation which, when encountered, moves to the next iteration of the nearest enclosing loop. | +| [`ControlFlowOp`](qiskit.circuit.ControlFlowOp "qiskit.circuit.ControlFlowOp")(name, num\_qubits, num\_clbits, ...) | Abstract class to encapsulate all control flow operations. | +| [`IfElseOp`](qiskit.circuit.IfElseOp "qiskit.circuit.IfElseOp")(condition, true\_body\[, false\_body, ...]) | A circuit operation which executes a program (`true_body`) if a provided condition (`condition`) evaluates to true, and optionally evaluates another program (`false_body`) otherwise. | +| [`WhileLoopOp`](qiskit.circuit.WhileLoopOp "qiskit.circuit.WhileLoopOp")(condition, body\[, label]) | A circuit operation which repeatedly executes a subcircuit (`body`) until a condition (`condition`) evaluates as False. | +| [`ForLoopOp`](qiskit.circuit.ForLoopOp "qiskit.circuit.ForLoopOp")(indexset, loop\_parameter, body\[, ...]) | A circuit operation which repeatedly executes a subcircuit (`body`) parameterized by a parameter `loop_parameter` through the set of integer values provided in `indexset`. | +| [`SwitchCaseOp`](qiskit.circuit.SwitchCaseOp "qiskit.circuit.SwitchCaseOp")(target, cases, \*\[, label]) | A circuit operation that executes one particular circuit block based on matching a given `target` against an ordered list of `values`. | +| [`BreakLoopOp`](qiskit.circuit.BreakLoopOp "qiskit.circuit.BreakLoopOp")(num\_qubits, num\_clbits\[, label]) | A circuit operation which, when encountered, jumps to the end of the nearest enclosing loop. | +| [`ContinueLoopOp`](qiskit.circuit.ContinueLoopOp "qiskit.circuit.ContinueLoopOp")(num\_qubits, num\_clbits\[, label]) | A circuit operation which, when encountered, moves to the next iteration of the nearest enclosing loop. | The [`SwitchCaseOp`](qiskit.circuit.SwitchCaseOp "qiskit.circuit.SwitchCaseOp") also understands a special value: @@ -278,15 +278,15 @@ with qc.switch(cr) as case: | | | | ------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- | -| [`Parameter`](qiskit.circuit.Parameter "qiskit.circuit.Parameter")(name, \*\[, uuid]) | Parameter Class for variable parameters. | -| [`ParameterVector`](qiskit.circuit.ParameterVector "qiskit.circuit.ParameterVector")(name\[, length]) | ParameterVector class to quickly generate lists of parameters. | -| [`ParameterExpression`](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression")(symbol\_map, expr) | ParameterExpression class to enable creating expressions of Parameters. | +| [`Parameter`](qiskit.circuit.Parameter "qiskit.circuit.Parameter")(name, \*\[, uuid]) | Parameter Class for variable parameters. | +| [`ParameterVector`](qiskit.circuit.ParameterVector "qiskit.circuit.ParameterVector")(name\[, length]) | ParameterVector class to quickly generate lists of parameters. | +| [`ParameterExpression`](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression")(symbol\_map, expr) | ParameterExpression class to enable creating expressions of Parameters. | ### Random Circuits -`qiskit.circuit.random.random_circuit(num_qubits, depth, max_operands=4, measure=False, conditional=False, reset=False, seed=None)` +`qiskit.circuit.random.random_circuit(num_qubits, depth, max_operands=4, measure=False, conditional=False, reset=False, seed=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/random/utils.py "view source code") Generate random circuit of arbitrary size and form. @@ -333,8 +333,8 @@ constructed circuit | | | | ----------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | -| [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation")(base\_op, modifiers) | Annotated operation. | -| [`ControlModifier`](qiskit.circuit.ControlModifier "qiskit.circuit.ControlModifier")(\[num\_ctrl\_qubits, ctrl\_state]) | Control modifier: specifies that the operation is controlled by `num_ctrl_qubits` and has control state `ctrl_state`. | +| [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation")(base\_op, modifiers) | Annotated operation. | +| [`ControlModifier`](qiskit.circuit.ControlModifier "qiskit.circuit.ControlModifier")(\[num\_ctrl\_qubits, ctrl\_state]) | Control modifier: specifies that the operation is controlled by `num_ctrl_qubits` and has control state `ctrl_state`. | | [`PowerModifier`](qiskit.circuit.PowerModifier "qiskit.circuit.PowerModifier")(power) | Power modifier: specifies that the operation is raised to the power `power`. | | [`InverseModifier`](qiskit.circuit.InverseModifier "qiskit.circuit.InverseModifier")() | Inverse modifier: specifies that the operation is inverted. | @@ -344,7 +344,7 @@ Almost all circuit functions and methods will raise a [`CircuitError`](#qiskit.c -`qiskit.circuit.CircuitError(*message)` +`qiskit.circuit.CircuitError(*message)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/exceptions.py "view source code") Base class for errors raised while processing a circuit. diff --git a/docs/api/qiskit/circuit_classical.md b/docs/api/qiskit/circuit_classical.md index 156e548fa7..68887d628f 100644 --- a/docs/api/qiskit/circuit_classical.md +++ b/docs/api/qiskit/circuit_classical.md @@ -50,7 +50,7 @@ The expression system is based on tree representation. All nodes in the tree are -`qiskit.circuit.classical.expr.Expr` +`qiskit.circuit.classical.expr.Expr`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/expr/expr.py "view source code") Root base class of all nodes in the expression tree. The base case should never be instantiated directly. @@ -64,7 +64,7 @@ The entry point from general circuit objects to the expression system is by wrap -`final class qiskit.circuit.classical.expr.Var(var, type)` +`final class qiskit.circuit.classical.expr.Var(var, type)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/expr/expr.py "view source code") A classical variable. @@ -72,7 +72,7 @@ Similarly, literals used in comparison (such as integers) should be lifted to [` -`final class qiskit.circuit.classical.expr.Value(value, type)` +`final class qiskit.circuit.classical.expr.Value(value, type)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/expr/expr.py "view source code") A single scalar value. @@ -80,7 +80,7 @@ The operations traditionally associated with pre-, post- or infix operators in p -`final class qiskit.circuit.classical.expr.Unary(op, operand, type)` +`final class qiskit.circuit.classical.expr.Unary(op, operand, type)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/expr/expr.py "view source code") A unary expression. @@ -118,7 +118,7 @@ Logical negation. `!operand`. -`final class qiskit.circuit.classical.expr.Binary(op, left, right, type)` +`final class qiskit.circuit.classical.expr.Binary(op, left, right, type)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/expr/expr.py "view source code") A binary expression. @@ -235,7 +235,7 @@ Expressions in this system are defined to act only on certain sets of types. How -`final class qiskit.circuit.classical.expr.Cast(operand, type, implicit=False)` +`final class qiskit.circuit.classical.expr.Cast(operand, type, implicit=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/expr/expr.py "view source code") A cast from one type to another, implied by the use of an expression in a different context. @@ -249,7 +249,7 @@ The functions and methods described in this section are a more user-friendly way -`qiskit.circuit.classical.expr.lift(value, /, type=None)` +`qiskit.circuit.classical.expr.lift(value, /, type=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/expr/constructors.py "view source code") Lift the given Python `value` to a [`Value`](#qiskit.circuit.classical.expr.Value "qiskit.circuit.classical.expr.expr.Value") or [`Var`](#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.expr.Var"). @@ -287,7 +287,7 @@ You can manually specify casts in cases where the cast is allowed in explicit fo -`qiskit.circuit.classical.expr.cast(operand, type, /)` +`qiskit.circuit.classical.expr.cast(operand, type, /)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/expr/constructors.py "view source code") Create an explicit cast from the given value to the given type. @@ -310,7 +310,7 @@ There are helper constructor functions for each of the unary operations. -`qiskit.circuit.classical.expr.bit_not(operand, /)` +`qiskit.circuit.classical.expr.bit_not(operand, /)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/expr/constructors.py "view source code") Create a bitwise ‘not’ expression node from the given value, resolving any implicit casts and lifting the value into a [`Value`](#qiskit.circuit.classical.expr.Value "qiskit.circuit.classical.expr.Value") node if required. @@ -331,7 +331,7 @@ Unary(Unary.Op.BIT_NOT, Var(ClassicalRegister(3, 'c'), Uint(3)), Uint(3)) -`qiskit.circuit.classical.expr.logic_not(operand, /)` +`qiskit.circuit.classical.expr.logic_not(operand, /)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/expr/constructors.py "view source code") Create a logical ‘not’ expression node from the given value, resolving any implicit casts and lifting the value into a [`Value`](#qiskit.circuit.classical.expr.Value "qiskit.circuit.classical.expr.Value") node if required. @@ -354,7 +354,7 @@ Similarly, the binary operations and relations have helper functions defined. -`qiskit.circuit.classical.expr.bit_and(left, right, /)` +`qiskit.circuit.classical.expr.bit_and(left, right, /)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/expr/constructors.py "view source code") Create a bitwise ‘and’ expression node from the given value, resolving any implicit casts and lifting the values into [`Value`](#qiskit.circuit.classical.expr.Value "qiskit.circuit.classical.expr.Value") nodes if required. @@ -375,7 +375,7 @@ Binary(Binary.Op.BIT_AND, Var(ClassicalRegister(3, 'c'), Uint(3)), Value(7, Uint -`qiskit.circuit.classical.expr.bit_or(left, right, /)` +`qiskit.circuit.classical.expr.bit_or(left, right, /)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/expr/constructors.py "view source code") Create a bitwise ‘or’ expression node from the given value, resolving any implicit casts and lifting the values into [`Value`](#qiskit.circuit.classical.expr.Value "qiskit.circuit.classical.expr.Value") nodes if required. @@ -396,7 +396,7 @@ Binary(Binary.Op.BIT_OR, Var(ClassicalRegister(3, 'c'), Uint(3)), Value(5, Uint( -`qiskit.circuit.classical.expr.bit_xor(left, right, /)` +`qiskit.circuit.classical.expr.bit_xor(left, right, /)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/expr/constructors.py "view source code") Create a bitwise ‘exclusive or’ expression node from the given value, resolving any implicit casts and lifting the values into [`Value`](#qiskit.circuit.classical.expr.Value "qiskit.circuit.classical.expr.Value") nodes if required. @@ -417,7 +417,7 @@ Binary(Binary.Op.BIT_XOR, Var(ClassicalRegister(3, 'c'), Uint(3)), Value(5, Uint -`qiskit.circuit.classical.expr.logic_and(left, right, /)` +`qiskit.circuit.classical.expr.logic_and(left, right, /)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/expr/constructors.py "view source code") Create a logical ‘and’ expression node from the given value, resolving any implicit casts and lifting the values into [`Value`](#qiskit.circuit.classical.expr.Value "qiskit.circuit.classical.expr.Value") nodes if required. @@ -438,7 +438,7 @@ Binary(Binary.Op.LOGIC_AND, Var(, Bool()), Var(, Bool()), Bool -`qiskit.circuit.classical.expr.logic_or(left, right, /)` +`qiskit.circuit.classical.expr.logic_or(left, right, /)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/expr/constructors.py "view source code") Create a logical ‘or’ expression node from the given value, resolving any implicit casts and lifting the values into [`Value`](#qiskit.circuit.classical.expr.Value "qiskit.circuit.classical.expr.Value") nodes if required. @@ -459,7 +459,7 @@ Binary(Binary.Op.LOGIC_OR, Var(, Bool()), Var(, Bool()), Bool( -`qiskit.circuit.classical.expr.equal(left, right, /)` +`qiskit.circuit.classical.expr.equal(left, right, /)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/expr/constructors.py "view source code") Create an ‘equal’ expression node from the given value, resolving any implicit casts and lifting the values into [`Value`](#qiskit.circuit.classical.expr.Value "qiskit.circuit.classical.expr.Value") nodes if required. @@ -480,7 +480,7 @@ Binary(Binary.Op.EQUAL, Var(ClassicalRegister(3, "c"), Uint(3)), Value(7, Uint(3 -`qiskit.circuit.classical.expr.not_equal(left, right, /)` +`qiskit.circuit.classical.expr.not_equal(left, right, /)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/expr/constructors.py "view source code") Create a ‘not equal’ expression node from the given value, resolving any implicit casts and lifting the values into [`Value`](#qiskit.circuit.classical.expr.Value "qiskit.circuit.classical.expr.Value") nodes if required. @@ -501,7 +501,7 @@ Binary(Binary.Op.NOT_EQUAL, Var(ClassicalRegister(3, "c"), Uint(3)), Value(7, Ui -`qiskit.circuit.classical.expr.less(left, right, /)` +`qiskit.circuit.classical.expr.less(left, right, /)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/expr/constructors.py "view source code") Create a ‘less than’ expression node from the given value, resolving any implicit casts and lifting the values into [`Value`](#qiskit.circuit.classical.expr.Value "qiskit.circuit.classical.expr.Value") nodes if required. @@ -522,7 +522,7 @@ Binary(Binary.Op.LESS, Var(ClassicalRegister(3, "c"), Uint(3)), Value(5, Uint(3) -`qiskit.circuit.classical.expr.less_equal(left, right, /)` +`qiskit.circuit.classical.expr.less_equal(left, right, /)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/expr/constructors.py "view source code") Create a ‘less than or equal to’ expression node from the given value, resolving any implicit casts and lifting the values into [`Value`](#qiskit.circuit.classical.expr.Value "qiskit.circuit.classical.expr.Value") nodes if required. @@ -543,7 +543,7 @@ Binary(Binary.Op.LESS_EQUAL, Var(ClassicalRegister(3, "a"), Uint(3)), Var(Classi -`qiskit.circuit.classical.expr.greater(left, right, /)` +`qiskit.circuit.classical.expr.greater(left, right, /)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/expr/constructors.py "view source code") Create a ‘greater than’ expression node from the given value, resolving any implicit casts and lifting the values into [`Value`](#qiskit.circuit.classical.expr.Value "qiskit.circuit.classical.expr.Value") nodes if required. @@ -564,7 +564,7 @@ Binary(Binary.Op.GREATER, Var(ClassicalRegister(3, "c"), Uint(3)), Value(5, Uint -`qiskit.circuit.classical.expr.greater_equal(left, right, /)` +`qiskit.circuit.classical.expr.greater_equal(left, right, /)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/expr/constructors.py "view source code") Create a ‘greater than or equal to’ expression node from the given value, resolving any implicit casts and lifting the values into [`Value`](#qiskit.circuit.classical.expr.Value "qiskit.circuit.classical.expr.Value") nodes if required. @@ -587,7 +587,7 @@ Qiskit’s legacy method for specifying equality conditions for use in condition -`qiskit.circuit.classical.expr.lift_legacy_condition(condition, /)` +`qiskit.circuit.classical.expr.lift_legacy_condition(condition, /)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/expr/constructors.py "view source code") Lift a legacy two-tuple equality condition into a new-style [`Expr`](#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr"). @@ -616,7 +616,7 @@ A typical consumer of the expression tree wants to recursively walk through the -`qiskit.circuit.classical.expr.ExprVisitor` +`qiskit.circuit.classical.expr.ExprVisitor`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/expr/visitors.py "view source code") Base class for visitors to the [`Expr`](#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr") tree. Subclasses should override whichever of the `visit_*` methods that they are able to handle, and should be organised such that non-existent methods will never be called. @@ -686,7 +686,7 @@ For the convenience of simple visitors that only need to inspect the variables i -`qiskit.circuit.classical.expr.iter_vars(node)` +`qiskit.circuit.classical.expr.iter_vars(node)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/expr/visitors.py "view source code") Get an iterator over the [`Var`](#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.expr.Var") nodes referenced at any level in the given [`Expr`](#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.expr.Expr"). @@ -714,7 +714,7 @@ Two expressions can be compared for direct structural equality by using the buil -`qiskit.circuit.classical.expr.structurally_equivalent(left, right, left_var_key=None, right_var_key=None)` +`qiskit.circuit.classical.expr.structurally_equivalent(left, right, left_var_key=None, right_var_key=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/expr/visitors.py "view source code") Do these two expressions have exactly the same tree structure, up to some key function for the [`Var`](#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.expr.Var") objects? @@ -773,7 +773,7 @@ All types inherit from an abstract base class: -`qiskit.circuit.classical.types.Type` +`qiskit.circuit.classical.types.Type`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/types/types.py "view source code") Root base class of all nodes in the type tree. The base case should never be instantiated directly. @@ -785,13 +785,13 @@ The two different types available are for Booleans (corresponding to [`Clbit`](q -`final class qiskit.circuit.classical.types.Bool` +`final class qiskit.circuit.classical.types.Bool`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/types/types.py "view source code") The Boolean type. This has exactly two values: `True` and `False`. -`final class qiskit.circuit.classical.types.Uint(width)` +`final class qiskit.circuit.classical.types.Uint(width)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/types/types.py "view source code") An unsigned integer of fixed bit width. @@ -805,7 +805,7 @@ The low-level interface to querying the subtyping relationship is the [`order()` -`qiskit.circuit.classical.types.order(left, right, /)` +`qiskit.circuit.classical.types.order(left, right, /)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/types/ordering.py "view source code") Get the ordering relationship between the two types as an enumeration value. @@ -834,7 +834,7 @@ The return value is an enumeration [`Ordering`](#qiskit.circuit.classical.types. -`qiskit.circuit.classical.types.Ordering(value)` +`qiskit.circuit.classical.types.Ordering(value)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/types/ordering.py "view source code") Enumeration listing the possible relations between two types. Types only have a partial ordering, so it’s possible for two types to have no sub-typing relationship. @@ -844,7 +844,7 @@ Some helper methods are then defined in terms of this low-level [`order()`](#qis -`qiskit.circuit.classical.types.is_subtype(left, right, /, strict=False)` +`qiskit.circuit.classical.types.is_subtype(left, right, /, strict=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/types/ordering.py "view source code") Does the relation $\text{left} \le \text{right}$ hold? If there is no ordering relation between the two types, then this returns `False`. If `strict`, then the equality is also forbidden. @@ -873,7 +873,7 @@ False -`qiskit.circuit.classical.types.is_supertype(left, right, /, strict=False)` +`qiskit.circuit.classical.types.is_supertype(left, right, /, strict=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/types/ordering.py "view source code") Does the relation $\text{left} \ge \text{right}$ hold? If there is no ordering relation between the two types, then this returns `False`. If `strict`, then the equality is also forbidden. @@ -902,7 +902,7 @@ False -`qiskit.circuit.classical.types.greater(left, right, /)` +`qiskit.circuit.classical.types.greater(left, right, /)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classical/types/ordering.py "view source code") Get the greater of the two types, assuming that there is an ordering relation between them. Technically, this is a slightly restricted version of the concept of the ‘meet’ of the two types in that the return value must be one of the inputs. In practice in the type system there is no concept of a ‘sum’ type, so the ‘meet’ exists if and only if there is an ordering between the two types, and is equal to the greater of the two types. diff --git a/docs/api/qiskit/circuit_library.md b/docs/api/qiskit/circuit_library.md index aecffa0f20..cb14ecadb4 100644 --- a/docs/api/qiskit/circuit_library.md +++ b/docs/api/qiskit/circuit_library.md @@ -63,60 +63,60 @@ print(gate.control(1).to_matrix()) # CX (controlled X) gate | | | | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | -| [`C3XGate`](qiskit.circuit.library.C3XGate "qiskit.circuit.library.C3XGate")(\*args\[, \_force\_mutable]) | The X gate controlled on 3 qubits. | -| [`C3SXGate`](qiskit.circuit.library.C3SXGate "qiskit.circuit.library.C3SXGate")(\*args\[, \_force\_mutable]) | The 3-qubit controlled sqrt-X gate. | -| [`C4XGate`](qiskit.circuit.library.C4XGate "qiskit.circuit.library.C4XGate")(\*args\[, \_force\_mutable]) | The 4-qubit controlled X gate. | -| [`CCXGate`](qiskit.circuit.library.CCXGate "qiskit.circuit.library.CCXGate")(\*args\[, \_force\_mutable]) | CCX gate, also known as Toffoli gate. | -| [`DCXGate`](qiskit.circuit.library.DCXGate "qiskit.circuit.library.DCXGate")(\*args\[, \_force\_mutable]) | Double-CNOT gate. | -| [`CHGate`](qiskit.circuit.library.CHGate "qiskit.circuit.library.CHGate")(\*args\[, \_force\_mutable]) | Controlled-Hadamard gate. | -| [`CPhaseGate`](qiskit.circuit.library.CPhaseGate "qiskit.circuit.library.CPhaseGate")(theta\[, label, ctrl\_state, ...]) | Controlled-Phase gate. | -| [`CRXGate`](qiskit.circuit.library.CRXGate "qiskit.circuit.library.CRXGate")(theta\[, label, ctrl\_state, ...]) | Controlled-RX gate. | -| [`CRYGate`](qiskit.circuit.library.CRYGate "qiskit.circuit.library.CRYGate")(theta\[, label, ctrl\_state, ...]) | Controlled-RY gate. | -| [`CRZGate`](qiskit.circuit.library.CRZGate "qiskit.circuit.library.CRZGate")(theta\[, label, ctrl\_state, ...]) | Controlled-RZ gate. | -| [`CSGate`](qiskit.circuit.library.CSGate "qiskit.circuit.library.CSGate")(\*args\[, \_force\_mutable]) | Controlled-S gate. | -| [`CSdgGate`](qiskit.circuit.library.CSdgGate "qiskit.circuit.library.CSdgGate")(\*args\[, \_force\_mutable]) | Controlled-S^dagger gate. | -| [`CSwapGate`](qiskit.circuit.library.CSwapGate "qiskit.circuit.library.CSwapGate")(\*args\[, \_force\_mutable]) | Controlled-SWAP gate, also known as the Fredkin gate. | -| [`CSXGate`](qiskit.circuit.library.CSXGate "qiskit.circuit.library.CSXGate")(\*args\[, \_force\_mutable]) | Controlled-√X gate. | -| [`CUGate`](qiskit.circuit.library.CUGate "qiskit.circuit.library.CUGate")(theta, phi, lam, gamma\[, label, ...]) | Controlled-U gate (4-parameter two-qubit gate). | -| [`CU1Gate`](qiskit.circuit.library.CU1Gate "qiskit.circuit.library.CU1Gate")(theta\[, label, ctrl\_state, ...]) | Controlled-U1 gate. | -| [`CU3Gate`](qiskit.circuit.library.CU3Gate "qiskit.circuit.library.CU3Gate")(theta, phi, lam\[, label, ...]) | Controlled-U3 gate (3-parameter two-qubit gate). | -| [`CXGate`](qiskit.circuit.library.CXGate "qiskit.circuit.library.CXGate")(\*args\[, \_force\_mutable]) | Controlled-X gate. | -| [`CYGate`](qiskit.circuit.library.CYGate "qiskit.circuit.library.CYGate")(\*args\[, \_force\_mutable]) | Controlled-Y gate. | -| [`CZGate`](qiskit.circuit.library.CZGate "qiskit.circuit.library.CZGate")(\*args\[, \_force\_mutable]) | Controlled-Z gate. | -| [`CCZGate`](qiskit.circuit.library.CCZGate "qiskit.circuit.library.CCZGate")(\*args\[, \_force\_mutable]) | CCZ gate. | -| [`ECRGate`](qiskit.circuit.library.ECRGate "qiskit.circuit.library.ECRGate")(\*args\[, \_force\_mutable]) | An echoed cross-resonance gate. | -| [`HGate`](qiskit.circuit.library.HGate "qiskit.circuit.library.HGate")(\*args\[, \_force\_mutable]) | Single-qubit Hadamard gate. | -| [`IGate`](qiskit.circuit.library.IGate "qiskit.circuit.library.IGate")(\*args\[, \_force\_mutable]) | Identity gate. | -| [`MSGate`](qiskit.circuit.library.MSGate "qiskit.circuit.library.MSGate")(num\_qubits, theta\[, label]) | MSGate has been deprecated. | -| [`PhaseGate`](qiskit.circuit.library.PhaseGate "qiskit.circuit.library.PhaseGate")(theta\[, label, duration, unit]) | Single-qubit rotation about the Z axis. | -| [`RCCXGate`](qiskit.circuit.library.RCCXGate "qiskit.circuit.library.RCCXGate")(\*args\[, \_force\_mutable]) | The simplified Toffoli gate, also referred to as Margolus gate. | -| [`RC3XGate`](qiskit.circuit.library.RC3XGate "qiskit.circuit.library.RC3XGate")(\*args\[, \_force\_mutable]) | The simplified 3-controlled Toffoli gate. | -| [`RGate`](qiskit.circuit.library.RGate "qiskit.circuit.library.RGate")(theta, phi\[, label, duration, unit]) | Rotation θ around the cos(φ)x + sin(φ)y axis. | -| [`RXGate`](qiskit.circuit.library.RXGate "qiskit.circuit.library.RXGate")(theta\[, label, duration, unit]) | Single-qubit rotation about the X axis. | -| [`RXXGate`](qiskit.circuit.library.RXXGate "qiskit.circuit.library.RXXGate")(theta\[, label, duration, unit]) | A parametric 2-qubit $X \otimes X$ interaction (rotation about XX). | -| [`RYGate`](qiskit.circuit.library.RYGate "qiskit.circuit.library.RYGate")(theta\[, label, duration, unit]) | Single-qubit rotation about the Y axis. | -| [`RYYGate`](qiskit.circuit.library.RYYGate "qiskit.circuit.library.RYYGate")(theta\[, label, duration, unit]) | A parametric 2-qubit $Y \otimes Y$ interaction (rotation about YY). | -| [`RZGate`](qiskit.circuit.library.RZGate "qiskit.circuit.library.RZGate")(phi\[, label, duration, unit]) | Single-qubit rotation about the Z axis. | -| [`RZZGate`](qiskit.circuit.library.RZZGate "qiskit.circuit.library.RZZGate")(theta\[, label, duration, unit]) | A parametric 2-qubit $Z \otimes Z$ interaction (rotation about ZZ). | -| [`RZXGate`](qiskit.circuit.library.RZXGate "qiskit.circuit.library.RZXGate")(theta\[, label, duration, unit]) | A parametric 2-qubit $Z \otimes X$ interaction (rotation about ZX). | -| [`XXMinusYYGate`](qiskit.circuit.library.XXMinusYYGate "qiskit.circuit.library.XXMinusYYGate")(theta\[, beta, label, ...]) | XX-YY interaction gate. | -| [`XXPlusYYGate`](qiskit.circuit.library.XXPlusYYGate "qiskit.circuit.library.XXPlusYYGate")(theta\[, beta, label, duration, ...]) | XX+YY interaction gate. | -| [`SGate`](qiskit.circuit.library.SGate "qiskit.circuit.library.SGate")(\*args\[, \_force\_mutable]) | Single qubit S gate (Z\*\*0.5). | -| [`SdgGate`](qiskit.circuit.library.SdgGate "qiskit.circuit.library.SdgGate")(\*args\[, \_force\_mutable]) | Single qubit S-adjoint gate (\~Z\*\*0.5). | -| [`SwapGate`](qiskit.circuit.library.SwapGate "qiskit.circuit.library.SwapGate")(\*args\[, \_force\_mutable]) | The SWAP gate. | -| [`iSwapGate`](qiskit.circuit.library.iSwapGate "qiskit.circuit.library.iSwapGate")(\*args\[, \_force\_mutable]) | iSWAP gate. | -| [`SXGate`](qiskit.circuit.library.SXGate "qiskit.circuit.library.SXGate")(\*args\[, \_force\_mutable]) | The single-qubit Sqrt(X) gate ($\sqrt{X}$). | -| [`SXdgGate`](qiskit.circuit.library.SXdgGate "qiskit.circuit.library.SXdgGate")(\*args\[, \_force\_mutable]) | The inverse single-qubit Sqrt(X) gate. | -| [`TGate`](qiskit.circuit.library.TGate "qiskit.circuit.library.TGate")(\*args\[, \_force\_mutable]) | Single qubit T gate (Z\*\*0.25). | -| [`TdgGate`](qiskit.circuit.library.TdgGate "qiskit.circuit.library.TdgGate")(\*args\[, \_force\_mutable]) | Single qubit T-adjoint gate (\~Z\*\*0.25). | -| [`UGate`](qiskit.circuit.library.UGate "qiskit.circuit.library.UGate")(theta, phi, lam\[, label, duration, unit]) | Generic single-qubit rotation gate with 3 Euler angles. | -| [`U1Gate`](qiskit.circuit.library.U1Gate "qiskit.circuit.library.U1Gate")(theta\[, label, duration, unit]) | Single-qubit rotation about the Z axis. | -| [`U2Gate`](qiskit.circuit.library.U2Gate "qiskit.circuit.library.U2Gate")(phi, lam\[, label, duration, unit]) | Single-qubit rotation about the X+Z axis. | -| [`U3Gate`](qiskit.circuit.library.U3Gate "qiskit.circuit.library.U3Gate")(theta, phi, lam\[, label, duration, unit]) | Generic single-qubit rotation gate with 3 Euler angles. | -| [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.library.XGate")(\*args\[, \_force\_mutable]) | The single-qubit Pauli-X gate ($\sigma_x$). | -| [`YGate`](qiskit.circuit.library.YGate "qiskit.circuit.library.YGate")(\*args\[, \_force\_mutable]) | The single-qubit Pauli-Y gate ($\sigma_y$). | -| [`ZGate`](qiskit.circuit.library.ZGate "qiskit.circuit.library.ZGate")(\*args\[, \_force\_mutable]) | The single-qubit Pauli-Z gate ($\sigma_z$). | -| [`GlobalPhaseGate`](qiskit.circuit.library.GlobalPhaseGate "qiskit.circuit.library.GlobalPhaseGate")(phase\[, label, duration, unit]) | The global phase gate ($e^{i\theta}$). | +| [`C3XGate`](qiskit.circuit.library.C3XGate "qiskit.circuit.library.C3XGate")(\*args\[, \_force\_mutable]) | The X gate controlled on 3 qubits. | +| [`C3SXGate`](qiskit.circuit.library.C3SXGate "qiskit.circuit.library.C3SXGate")(\*args\[, \_force\_mutable]) | The 3-qubit controlled sqrt-X gate. | +| [`C4XGate`](qiskit.circuit.library.C4XGate "qiskit.circuit.library.C4XGate")(\*args\[, \_force\_mutable]) | The 4-qubit controlled X gate. | +| [`CCXGate`](qiskit.circuit.library.CCXGate "qiskit.circuit.library.CCXGate")(\*args\[, \_force\_mutable]) | CCX gate, also known as Toffoli gate. | +| [`DCXGate`](qiskit.circuit.library.DCXGate "qiskit.circuit.library.DCXGate")(\*args\[, \_force\_mutable]) | Double-CNOT gate. | +| [`CHGate`](qiskit.circuit.library.CHGate "qiskit.circuit.library.CHGate")(\*args\[, \_force\_mutable]) | Controlled-Hadamard gate. | +| [`CPhaseGate`](qiskit.circuit.library.CPhaseGate "qiskit.circuit.library.CPhaseGate")(theta\[, label, ctrl\_state, ...]) | Controlled-Phase gate. | +| [`CRXGate`](qiskit.circuit.library.CRXGate "qiskit.circuit.library.CRXGate")(theta\[, label, ctrl\_state, ...]) | Controlled-RX gate. | +| [`CRYGate`](qiskit.circuit.library.CRYGate "qiskit.circuit.library.CRYGate")(theta\[, label, ctrl\_state, ...]) | Controlled-RY gate. | +| [`CRZGate`](qiskit.circuit.library.CRZGate "qiskit.circuit.library.CRZGate")(theta\[, label, ctrl\_state, ...]) | Controlled-RZ gate. | +| [`CSGate`](qiskit.circuit.library.CSGate "qiskit.circuit.library.CSGate")(\*args\[, \_force\_mutable]) | Controlled-S gate. | +| [`CSdgGate`](qiskit.circuit.library.CSdgGate "qiskit.circuit.library.CSdgGate")(\*args\[, \_force\_mutable]) | Controlled-S^dagger gate. | +| [`CSwapGate`](qiskit.circuit.library.CSwapGate "qiskit.circuit.library.CSwapGate")(\*args\[, \_force\_mutable]) | Controlled-SWAP gate, also known as the Fredkin gate. | +| [`CSXGate`](qiskit.circuit.library.CSXGate "qiskit.circuit.library.CSXGate")(\*args\[, \_force\_mutable]) | Controlled-√X gate. | +| [`CUGate`](qiskit.circuit.library.CUGate "qiskit.circuit.library.CUGate")(theta, phi, lam, gamma\[, label, ...]) | Controlled-U gate (4-parameter two-qubit gate). | +| [`CU1Gate`](qiskit.circuit.library.CU1Gate "qiskit.circuit.library.CU1Gate")(theta\[, label, ctrl\_state, ...]) | Controlled-U1 gate. | +| [`CU3Gate`](qiskit.circuit.library.CU3Gate "qiskit.circuit.library.CU3Gate")(theta, phi, lam\[, label, ...]) | Controlled-U3 gate (3-parameter two-qubit gate). | +| [`CXGate`](qiskit.circuit.library.CXGate "qiskit.circuit.library.CXGate")(\*args\[, \_force\_mutable]) | Controlled-X gate. | +| [`CYGate`](qiskit.circuit.library.CYGate "qiskit.circuit.library.CYGate")(\*args\[, \_force\_mutable]) | Controlled-Y gate. | +| [`CZGate`](qiskit.circuit.library.CZGate "qiskit.circuit.library.CZGate")(\*args\[, \_force\_mutable]) | Controlled-Z gate. | +| [`CCZGate`](qiskit.circuit.library.CCZGate "qiskit.circuit.library.CCZGate")(\*args\[, \_force\_mutable]) | CCZ gate. | +| [`ECRGate`](qiskit.circuit.library.ECRGate "qiskit.circuit.library.ECRGate")(\*args\[, \_force\_mutable]) | An echoed cross-resonance gate. | +| [`HGate`](qiskit.circuit.library.HGate "qiskit.circuit.library.HGate")(\*args\[, \_force\_mutable]) | Single-qubit Hadamard gate. | +| [`IGate`](qiskit.circuit.library.IGate "qiskit.circuit.library.IGate")(\*args\[, \_force\_mutable]) | Identity gate. | +| [`MSGate`](qiskit.circuit.library.MSGate "qiskit.circuit.library.MSGate")(num\_qubits, theta\[, label]) | MSGate has been deprecated. | +| [`PhaseGate`](qiskit.circuit.library.PhaseGate "qiskit.circuit.library.PhaseGate")(theta\[, label, duration, unit]) | Single-qubit rotation about the Z axis. | +| [`RCCXGate`](qiskit.circuit.library.RCCXGate "qiskit.circuit.library.RCCXGate")(\*args\[, \_force\_mutable]) | The simplified Toffoli gate, also referred to as Margolus gate. | +| [`RC3XGate`](qiskit.circuit.library.RC3XGate "qiskit.circuit.library.RC3XGate")(\*args\[, \_force\_mutable]) | The simplified 3-controlled Toffoli gate. | +| [`RGate`](qiskit.circuit.library.RGate "qiskit.circuit.library.RGate")(theta, phi\[, label, duration, unit]) | Rotation θ around the cos(φ)x + sin(φ)y axis. | +| [`RXGate`](qiskit.circuit.library.RXGate "qiskit.circuit.library.RXGate")(theta\[, label, duration, unit]) | Single-qubit rotation about the X axis. | +| [`RXXGate`](qiskit.circuit.library.RXXGate "qiskit.circuit.library.RXXGate")(theta\[, label, duration, unit]) | A parametric 2-qubit $X \otimes X$ interaction (rotation about XX). | +| [`RYGate`](qiskit.circuit.library.RYGate "qiskit.circuit.library.RYGate")(theta\[, label, duration, unit]) | Single-qubit rotation about the Y axis. | +| [`RYYGate`](qiskit.circuit.library.RYYGate "qiskit.circuit.library.RYYGate")(theta\[, label, duration, unit]) | A parametric 2-qubit $Y \otimes Y$ interaction (rotation about YY). | +| [`RZGate`](qiskit.circuit.library.RZGate "qiskit.circuit.library.RZGate")(phi\[, label, duration, unit]) | Single-qubit rotation about the Z axis. | +| [`RZZGate`](qiskit.circuit.library.RZZGate "qiskit.circuit.library.RZZGate")(theta\[, label, duration, unit]) | A parametric 2-qubit $Z \otimes Z$ interaction (rotation about ZZ). | +| [`RZXGate`](qiskit.circuit.library.RZXGate "qiskit.circuit.library.RZXGate")(theta\[, label, duration, unit]) | A parametric 2-qubit $Z \otimes X$ interaction (rotation about ZX). | +| [`XXMinusYYGate`](qiskit.circuit.library.XXMinusYYGate "qiskit.circuit.library.XXMinusYYGate")(theta\[, beta, label, ...]) | XX-YY interaction gate. | +| [`XXPlusYYGate`](qiskit.circuit.library.XXPlusYYGate "qiskit.circuit.library.XXPlusYYGate")(theta\[, beta, label, duration, ...]) | XX+YY interaction gate. | +| [`SGate`](qiskit.circuit.library.SGate "qiskit.circuit.library.SGate")(\*args\[, \_force\_mutable]) | Single qubit S gate (Z\*\*0.5). | +| [`SdgGate`](qiskit.circuit.library.SdgGate "qiskit.circuit.library.SdgGate")(\*args\[, \_force\_mutable]) | Single qubit S-adjoint gate (\~Z\*\*0.5). | +| [`SwapGate`](qiskit.circuit.library.SwapGate "qiskit.circuit.library.SwapGate")(\*args\[, \_force\_mutable]) | The SWAP gate. | +| [`iSwapGate`](qiskit.circuit.library.iSwapGate "qiskit.circuit.library.iSwapGate")(\*args\[, \_force\_mutable]) | iSWAP gate. | +| [`SXGate`](qiskit.circuit.library.SXGate "qiskit.circuit.library.SXGate")(\*args\[, \_force\_mutable]) | The single-qubit Sqrt(X) gate ($\sqrt{X}$). | +| [`SXdgGate`](qiskit.circuit.library.SXdgGate "qiskit.circuit.library.SXdgGate")(\*args\[, \_force\_mutable]) | The inverse single-qubit Sqrt(X) gate. | +| [`TGate`](qiskit.circuit.library.TGate "qiskit.circuit.library.TGate")(\*args\[, \_force\_mutable]) | Single qubit T gate (Z\*\*0.25). | +| [`TdgGate`](qiskit.circuit.library.TdgGate "qiskit.circuit.library.TdgGate")(\*args\[, \_force\_mutable]) | Single qubit T-adjoint gate (\~Z\*\*0.25). | +| [`UGate`](qiskit.circuit.library.UGate "qiskit.circuit.library.UGate")(theta, phi, lam\[, label, duration, unit]) | Generic single-qubit rotation gate with 3 Euler angles. | +| [`U1Gate`](qiskit.circuit.library.U1Gate "qiskit.circuit.library.U1Gate")(theta\[, label, duration, unit]) | Single-qubit rotation about the Z axis. | +| [`U2Gate`](qiskit.circuit.library.U2Gate "qiskit.circuit.library.U2Gate")(phi, lam\[, label, duration, unit]) | Single-qubit rotation about the X+Z axis. | +| [`U3Gate`](qiskit.circuit.library.U3Gate "qiskit.circuit.library.U3Gate")(theta, phi, lam\[, label, duration, unit]) | Generic single-qubit rotation gate with 3 Euler angles. | +| [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.library.XGate")(\*args\[, \_force\_mutable]) | The single-qubit Pauli-X gate ($\sigma_x$). | +| [`YGate`](qiskit.circuit.library.YGate "qiskit.circuit.library.YGate")(\*args\[, \_force\_mutable]) | The single-qubit Pauli-Y gate ($\sigma_y$). | +| [`ZGate`](qiskit.circuit.library.ZGate "qiskit.circuit.library.ZGate")(\*args\[, \_force\_mutable]) | The single-qubit Pauli-Z gate ($\sigma_z$). | +| [`GlobalPhaseGate`](qiskit.circuit.library.GlobalPhaseGate "qiskit.circuit.library.GlobalPhaseGate")(phase\[, label, duration, unit]) | The global phase gate ($e^{i\theta}$). | ## Standard Directives @@ -124,7 +124,7 @@ Directives are operations to the quantum stack that are meant to be interpreted | | | | --------------------------------------------------------------------------------------------------- | -------------------- | -| [`Barrier`](qiskit.circuit.library.Barrier "qiskit.circuit.library.Barrier")(num\_qubits\[, label]) | Barrier instruction. | +| [`Barrier`](qiskit.circuit.library.Barrier "qiskit.circuit.library.Barrier")(num\_qubits\[, label]) | Barrier instruction. | ## Standard Operations @@ -132,8 +132,8 @@ Operations are non-reversible changes in the quantum state of the circuit. | | | | ------------------------------------------------------------------------------------------------------ | ----------------------------------------------- | -| [`Measure`](qiskit.circuit.library.Measure "qiskit.circuit.library.Measure")(\[label, duration, unit]) | Quantum measurement in the computational basis. | -| [`Reset`](qiskit.circuit.library.Reset "qiskit.circuit.library.Reset")(\[label, duration, unit]) | Qubit reset. | +| [`Measure`](qiskit.circuit.library.Measure "qiskit.circuit.library.Measure")(\[label, duration, unit]) | Quantum measurement in the computational basis. | +| [`Reset`](qiskit.circuit.library.Reset "qiskit.circuit.library.Reset")(\[label, duration, unit]) | Qubit reset. | ## Generalized Gates @@ -158,27 +158,27 @@ print(diagonal.num_qubits) | ------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | - | ----------------------------------- | | [`Diagonal`](qiskit.circuit.library.Diagonal "qiskit.circuit.library.Diagonal")(diag) | Diagonal circuit. | | | | [`DiagonalGate`](qiskit.circuit.library.DiagonalGate "qiskit.circuit.library.DiagonalGate")(diag) | Gate implementing a diagonal transformation. | | | -| [`MCMT`](qiskit.circuit.library.MCMT "qiskit.circuit.library.MCMT")(gate, num\_ctrl\_qubits, num\_target\_qubits) | The multi-controlled multi-target gate, for an arbitrary singly controlled target gate. | | | -| [`MCMTVChain`](qiskit.circuit.library.MCMTVChain "qiskit.circuit.library.MCMTVChain")(gate, num\_ctrl\_qubits, ...) | The MCMT implementation using the CCX V-chain. | | | -| [`Permutation`](qiskit.circuit.library.Permutation "qiskit.circuit.library.Permutation")(num\_qubits\[, pattern, seed]) | An n\_qubit circuit that permutes qubits. | | | +| [`MCMT`](qiskit.circuit.library.MCMT "qiskit.circuit.library.MCMT")(gate, num\_ctrl\_qubits, num\_target\_qubits) | The multi-controlled multi-target gate, for an arbitrary singly controlled target gate. | | | +| [`MCMTVChain`](qiskit.circuit.library.MCMTVChain "qiskit.circuit.library.MCMTVChain")(gate, num\_ctrl\_qubits, ...) | The MCMT implementation using the CCX V-chain. | | | +| [`Permutation`](qiskit.circuit.library.Permutation "qiskit.circuit.library.Permutation")(num\_qubits\[, pattern, seed]) | An n\_qubit circuit that permutes qubits. | | | | [`PermutationGate`](qiskit.circuit.library.PermutationGate "qiskit.circuit.library.PermutationGate")(pattern) | A gate that permutes qubits. | | | -| [`GMS`](qiskit.circuit.library.GMS "qiskit.circuit.library.GMS")(num\_qubits, theta) | Global Mølmer–Sørensen gate. | | | -| [`GR`](qiskit.circuit.library.GR "qiskit.circuit.library.GR")(num\_qubits, theta, phi) | Global R gate. | | | -| [`GRX`](qiskit.circuit.library.GRX "qiskit.circuit.library.GRX")(num\_qubits, theta) | Global RX gate. | | | -| [`GRY`](qiskit.circuit.library.GRY "qiskit.circuit.library.GRY")(num\_qubits, theta) | Global RY gate. | | | -| [`GRZ`](qiskit.circuit.library.GRZ "qiskit.circuit.library.GRZ")(num\_qubits, phi) | Global RZ gate. | | | -| [`MCPhaseGate`](qiskit.circuit.library.MCPhaseGate "qiskit.circuit.library.MCPhaseGate")(lam, num\_ctrl\_qubits\[, label, ...]) | Multi-controlled-Phase gate. | | | -| [`MCXGate`](qiskit.circuit.library.MCXGate "qiskit.circuit.library.MCXGate")(\[num\_ctrl\_qubits, label, ...]) | The general, multi-controlled X gate. | | | -| [`MCXGrayCode`](qiskit.circuit.library.MCXGrayCode "qiskit.circuit.library.MCXGrayCode")(\[num\_ctrl\_qubits, label, ...]) | Implement the multi-controlled X gate using the Gray code. | | | -| [`MCXRecursive`](qiskit.circuit.library.MCXRecursive "qiskit.circuit.library.MCXRecursive")(\[num\_ctrl\_qubits, label, ...]) | Implement the multi-controlled X gate using recursion. | | | -| [`MCXVChain`](qiskit.circuit.library.MCXVChain "qiskit.circuit.library.MCXVChain")(\[num\_ctrl\_qubits, dirty\_ancillas, ...]) | Implement the multi-controlled X gate using a V-chain of CX gates. | | | -| [`RVGate`](qiskit.circuit.library.RVGate "qiskit.circuit.library.RVGate")(v\_x, v\_y, v\_z\[, basis]) | Rotation around arbitrary rotation axis $v$ where \$ | v | \$ is angle of rotation in radians. | +| [`GMS`](qiskit.circuit.library.GMS "qiskit.circuit.library.GMS")(num\_qubits, theta) | Global Mølmer–Sørensen gate. | | | +| [`GR`](qiskit.circuit.library.GR "qiskit.circuit.library.GR")(num\_qubits, theta, phi) | Global R gate. | | | +| [`GRX`](qiskit.circuit.library.GRX "qiskit.circuit.library.GRX")(num\_qubits, theta) | Global RX gate. | | | +| [`GRY`](qiskit.circuit.library.GRY "qiskit.circuit.library.GRY")(num\_qubits, theta) | Global RY gate. | | | +| [`GRZ`](qiskit.circuit.library.GRZ "qiskit.circuit.library.GRZ")(num\_qubits, phi) | Global RZ gate. | | | +| [`MCPhaseGate`](qiskit.circuit.library.MCPhaseGate "qiskit.circuit.library.MCPhaseGate")(lam, num\_ctrl\_qubits\[, label, ...]) | Multi-controlled-Phase gate. | | | +| [`MCXGate`](qiskit.circuit.library.MCXGate "qiskit.circuit.library.MCXGate")(\[num\_ctrl\_qubits, label, ...]) | The general, multi-controlled X gate. | | | +| [`MCXGrayCode`](qiskit.circuit.library.MCXGrayCode "qiskit.circuit.library.MCXGrayCode")(\[num\_ctrl\_qubits, label, ...]) | Implement the multi-controlled X gate using the Gray code. | | | +| [`MCXRecursive`](qiskit.circuit.library.MCXRecursive "qiskit.circuit.library.MCXRecursive")(\[num\_ctrl\_qubits, label, ...]) | Implement the multi-controlled X gate using recursion. | | | +| [`MCXVChain`](qiskit.circuit.library.MCXVChain "qiskit.circuit.library.MCXVChain")(\[num\_ctrl\_qubits, dirty\_ancillas, ...]) | Implement the multi-controlled X gate using a V-chain of CX gates. | | | +| [`RVGate`](qiskit.circuit.library.RVGate "qiskit.circuit.library.RVGate")(v\_x, v\_y, v\_z\[, basis]) | Rotation around arbitrary rotation axis $v$ where \$ | v | \$ is angle of rotation in radians. | | [`PauliGate`](qiskit.circuit.library.PauliGate "qiskit.circuit.library.PauliGate")(label) | A multi-qubit Pauli gate. | | | -| [`LinearFunction`](qiskit.circuit.library.LinearFunction "qiskit.circuit.library.LinearFunction")(linear\[, validate\_input]) | A linear reversible circuit on n qubits. | | | -| [`Isometry`](qiskit.circuit.library.Isometry "qiskit.circuit.library.Isometry")(isometry, num\_ancillas\_zero, ...\[, ...]) | Decomposition of arbitrary isometries from $m$ to $n$ qubits. | | | -| [`UnitaryGate`](qiskit.circuit.library.UnitaryGate "qiskit.circuit.library.UnitaryGate")(data\[, label, check\_input]) | Class quantum gates specified by a unitary matrix. | | | -| [`UCGate`](qiskit.circuit.library.UCGate "qiskit.circuit.library.UCGate")(gate\_list\[, up\_to\_diagonal]) | Uniformly controlled gate (also called multiplexed gate). | | | -| [`UCPauliRotGate`](qiskit.circuit.library.UCPauliRotGate "qiskit.circuit.library.UCPauliRotGate")(angle\_list, rot\_axis) | Uniformly controlled Pauli rotations. | | | +| [`LinearFunction`](qiskit.circuit.library.LinearFunction "qiskit.circuit.library.LinearFunction")(linear\[, validate\_input]) | A linear reversible circuit on n qubits. | | | +| [`Isometry`](qiskit.circuit.library.Isometry "qiskit.circuit.library.Isometry")(isometry, num\_ancillas\_zero, ...\[, ...]) | Decomposition of arbitrary isometries from $m$ to $n$ qubits. | | | +| [`UnitaryGate`](qiskit.circuit.library.UnitaryGate "qiskit.circuit.library.UnitaryGate")(data\[, label, check\_input]) | Class quantum gates specified by a unitary matrix. | | | +| [`UCGate`](qiskit.circuit.library.UCGate "qiskit.circuit.library.UCGate")(gate\_list\[, up\_to\_diagonal]) | Uniformly controlled gate (also called multiplexed gate). | | | +| [`UCPauliRotGate`](qiskit.circuit.library.UCPauliRotGate "qiskit.circuit.library.UCPauliRotGate")(angle\_list, rot\_axis) | Uniformly controlled Pauli rotations. | | | | [`UCRXGate`](qiskit.circuit.library.UCRXGate "qiskit.circuit.library.UCRXGate")(angle\_list) | Uniformly controlled Pauli-X rotations. | | | | [`UCRYGate`](qiskit.circuit.library.UCRYGate "qiskit.circuit.library.UCRYGate")(angle\_list) | Uniformly controlled Pauli-Y rotations. | | | | [`UCRZGate`](qiskit.circuit.library.UCRZGate "qiskit.circuit.library.UCRZGate")(angle\_list) | Uniformly controlled Pauli-Z rotations. | | | @@ -189,9 +189,9 @@ These are [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.Quant | | | | ------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------- | -| [`AND`](qiskit.circuit.library.AND "qiskit.circuit.library.AND")(num\_variable\_qubits\[, flags, mcx\_mode]) | A circuit implementing the logical AND operation on a number of qubits. | -| [`OR`](qiskit.circuit.library.OR "qiskit.circuit.library.OR")(num\_variable\_qubits\[, flags, mcx\_mode]) | A circuit implementing the logical OR operation on a number of qubits. | -| [`XOR`](qiskit.circuit.library.XOR "qiskit.circuit.library.XOR")(num\_qubits\[, amount, seed]) | An n\_qubit circuit for bitwise xor-ing the input with some integer `amount`. | +| [`AND`](qiskit.circuit.library.AND "qiskit.circuit.library.AND")(num\_variable\_qubits\[, flags, mcx\_mode]) | A circuit implementing the logical AND operation on a number of qubits. | +| [`OR`](qiskit.circuit.library.OR "qiskit.circuit.library.OR")(num\_variable\_qubits\[, flags, mcx\_mode]) | A circuit implementing the logical OR operation on a number of qubits. | +| [`XOR`](qiskit.circuit.library.XOR "qiskit.circuit.library.XOR")(num\_qubits\[, amount, seed]) | An n\_qubit circuit for bitwise xor-ing the input with some integer `amount`. | | [`InnerProduct`](qiskit.circuit.library.InnerProduct "qiskit.circuit.library.InnerProduct")(num\_qubits) | A 2n-qubit Boolean function that computes the inner product of two n-qubit vectors over $F_2$. | ## Basis Change Circuits @@ -200,7 +200,7 @@ These circuits allow basis transformations of the qubit states. For example, in | | | | ------------------------------------------------------------------------------------------------------------ | ---------------------------------- | -| [`QFT`](qiskit.circuit.library.QFT "qiskit.circuit.library.QFT")(\[num\_qubits, approximation\_degree, ...]) | Quantum Fourier Transform Circuit. | +| [`QFT`](qiskit.circuit.library.QFT "qiskit.circuit.library.QFT")(\[num\_qubits, approximation\_degree, ...]) | Quantum Fourier Transform Circuit. | ## Arithmetic Circuits @@ -210,69 +210,69 @@ These [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCi | | | | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- | -| [`LinearAmplitudeFunction`](qiskit.circuit.library.LinearAmplitudeFunction "qiskit.circuit.library.LinearAmplitudeFunction")(num\_state\_qubits, ...) | A circuit implementing a (piecewise) linear function on qubit amplitudes. | +| [`LinearAmplitudeFunction`](qiskit.circuit.library.LinearAmplitudeFunction "qiskit.circuit.library.LinearAmplitudeFunction")(num\_state\_qubits, ...) | A circuit implementing a (piecewise) linear function on qubit amplitudes. | ### Functional Pauli Rotations | | | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------- | -| [`FunctionalPauliRotations`](qiskit.circuit.library.FunctionalPauliRotations "qiskit.circuit.library.FunctionalPauliRotations")(\[num\_state\_qubits, ...]) | Base class for functional Pauli rotations. | -| [`LinearPauliRotations`](qiskit.circuit.library.LinearPauliRotations "qiskit.circuit.library.LinearPauliRotations")(\[num\_state\_qubits, ...]) | Linearly-controlled X, Y or Z rotation. | -| [`PolynomialPauliRotations`](qiskit.circuit.library.PolynomialPauliRotations "qiskit.circuit.library.PolynomialPauliRotations")(\[num\_state\_qubits, ...]) | A circuit implementing polynomial Pauli rotations. | +| [`FunctionalPauliRotations`](qiskit.circuit.library.FunctionalPauliRotations "qiskit.circuit.library.FunctionalPauliRotations")(\[num\_state\_qubits, ...]) | Base class for functional Pauli rotations. | +| [`LinearPauliRotations`](qiskit.circuit.library.LinearPauliRotations "qiskit.circuit.library.LinearPauliRotations")(\[num\_state\_qubits, ...]) | Linearly-controlled X, Y or Z rotation. | +| [`PolynomialPauliRotations`](qiskit.circuit.library.PolynomialPauliRotations "qiskit.circuit.library.PolynomialPauliRotations")(\[num\_state\_qubits, ...]) | A circuit implementing polynomial Pauli rotations. | | [`PiecewiseLinearPauliRotations`](qiskit.circuit.library.PiecewiseLinearPauliRotations "qiskit.circuit.library.PiecewiseLinearPauliRotations")(\[...]) | Piecewise-linearly-controlled Pauli rotations. | | [`PiecewisePolynomialPauliRotations`](qiskit.circuit.library.PiecewisePolynomialPauliRotations "qiskit.circuit.library.PiecewisePolynomialPauliRotations")(\[...]) | Piecewise-polynomially-controlled Pauli rotations. | -| [`PiecewiseChebyshev`](qiskit.circuit.library.PiecewiseChebyshev "qiskit.circuit.library.PiecewiseChebyshev")(f\_x\[, degree, ...]) | Piecewise Chebyshev approximation to an input function. | +| [`PiecewiseChebyshev`](qiskit.circuit.library.PiecewiseChebyshev "qiskit.circuit.library.PiecewiseChebyshev")(f\_x\[, degree, ...]) | Piecewise Chebyshev approximation to an input function. | ### Adders | | | | ----------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | -| [`DraperQFTAdder`](qiskit.circuit.library.DraperQFTAdder "qiskit.circuit.library.DraperQFTAdder")(num\_state\_qubits\[, kind, name]) | A circuit that uses QFT to perform in-place addition on two qubit registers. | -| [`CDKMRippleCarryAdder`](qiskit.circuit.library.CDKMRippleCarryAdder "qiskit.circuit.library.CDKMRippleCarryAdder")(num\_state\_qubits\[, ...]) | A ripple-carry circuit to perform in-place addition on two qubit registers. | -| [`VBERippleCarryAdder`](qiskit.circuit.library.VBERippleCarryAdder "qiskit.circuit.library.VBERippleCarryAdder")(num\_state\_qubits\[, ...]) | The VBE ripple carry adder \[1]. | -| [`WeightedAdder`](qiskit.circuit.library.WeightedAdder "qiskit.circuit.library.WeightedAdder")(\[num\_state\_qubits, weights, name]) | A circuit to compute the weighted sum of qubit registers. | +| [`DraperQFTAdder`](qiskit.circuit.library.DraperQFTAdder "qiskit.circuit.library.DraperQFTAdder")(num\_state\_qubits\[, kind, name]) | A circuit that uses QFT to perform in-place addition on two qubit registers. | +| [`CDKMRippleCarryAdder`](qiskit.circuit.library.CDKMRippleCarryAdder "qiskit.circuit.library.CDKMRippleCarryAdder")(num\_state\_qubits\[, ...]) | A ripple-carry circuit to perform in-place addition on two qubit registers. | +| [`VBERippleCarryAdder`](qiskit.circuit.library.VBERippleCarryAdder "qiskit.circuit.library.VBERippleCarryAdder")(num\_state\_qubits\[, ...]) | The VBE ripple carry adder \[1]. | +| [`WeightedAdder`](qiskit.circuit.library.WeightedAdder "qiskit.circuit.library.WeightedAdder")(\[num\_state\_qubits, weights, name]) | A circuit to compute the weighted sum of qubit registers. | ### Multipliers | | | | -------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | -| [`HRSCumulativeMultiplier`](qiskit.circuit.library.HRSCumulativeMultiplier "qiskit.circuit.library.HRSCumulativeMultiplier")(num\_state\_qubits\[, ...]) | A multiplication circuit to store product of two input registers out-of-place. | -| [`RGQFTMultiplier`](qiskit.circuit.library.RGQFTMultiplier "qiskit.circuit.library.RGQFTMultiplier")(num\_state\_qubits\[, ...]) | A QFT multiplication circuit to store product of two input registers out-of-place. | +| [`HRSCumulativeMultiplier`](qiskit.circuit.library.HRSCumulativeMultiplier "qiskit.circuit.library.HRSCumulativeMultiplier")(num\_state\_qubits\[, ...]) | A multiplication circuit to store product of two input registers out-of-place. | +| [`RGQFTMultiplier`](qiskit.circuit.library.RGQFTMultiplier "qiskit.circuit.library.RGQFTMultiplier")(num\_state\_qubits\[, ...]) | A QFT multiplication circuit to store product of two input registers out-of-place. | ### Comparators | | | | --------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- | -| [`IntegerComparator`](qiskit.circuit.library.IntegerComparator "qiskit.circuit.library.IntegerComparator")(\[num\_state\_qubits, value, ...]) | Integer Comparator. | +| [`IntegerComparator`](qiskit.circuit.library.IntegerComparator "qiskit.circuit.library.IntegerComparator")(\[num\_state\_qubits, value, ...]) | Integer Comparator. | ### Functions on binary variables | | | | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | -| [`QuadraticForm`](qiskit.circuit.library.QuadraticForm "qiskit.circuit.library.QuadraticForm")(\[num\_result\_qubits, ...]) | Implements a quadratic form on binary variables encoded in qubit registers. | +| [`QuadraticForm`](qiskit.circuit.library.QuadraticForm "qiskit.circuit.library.QuadraticForm")(\[num\_result\_qubits, ...]) | Implements a quadratic form on binary variables encoded in qubit registers. | ### Other arithmetic functions | | | | ----------------------------------------------------------------------------------------------------------------------------------------- | ---------------- | -| [`ExactReciprocal`](qiskit.circuit.library.ExactReciprocal "qiskit.circuit.library.ExactReciprocal")(num\_state\_qubits, scaling\[, ...]) | Exact reciprocal | +| [`ExactReciprocal`](qiskit.circuit.library.ExactReciprocal "qiskit.circuit.library.ExactReciprocal")(num\_state\_qubits, scaling\[, ...]) | Exact reciprocal | ## Particular Quantum Circuits | | | | ----------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ | -| [`FourierChecking`](qiskit.circuit.library.FourierChecking "qiskit.circuit.library.FourierChecking")(f, g) | Fourier checking circuit. | +| [`FourierChecking`](qiskit.circuit.library.FourierChecking "qiskit.circuit.library.FourierChecking")(f, g) | Fourier checking circuit. | | [`GraphState`](qiskit.circuit.library.GraphState "qiskit.circuit.library.GraphState")(adjacency\_matrix) | Circuit to prepare a graph state. | | [`HiddenLinearFunction`](qiskit.circuit.library.HiddenLinearFunction "qiskit.circuit.library.HiddenLinearFunction")(adjacency\_matrix) | Circuit to solve the hidden linear function problem. | | [`IQP`](qiskit.circuit.library.IQP "qiskit.circuit.library.IQP")(interactions) | Instantaneous quantum polynomial (IQP) circuit. | -| [`QuantumVolume`](qiskit.circuit.library.QuantumVolume "qiskit.circuit.library.QuantumVolume")(num\_qubits\[, depth, seed, ...]) | A quantum volume model circuit. | -| [`PhaseEstimation`](qiskit.circuit.library.PhaseEstimation "qiskit.circuit.library.PhaseEstimation")(num\_evaluation\_qubits, unitary) | Phase Estimation circuit. | -| [`GroverOperator`](qiskit.circuit.library.GroverOperator "qiskit.circuit.library.GroverOperator")(oracle\[, state\_preparation, ...]) | The Grover operator. | -| [`PhaseOracle`](qiskit.circuit.library.PhaseOracle "qiskit.circuit.library.PhaseOracle")(expression\[, synthesizer, var\_order]) | Phase Oracle. | -| [`EvolvedOperatorAnsatz`](qiskit.circuit.library.EvolvedOperatorAnsatz "qiskit.circuit.library.EvolvedOperatorAnsatz")(\[operators, reps, ...]) | The evolved operator ansatz. | -| [`PauliEvolutionGate`](qiskit.circuit.library.PauliEvolutionGate "qiskit.circuit.library.PauliEvolutionGate")(operator\[, time, label, ...]) | Time-evolution of an operator consisting of Paulis. | -| [`HamiltonianGate`](qiskit.circuit.library.HamiltonianGate "qiskit.circuit.library.HamiltonianGate")(data, time\[, label]) | Class for representing evolution by a Hamiltonian operator as a gate. | -| [`UnitaryOverlap`](qiskit.circuit.library.UnitaryOverlap "qiskit.circuit.library.UnitaryOverlap")(unitary1, unitary2\[, ...]) | Circuit that returns the overlap between two unitaries $U_2^{\dag} U_1$. | +| [`QuantumVolume`](qiskit.circuit.library.QuantumVolume "qiskit.circuit.library.QuantumVolume")(num\_qubits\[, depth, seed, ...]) | A quantum volume model circuit. | +| [`PhaseEstimation`](qiskit.circuit.library.PhaseEstimation "qiskit.circuit.library.PhaseEstimation")(num\_evaluation\_qubits, unitary) | Phase Estimation circuit. | +| [`GroverOperator`](qiskit.circuit.library.GroverOperator "qiskit.circuit.library.GroverOperator")(oracle\[, state\_preparation, ...]) | The Grover operator. | +| [`PhaseOracle`](qiskit.circuit.library.PhaseOracle "qiskit.circuit.library.PhaseOracle")(expression\[, synthesizer, var\_order]) | Phase Oracle. | +| [`EvolvedOperatorAnsatz`](qiskit.circuit.library.EvolvedOperatorAnsatz "qiskit.circuit.library.EvolvedOperatorAnsatz")(\[operators, reps, ...]) | The evolved operator ansatz. | +| [`PauliEvolutionGate`](qiskit.circuit.library.PauliEvolutionGate "qiskit.circuit.library.PauliEvolutionGate")(operator\[, time, label, ...]) | Time-evolution of an operator consisting of Paulis. | +| [`HamiltonianGate`](qiskit.circuit.library.HamiltonianGate "qiskit.circuit.library.HamiltonianGate")(data, time\[, label]) | Class for representing evolution by a Hamiltonian operator as a gate. | +| [`UnitaryOverlap`](qiskit.circuit.library.UnitaryOverlap "qiskit.circuit.library.UnitaryOverlap")(unitary1, unitary2\[, ...]) | Circuit that returns the overlap between two unitaries $U_2^{\dag} U_1$. | ## N-local circuits @@ -280,13 +280,13 @@ These `BlueprintCircuit` subclasses are used as parameterized models (a.k.a. ans | | | | ---------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -| [`NLocal`](qiskit.circuit.library.NLocal "qiskit.circuit.library.NLocal")(\[num\_qubits, rotation\_blocks, ...]) | The n-local circuit class. | -| [`TwoLocal`](qiskit.circuit.library.TwoLocal "qiskit.circuit.library.TwoLocal")(\[num\_qubits, rotation\_blocks, ...]) | The two-local circuit. | -| [`PauliTwoDesign`](qiskit.circuit.library.PauliTwoDesign "qiskit.circuit.library.PauliTwoDesign")(\[num\_qubits, reps, seed, ...]) | The Pauli Two-Design ansatz. | -| [`RealAmplitudes`](qiskit.circuit.library.RealAmplitudes "qiskit.circuit.library.RealAmplitudes")(\[num\_qubits, entanglement, ...]) | The real-amplitudes 2-local circuit. | -| [`EfficientSU2`](qiskit.circuit.library.EfficientSU2 "qiskit.circuit.library.EfficientSU2")(\[num\_qubits, su2\_gates, ...]) | The hardware efficient SU(2) 2-local circuit. | -| [`ExcitationPreserving`](qiskit.circuit.library.ExcitationPreserving "qiskit.circuit.library.ExcitationPreserving")(\[num\_qubits, mode, ...]) | The heuristic excitation-preserving wave function ansatz. | -| [`QAOAAnsatz`](qiskit.circuit.library.QAOAAnsatz "qiskit.circuit.library.QAOAAnsatz")(\[cost\_operator, reps, ...]) | A generalized QAOA quantum circuit with a support of custom initial states and mixers. | +| [`NLocal`](qiskit.circuit.library.NLocal "qiskit.circuit.library.NLocal")(\[num\_qubits, rotation\_blocks, ...]) | The n-local circuit class. | +| [`TwoLocal`](qiskit.circuit.library.TwoLocal "qiskit.circuit.library.TwoLocal")(\[num\_qubits, rotation\_blocks, ...]) | The two-local circuit. | +| [`PauliTwoDesign`](qiskit.circuit.library.PauliTwoDesign "qiskit.circuit.library.PauliTwoDesign")(\[num\_qubits, reps, seed, ...]) | The Pauli Two-Design ansatz. | +| [`RealAmplitudes`](qiskit.circuit.library.RealAmplitudes "qiskit.circuit.library.RealAmplitudes")(\[num\_qubits, entanglement, ...]) | The real-amplitudes 2-local circuit. | +| [`EfficientSU2`](qiskit.circuit.library.EfficientSU2 "qiskit.circuit.library.EfficientSU2")(\[num\_qubits, su2\_gates, ...]) | The hardware efficient SU(2) 2-local circuit. | +| [`ExcitationPreserving`](qiskit.circuit.library.ExcitationPreserving "qiskit.circuit.library.ExcitationPreserving")(\[num\_qubits, mode, ...]) | The heuristic excitation-preserving wave function ansatz. | +| [`QAOAAnsatz`](qiskit.circuit.library.QAOAAnsatz "qiskit.circuit.library.QAOAAnsatz")(\[cost\_operator, reps, ...]) | A generalized QAOA quantum circuit with a support of custom initial states and mixers. | ## Data encoding circuits @@ -294,11 +294,11 @@ These `BlueprintCircuit` encode classical data in quantum states and are used as | | | | -------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ | -| [`PauliFeatureMap`](qiskit.circuit.library.PauliFeatureMap "qiskit.circuit.library.PauliFeatureMap")(\[feature\_dimension, reps, ...]) | The Pauli Expansion circuit. | -| [`ZFeatureMap`](qiskit.circuit.library.ZFeatureMap "qiskit.circuit.library.ZFeatureMap")(feature\_dimension\[, reps, ...]) | The first order Pauli Z-evolution circuit. | -| [`ZZFeatureMap`](qiskit.circuit.library.ZZFeatureMap "qiskit.circuit.library.ZZFeatureMap")(feature\_dimension\[, reps, ...]) | Second-order Pauli-Z evolution circuit. | -| [`StatePreparation`](qiskit.circuit.library.StatePreparation "qiskit.circuit.library.StatePreparation")(params\[, num\_qubits, ...]) | Complex amplitude state preparation. | -| [`Initialize`](qiskit.circuit.library.Initialize "qiskit.circuit.library.Initialize")(params\[, num\_qubits, normalize]) | Complex amplitude initialization. | +| [`PauliFeatureMap`](qiskit.circuit.library.PauliFeatureMap "qiskit.circuit.library.PauliFeatureMap")(\[feature\_dimension, reps, ...]) | The Pauli Expansion circuit. | +| [`ZFeatureMap`](qiskit.circuit.library.ZFeatureMap "qiskit.circuit.library.ZFeatureMap")(feature\_dimension\[, reps, ...]) | The first order Pauli Z-evolution circuit. | +| [`ZZFeatureMap`](qiskit.circuit.library.ZZFeatureMap "qiskit.circuit.library.ZZFeatureMap")(feature\_dimension\[, reps, ...]) | Second-order Pauli-Z evolution circuit. | +| [`StatePreparation`](qiskit.circuit.library.StatePreparation "qiskit.circuit.library.StatePreparation")(params\[, num\_qubits, ...]) | Complex amplitude state preparation. | +| [`Initialize`](qiskit.circuit.library.Initialize "qiskit.circuit.library.Initialize")(params\[, num\_qubits, normalize]) | Complex amplitude initialization. | ## Template circuits @@ -326,7 +326,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib -`qiskit.circuit.library.templates.nct.template_nct_2a_1()` +`qiskit.circuit.library.templates.nct.template_nct_2a_1()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_2a_1.py "view source code") **Returns** @@ -338,7 +338,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_2a_2()` +`qiskit.circuit.library.templates.nct.template_nct_2a_2()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_2a_2.py "view source code") **Returns** @@ -350,7 +350,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_2a_3()` +`qiskit.circuit.library.templates.nct.template_nct_2a_3()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_2a_3.py "view source code") **Returns** @@ -362,7 +362,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_4a_1()` +`qiskit.circuit.library.templates.nct.template_nct_4a_1()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_4a_1.py "view source code") **Returns** @@ -374,7 +374,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_4a_2()` +`qiskit.circuit.library.templates.nct.template_nct_4a_2()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_4a_2.py "view source code") **Returns** @@ -386,7 +386,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_4a_3()` +`qiskit.circuit.library.templates.nct.template_nct_4a_3()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_4a_3.py "view source code") **Returns** @@ -398,7 +398,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_4b_1()` +`qiskit.circuit.library.templates.nct.template_nct_4b_1()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_4b_1.py "view source code") **Returns** @@ -410,7 +410,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_4b_2()` +`qiskit.circuit.library.templates.nct.template_nct_4b_2()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_4b_2.py "view source code") **Returns** @@ -422,7 +422,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_5a_1()` +`qiskit.circuit.library.templates.nct.template_nct_5a_1()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_5a_1.py "view source code") **Returns** @@ -434,7 +434,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_5a_2()` +`qiskit.circuit.library.templates.nct.template_nct_5a_2()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_5a_2.py "view source code") **Returns** @@ -446,7 +446,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_5a_3()` +`qiskit.circuit.library.templates.nct.template_nct_5a_3()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_5a_3.py "view source code") **Returns** @@ -458,7 +458,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_5a_4()` +`qiskit.circuit.library.templates.nct.template_nct_5a_4()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_5a_4.py "view source code") **Returns** @@ -470,7 +470,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_6a_1()` +`qiskit.circuit.library.templates.nct.template_nct_6a_1()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_6a_1.py "view source code") **Returns** @@ -482,7 +482,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_6a_2()` +`qiskit.circuit.library.templates.nct.template_nct_6a_2()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_6a_2.py "view source code") **Returns** @@ -494,7 +494,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_6a_3()` +`qiskit.circuit.library.templates.nct.template_nct_6a_3()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_6a_3.py "view source code") **Returns** @@ -506,7 +506,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_6a_4()` +`qiskit.circuit.library.templates.nct.template_nct_6a_4()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_6a_4.py "view source code") **Returns** @@ -518,7 +518,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_6b_1()` +`qiskit.circuit.library.templates.nct.template_nct_6b_1()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_6b_1.py "view source code") **Returns** @@ -530,7 +530,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_6b_2()` +`qiskit.circuit.library.templates.nct.template_nct_6b_2()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_6b_2.py "view source code") **Returns** @@ -542,7 +542,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_6c_1()` +`qiskit.circuit.library.templates.nct.template_nct_6c_1()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_6c_1.py "view source code") **Returns** @@ -554,7 +554,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_7a_1()` +`qiskit.circuit.library.templates.nct.template_nct_7a_1()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_7a_1.py "view source code") **Returns** @@ -566,7 +566,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_7b_1()` +`qiskit.circuit.library.templates.nct.template_nct_7b_1()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_7b_1.py "view source code") **Returns** @@ -578,7 +578,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_7c_1()` +`qiskit.circuit.library.templates.nct.template_nct_7c_1()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_7c_1.py "view source code") **Returns** @@ -590,7 +590,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_7d_1()` +`qiskit.circuit.library.templates.nct.template_nct_7d_1()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_7d_1.py "view source code") **Returns** @@ -602,7 +602,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_7e_1()` +`qiskit.circuit.library.templates.nct.template_nct_7e_1()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_7e_1.py "view source code") **Returns** @@ -614,7 +614,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_9a_1()` +`qiskit.circuit.library.templates.nct.template_nct_9a_1()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_9a_1.py "view source code") **Returns** @@ -626,7 +626,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_9c_1()` +`qiskit.circuit.library.templates.nct.template_nct_9c_1()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_9c_1.py "view source code") **Returns** @@ -638,7 +638,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_9c_2()` +`qiskit.circuit.library.templates.nct.template_nct_9c_2()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_9c_2.py "view source code") **Returns** @@ -650,7 +650,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_9c_3()` +`qiskit.circuit.library.templates.nct.template_nct_9c_3()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_9c_3.py "view source code") **Returns** @@ -662,7 +662,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_9c_4()` +`qiskit.circuit.library.templates.nct.template_nct_9c_4()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_9c_4.py "view source code") **Returns** @@ -674,7 +674,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_9c_5()` +`qiskit.circuit.library.templates.nct.template_nct_9c_5()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_9c_5.py "view source code") **Returns** @@ -686,7 +686,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_9c_6()` +`qiskit.circuit.library.templates.nct.template_nct_9c_6()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_9c_6.py "view source code") **Returns** @@ -698,7 +698,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_9c_7()` +`qiskit.circuit.library.templates.nct.template_nct_9c_7()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_9c_7.py "view source code") **Returns** @@ -710,7 +710,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_9c_8()` +`qiskit.circuit.library.templates.nct.template_nct_9c_8()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_9c_8.py "view source code") **Returns** @@ -722,7 +722,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_9c_9()` +`qiskit.circuit.library.templates.nct.template_nct_9c_9()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_9c_9.py "view source code") **Returns** @@ -734,7 +734,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_9c_10()` +`qiskit.circuit.library.templates.nct.template_nct_9c_10()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_9c_10.py "view source code") **Returns** @@ -746,7 +746,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_9c_11()` +`qiskit.circuit.library.templates.nct.template_nct_9c_11()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_9c_11.py "view source code") **Returns** @@ -758,7 +758,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_9c_12()` +`qiskit.circuit.library.templates.nct.template_nct_9c_12()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_9c_12.py "view source code") **Returns** @@ -770,7 +770,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_9d_1()` +`qiskit.circuit.library.templates.nct.template_nct_9d_1()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_9d_1.py "view source code") **Returns** @@ -782,7 +782,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_9d_2()` +`qiskit.circuit.library.templates.nct.template_nct_9d_2()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_9d_2.py "view source code") **Returns** @@ -794,7 +794,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_9d_3()` +`qiskit.circuit.library.templates.nct.template_nct_9d_3()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_9d_3.py "view source code") **Returns** @@ -806,7 +806,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_9d_4()` +`qiskit.circuit.library.templates.nct.template_nct_9d_4()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_9d_4.py "view source code") **Returns** @@ -818,7 +818,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_9d_5()` +`qiskit.circuit.library.templates.nct.template_nct_9d_5()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_9d_5.py "view source code") **Returns** @@ -830,7 +830,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_9d_6()` +`qiskit.circuit.library.templates.nct.template_nct_9d_6()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_9d_6.py "view source code") **Returns** @@ -842,7 +842,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_9d_7()` +`qiskit.circuit.library.templates.nct.template_nct_9d_7()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_9d_7.py "view source code") **Returns** @@ -854,7 +854,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_9d_8()` +`qiskit.circuit.library.templates.nct.template_nct_9d_8()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_9d_8.py "view source code") **Returns** @@ -866,7 +866,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_9d_9()` +`qiskit.circuit.library.templates.nct.template_nct_9d_9()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_9d_9.py "view source code") **Returns** @@ -878,7 +878,7 @@ template as a quantum circuit. -`qiskit.circuit.library.templates.nct.template_nct_9d_10()` +`qiskit.circuit.library.templates.nct.template_nct_9d_10()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/nct/template_nct_9d_10.py "view source code") **Returns** @@ -894,7 +894,7 @@ Template circuits over Clifford gates. -`qiskit.circuit.library.clifford_2_1()` +`qiskit.circuit.library.clifford_2_1()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/clifford/clifford_2_1.py "view source code") **Returns** @@ -906,7 +906,7 @@ template as a quantum circuit. -`qiskit.circuit.library.clifford_2_2()` +`qiskit.circuit.library.clifford_2_2()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/clifford/clifford_2_2.py "view source code") **Returns** @@ -918,7 +918,7 @@ template as a quantum circuit. -`qiskit.circuit.library.clifford_2_3()` +`qiskit.circuit.library.clifford_2_3()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/clifford/clifford_2_3.py "view source code") **Returns** @@ -930,7 +930,7 @@ template as a quantum circuit. -`qiskit.circuit.library.clifford_2_4()` +`qiskit.circuit.library.clifford_2_4()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/clifford/clifford_2_4.py "view source code") **Returns** @@ -942,7 +942,7 @@ template as a quantum circuit. -`qiskit.circuit.library.clifford_3_1()` +`qiskit.circuit.library.clifford_3_1()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/clifford/clifford_3_1.py "view source code") **Returns** @@ -954,7 +954,7 @@ template as a quantum circuit. -`qiskit.circuit.library.clifford_4_1()` +`qiskit.circuit.library.clifford_4_1()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/clifford/clifford_4_1.py "view source code") **Returns** @@ -966,7 +966,7 @@ template as a quantum circuit. -`qiskit.circuit.library.clifford_4_2()` +`qiskit.circuit.library.clifford_4_2()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/clifford/clifford_4_2.py "view source code") **Returns** @@ -978,7 +978,7 @@ template as a quantum circuit. -`qiskit.circuit.library.clifford_4_3()` +`qiskit.circuit.library.clifford_4_3()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/clifford/clifford_4_3.py "view source code") **Returns** @@ -990,7 +990,7 @@ template as a quantum circuit. -`qiskit.circuit.library.clifford_4_4()` +`qiskit.circuit.library.clifford_4_4()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/clifford/clifford_4_4.py "view source code") **Returns** @@ -1002,7 +1002,7 @@ template as a quantum circuit. -`qiskit.circuit.library.clifford_5_1()` +`qiskit.circuit.library.clifford_5_1()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/clifford/clifford_5_1.py "view source code") **Returns** @@ -1014,7 +1014,7 @@ template as a quantum circuit. -`qiskit.circuit.library.clifford_6_1()` +`qiskit.circuit.library.clifford_6_1()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/clifford/clifford_6_1.py "view source code") **Returns** @@ -1026,7 +1026,7 @@ template as a quantum circuit. -`qiskit.circuit.library.clifford_6_2()` +`qiskit.circuit.library.clifford_6_2()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/clifford/clifford_6_2.py "view source code") **Returns** @@ -1038,7 +1038,7 @@ template as a quantum circuit. -`qiskit.circuit.library.clifford_6_3()` +`qiskit.circuit.library.clifford_6_3()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/clifford/clifford_6_3.py "view source code") **Returns** @@ -1050,7 +1050,7 @@ template as a quantum circuit. -`qiskit.circuit.library.clifford_6_4()` +`qiskit.circuit.library.clifford_6_4()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/clifford/clifford_6_4.py "view source code") **Returns** @@ -1062,7 +1062,7 @@ template as a quantum circuit. -`qiskit.circuit.library.clifford_6_5()` +`qiskit.circuit.library.clifford_6_5()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/clifford/clifford_6_5.py "view source code") **Returns** @@ -1074,7 +1074,7 @@ template as a quantum circuit. -`qiskit.circuit.library.clifford_8_1()` +`qiskit.circuit.library.clifford_8_1()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/clifford/clifford_8_1.py "view source code") **Returns** @@ -1086,7 +1086,7 @@ template as a quantum circuit. -`qiskit.circuit.library.clifford_8_2()` +`qiskit.circuit.library.clifford_8_2()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/clifford/clifford_8_2.py "view source code") **Returns** @@ -1098,7 +1098,7 @@ template as a quantum circuit. -`qiskit.circuit.library.clifford_8_3()` +`qiskit.circuit.library.clifford_8_3()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/clifford/clifford_8_3.py "view source code") **Returns** @@ -1114,37 +1114,37 @@ Template circuits with [`RZXGate`](qiskit.circuit.library.RZXGate "qiskit.circui -`qiskit.circuit.library.rzx_yz(theta=None)` +`qiskit.circuit.library.rzx_yz(theta=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/rzx/rzx_yz.py "view source code") Template for CX - RYGate - CX. -`qiskit.circuit.library.rzx_xz(theta=None)` +`qiskit.circuit.library.rzx_xz(theta=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/rzx/rzx_xz.py "view source code") Template for CX - RXGate - CX. -`qiskit.circuit.library.rzx_cy(theta=None)` +`qiskit.circuit.library.rzx_cy(theta=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/rzx/rzx_cy.py "view source code") Template for CX - RYGate - CX. -`qiskit.circuit.library.rzx_zz1(theta=None)` +`qiskit.circuit.library.rzx_zz1(theta=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/rzx/rzx_zz1.py "view source code") Template for CX - RZGate - CX. -`qiskit.circuit.library.rzx_zz2(theta=None)` +`qiskit.circuit.library.rzx_zz2(theta=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/rzx/rzx_zz2.py "view source code") Template for CX - RZGate - CX. -`qiskit.circuit.library.rzx_zz3(theta=None)` +`qiskit.circuit.library.rzx_zz3(theta=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/templates/rzx/rzx_zz3.py "view source code") Template for CX - RZGate - CX. diff --git a/docs/api/qiskit/circuit_singleton.md b/docs/api/qiskit/circuit_singleton.md index 02211f85f6..780729a79d 100644 --- a/docs/api/qiskit/circuit_singleton.md +++ b/docs/api/qiskit/circuit_singleton.md @@ -46,7 +46,7 @@ The public classes correspond to the standard classes [`Instruction`](qiskit.cir -`qiskit.circuit.singleton.SingletonInstruction(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.singleton.SingletonInstruction(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/singleton.py "view source code") A base class to use for [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") objects that by default are singleton instances. @@ -56,7 +56,7 @@ The exception to be aware of with this class though are the [`Instruction`](qisk -`qiskit.circuit.singleton.SingletonGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.singleton.SingletonGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/singleton.py "view source code") A base class to use for [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate") objects that by default are singleton instances. @@ -64,7 +64,7 @@ This class is very similar to [`SingletonInstruction`](#qiskit.circuit.singleton -`qiskit.circuit.singleton.SingletonControlledGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.singleton.SingletonControlledGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/singleton.py "view source code") A base class to use for [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate") objects that by default are singleton instances diff --git a/docs/api/qiskit/classicalfunction.md b/docs/api/qiskit/classicalfunction.md index 26ddfab8cb..affc59df4f 100644 --- a/docs/api/qiskit/classicalfunction.md +++ b/docs/api/qiskit/classicalfunction.md @@ -71,8 +71,8 @@ Decorator for a classical function that returns a ClassicalFunction object. | | | | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | -| [`ClassicalFunction`](qiskit.circuit.classicalfunction.ClassicalFunction "qiskit.circuit.classicalfunction.ClassicalFunction")(source\[, name]) | Represent a classical function and its logic network. | -| [`BooleanExpression`](qiskit.circuit.classicalfunction.BooleanExpression "qiskit.circuit.classicalfunction.BooleanExpression")(expression\[, name, var\_order]) | The Boolean Expression gate. | +| [`ClassicalFunction`](qiskit.circuit.classicalfunction.ClassicalFunction "qiskit.circuit.classicalfunction.ClassicalFunction")(source\[, name]) | Represent a classical function and its logic network. | +| [`BooleanExpression`](qiskit.circuit.classicalfunction.BooleanExpression "qiskit.circuit.classicalfunction.BooleanExpression")(expression\[, name, var\_order]) | The Boolean Expression gate. | ### Exceptions diff --git a/docs/api/qiskit/compiler.md b/docs/api/qiskit/compiler.md index 5efb6640cb..dfa14a1472 100644 --- a/docs/api/qiskit/compiler.md +++ b/docs/api/qiskit/compiler.md @@ -22,7 +22,7 @@ python_api_name: qiskit.compiler -`qiskit.compiler.assemble(experiments, backend=None, qobj_id=None, qobj_header=None, shots=None, memory=False, seed_simulator=None, qubit_lo_freq=None, meas_lo_freq=None, qubit_lo_range=None, meas_lo_range=None, schedule_los=None, meas_level=MeasLevel.CLASSIFIED, meas_return=MeasReturnType.AVERAGE, meas_map=None, memory_slot_size=100, rep_time=None, rep_delay=None, parameter_binds=None, parametric_pulses=None, init_qubits=True, **run_config)` +`qiskit.compiler.assemble(experiments, backend=None, qobj_id=None, qobj_header=None, shots=None, memory=False, seed_simulator=None, qubit_lo_freq=None, meas_lo_freq=None, qubit_lo_range=None, meas_lo_range=None, schedule_los=None, meas_level=MeasLevel.CLASSIFIED, meas_return=MeasReturnType.AVERAGE, meas_map=None, memory_slot_size=100, rep_time=None, rep_delay=None, parameter_binds=None, parametric_pulses=None, init_qubits=True, **run_config)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/compiler/assembler.py "view source code") Assemble a list of circuits or pulse schedules into a `Qobj`. @@ -103,7 +103,7 @@ A `Qobj` that can be run on a backend. Depending on the type of input, this will -`qiskit.compiler.schedule(circuits, backend=None, inst_map=None, meas_map=None, dt=None, method=None)` +`qiskit.compiler.schedule(circuits, backend=None, inst_map=None, meas_map=None, dt=None, method=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/compiler/scheduler.py "view source code") Schedule a circuit to a pulse `Schedule`, using the backend, according to any specified methods. Supported methods are documented in `qiskit.scheduler.schedule_circuit`. @@ -130,7 +130,7 @@ A pulse `Schedule` that implements the input circuit -`qiskit.compiler.transpile(circuits, backend=None, basis_gates=None, inst_map=None, coupling_map=None, backend_properties=None, initial_layout=None, layout_method=None, routing_method=None, translation_method=None, scheduling_method=None, instruction_durations=None, dt=None, approximation_degree=1.0, timing_constraints=None, seed_transpiler=None, optimization_level=None, callback=None, output_name=None, unitary_synthesis_method='default', unitary_synthesis_plugin_config=None, target=None, hls_config=None, init_method=None, optimization_method=None, ignore_backend_supplied_default_methods=False)` +`qiskit.compiler.transpile(circuits, backend=None, basis_gates=None, inst_map=None, coupling_map=None, backend_properties=None, initial_layout=None, layout_method=None, routing_method=None, translation_method=None, scheduling_method=None, instruction_durations=None, dt=None, approximation_degree=1.0, timing_constraints=None, seed_transpiler=None, optimization_level=None, callback=None, output_name=None, unitary_synthesis_method='default', unitary_synthesis_plugin_config=None, target=None, hls_config=None, init_method=None, optimization_method=None, ignore_backend_supplied_default_methods=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/compiler/transpiler.py "view source code") Transpile one or more circuits, according to some desired transpilation targets. @@ -276,7 +276,7 @@ The transpiled circuit(s). -`qiskit.compiler.sequence(scheduled_circuits, backend=None, inst_map=None, meas_map=None, dt=None)` +`qiskit.compiler.sequence(scheduled_circuits, backend=None, inst_map=None, meas_map=None, dt=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/compiler/sequencer.py "view source code") Schedule a scheduled circuit to a pulse `Schedule`, using the backend. diff --git a/docs/api/qiskit/converters.md b/docs/api/qiskit/converters.md index 6251b8fa08..78760aafa7 100644 --- a/docs/api/qiskit/converters.md +++ b/docs/api/qiskit/converters.md @@ -20,7 +20,7 @@ python_api_name: qiskit.converters -`qiskit.converters.circuit_to_dag(circuit, copy_operations=True, *, qubit_order=None, clbit_order=None)` +`qiskit.converters.circuit_to_dag(circuit, copy_operations=True, *, qubit_order=None, clbit_order=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/converters/circuit_to_dag.py "view source code") Build a [`DAGCircuit`](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit") object from a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). @@ -62,7 +62,7 @@ dag = circuit_to_dag(circ) -`qiskit.converters.dag_to_circuit(dag, copy_operations=True)` +`qiskit.converters.dag_to_circuit(dag, copy_operations=True)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/converters/dag_to_circuit.py "view source code") Build a `QuantumCircuit` object from a `DAGCircuit`. @@ -104,7 +104,7 @@ circuit.draw('mpl') -`qiskit.converters.circuit_to_instruction(circuit, parameter_map=None, equivalence_library=None, label=None)` +`qiskit.converters.circuit_to_instruction(circuit, parameter_map=None, equivalence_library=None, label=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/converters/circuit_to_instruction.py "view source code") Build an [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") object from a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). @@ -147,7 +147,7 @@ circuit_to_instruction(circ) -`qiskit.converters.circuit_to_gate(circuit, parameter_map=None, equivalence_library=None, label=None)` +`qiskit.converters.circuit_to_gate(circuit, parameter_map=None, equivalence_library=None, label=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/converters/circuit_to_gate.py "view source code") Build a [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate") object from a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). @@ -174,7 +174,7 @@ a Gate equivalent to the action of the input circuit. Upon decomposition, this g -`qiskit.converters.ast_to_dag(ast)` +`qiskit.converters.ast_to_dag(ast)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/converters/ast_to_dag.py "view source code") Build a `DAGCircuit` object from an AST `Node` object. @@ -214,7 +214,7 @@ dag = ast_to_dag(ast) -`qiskit.converters.dagdependency_to_circuit(dagdependency)` +`qiskit.converters.dagdependency_to_circuit(dagdependency)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/converters/dagdependency_to_circuit.py "view source code") Build a `QuantumCircuit` object from a `DAGDependency`. @@ -232,7 +232,7 @@ the circuit representing the input dag dependency. -`qiskit.converters.circuit_to_dagdependency(circuit, create_preds_and_succs=True)` +`qiskit.converters.circuit_to_dagdependency(circuit, create_preds_and_succs=True)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/converters/circuit_to_dagdependency.py "view source code") Build a `DAGDependency` object from a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). @@ -251,7 +251,7 @@ the DAG representing the input circuit as a dag dependency. -`qiskit.converters.dag_to_dagdependency(dag, create_preds_and_succs=True)` +`qiskit.converters.dag_to_dagdependency(dag, create_preds_and_succs=True)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/converters/dag_to_dagdependency.py "view source code") Build a `DAGDependency` object from a `DAGCircuit`. @@ -270,7 +270,7 @@ the DAG representing the input circuit as a dag dependency. -`qiskit.converters.dagdependency_to_dag(dagdependency)` +`qiskit.converters.dagdependency_to_dag(dagdependency)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/converters/dagdependency_to_dag.py "view source code") Build a `DAGCircuit` object from a `DAGDependency`. diff --git a/docs/api/qiskit/dagcircuit.md b/docs/api/qiskit/dagcircuit.md index f40250409c..1996e105be 100644 --- a/docs/api/qiskit/dagcircuit.md +++ b/docs/api/qiskit/dagcircuit.md @@ -24,17 +24,17 @@ python_api_name: qiskit.dagcircuit | ----------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | | [`DAGCircuit`](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit")() | Quantum circuit as a directed acyclic graph. | | [`DAGNode`](qiskit.dagcircuit.DAGNode "qiskit.dagcircuit.DAGNode")(\[nid]) | Parent class for DAGOpNode, DAGInNode, and DAGOutNode. | -| [`DAGOpNode`](qiskit.dagcircuit.DAGOpNode "qiskit.dagcircuit.DAGOpNode")(op\[, qargs, cargs, dag]) | Object to represent an Instruction at a node in the DAGCircuit. | +| [`DAGOpNode`](qiskit.dagcircuit.DAGOpNode "qiskit.dagcircuit.DAGOpNode")(op\[, qargs, cargs, dag]) | Object to represent an Instruction at a node in the DAGCircuit. | | [`DAGInNode`](qiskit.dagcircuit.DAGInNode "qiskit.dagcircuit.DAGInNode")(wire) | Object to represent an incoming wire node in the DAGCircuit. | | [`DAGOutNode`](qiskit.dagcircuit.DAGOutNode "qiskit.dagcircuit.DAGOutNode")(wire) | Object to represent an outgoing wire node in the DAGCircuit. | -| [`DAGDepNode`](qiskit.dagcircuit.DAGDepNode "qiskit.dagcircuit.DAGDepNode")(\[type, op, name, qargs, cargs, ...]) | Object to represent the information at a node in the DAGDependency(). | +| [`DAGDepNode`](qiskit.dagcircuit.DAGDepNode "qiskit.dagcircuit.DAGDepNode")(\[type, op, name, qargs, cargs, ...]) | Object to represent the information at a node in the DAGDependency(). | | [`DAGDependency`](qiskit.dagcircuit.DAGDependency "qiskit.dagcircuit.DAGDependency")() | Object to represent a quantum circuit as a Directed Acyclic Graph (DAG) via operation dependencies (i.e. | ## Exceptions -`qiskit.dagcircuit.DAGCircuitError(*msg)` +`qiskit.dagcircuit.DAGCircuitError(*msg)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/dagcircuit/exceptions.py "view source code") Base class for errors raised by the DAGCircuit object. @@ -42,7 +42,7 @@ Set the error message. -`qiskit.dagcircuit.DAGDependencyError(*msg)` +`qiskit.dagcircuit.DAGDependencyError(*msg)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/dagcircuit/exceptions.py "view source code") Base class for errors raised by the DAGDependency object. diff --git a/docs/api/qiskit/exceptions.md b/docs/api/qiskit/exceptions.md index ccf42e44d4..785eac2d2d 100644 --- a/docs/api/qiskit/exceptions.md +++ b/docs/api/qiskit/exceptions.md @@ -22,7 +22,7 @@ All Qiskit-related errors raised by Qiskit are subclasses of the base: -`qiskit.exceptions.QiskitError(*message)` +`qiskit.exceptions.QiskitError(*message)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/exceptions.py "view source code") Base class for errors raised by Qiskit. @@ -38,7 +38,7 @@ Qiskit has several optional features that depend on other packages that are not -`qiskit.exceptions.MissingOptionalLibraryError(libname, name, pip_install=None, msg=None)` +`qiskit.exceptions.MissingOptionalLibraryError(libname, name, pip_install=None, msg=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/exceptions.py "view source code") Raised when an optional library is missing. @@ -48,7 +48,7 @@ Two more uncommon errors relate to failures in reading user-configuration files, -`qiskit.exceptions.QiskitUserConfigError(*message)` +`qiskit.exceptions.QiskitUserConfigError(*message)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/exceptions.py "view source code") Raised when an error is encountered reading a user config file. @@ -56,7 +56,7 @@ Set the error message. -`qiskit.exceptions.InvalidFileError(*message)` +`qiskit.exceptions.InvalidFileError(*message)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/exceptions.py "view source code") Raised when the file provided is not valid for the specific task. diff --git a/docs/api/qiskit/execute.md b/docs/api/qiskit/execute.md index 13f51b368e..fc79990c06 100644 --- a/docs/api/qiskit/execute.md +++ b/docs/api/qiskit/execute.md @@ -20,7 +20,7 @@ python_api_name: qiskit.execute_function -`qiskit.execute_function.execute(experiments, backend, basis_gates=None, coupling_map=None, backend_properties=None, initial_layout=None, seed_transpiler=None, optimization_level=None, pass_manager=None, shots=None, memory=None, seed_simulator=None, default_qubit_los=None, default_meas_los=None, qubit_lo_range=None, meas_lo_range=None, schedule_los=None, meas_level=None, meas_return=None, memory_slots=None, memory_slot_size=None, rep_time=None, rep_delay=None, parameter_binds=None, schedule_circuit=False, inst_map=None, meas_map=None, scheduling_method=None, init_qubits=None, **run_config)` +`qiskit.execute_function.execute(experiments, backend, basis_gates=None, coupling_map=None, backend_properties=None, initial_layout=None, seed_transpiler=None, optimization_level=None, pass_manager=None, shots=None, memory=None, seed_simulator=None, default_qubit_los=None, default_meas_los=None, qubit_lo_range=None, meas_lo_range=None, schedule_los=None, meas_level=None, meas_return=None, memory_slots=None, memory_slot_size=None, rep_time=None, rep_delay=None, parameter_binds=None, schedule_circuit=False, inst_map=None, meas_map=None, scheduling_method=None, init_qubits=None, **run_config)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/execute_function.py "view source code") Execute a list of [`qiskit.circuit.QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") or [`qiskit.pulse.Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") on a backend. diff --git a/docs/api/qiskit/extensions.md b/docs/api/qiskit/extensions.md index 3e1cff21e6..6f4fc24cad 100644 --- a/docs/api/qiskit/extensions.md +++ b/docs/api/qiskit/extensions.md @@ -22,13 +22,13 @@ python_api_name: qiskit.extensions | | | | ---------------------------------------------------------------------------------------------------------------------------------- | --------------------- | -| [`SingleQubitUnitary`](qiskit.extensions.SingleQubitUnitary "qiskit.extensions.SingleQubitUnitary")(unitary\_matrix\[, mode, ...]) | Single-qubit unitary. | +| [`SingleQubitUnitary`](qiskit.extensions.SingleQubitUnitary "qiskit.extensions.SingleQubitUnitary")(unitary\_matrix\[, mode, ...]) | Single-qubit unitary. | ## Simulator Extensions | | | | ----------------------------------------------------------------------------------------------------------------- | ------------------------------- | -| [`Snapshot`](qiskit.extensions.Snapshot "qiskit.extensions.Snapshot")(label\[, snapshot\_type, num\_qubits, ...]) | Simulator snapshot instruction. | +| [`Snapshot`](qiskit.extensions.Snapshot "qiskit.extensions.Snapshot")(label\[, snapshot\_type, num\_qubits, ...]) | Simulator snapshot instruction. | ## Exceptions @@ -36,7 +36,7 @@ The additional gates in this module will tend to raise a custom exception when t -`qiskit.extensions.ExtensionError(*message)` +`qiskit.extensions.ExtensionError(*message)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/extensions/exceptions.py "view source code") Base class for errors raised by extensions module. diff --git a/docs/api/qiskit/opflow.md b/docs/api/qiskit/opflow.md index cf018b6945..a98147ff50 100644 --- a/docs/api/qiskit/opflow.md +++ b/docs/api/qiskit/opflow.md @@ -97,7 +97,7 @@ The Converter submodules include objects which manipulate Operators, usually rec -`qiskit.opflow.commutator(op_a, op_b)` +`qiskit.opflow.commutator(op_a, op_b)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/utils.py "view source code") Deprecated: Compute commutator of op\_a and op\_b. @@ -124,7 +124,7 @@ the commutator -`qiskit.opflow.anti_commutator(op_a, op_b)` +`qiskit.opflow.anti_commutator(op_a, op_b)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/utils.py "view source code") Deprecated: Compute anti-commutator of op\_a and op\_b. @@ -151,7 +151,7 @@ the anti-commutator -`qiskit.opflow.double_commutator(op_a, op_b, op_c, sign=False)` +`qiskit.opflow.double_commutator(op_a, op_b, op_c, sign=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/utils.py "view source code") Deprecated: Compute symmetric double commutator of op\_a, op\_b and op\_c. See McWeeny chapter 13.6 Equation of motion methods (page 479) @@ -167,6 +167,8 @@ If sign is True, it returns $$ \lbrace[A, B], C\rbrace/2 + \lbrace A, [B, C]\rbrace/2 = (2ABC - 2CBA - BAC + CAB - ACB + BCA)/2. + + $$ @@ -192,7 +194,7 @@ the double commutator -`qiskit.opflow.OpflowError(*message)` +`qiskit.opflow.OpflowError(*message)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/exceptions.py "view source code") Deprecated: For Opflow specific errors. diff --git a/docs/api/qiskit/passmanager.md b/docs/api/qiskit/passmanager.md index 1034abe1c4..113721adaa 100644 --- a/docs/api/qiskit/passmanager.md +++ b/docs/api/qiskit/passmanager.md @@ -138,7 +138,7 @@ With the pass manager framework, a developer can flexibly customize the optimiza | | | | ---------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- | -| [`BasePassManager`](qiskit.passmanager.BasePassManager "qiskit.passmanager.BasePassManager")(\[tasks, max\_iteration]) | Pass manager base class. | +| [`BasePassManager`](qiskit.passmanager.BasePassManager "qiskit.passmanager.BasePassManager")(\[tasks, max\_iteration]) | Pass manager base class. | | [`BaseController`](qiskit.passmanager.BaseController "qiskit.passmanager.BaseController")(\[options]) | Base class of controller. | | [`GenericPass`](qiskit.passmanager.GenericPass "qiskit.passmanager.GenericPass")() | Base class of a single pass manager task. | @@ -147,23 +147,23 @@ With the pass manager framework, a developer can flexibly customize the optimiza | | | | ---------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | | [`FlowController`](qiskit.passmanager.FlowController "qiskit.passmanager.FlowController")(\[options]) | A legacy factory for other flow controllers. | -| [`FlowControllerLinear`](qiskit.passmanager.FlowControllerLinear "qiskit.passmanager.FlowControllerLinear")(\[tasks, options]) | A standard flow controller that runs tasks one after the other. | -| [`ConditionalController`](qiskit.passmanager.ConditionalController "qiskit.passmanager.ConditionalController")(\[tasks, condition, ...]) | A flow controller runs the pipeline once if the condition is true, or does nothing if the condition is false. | -| [`DoWhileController`](qiskit.passmanager.DoWhileController "qiskit.passmanager.DoWhileController")(\[tasks, do\_while, options]) | Run the given tasks in a loop until the `do_while` condition on the property set becomes `False`. | +| [`FlowControllerLinear`](qiskit.passmanager.FlowControllerLinear "qiskit.passmanager.FlowControllerLinear")(\[tasks, options]) | A standard flow controller that runs tasks one after the other. | +| [`ConditionalController`](qiskit.passmanager.ConditionalController "qiskit.passmanager.ConditionalController")(\[tasks, condition, ...]) | A flow controller runs the pipeline once if the condition is true, or does nothing if the condition is false. | +| [`DoWhileController`](qiskit.passmanager.DoWhileController "qiskit.passmanager.DoWhileController")(\[tasks, do\_while, options]) | Run the given tasks in a loop until the `do_while` condition on the property set becomes `False`. | ### Compilation state | | | | -------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | | [`PropertySet`](qiskit.passmanager.PropertySet "qiskit.passmanager.PropertySet") | A default dictionary-like object. | -| [`WorkflowStatus`](qiskit.passmanager.WorkflowStatus "qiskit.passmanager.WorkflowStatus")(\[count, completed\_passes, ...]) | Collection of compilation status of workflow, i.e. pass manager run. | -| [`PassManagerState`](qiskit.passmanager.PassManagerState "qiskit.passmanager.PassManagerState")(workflow\_status, property\_set) | A portable container object that pass manager tasks communicate through generator. | +| [`WorkflowStatus`](qiskit.passmanager.WorkflowStatus "qiskit.passmanager.WorkflowStatus")(\[count, completed\_passes, ...]) | Collection of compilation status of workflow, i.e. pass manager run. | +| [`PassManagerState`](qiskit.passmanager.PassManagerState "qiskit.passmanager.PassManagerState")(workflow\_status, property\_set) | A portable container object that pass manager tasks communicate through generator. | ### Exceptions -`qiskit.passmanager.PassManagerError(*message)` +`qiskit.passmanager.PassManagerError(*message)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/passmanager/exceptions.py "view source code") Pass manager error. diff --git a/docs/api/qiskit/primitives.md b/docs/api/qiskit/primitives.md index 4c9293a3fe..dc91d1f781 100644 --- a/docs/api/qiskit/primitives.md +++ b/docs/api/qiskit/primitives.md @@ -125,22 +125,22 @@ print([q.binary_probabilities() for q in job_result.quasi_dists]) | | | | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | -| [`BaseEstimator`](qiskit.primitives.BaseEstimator "qiskit.primitives.BaseEstimator")(\*\[, options]) | Estimator base class. | -| [`Estimator`](qiskit.primitives.Estimator "qiskit.primitives.Estimator")(\*\[, options]) | Reference implementation of [`BaseEstimator`](qiskit.primitives.BaseEstimator "qiskit.primitives.BaseEstimator"). | -| [`BackendEstimator`](qiskit.primitives.BackendEstimator "qiskit.primitives.BackendEstimator")(backend\[, options, ...]) | Evaluates expectation value using Pauli rotation gates. | +| [`BaseEstimator`](qiskit.primitives.BaseEstimator "qiskit.primitives.BaseEstimator")(\*\[, options]) | Estimator base class. | +| [`Estimator`](qiskit.primitives.Estimator "qiskit.primitives.Estimator")(\*\[, options]) | Reference implementation of [`BaseEstimator`](qiskit.primitives.BaseEstimator "qiskit.primitives.BaseEstimator"). | +| [`BackendEstimator`](qiskit.primitives.BackendEstimator "qiskit.primitives.BackendEstimator")(backend\[, options, ...]) | Evaluates expectation value using Pauli rotation gates. | ## Sampler | | | | ----------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [`BaseSampler`](qiskit.primitives.BaseSampler "qiskit.primitives.BaseSampler")(\*\[, options]) | Sampler base class | -| [`Sampler`](qiskit.primitives.Sampler "qiskit.primitives.Sampler")(\*\[, options]) | Sampler class. | -| [`BackendSampler`](qiskit.primitives.BackendSampler "qiskit.primitives.BackendSampler")(backend\[, options, ...]) | A [`BaseSampler`](qiskit.primitives.BaseSampler "qiskit.primitives.BaseSampler") implementation that provides an interface for leveraging the sampler interface from any backend. | +| [`BaseSampler`](qiskit.primitives.BaseSampler "qiskit.primitives.BaseSampler")(\*\[, options]) | Sampler base class | +| [`Sampler`](qiskit.primitives.Sampler "qiskit.primitives.Sampler")(\*\[, options]) | Sampler class. | +| [`BackendSampler`](qiskit.primitives.BackendSampler "qiskit.primitives.BackendSampler")(backend\[, options, ...]) | A [`BaseSampler`](qiskit.primitives.BaseSampler "qiskit.primitives.BaseSampler") implementation that provides an interface for leveraging the sampler interface from any backend. | ## Results | | | | ------------------------------------------------------------------------------------------------------------ | -------------------- | -| [`EstimatorResult`](qiskit.primitives.EstimatorResult "qiskit.primitives.EstimatorResult")(values, metadata) | Result of Estimator. | -| [`SamplerResult`](qiskit.primitives.SamplerResult "qiskit.primitives.SamplerResult")(quasi\_dists, metadata) | Result of Sampler. | +| [`EstimatorResult`](qiskit.primitives.EstimatorResult "qiskit.primitives.EstimatorResult")(values, metadata) | Result of Estimator. | +| [`SamplerResult`](qiskit.primitives.SamplerResult "qiskit.primitives.SamplerResult")(quasi\_dists, metadata) | Result of Sampler. | diff --git a/docs/api/qiskit/providers.md b/docs/api/qiskit/providers.md index 7e4e92b1e2..b7e55f9a7b 100644 --- a/docs/api/qiskit/providers.md +++ b/docs/api/qiskit/providers.md @@ -32,7 +32,7 @@ Each minor version release of qiskit-terra **may** increment the version of any To enable providers to have time to adjust to changes in this interface Terra will support multiple versions of each class at once. Given the nature of one version per release the version deprecation policy is a bit more conservative than the standard deprecation policy. Terra will support a provider interface version for a minimum of 3 minor releases or the first release after 6 months from the release that introduced a version, whichever is longer, prior to a potential deprecation. After that the standard deprecation policy will apply to that interface version. This will give providers and users sufficient time to adapt to potential breaking changes in the interface. So for example lets say in 0.19.0 `BackendV2` is introduced and in the 3 months after the release of 0.19.0 we release 0.20.0, 0.21.0, and 0.22.0, then 7 months after 0.19.0 we release 0.23.0. In 0.23.0 we can deprecate BackendV2, and it needs to still be supported and can’t be removed until the deprecation policy completes. -It’s worth pointing out that Terra’s version support policy doesn’t mean providers themselves will have the same support story, they can (and arguably should) update to newer versions as soon as they can, the support window is just for Terra’s supported versions. Part of this lengthy window prior to deprecation is to give providers enough time to do their own deprecation of a potential end user impacting change in a user facing part of the interface prior to bumping their version. For example, let’s say we changed the signature to `Backend.run()` in `BackendV34` in a backwards incompatible way. Before Aer could update its [`AerSimulator`](https://qiskit.org/ecosystem/aer/stubs/qiskit_aer.AerSimulator.html#qiskit_aer.AerSimulator "(in Qiskit Aer v0.13.0)") class to be based on version 34 they’d need to deprecate the old signature prior to switching over. The changeover for Aer is not guaranteed to be lockstep with Terra so we need to ensure there is a sufficient amount of time for Aer to complete its deprecation cycle prior to removing version 33 (ie making version 34 mandatory/the minimum version). +It’s worth pointing out that Terra’s version support policy doesn’t mean providers themselves will have the same support story, they can (and arguably should) update to newer versions as soon as they can, the support window is just for Terra’s supported versions. Part of this lengthy window prior to deprecation is to give providers enough time to do their own deprecation of a potential end user impacting change in a user facing part of the interface prior to bumping their version. For example, let’s say we changed the signature to `Backend.run()` in `BackendV34` in a backwards incompatible way. Before Aer could update its [`AerSimulator`](https://qiskit.org/ecosystem/aer/stubs/qiskit_aer.AerSimulator.html#qiskit_aer.AerSimulator "(in Qiskit Aer v0.13.1)") class to be based on version 34 they’d need to deprecate the old signature prior to switching over. The changeover for Aer is not guaranteed to be lockstep with Terra so we need to ensure there is a sufficient amount of time for Aer to complete its deprecation cycle prior to removing version 33 (ie making version 34 mandatory/the minimum version). ## Abstract Classes @@ -48,11 +48,11 @@ It’s worth pointing out that Terra’s version support policy doesn’t mean p | | | | --------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | [`Backend`](qiskit.providers.Backend "qiskit.providers.Backend")() | Base common type for all versioned Backend abstract classes. | -| [`BackendV1`](qiskit.providers.BackendV1 "qiskit.providers.BackendV1")(configuration\[, provider]) | Abstract class for Backends | -| [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2")(\[provider, name, description, ...]) | Abstract class for Backends | -| [`QubitProperties`](qiskit.providers.QubitProperties "qiskit.providers.QubitProperties")(\[t1, t2, frequency]) | A representation of the properties of a qubit on a backend. | -| [`BackendV2Converter`](qiskit.providers.BackendV2Converter "qiskit.providers.BackendV2Converter")(backend\[, name\_mapping, ...]) | A converter class that takes a [`BackendV1`](qiskit.providers.BackendV1 "qiskit.providers.BackendV1") instance and wraps it in a [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2") interface. | -| [`convert_to_target`](qiskit.providers.convert_to_target "qiskit.providers.convert_to_target")(configuration\[, ...]) | Uses configuration, properties and pulse defaults to construct and return Target class. | +| [`BackendV1`](qiskit.providers.BackendV1 "qiskit.providers.BackendV1")(configuration\[, provider]) | Abstract class for Backends | +| [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2")(\[provider, name, description, ...]) | Abstract class for Backends | +| [`QubitProperties`](qiskit.providers.QubitProperties "qiskit.providers.QubitProperties")(\[t1, t2, frequency]) | A representation of the properties of a qubit on a backend. | +| [`BackendV2Converter`](qiskit.providers.BackendV2Converter "qiskit.providers.BackendV2Converter")(backend\[, name\_mapping, ...]) | A converter class that takes a [`BackendV1`](qiskit.providers.BackendV1 "qiskit.providers.BackendV1") instance and wraps it in a [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2") interface. | +| [`convert_to_target`](qiskit.providers.convert_to_target "qiskit.providers.convert_to_target")(configuration\[, ...]) | Uses configuration, properties and pulse defaults to construct and return Target class. | ### Options @@ -65,7 +65,7 @@ It’s worth pointing out that Terra’s version support policy doesn’t mean p | | | | ---------------------------------------------------------------------------------------- | -------------------------------------------------------- | | [`Job`](qiskit.providers.Job "qiskit.providers.Job")() | Base common type for all versioned Job abstract classes. | -| [`JobV1`](qiskit.providers.JobV1 "qiskit.providers.JobV1")(backend, job\_id, \*\*kwargs) | Class to handle jobs | +| [`JobV1`](qiskit.providers.JobV1 "qiskit.providers.JobV1")(backend, job\_id, \*\*kwargs) | Class to handle jobs | ### Job Status @@ -77,7 +77,7 @@ It’s worth pointing out that Terra’s version support policy doesn’t mean p -`qiskit.providers.QiskitBackendNotFoundError(*message)` +`qiskit.providers.QiskitBackendNotFoundError(*message)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/exceptions.py "view source code") Base class for errors raised while looking for a backend. @@ -85,7 +85,7 @@ Set the error message. -`qiskit.providers.BackendPropertyError(*message)` +`qiskit.providers.BackendPropertyError(*message)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/exceptions.py "view source code") Base class for errors raised while looking for a backend property. @@ -93,7 +93,7 @@ Set the error message. -`qiskit.providers.JobError(*message)` +`qiskit.providers.JobError(*message)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/exceptions.py "view source code") Base class for errors raised by Jobs. @@ -101,7 +101,7 @@ Set the error message. -`qiskit.providers.JobTimeoutError(*message)` +`qiskit.providers.JobTimeoutError(*message)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/exceptions.py "view source code") Base class for timeout errors raised by jobs. @@ -109,7 +109,7 @@ Set the error message. -`qiskit.providers.BackendConfigurationError(*message)` +`qiskit.providers.BackendConfigurationError(*message)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/exceptions.py "view source code") Base class for errors raised by the BackendConfiguration. diff --git a/docs/api/qiskit/providers_basicaer.md b/docs/api/qiskit/providers_basicaer.md index 91baf22d3a..925e8eb3d9 100644 --- a/docs/api/qiskit/providers_basicaer.md +++ b/docs/api/qiskit/providers_basicaer.md @@ -30,9 +30,9 @@ backend = BasicAer.get_backend('qasm_simulator') | | | | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------- | -| [`QasmSimulatorPy`](qiskit.providers.basicaer.QasmSimulatorPy "qiskit.providers.basicaer.QasmSimulatorPy")(\[configuration, provider]) | Python implementation of an OpenQASM 2 simulator. | -| [`StatevectorSimulatorPy`](qiskit.providers.basicaer.StatevectorSimulatorPy "qiskit.providers.basicaer.StatevectorSimulatorPy")(\[configuration, provider]) | Python statevector simulator. | -| [`UnitarySimulatorPy`](qiskit.providers.basicaer.UnitarySimulatorPy "qiskit.providers.basicaer.UnitarySimulatorPy")(\[configuration, provider]) | Python implementation of a unitary simulator. | +| [`QasmSimulatorPy`](qiskit.providers.basicaer.QasmSimulatorPy "qiskit.providers.basicaer.QasmSimulatorPy")(\[configuration, provider]) | Python implementation of an OpenQASM 2 simulator. | +| [`StatevectorSimulatorPy`](qiskit.providers.basicaer.StatevectorSimulatorPy "qiskit.providers.basicaer.StatevectorSimulatorPy")(\[configuration, provider]) | Python statevector simulator. | +| [`UnitarySimulatorPy`](qiskit.providers.basicaer.UnitarySimulatorPy "qiskit.providers.basicaer.UnitarySimulatorPy")(\[configuration, provider]) | Python implementation of a unitary simulator. | ## Provider @@ -44,7 +44,7 @@ backend = BasicAer.get_backend('qasm_simulator') | | | | ------------------------------------------------------------------------------------------------------------------------ | ------------------ | -| [`BasicAerJob`](qiskit.providers.basicaer.BasicAerJob "qiskit.providers.basicaer.BasicAerJob")(backend, job\_id, result) | BasicAerJob class. | +| [`BasicAerJob`](qiskit.providers.basicaer.BasicAerJob "qiskit.providers.basicaer.BasicAerJob")(backend, job\_id, result) | BasicAerJob class. | ## Exceptions diff --git a/docs/api/qiskit/providers_fake_provider.md b/docs/api/qiskit/providers_fake_provider.md index e03acd73e6..22f92829ea 100644 --- a/docs/api/qiskit/providers_fake_provider.md +++ b/docs/api/qiskit/providers_fake_provider.md @@ -203,7 +203,7 @@ Special fake backends are fake backends that were created for special testing pu | [`FakeBackendV2`](qiskit.providers.fake_provider.FakeBackendV2 "qiskit.providers.fake_provider.FakeBackendV2")() | A mock backend that doesn't implement run() to test compatibility with Terra internals. | | [`FakeBackend5QV2`](qiskit.providers.fake_provider.FakeBackend5QV2 "qiskit.providers.fake_provider.FakeBackend5QV2")(\[bidirectional]) | A mock backend that doesn't implement run() to test compatibility with Terra internals. | | [`FakeMumbaiFractionalCX`](qiskit.providers.fake_provider.FakeMumbaiFractionalCX "qiskit.providers.fake_provider.FakeMumbaiFractionalCX")() | A fake mumbai backend. | -| [`ConfigurableFakeBackend`](qiskit.providers.fake_provider.ConfigurableFakeBackend "qiskit.providers.fake_provider.ConfigurableFakeBackend")(name, n\_qubits\[, ...]) | Configurable backend. | +| [`ConfigurableFakeBackend`](qiskit.providers.fake_provider.ConfigurableFakeBackend "qiskit.providers.fake_provider.ConfigurableFakeBackend")(name, n\_qubits\[, ...]) | Configurable backend. | ## Fake Backend Base Classes @@ -211,7 +211,7 @@ The fake backends based on IBM hardware are based on a set of base classes: -`qiskit.providers.fake_provider.fake_backend.FakeBackendV2` +`qiskit.providers.fake_provider.fake_backend.FakeBackendV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/fake_backend.py "view source code") A fake backend class for testing and noisy simulation using real backend snapshots. @@ -221,7 +221,7 @@ FakeBackendV2 initializer. -`qiskit.providers.fake_provider.FakeBackend(configuration, time_alive=10)` +`qiskit.providers.fake_provider.FakeBackend(configuration, time_alive=10)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/fake_backend.py "view source code") This is a dummy backend just for testing purposes. @@ -234,7 +234,7 @@ FakeBackend initializer. -`qiskit.providers.fake_provider.FakeQasmBackend` +`qiskit.providers.fake_provider.FakeQasmBackend`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/fake_qasm_backend.py "view source code") A fake OpenQASM backend. @@ -247,7 +247,7 @@ FakeBackend initializer. -`qiskit.providers.fake_provider.FakePulseBackend` +`qiskit.providers.fake_provider.FakePulseBackend`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/fake_pulse_backend.py "view source code") A fake pulse backend. diff --git a/docs/api/qiskit/providers_models.md b/docs/api/qiskit/providers_models.md index 300163de1f..0816d35370 100644 --- a/docs/api/qiskit/providers_models.md +++ b/docs/api/qiskit/providers_models.md @@ -24,16 +24,16 @@ Qiskit schema-conformant objects used by the backends and providers. | | | | -------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- | -| [`BackendConfiguration`](qiskit.providers.models.BackendConfiguration "qiskit.providers.models.BackendConfiguration")(backend\_name, ...\[, ...]) | Backwards compat shim representing an abstract backend configuration. | -| [`BackendProperties`](qiskit.providers.models.BackendProperties "qiskit.providers.models.BackendProperties")(backend\_name, ...) | Class representing backend properties | -| [`BackendStatus`](qiskit.providers.models.BackendStatus "qiskit.providers.models.BackendStatus")(backend\_name, backend\_version, ...) | Class representing Backend Status. | -| [`QasmBackendConfiguration`](qiskit.providers.models.QasmBackendConfiguration "qiskit.providers.models.QasmBackendConfiguration")(backend\_name, ...) | Class representing an OpenQASM 2.0 Backend Configuration. | -| [`PulseBackendConfiguration`](qiskit.providers.models.PulseBackendConfiguration "qiskit.providers.models.PulseBackendConfiguration")(backend\_name, ...) | Static configuration state for an OpenPulse enabled backend. | -| [`UchannelLO`](qiskit.providers.models.UchannelLO "qiskit.providers.models.UchannelLO")(q, scale) | Class representing a U Channel LO | -| [`GateConfig`](qiskit.providers.models.GateConfig "qiskit.providers.models.GateConfig")(name, parameters, qasm\_def\[, ...]) | Class representing a Gate Configuration | -| [`PulseDefaults`](qiskit.providers.models.PulseDefaults "qiskit.providers.models.PulseDefaults")(qubit\_freq\_est, meas\_freq\_est, ...) | Description of default settings for Pulse systems. | -| [`Command`](qiskit.providers.models.Command "qiskit.providers.models.Command")(name\[, qubits, sequence]) | Class representing a Command. | -| [`JobStatus`](qiskit.providers.models.JobStatus "qiskit.providers.models.JobStatus")(job\_id, status, status\_msg, \*\*kwargs) | Model for JobStatus. | -| [`GateProperties`](qiskit.providers.models.GateProperties "qiskit.providers.models.GateProperties")(qubits, gate, parameters, ...) | Class representing a gate's properties | -| [`Nduv`](qiskit.providers.models.Nduv "qiskit.providers.models.Nduv")(date, name, unit, value) | Class representing name-date-unit-value | +| [`BackendConfiguration`](qiskit.providers.models.BackendConfiguration "qiskit.providers.models.BackendConfiguration")(backend\_name, ...\[, ...]) | Backwards compat shim representing an abstract backend configuration. | +| [`BackendProperties`](qiskit.providers.models.BackendProperties "qiskit.providers.models.BackendProperties")(backend\_name, ...) | Class representing backend properties | +| [`BackendStatus`](qiskit.providers.models.BackendStatus "qiskit.providers.models.BackendStatus")(backend\_name, backend\_version, ...) | Class representing Backend Status. | +| [`QasmBackendConfiguration`](qiskit.providers.models.QasmBackendConfiguration "qiskit.providers.models.QasmBackendConfiguration")(backend\_name, ...) | Class representing an OpenQASM 2.0 Backend Configuration. | +| [`PulseBackendConfiguration`](qiskit.providers.models.PulseBackendConfiguration "qiskit.providers.models.PulseBackendConfiguration")(backend\_name, ...) | Static configuration state for an OpenPulse enabled backend. | +| [`UchannelLO`](qiskit.providers.models.UchannelLO "qiskit.providers.models.UchannelLO")(q, scale) | Class representing a U Channel LO | +| [`GateConfig`](qiskit.providers.models.GateConfig "qiskit.providers.models.GateConfig")(name, parameters, qasm\_def\[, ...]) | Class representing a Gate Configuration | +| [`PulseDefaults`](qiskit.providers.models.PulseDefaults "qiskit.providers.models.PulseDefaults")(qubit\_freq\_est, meas\_freq\_est, ...) | Description of default settings for Pulse systems. | +| [`Command`](qiskit.providers.models.Command "qiskit.providers.models.Command")(name\[, qubits, sequence]) | Class representing a Command. | +| [`JobStatus`](qiskit.providers.models.JobStatus "qiskit.providers.models.JobStatus")(job\_id, status, status\_msg, \*\*kwargs) | Model for JobStatus. | +| [`GateProperties`](qiskit.providers.models.GateProperties "qiskit.providers.models.GateProperties")(qubits, gate, parameters, ...) | Class representing a gate's properties | +| [`Nduv`](qiskit.providers.models.Nduv "qiskit.providers.models.Nduv")(date, name, unit, value) | Class representing name-date-unit-value | diff --git a/docs/api/qiskit/pulse.md b/docs/api/qiskit/pulse.md index 7dda2f3cac..bb1e51c191 100644 --- a/docs/api/qiskit/pulse.md +++ b/docs/api/qiskit/pulse.md @@ -56,24 +56,24 @@ An instruction can be added to a [`Schedule`](qiskit.pulse.Schedule "qiskit.puls | | | | ------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [`Acquire`](qiskit.pulse.instructions.Acquire "qiskit.pulse.instructions.Acquire")(duration, channel\[, mem\_slot, ...]) | The Acquire instruction is used to trigger the ADC associated with a particular qubit; e.g. | -| [`Call`](qiskit.pulse.instructions.Call "qiskit.pulse.instructions.Call")(subroutine\[, value\_dict, name]) | Pulse `Call` instruction. | -| [`Reference`](qiskit.pulse.instructions.Reference "qiskit.pulse.instructions.Reference")(name, \*extra\_keys) | Pulse compiler directive that refers to a subroutine. | -| [`Delay`](qiskit.pulse.instructions.Delay "qiskit.pulse.instructions.Delay")(duration, channel\[, name]) | A blocking instruction with no other effect. | -| [`Play`](qiskit.pulse.instructions.Play "qiskit.pulse.instructions.Play")(pulse, channel\[, name]) | This instruction is responsible for applying a pulse on a channel. | -| [`RelativeBarrier`](qiskit.pulse.instructions.RelativeBarrier "qiskit.pulse.instructions.RelativeBarrier")(\*channels\[, name]) | Pulse `RelativeBarrier` directive. | -| [`SetFrequency`](qiskit.pulse.instructions.SetFrequency "qiskit.pulse.instructions.SetFrequency")(frequency, channel\[, name]) | Set the channel frequency. | -| [`ShiftFrequency`](qiskit.pulse.instructions.ShiftFrequency "qiskit.pulse.instructions.ShiftFrequency")(frequency, channel\[, name]) | Shift the channel frequency away from the current frequency. | -| [`SetPhase`](qiskit.pulse.instructions.SetPhase "qiskit.pulse.instructions.SetPhase")(phase, channel\[, name]) | The set phase instruction sets the phase of the proceeding pulses on that channel to `phase` radians. | -| [`ShiftPhase`](qiskit.pulse.instructions.ShiftPhase "qiskit.pulse.instructions.ShiftPhase")(phase, channel\[, name]) | The shift phase instruction updates the modulation phase of proceeding pulses played on the same [`Channel`](#qiskit.pulse.channels.Channel "qiskit.pulse.channels.Channel"). | -| [`Snapshot`](qiskit.pulse.instructions.Snapshot "qiskit.pulse.instructions.Snapshot")(label\[, snapshot\_type, name]) | An instruction targeted for simulators, to capture a moment in the simulation. | -| [`TimeBlockade`](qiskit.pulse.instructions.TimeBlockade "qiskit.pulse.instructions.TimeBlockade")(duration, channel\[, name]) | Pulse `TimeBlockade` directive. | +| [`Acquire`](qiskit.pulse.instructions.Acquire "qiskit.pulse.instructions.Acquire")(duration, channel\[, mem\_slot, ...]) | The Acquire instruction is used to trigger the ADC associated with a particular qubit; e.g. | +| [`Call`](qiskit.pulse.instructions.Call "qiskit.pulse.instructions.Call")(subroutine\[, value\_dict, name]) | Pulse `Call` instruction. | +| [`Reference`](qiskit.pulse.instructions.Reference "qiskit.pulse.instructions.Reference")(name, \*extra\_keys) | Pulse compiler directive that refers to a subroutine. | +| [`Delay`](qiskit.pulse.instructions.Delay "qiskit.pulse.instructions.Delay")(duration, channel\[, name]) | A blocking instruction with no other effect. | +| [`Play`](qiskit.pulse.instructions.Play "qiskit.pulse.instructions.Play")(pulse, channel\[, name]) | This instruction is responsible for applying a pulse on a channel. | +| [`RelativeBarrier`](qiskit.pulse.instructions.RelativeBarrier "qiskit.pulse.instructions.RelativeBarrier")(\*channels\[, name]) | Pulse `RelativeBarrier` directive. | +| [`SetFrequency`](qiskit.pulse.instructions.SetFrequency "qiskit.pulse.instructions.SetFrequency")(frequency, channel\[, name]) | Set the channel frequency. | +| [`ShiftFrequency`](qiskit.pulse.instructions.ShiftFrequency "qiskit.pulse.instructions.ShiftFrequency")(frequency, channel\[, name]) | Shift the channel frequency away from the current frequency. | +| [`SetPhase`](qiskit.pulse.instructions.SetPhase "qiskit.pulse.instructions.SetPhase")(phase, channel\[, name]) | The set phase instruction sets the phase of the proceeding pulses on that channel to `phase` radians. | +| [`ShiftPhase`](qiskit.pulse.instructions.ShiftPhase "qiskit.pulse.instructions.ShiftPhase")(phase, channel\[, name]) | The shift phase instruction updates the modulation phase of proceeding pulses played on the same [`Channel`](#qiskit.pulse.channels.Channel "qiskit.pulse.channels.Channel"). | +| [`Snapshot`](qiskit.pulse.instructions.Snapshot "qiskit.pulse.instructions.Snapshot")(label\[, snapshot\_type, name]) | An instruction targeted for simulators, to capture a moment in the simulation. | +| [`TimeBlockade`](qiskit.pulse.instructions.TimeBlockade "qiskit.pulse.instructions.TimeBlockade")(duration, channel\[, name]) | Pulse `TimeBlockade` directive. | These are all instances of the same base class: -`qiskit.pulse.instructions.Instruction(operands, name=None)` +`qiskit.pulse.instructions.Instruction(operands, name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/instructions/instruction.py "view source code") The smallest schedulable unit: a single instruction. It has a fixed duration and specified channels. @@ -106,9 +106,9 @@ In contrast, the [`SymbolicPulse`](qiskit.pulse.library.SymbolicPulse "qiskit.pu | | | | ------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | -| [`Waveform`](qiskit.pulse.library.Waveform "qiskit.pulse.library.Waveform")(samples\[, name, epsilon, ...]) | A pulse specified completely by complex-valued samples; each sample is played for the duration of the backend cycle-time, dt. | -| [`SymbolicPulse`](qiskit.pulse.library.SymbolicPulse "qiskit.pulse.library.SymbolicPulse")(pulse\_type, duration\[, ...]) | The pulse representation model with parameters and symbolic expressions. | -| [`ParametricPulse`](qiskit.pulse.library.ParametricPulse "qiskit.pulse.library.ParametricPulse")(duration\[, name, ...]) | The abstract superclass for parametric pulses. | +| [`Waveform`](qiskit.pulse.library.Waveform "qiskit.pulse.library.Waveform")(samples\[, name, epsilon, ...]) | A pulse specified completely by complex-valued samples; each sample is played for the duration of the backend cycle-time, dt. | +| [`SymbolicPulse`](qiskit.pulse.library.SymbolicPulse "qiskit.pulse.library.SymbolicPulse")(pulse\_type, duration\[, ...]) | The pulse representation model with parameters and symbolic expressions. | +| [`ParametricPulse`](qiskit.pulse.library.ParametricPulse "qiskit.pulse.library.ParametricPulse")(duration\[, name, ...]) | The abstract superclass for parametric pulses. | @@ -116,7 +116,7 @@ In contrast, the [`SymbolicPulse`](qiskit.pulse.library.SymbolicPulse "qiskit.pu -`qiskit.pulse.library.constant(duration, amp, name=None)` +`qiskit.pulse.library.constant(duration, amp, name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/library/discrete.py "view source code") Generates constant-sampled [`Waveform`](qiskit.pulse.library.Waveform "qiskit.pulse.library.Waveform"). @@ -142,7 +142,7 @@ $$ -`qiskit.pulse.library.zero(duration, name=None)` +`qiskit.pulse.library.zero(duration, name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/library/discrete.py "view source code") Generates zero-sampled [`Waveform`](qiskit.pulse.library.Waveform "qiskit.pulse.library.Waveform"). @@ -167,7 +167,7 @@ $$ -`qiskit.pulse.library.square(duration, amp, freq=None, phase=0, name=None)` +`qiskit.pulse.library.square(duration, amp, freq=None, phase=0, name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/library/discrete.py "view source code") Generates square wave [`Waveform`](qiskit.pulse.library.Waveform "qiskit.pulse.library.Waveform"). @@ -197,7 +197,7 @@ with the convention $\text{sign}(0) = 1$. -`qiskit.pulse.library.sawtooth(duration, amp, freq=None, phase=0, name=None)` +`qiskit.pulse.library.sawtooth(duration, amp, freq=None, phase=0, name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/library/discrete.py "view source code") Generates sawtooth wave [`Waveform`](qiskit.pulse.library.Waveform "qiskit.pulse.library.Waveform"). @@ -244,7 +244,7 @@ plt.show() -`qiskit.pulse.library.triangle(duration, amp, freq=None, phase=0, name=None)` +`qiskit.pulse.library.triangle(duration, amp, freq=None, phase=0, name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/library/discrete.py "view source code") Generates triangle wave [`Waveform`](qiskit.pulse.library.Waveform "qiskit.pulse.library.Waveform"). @@ -291,7 +291,7 @@ plt.show() -`qiskit.pulse.library.cos(duration, amp, freq=None, phase=0, name=None)` +`qiskit.pulse.library.cos(duration, amp, freq=None, phase=0, name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/library/discrete.py "view source code") Generates cosine wave [`Waveform`](qiskit.pulse.library.Waveform "qiskit.pulse.library.Waveform"). @@ -319,7 +319,7 @@ $$ -`qiskit.pulse.library.sin(duration, amp, freq=None, phase=0, name=None)` +`qiskit.pulse.library.sin(duration, amp, freq=None, phase=0, name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/library/discrete.py "view source code") Generates sine wave [`Waveform`](qiskit.pulse.library.Waveform "qiskit.pulse.library.Waveform"). @@ -347,7 +347,7 @@ $$ -`qiskit.pulse.library.gaussian(duration, amp, sigma, name=None, zero_ends=True)` +`qiskit.pulse.library.gaussian(duration, amp, sigma, name=None, zero_ends=True)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/library/discrete.py "view source code") Generates unnormalized gaussian [`Waveform`](qiskit.pulse.library.Waveform "qiskit.pulse.library.Waveform"). @@ -387,7 +387,7 @@ Integrated area under the full curve is `amp * np.sqrt(2*np.pi*sigma**2)` -`qiskit.pulse.library.gaussian_deriv(duration, amp, sigma, name=None)` +`qiskit.pulse.library.gaussian_deriv(duration, amp, sigma, name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/library/discrete.py "view source code") Generates unnormalized gaussian derivative [`Waveform`](qiskit.pulse.library.Waveform "qiskit.pulse.library.Waveform"). @@ -417,7 +417,7 @@ i.e. the derivative of the Gaussian function, with center $\mu=$ `duration/2`. -`qiskit.pulse.library.sech(duration, amp, sigma, name=None, zero_ends=True)` +`qiskit.pulse.library.sech(duration, amp, sigma, name=None, zero_ends=True)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/library/discrete.py "view source code") Generates unnormalized sech [`Waveform`](qiskit.pulse.library.Waveform "qiskit.pulse.library.Waveform"). @@ -455,7 +455,7 @@ where $y^*$ is the value of the endpoint samples. This sets the endpoints to $0$ -`qiskit.pulse.library.sech_deriv(duration, amp, sigma, name=None)` +`qiskit.pulse.library.sech_deriv(duration, amp, sigma, name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/library/discrete.py "view source code") Generates unnormalized sech derivative [`Waveform`](qiskit.pulse.library.Waveform "qiskit.pulse.library.Waveform"). @@ -463,6 +463,8 @@ For $A=$ `amp`, $\sigma=$ `sigma`, and center $\mu=$ `duration/2`, applies the m $$ f(x) = \frac{d}{dx}\left[A\text{sech}\left(\frac{x-\mu}{\sigma} \right)\right], + + $$ i.e. the derivative of $\text{sech}$. @@ -484,18 +486,18 @@ i.e. the derivative of $\text{sech}$. -`qiskit.pulse.library.gaussian_square(duration, amp, sigma, risefall=None, width=None, name=None, zero_ends=True)` +`qiskit.pulse.library.gaussian_square(duration, amp, sigma, risefall=None, width=None, name=None, zero_ends=True)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/library/discrete.py "view source code") Generates gaussian square [`Waveform`](qiskit.pulse.library.Waveform "qiskit.pulse.library.Waveform"). For $d=$ `duration`, $A=$ `amp`, $\sigma=$ `sigma`, and $r=$ `risefall`, applies the `midpoint` sampling strategy to generate a discrete pulse sampled from the continuous function: $$ -\begin{split}f(x) = \begin{cases} +f(x) = \begin{cases} g(x - r) ) & x\leq r \\ A & r\leq x\leq d-r \\ g(x - (d - r)) & d-r\leq x - \end{cases}\end{split} + \end{cases} $$ where $g(x)$ is the Gaussian function sampled from in [`gaussian()`](#qiskit.pulse.library.gaussian "qiskit.pulse.library.gaussian") with $A=$ `amp`, $\mu=1$, and $\sigma=$ `sigma`. I.e. $f(x)$ represents a square pulse with smooth Gaussian edges. @@ -526,7 +528,7 @@ If `zero_ends == True`, the samples for the Gaussian ramps are remapped as in [` -`qiskit.pulse.library.drag(duration, amp, sigma, beta, name=None, zero_ends=True)` +`qiskit.pulse.library.drag(duration, amp, sigma, beta, name=None, zero_ends=True)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/library/discrete.py "view source code") Generates Y-only correction DRAG [`Waveform`](qiskit.pulse.library.Waveform "qiskit.pulse.library.Waveform") for standard nonlinear oscillator (SNO) \[1]. @@ -567,20 +569,20 @@ If `zero_ends == True`, the samples from $g(x)$ are remapped as in [`gaussian()` | | | | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [`Constant`](qiskit.pulse.library.Constant_class.rst#qiskit.pulse.library.Constant "qiskit.pulse.library.Constant")(duration, amp\[, angle, name, ...]) | A simple constant pulse, with an amplitude value and a duration: | -| [`Drag`](qiskit.pulse.library.Drag_class.rst#qiskit.pulse.library.Drag "qiskit.pulse.library.Drag")(duration, amp, sigma, beta\[, angle, ...]) | The Derivative Removal by Adiabatic Gate (DRAG) pulse is a standard Gaussian pulse with an additional Gaussian derivative component and lifting applied. | -| [`Gaussian`](qiskit.pulse.library.Gaussian_class.rst#qiskit.pulse.library.Gaussian "qiskit.pulse.library.Gaussian")(duration, amp, sigma\[, angle, ...]) | A lifted and truncated pulse envelope shaped according to the Gaussian function whose mean is centered at the center of the pulse (duration / 2): | -| [`GaussianSquare`](qiskit.pulse.library.GaussianSquare "qiskit.pulse.library.GaussianSquare")(duration, amp, sigma\[, ...]) | A square pulse with a Gaussian shaped risefall on both sides lifted such that its first sample is zero. | -| [`GaussianSquareDrag`](qiskit.pulse.library.GaussianSquareDrag "qiskit.pulse.library.GaussianSquareDrag")(duration, amp, sigma, beta) | A square pulse with a Drag shaped rise and fall | -| [`gaussian_square_echo`](qiskit.pulse.library.gaussian_square_echo "qiskit.pulse.library.gaussian_square_echo")(duration, amp, sigma\[, ...]) | An echoed Gaussian square pulse with an active tone overlaid on it. | -| [`GaussianDeriv`](qiskit.pulse.library.GaussianDeriv "qiskit.pulse.library.GaussianDeriv")(duration, amp, sigma\[, angle, ...]) | An unnormalized Gaussian derivative pulse. | -| [`Sin`](qiskit.pulse.library.Sin_class.rst#qiskit.pulse.library.Sin "qiskit.pulse.library.Sin")(duration, amp, phase\[, freq, angle, ...]) | A sinusoidal pulse. | -| [`Cos`](qiskit.pulse.library.Cos_class.rst#qiskit.pulse.library.Cos "qiskit.pulse.library.Cos")(duration, amp, phase\[, freq, angle, ...]) | A cosine pulse. | -| [`Sawtooth`](qiskit.pulse.library.Sawtooth_class.rst#qiskit.pulse.library.Sawtooth "qiskit.pulse.library.Sawtooth")(duration, amp, phase\[, freq, ...]) | A sawtooth pulse. | -| [`Triangle`](qiskit.pulse.library.Triangle_class.rst#qiskit.pulse.library.Triangle "qiskit.pulse.library.Triangle")(duration, amp, phase\[, freq, ...]) | A triangle wave pulse. | -| [`Square`](qiskit.pulse.library.Square_fun.rst#qiskit.pulse.library.Square "qiskit.pulse.library.Square")(duration, amp, phase\[, freq, angle, ...]) | A square wave pulse. | -| [`Sech`](qiskit.pulse.library.Sech_fun.rst#qiskit.pulse.library.Sech "qiskit.pulse.library.Sech")(duration, amp, sigma\[, angle, name, ...]) | An unnormalized sech pulse. | -| [`SechDeriv`](qiskit.pulse.library.SechDeriv "qiskit.pulse.library.SechDeriv")(duration, amp, sigma\[, angle, ...]) | An unnormalized sech derivative pulse. | +| [`Constant`](qiskit.pulse.library.Constant_class.rst#qiskit.pulse.library.Constant "qiskit.pulse.library.Constant")(duration, amp\[, angle, name, ...]) | A simple constant pulse, with an amplitude value and a duration: | +| [`Drag`](qiskit.pulse.library.Drag_class.rst#qiskit.pulse.library.Drag "qiskit.pulse.library.Drag")(duration, amp, sigma, beta\[, angle, ...]) | The Derivative Removal by Adiabatic Gate (DRAG) pulse is a standard Gaussian pulse with an additional Gaussian derivative component and lifting applied. | +| [`Gaussian`](qiskit.pulse.library.Gaussian_class.rst#qiskit.pulse.library.Gaussian "qiskit.pulse.library.Gaussian")(duration, amp, sigma\[, angle, ...]) | A lifted and truncated pulse envelope shaped according to the Gaussian function whose mean is centered at the center of the pulse (duration / 2): | +| [`GaussianSquare`](qiskit.pulse.library.GaussianSquare "qiskit.pulse.library.GaussianSquare")(duration, amp, sigma\[, ...]) | A square pulse with a Gaussian shaped risefall on both sides lifted such that its first sample is zero. | +| [`GaussianSquareDrag`](qiskit.pulse.library.GaussianSquareDrag "qiskit.pulse.library.GaussianSquareDrag")(duration, amp, sigma, beta) | A square pulse with a Drag shaped rise and fall | +| [`gaussian_square_echo`](qiskit.pulse.library.gaussian_square_echo "qiskit.pulse.library.gaussian_square_echo")(duration, amp, sigma\[, ...]) | An echoed Gaussian square pulse with an active tone overlaid on it. | +| [`GaussianDeriv`](qiskit.pulse.library.GaussianDeriv "qiskit.pulse.library.GaussianDeriv")(duration, amp, sigma\[, angle, ...]) | An unnormalized Gaussian derivative pulse. | +| [`Sin`](qiskit.pulse.library.Sin_class.rst#qiskit.pulse.library.Sin "qiskit.pulse.library.Sin")(duration, amp, phase\[, freq, angle, ...]) | A sinusoidal pulse. | +| [`Cos`](qiskit.pulse.library.Cos_class.rst#qiskit.pulse.library.Cos "qiskit.pulse.library.Cos")(duration, amp, phase\[, freq, angle, ...]) | A cosine pulse. | +| [`Sawtooth`](qiskit.pulse.library.Sawtooth_class.rst#qiskit.pulse.library.Sawtooth "qiskit.pulse.library.Sawtooth")(duration, amp, phase\[, freq, ...]) | A sawtooth pulse. | +| [`Triangle`](qiskit.pulse.library.Triangle_class.rst#qiskit.pulse.library.Triangle "qiskit.pulse.library.Triangle")(duration, amp, phase\[, freq, ...]) | A triangle wave pulse. | +| [`Square`](qiskit.pulse.library.Square_fun.rst#qiskit.pulse.library.Square "qiskit.pulse.library.Square")(duration, amp, phase\[, freq, angle, ...]) | A square wave pulse. | +| [`Sech`](qiskit.pulse.library.Sech_fun.rst#qiskit.pulse.library.Sech "qiskit.pulse.library.Sech")(duration, amp, sigma\[, angle, name, ...]) | An unnormalized sech pulse. | +| [`SechDeriv`](qiskit.pulse.library.SechDeriv "qiskit.pulse.library.SechDeriv")(duration, amp, sigma\[, angle, ...]) | An unnormalized sech derivative pulse. | @@ -606,19 +608,19 @@ Novel channel types can often utilize the [`ControlChannel`](qiskit.pulse.channe | | | | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | -| [`DriveChannel`](qiskit.pulse.channels.DriveChannel "qiskit.pulse.channels.DriveChannel")(\*args, \*\*kwargs) | Drive channels transmit signals to qubits which enact gate operations. | -| [`MeasureChannel`](qiskit.pulse.channels.MeasureChannel "qiskit.pulse.channels.MeasureChannel")(\*args, \*\*kwargs) | Measure channels transmit measurement stimulus pulses for readout. | -| [`AcquireChannel`](qiskit.pulse.channels.AcquireChannel "qiskit.pulse.channels.AcquireChannel")(\*args, \*\*kwargs) | Acquire channels are used to collect data. | -| [`ControlChannel`](qiskit.pulse.channels.ControlChannel "qiskit.pulse.channels.ControlChannel")(\*args, \*\*kwargs) | Control channels provide supplementary control over the qubit to the drive channel. | -| [`RegisterSlot`](qiskit.pulse.channels.RegisterSlot "qiskit.pulse.channels.RegisterSlot")(\*args, \*\*kwargs) | Classical resister slot channels represent classical registers (low-latency classical memory). | -| [`MemorySlot`](qiskit.pulse.channels.MemorySlot "qiskit.pulse.channels.MemorySlot")(\*args, \*\*kwargs) | Memory slot channels represent classical memory storage. | -| [`SnapshotChannel`](qiskit.pulse.channels.SnapshotChannel "qiskit.pulse.channels.SnapshotChannel")(\*args, \*\*kwargs) | Snapshot channels are used to specify instructions for simulators. | +| [`DriveChannel`](qiskit.pulse.channels.DriveChannel "qiskit.pulse.channels.DriveChannel")(\*args, \*\*kwargs) | Drive channels transmit signals to qubits which enact gate operations. | +| [`MeasureChannel`](qiskit.pulse.channels.MeasureChannel "qiskit.pulse.channels.MeasureChannel")(\*args, \*\*kwargs) | Measure channels transmit measurement stimulus pulses for readout. | +| [`AcquireChannel`](qiskit.pulse.channels.AcquireChannel "qiskit.pulse.channels.AcquireChannel")(\*args, \*\*kwargs) | Acquire channels are used to collect data. | +| [`ControlChannel`](qiskit.pulse.channels.ControlChannel "qiskit.pulse.channels.ControlChannel")(\*args, \*\*kwargs) | Control channels provide supplementary control over the qubit to the drive channel. | +| [`RegisterSlot`](qiskit.pulse.channels.RegisterSlot "qiskit.pulse.channels.RegisterSlot")(\*args, \*\*kwargs) | Classical resister slot channels represent classical registers (low-latency classical memory). | +| [`MemorySlot`](qiskit.pulse.channels.MemorySlot "qiskit.pulse.channels.MemorySlot")(\*args, \*\*kwargs) | Memory slot channels represent classical memory storage. | +| [`SnapshotChannel`](qiskit.pulse.channels.SnapshotChannel "qiskit.pulse.channels.SnapshotChannel")(\*args, \*\*kwargs) | Snapshot channels are used to specify instructions for simulators. | All channels are children of the same abstract base class: -`qiskit.pulse.channels.Channel(*args, **kwargs)` +`qiskit.pulse.channels.Channel(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/channels.py "view source code") Base class of channels. Channels provide a Qiskit-side label for typical quantum control hardware signal channels. The final label -> physical channel mapping is the responsibility of the hardware backend. For instance, `DriveChannel(0)` holds instructions which the backend should map to the signal line driving gate operations on the qubit labeled (indexed) 0. @@ -640,8 +642,8 @@ Schedules are Pulse programs. They describe instruction sequences for the contro | | | | -------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule")(\*schedules\[, name, metadata]) | A quantum program *schedule* with exact time constraints for its instructions, operating over all input signal *channels* and supporting special syntaxes for building. | -| [`ScheduleBlock`](qiskit.pulse.ScheduleBlock "qiskit.pulse.ScheduleBlock")(\[name, metadata, ...]) | Time-ordered sequence of instructions with alignment context. | +| [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule")(\*schedules\[, name, metadata]) | A quantum program *schedule* with exact time constraints for its instructions, operating over all input signal *channels* and supporting special syntaxes for building. | +| [`ScheduleBlock`](qiskit.pulse.ScheduleBlock "qiskit.pulse.ScheduleBlock")(\[name, metadata, ...]) | Time-ordered sequence of instructions with alignment context. | @@ -664,7 +666,7 @@ The alignment transforms define alignment policies of instructions in [`Schedule | | | | ---------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ | | [`AlignEquispaced`](qiskit.pulse.transforms.AlignEquispaced "qiskit.pulse.transforms.AlignEquispaced")(duration) | Align instructions with equispaced interval within a specified duration. | -| [`AlignFunc`](qiskit.pulse.transforms.AlignFunc "qiskit.pulse.transforms.AlignFunc")(duration, func) | Allocate instructions at position specified by callback function. | +| [`AlignFunc`](qiskit.pulse.transforms.AlignFunc "qiskit.pulse.transforms.AlignFunc")(duration, func) | Allocate instructions at position specified by callback function. | | [`AlignLeft`](qiskit.pulse.transforms.AlignLeft "qiskit.pulse.transforms.AlignLeft")() | Align instructions in as-soon-as-possible manner. | | [`AlignRight`](qiskit.pulse.transforms.AlignRight "qiskit.pulse.transforms.AlignRight")() | Align instructions in as-late-as-possible manner. | | [`AlignSequential`](qiskit.pulse.transforms.AlignSequential "qiskit.pulse.transforms.AlignSequential")() | Align instructions sequentially. | @@ -673,7 +675,7 @@ These are all subtypes of the abstract base class [`AlignmentKind`](#qiskit.puls -`qiskit.pulse.transforms.AlignmentKind(context_params)` +`qiskit.pulse.transforms.AlignmentKind(context_params)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/transforms/alignments.py "view source code") An abstract class for schedule alignment. @@ -687,7 +689,7 @@ The canonicalization transforms convert schedules to a form amenable for executi -`qiskit.pulse.transforms.add_implicit_acquires(schedule, meas_map)` +`qiskit.pulse.transforms.add_implicit_acquires(schedule, meas_map)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/transforms/canonicalization.py "view source code") Return a new schedule with implicit acquires from the measurement mapping replaced by explicit ones. @@ -710,7 +712,7 @@ A `Schedule` with the additional acquisition instructions. -`qiskit.pulse.transforms.align_measures(schedules, inst_map=None, cal_gate='u3', max_calibration_duration=None, align_time=None, align_all=True)` +`qiskit.pulse.transforms.align_measures(schedules, inst_map=None, cal_gate='u3', max_calibration_duration=None, align_time=None, align_all=True)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/transforms/canonicalization.py "view source code") Return new schedules where measurements occur at the same physical time. @@ -777,7 +779,7 @@ The input list of schedules transformed to have their measurements aligned. -`qiskit.pulse.transforms.block_to_schedule(block)` +`qiskit.pulse.transforms.block_to_schedule(block)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/transforms/canonicalization.py "view source code") Convert `ScheduleBlock` to `Schedule`. @@ -804,7 +806,7 @@ Scheduled pulse program. -`qiskit.pulse.transforms.compress_pulses(schedules)` +`qiskit.pulse.transforms.compress_pulses(schedules)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/transforms/canonicalization.py "view source code") Optimization pass to replace identical pulses. @@ -822,7 +824,7 @@ Compressed schedules. -`qiskit.pulse.transforms.flatten(program)` +`qiskit.pulse.transforms.flatten(program)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/transforms/canonicalization.py "view source code") Flatten (inline) any called nodes into a Schedule tree with no nested children. @@ -844,7 +846,7 @@ Flatten pulse program. -`qiskit.pulse.transforms.inline_subroutines(program)` +`qiskit.pulse.transforms.inline_subroutines(program)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/transforms/canonicalization.py "view source code") Recursively remove call instructions and inline the respective subroutine instructions. @@ -868,7 +870,7 @@ A schedule without subroutine. -`qiskit.pulse.transforms.pad(schedule, channels=None, until=None, inplace=False, pad_with=None)` +`qiskit.pulse.transforms.pad(schedule, channels=None, until=None, inplace=False, pad_with=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/transforms/canonicalization.py "view source code") Pad the input Schedule with `Delay``s on all unoccupied timeslots until ``schedule.duration` or `until` if not `None`. @@ -894,7 +896,7 @@ The padded schedule. -`qiskit.pulse.transforms.remove_directives(schedule)` +`qiskit.pulse.transforms.remove_directives(schedule)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/transforms/canonicalization.py "view source code") Remove directives. @@ -912,7 +914,7 @@ A schedule without directives. -`qiskit.pulse.transforms.remove_trivial_barriers(schedule)` +`qiskit.pulse.transforms.remove_trivial_barriers(schedule)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/transforms/canonicalization.py "view source code") Remove trivial barriers with 0 or 1 channels. @@ -936,7 +938,7 @@ The DAG transforms create DAG representation of input program. This can be used -`qiskit.pulse.transforms.block_to_dag(block)` +`qiskit.pulse.transforms.block_to_dag(block)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/transforms/dag.py "view source code") Convert schedule block instruction into DAG. @@ -994,7 +996,7 @@ A sequence of transformations to generate a target code. -`qiskit.pulse.transforms.target_qobj_transform(sched, remove_directives=True)` +`qiskit.pulse.transforms.target_qobj_transform(sched, remove_directives=True)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/transforms/base_transforms.py "view source code") A basic pulse program transformation for OpenPulse API execution. @@ -1205,7 +1207,7 @@ The above is just a small taste of what is possible with the builder. See the re -`qiskit.pulse.builder.build(backend=None, schedule=None, name=None, default_alignment='left', default_transpiler_settings=None, default_circuit_scheduler_settings=None)` +`qiskit.pulse.builder.build(backend=None, schedule=None, name=None, default_alignment='left', default_transpiler_settings=None, default_circuit_scheduler_settings=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Create a context manager for launching the imperative pulse builder DSL. @@ -1267,7 +1269,7 @@ DriveChannel(0) -`qiskit.pulse.builder.acquire_channel(qubit)` +`qiskit.pulse.builder.acquire_channel(qubit)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Return `AcquireChannel` for `qubit` on the active builder backend. @@ -1293,7 +1295,7 @@ with pulse.build(backend): -`qiskit.pulse.builder.control_channels(*qubits)` +`qiskit.pulse.builder.control_channels(*qubits)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Return `ControlChannel` for `qubit` on the active builder backend. @@ -1328,7 +1330,7 @@ List of control channels associated with the supplied ordered list of qubits. -`qiskit.pulse.builder.drive_channel(qubit)` +`qiskit.pulse.builder.drive_channel(qubit)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Return `DriveChannel` for `qubit` on the active builder backend. @@ -1354,7 +1356,7 @@ with pulse.build(backend): -`qiskit.pulse.builder.measure_channel(qubit)` +`qiskit.pulse.builder.measure_channel(qubit)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Return `MeasureChannel` for `qubit` on the active builder backend. @@ -1413,7 +1415,7 @@ drive_sched.draw() -`qiskit.pulse.builder.acquire(duration, qubit_or_channel, register, **metadata)` +`qiskit.pulse.builder.acquire(duration, qubit_or_channel, register, **metadata)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Acquire for a `duration` on a `channel` and store the result in a `register`. @@ -1450,7 +1452,7 @@ with pulse.build() as pulse_prog: -`qiskit.pulse.builder.barrier(*channels_or_qubits, name=None)` +`qiskit.pulse.builder.barrier(*channels_or_qubits, name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Barrier directive for a set of channels and qubits. @@ -1517,7 +1519,7 @@ with pulse.build(backend) as pulse_prog: -`qiskit.pulse.builder.call(target, name=None, value_dict=None, **kw_params)` +`qiskit.pulse.builder.call(target, name=None, value_dict=None, **kw_params)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Call the subroutine within the currently active builder context with arbitrary parameters which will be assigned to the target program. @@ -1731,7 +1733,7 @@ ScheduleBlock( -`qiskit.pulse.builder.delay(duration, channel, name=None)` +`qiskit.pulse.builder.delay(duration, channel, name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Delay on a `channel` for a `duration`. @@ -1754,7 +1756,7 @@ with pulse.build() as pulse_prog: -`qiskit.pulse.builder.play(pulse, channel, name=None)` +`qiskit.pulse.builder.play(pulse, channel, name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Play a `pulse` on a `channel`. @@ -1777,7 +1779,7 @@ with pulse.build() as pulse_prog: -`qiskit.pulse.builder.reference(name, *extra_keys)` +`qiskit.pulse.builder.reference(name, *extra_keys)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Refer to undefined subroutine by string keys. @@ -1802,7 +1804,7 @@ main_prog.assign_references(subroutine_dict={("x_gate", "q0"): subroutine}) -`qiskit.pulse.builder.set_frequency(frequency, channel, name=None)` +`qiskit.pulse.builder.set_frequency(frequency, channel, name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Set the `frequency` of a pulse `channel`. @@ -1825,7 +1827,7 @@ with pulse.build() as pulse_prog: -`qiskit.pulse.builder.set_phase(phase, channel, name=None)` +`qiskit.pulse.builder.set_phase(phase, channel, name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Set the `phase` of a pulse `channel`. @@ -1850,7 +1852,7 @@ with pulse.build() as pulse_prog: -`qiskit.pulse.builder.shift_frequency(frequency, channel, name=None)` +`qiskit.pulse.builder.shift_frequency(frequency, channel, name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Shift the `frequency` of a pulse `channel`. @@ -1873,7 +1875,7 @@ with pulse.build() as pulse_prog: -`qiskit.pulse.builder.shift_phase(phase, channel, name=None)` +`qiskit.pulse.builder.shift_phase(phase, channel, name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Shift the `phase` of a pulse `channel`. @@ -1898,7 +1900,7 @@ with pulse.build() as pulse_prog: -`qiskit.pulse.builder.snapshot(label, snapshot_type='statevector')` +`qiskit.pulse.builder.snapshot(label, snapshot_type='statevector')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Simulator snapshot. @@ -1940,7 +1942,7 @@ pulse_prog.draw() -`qiskit.pulse.builder.align_equispaced(duration)` +`qiskit.pulse.builder.align_equispaced(duration)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Equispaced alignment pulse scheduling context. @@ -1986,7 +1988,7 @@ The scheduling is performed for sub-schedules within the context rather than cha -`qiskit.pulse.builder.align_func(duration, func)` +`qiskit.pulse.builder.align_func(duration, func)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Callback defined alignment pulse scheduling context. @@ -2038,7 +2040,7 @@ The scheduling is performed for sub-schedules within the context rather than cha -`qiskit.pulse.builder.align_left()` +`qiskit.pulse.builder.align_left()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Left alignment pulse scheduling context. @@ -2073,7 +2075,7 @@ None -`qiskit.pulse.builder.align_right()` +`qiskit.pulse.builder.align_right()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Right alignment pulse scheduling context. @@ -2108,7 +2110,7 @@ None -`qiskit.pulse.builder.align_sequential()` +`qiskit.pulse.builder.align_sequential()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Sequential alignment pulse scheduling context. @@ -2143,7 +2145,7 @@ None -`qiskit.pulse.builder.circuit_scheduler_settings(**settings)` +`qiskit.pulse.builder.circuit_scheduler_settings(**settings)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Set the currently active circuit scheduler settings for this context. @@ -2172,7 +2174,7 @@ with pulse.build(backend): -`qiskit.pulse.builder.frequency_offset(frequency, *channels, compensate_phase=False)` +`qiskit.pulse.builder.frequency_offset(frequency, *channels, compensate_phase=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Shift the frequency of inputs channels on entry into context and undo on exit. @@ -2216,7 +2218,7 @@ None -`qiskit.pulse.builder.phase_offset(phase, *channels)` +`qiskit.pulse.builder.phase_offset(phase, *channels)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Shift the phase of input channels on entry into context and undo on exit. @@ -2251,7 +2253,7 @@ None -`qiskit.pulse.builder.transpiler_settings(**settings)` +`qiskit.pulse.builder.transpiler_settings(**settings)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Set the currently active transpiler settings for this context. @@ -2299,7 +2301,7 @@ MemorySlot(0) -`qiskit.pulse.builder.measure(qubits, registers=None)` +`qiskit.pulse.builder.measure(qubits, registers=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Measure a qubit within the currently active builder context. @@ -2354,7 +2356,7 @@ The `register` the qubit measurement result will be stored in. -`qiskit.pulse.builder.measure_all()` +`qiskit.pulse.builder.measure_all()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Measure all qubits within the currently active builder context. @@ -2387,7 +2389,7 @@ The `register`s the qubit measurement results will be stored in. -`qiskit.pulse.builder.delay_qubits(duration, *qubits)` +`qiskit.pulse.builder.delay_qubits(duration, *qubits)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Insert delays on all of the `channels.Channel`s that correspond to the input `qubits` at the same time. @@ -2435,7 +2437,7 @@ with pulse.build(backend) as u3_sched: -`qiskit.pulse.builder.cx(control, target)` +`qiskit.pulse.builder.cx(control, target)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Call a `CXGate` on the input physical qubits. @@ -2457,7 +2459,7 @@ with pulse.build(backend) as pulse_prog: -`qiskit.pulse.builder.u1(theta, qubit)` +`qiskit.pulse.builder.u1(theta, qubit)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Call a `U1Gate` on the input physical qubit. @@ -2481,7 +2483,7 @@ with pulse.build(backend) as pulse_prog: -`qiskit.pulse.builder.u2(phi, lam, qubit)` +`qiskit.pulse.builder.u2(phi, lam, qubit)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Call a `U2Gate` on the input physical qubit. @@ -2505,7 +2507,7 @@ with pulse.build(backend) as pulse_prog: -`qiskit.pulse.builder.u3(theta, phi, lam, qubit)` +`qiskit.pulse.builder.u3(theta, phi, lam, qubit)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Call a `U3Gate` on the input physical qubit. @@ -2529,7 +2531,7 @@ with pulse.build(backend) as pulse_prog: -`qiskit.pulse.builder.x(qubit)` +`qiskit.pulse.builder.x(qubit)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Call a `XGate` on the input physical qubit. @@ -2580,7 +2582,7 @@ There are 1e-06 seconds in 4500 samples. -`qiskit.pulse.builder.active_backend()` +`qiskit.pulse.builder.active_backend()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Get the backend of the currently active builder context. @@ -2600,7 +2602,7 @@ builder context. -`qiskit.pulse.builder.active_transpiler_settings()` +`qiskit.pulse.builder.active_transpiler_settings()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Return the current active builder context’s transpiler settings. @@ -2629,7 +2631,7 @@ with pulse.build(backend, -`qiskit.pulse.builder.active_circuit_scheduler_settings()` +`qiskit.pulse.builder.active_circuit_scheduler_settings()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Return the current active builder context’s circuit scheduler settings. @@ -2659,7 +2661,7 @@ with pulse.build( -`qiskit.pulse.builder.num_qubits()` +`qiskit.pulse.builder.num_qubits()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Return number of qubits in the currently active backend. @@ -2689,7 +2691,7 @@ with pulse.build(backend): -`qiskit.pulse.builder.qubit_channels(qubit)` +`qiskit.pulse.builder.qubit_channels(qubit)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Returns the set of channels associated with a qubit. @@ -2723,7 +2725,7 @@ with pulse.build(backend): -`qiskit.pulse.builder.samples_to_seconds(samples)` +`qiskit.pulse.builder.samples_to_seconds(samples)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Obtain the time in seconds that will elapse for the input number of samples on the active backend. @@ -2741,7 +2743,7 @@ The time that elapses in `samples`. -`qiskit.pulse.builder.seconds_to_samples(seconds)` +`qiskit.pulse.builder.seconds_to_samples(seconds)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/builder.py "view source code") Obtain the number of samples that will elapse in `seconds` on the active backend. @@ -2769,7 +2771,7 @@ The number of samples for the time to elapse -`qiskit.pulse.PulseError(*message)` +`qiskit.pulse.PulseError(*message)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/exceptions.py "view source code") Errors raised by the pulse module. @@ -2777,7 +2779,7 @@ Set the error message. -`qiskit.pulse.BackendNotSet(*message)` +`qiskit.pulse.BackendNotSet(*message)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/exceptions.py "view source code") Raised if the builder context does not have a backend. @@ -2785,7 +2787,7 @@ Set the error message. -`qiskit.pulse.NoActiveBuilder(*message)` +`qiskit.pulse.NoActiveBuilder(*message)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/exceptions.py "view source code") Raised if no builder context is active. @@ -2793,7 +2795,7 @@ Set the error message. -`qiskit.pulse.UnassignedDurationError(*message)` +`qiskit.pulse.UnassignedDurationError(*message)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/exceptions.py "view source code") Raised if instruction duration is unassigned. @@ -2801,7 +2803,7 @@ Set the error message. -`qiskit.pulse.UnassignedReferenceError(*message)` +`qiskit.pulse.UnassignedReferenceError(*message)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/exceptions.py "view source code") Raised if subroutine is unassigned. diff --git a/docs/api/qiskit/qasm.md b/docs/api/qiskit/qasm.md index 782ae0c45d..6f48b00437 100644 --- a/docs/api/qiskit/qasm.md +++ b/docs/api/qiskit/qasm.md @@ -22,7 +22,7 @@ python_api_name: qiskit.qasm -`qiskit.qasm.Qasm(filename=None, data=None)` +`qiskit.qasm.Qasm(filename=None, data=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qasm/qasm.py "view source code") OPENQASM circuit object. @@ -32,19 +32,19 @@ Create an OPENQASM circuit object. -`qiskit.qasm.OpenQASMLexer(*args, **kwds)` +`qiskit.qasm.OpenQASMLexer(*args, **kwds)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qasm/pygments/lexer.py "view source code") A pygments lexer for OpenQasm. -`qiskit.qasm.QasmHTMLStyle` +`qiskit.qasm.QasmHTMLStyle`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qasm/pygments/lexer.py "view source code") A style for OpenQasm in a HTML env (e.g. Jupyter widget). -`qiskit.qasm.QasmTerminalStyle` +`qiskit.qasm.QasmTerminalStyle`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qasm/pygments/lexer.py "view source code") A style for OpenQasm in a Terminal env (e.g. Jupyter print). diff --git a/docs/api/qiskit/qasm2.md b/docs/api/qiskit/qasm2.md index 24f36928b8..a14b1a94bc 100644 --- a/docs/api/qiskit/qasm2.md +++ b/docs/api/qiskit/qasm2.md @@ -32,7 +32,7 @@ This module contains two public functions, both of which create a [`QuantumCircu -`qiskit.qasm2.load(filename, *, include_path=('.',), include_input_directory='append', custom_instructions=(), custom_classical=(), strict=False)` +`qiskit.qasm2.load(filename, *, include_path=('.',), include_input_directory='append', custom_instructions=(), custom_classical=(), strict=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qasm2/__init__.py "view source code") Parse an OpenQASM 2 program from a file into a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). The given path should be ASCII or UTF-8 encoded, and contain the OpenQASM 2 program. @@ -55,7 +55,7 @@ A circuit object representing the same OpenQASM 2 program. -`qiskit.qasm2.loads(string, *, include_path=('.',), custom_instructions=(), custom_classical=(), strict=False)` +`qiskit.qasm2.loads(string, *, include_path=('.',), custom_instructions=(), custom_classical=(), strict=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qasm2/__init__.py "view source code") Parse an OpenQASM 2 program from a string into a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). @@ -85,7 +85,7 @@ You can extend the quantum components of the OpenQASM 2 language by passing an i -`qiskit.qasm2.CustomInstruction(name, num_params, num_qubits, constructor, builtin=False)` +`qiskit.qasm2.CustomInstruction(name, num_params, num_qubits, constructor, builtin=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qasm2/parse.py "view source code") Information about a custom instruction that should be defined during the parse. @@ -123,7 +123,7 @@ Similar to other serialisation modules in Python, this module offers two public -`qiskit.qasm2.dump(circuit, filename_or_stream, /)` +`qiskit.qasm2.dump(circuit, filename_or_stream, /)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qasm2/export.py "view source code") Dump a circuit as an OpenQASM 2 program to a file or stream. @@ -138,7 +138,7 @@ Dump a circuit as an OpenQASM 2 program to a file or stream. -`qiskit.qasm2.dumps(circuit, /)` +`qiskit.qasm2.dumps(circuit, /)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qasm2/export.py "view source code") Export a circuit to an OpenQASM 2 program in a string. @@ -164,7 +164,7 @@ This module defines a generic error type that derives from [`QiskitError`](excep -`qiskit.qasm2.QASM2Error(*message)` +`qiskit.qasm2.QASM2Error(*message)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qasm2/exceptions.py "view source code") A general error raised by the OpenQASM 2 interoperation layer. @@ -174,7 +174,7 @@ In cases where the lexer or parser fails due to an invalid OpenQASM 2 file, the -`qiskit.qasm2.QASM2ParseError(*message)` +`qiskit.qasm2.QASM2ParseError(*message)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qasm2/exceptions.py "view source code") An error raised because of a failure to parse an OpenQASM 2 file. @@ -184,7 +184,7 @@ When the exporters fail to export a circuit, likely because it has structure tha -`qiskit.qasm2.QASM2ExportError(*message)` +`qiskit.qasm2.QASM2ExportError(*message)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qasm2/exceptions.py "view source code") An error raised because of a failure to convert a Qiskit object to an OpenQASM 2 form. diff --git a/docs/api/qiskit/qasm3.md b/docs/api/qiskit/qasm3.md index ca5ff2721c..8897dc6e3c 100644 --- a/docs/api/qiskit/qasm3.md +++ b/docs/api/qiskit/qasm3.md @@ -26,7 +26,7 @@ The high-level functions are simply [`dump()`](#qiskit.qasm3.dump "qiskit.qasm3. -`qiskit.qasm3.dump(circuit, stream, **kwargs)` +`qiskit.qasm3.dump(circuit, stream, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qasm3/__init__.py "view source code") Serialize a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") object as an OpenQASM 3 stream to file-like object. @@ -38,7 +38,7 @@ Serialize a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.Qua -`qiskit.qasm3.dumps(circuit, **kwargs)` +`qiskit.qasm3.dumps(circuit, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qasm3/__init__.py "view source code") Serialize a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") object in an OpenQASM 3 string. @@ -59,7 +59,7 @@ Both of these exporter functions are single-use wrappers around the main [`Expor -`qiskit.qasm3.Exporter(includes=('stdgates.inc', ), basis_gates=('U', ), disable_constants=False, alias_classical_registers=None, allow_aliasing=None, indent='  ', experimental=ExperimentalFeatures.None)` +`qiskit.qasm3.Exporter(includes=('stdgates.inc', ), basis_gates=('U', ), disable_constants=False, alias_classical_registers=None, allow_aliasing=None, indent='  ', experimental=ExperimentalFeatures.None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qasm3/exporter.py "view source code") QASM3 exporter main class. @@ -111,7 +111,7 @@ All of these interfaces will raise [`QASM3ExporterError`](#qiskit.qasm3.QASM3Exp -`qiskit.qasm3.QASM3ExporterError(*message)` +`qiskit.qasm3.QASM3ExporterError(*message)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qasm3/exceptions.py "view source code") An error raised during running the OpenQASM 3 exporter. @@ -123,7 +123,7 @@ The OpenQASM 3 language is still evolving as hardware capabilities improve, so t -`qiskit.qasm3.ExperimentalFeatures(value)` +`qiskit.qasm3.ExperimentalFeatures(value)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qasm3/experimental.py "view source code") Flags for experimental features that the OpenQASM 3 exporter supports. @@ -161,7 +161,7 @@ qasm_string = qasm3.dumps(qc, experimental=qasm3.ExperimentalFeatures.SWITCH_CAS ``` - All features enabled by the experimental flags are naturally transient. If it becomes necessary to remove flags, they will be subject to [the standard Qiskit deprecation policy](https://qiskit.org/documentation/deprecation_policy.html). We will leave these experimental flags in place for as long as is reasonable. + All features enabled by the experimental flags are naturally transient. If it becomes necessary to remove flags, they will be subject to [the standard Qiskit deprecation policy](https://github.com/Qiskit/qiskit/blob/main/DEPRECATION.md). We will leave these experimental flags in place for as long as is reasonable. However, we cannot guarantee any support windows for *consumers* of OpenQASM 3 code generated using these experimental flags, if the OpenQASM 3 language specification changes the proposal that the flag is based on. It is possible that any tool you are using to consume OpenQASM 3 code created using these flags may update or remove their support while Qiskit continues to offer the flag. You should not rely on the resultant experimental OpenQASM 3 code for long-term storage of programs. @@ -182,7 +182,7 @@ Currently only two high-level functions are offered, as Qiskit support for impor -`qiskit.qasm3.load(filename)` +`qiskit.qasm3.load(filename)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qasm3/__init__.py "view source code") Load an OpenQASM 3 program from the file `filename`. @@ -204,7 +204,7 @@ a circuit representation of the OpenQASM 3 program. -`qiskit.qasm3.loads(program)` +`qiskit.qasm3.loads(program)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qasm3/__init__.py "view source code") Load an OpenQASM 3 program from the given string. @@ -228,7 +228,7 @@ Both of these two functions raise [`QASM3ImporterError`](#qiskit.qasm3.QASM3Impo -`qiskit.qasm3.QASM3ImporterError(*message)` +`qiskit.qasm3.QASM3ImporterError(*message)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qasm3/exceptions.py "view source code") An error raised during the OpenQASM 3 importer. diff --git a/docs/api/qiskit/qiskit.algorithms.AlgorithmJob.md b/docs/api/qiskit/qiskit.algorithms.AlgorithmJob.md index 64667888e0..de4979fcd9 100644 --- a/docs/api/qiskit/qiskit.algorithms.AlgorithmJob.md +++ b/docs/api/qiskit/qiskit.algorithms.AlgorithmJob.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.AlgorithmJob -`qiskit.algorithms.AlgorithmJob(function, *args, **kwargs)` +`qiskit.algorithms.AlgorithmJob(function, *args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/algorithm_job.py "view source code") Bases: `PrimitiveJob` diff --git a/docs/api/qiskit/qiskit.algorithms.AmplificationProblem.md b/docs/api/qiskit/qiskit.algorithms.AmplificationProblem.md index 802cd0410a..917231f57c 100644 --- a/docs/api/qiskit/qiskit.algorithms.AmplificationProblem.md +++ b/docs/api/qiskit/qiskit.algorithms.AmplificationProblem.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.AmplificationProblem -`qiskit.algorithms.AmplificationProblem(oracle, state_preparation=None, grover_operator=None, post_processing=None, objective_qubits=None, is_good_state=None)` +`qiskit.algorithms.AmplificationProblem(oracle, state_preparation=None, grover_operator=None, post_processing=None, objective_qubits=None, is_good_state=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/amplitude_amplifiers/amplification_problem.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.AmplitudeAmplifier.md b/docs/api/qiskit/qiskit.algorithms.AmplitudeAmplifier.md index 90389ca685..dc53ceaf23 100644 --- a/docs/api/qiskit/qiskit.algorithms.AmplitudeAmplifier.md +++ b/docs/api/qiskit/qiskit.algorithms.AmplitudeAmplifier.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.AmplitudeAmplifier -`qiskit.algorithms.AmplitudeAmplifier` +`qiskit.algorithms.AmplitudeAmplifier`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/amplitude_amplifiers/amplitude_amplifier.py "view source code") Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.AmplitudeEstimation.md b/docs/api/qiskit/qiskit.algorithms.AmplitudeEstimation.md index 0ba0292978..b4e20928d5 100644 --- a/docs/api/qiskit/qiskit.algorithms.AmplitudeEstimation.md +++ b/docs/api/qiskit/qiskit.algorithms.AmplitudeEstimation.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.AmplitudeEstimation -`qiskit.algorithms.AmplitudeEstimation(num_eval_qubits, phase_estimation_circuit=None, iqft=None, quantum_instance=None, sampler=None)` +`qiskit.algorithms.AmplitudeEstimation(num_eval_qubits, phase_estimation_circuit=None, iqft=None, quantum_instance=None, sampler=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/amplitude_estimators/ae.py "view source code") Bases: [`AmplitudeEstimator`](qiskit.algorithms.AmplitudeEstimator "qiskit.algorithms.amplitude_estimators.amplitude_estimator.AmplitudeEstimator") diff --git a/docs/api/qiskit/qiskit.algorithms.AmplitudeEstimationResult.md b/docs/api/qiskit/qiskit.algorithms.AmplitudeEstimationResult.md index 44c192cfa4..edd0e27263 100644 --- a/docs/api/qiskit/qiskit.algorithms.AmplitudeEstimationResult.md +++ b/docs/api/qiskit/qiskit.algorithms.AmplitudeEstimationResult.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.AmplitudeEstimationResult -`qiskit.algorithms.AmplitudeEstimationResult` +`qiskit.algorithms.AmplitudeEstimationResult`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/amplitude_estimators/ae.py "view source code") Bases: [`AmplitudeEstimatorResult`](qiskit.algorithms.AmplitudeEstimatorResult "qiskit.algorithms.amplitude_estimators.amplitude_estimator.AmplitudeEstimatorResult") diff --git a/docs/api/qiskit/qiskit.algorithms.AmplitudeEstimator.md b/docs/api/qiskit/qiskit.algorithms.AmplitudeEstimator.md index e0b11b6597..4051be0e33 100644 --- a/docs/api/qiskit/qiskit.algorithms.AmplitudeEstimator.md +++ b/docs/api/qiskit/qiskit.algorithms.AmplitudeEstimator.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.AmplitudeEstimator -`qiskit.algorithms.AmplitudeEstimator` +`qiskit.algorithms.AmplitudeEstimator`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/amplitude_estimators/amplitude_estimator.py "view source code") Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.AmplitudeEstimatorResult.md b/docs/api/qiskit/qiskit.algorithms.AmplitudeEstimatorResult.md index 9f8f3c430e..4d0d6eb321 100644 --- a/docs/api/qiskit/qiskit.algorithms.AmplitudeEstimatorResult.md +++ b/docs/api/qiskit/qiskit.algorithms.AmplitudeEstimatorResult.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.AmplitudeEstimatorResult -`qiskit.algorithms.AmplitudeEstimatorResult` +`qiskit.algorithms.AmplitudeEstimatorResult`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/amplitude_estimators/amplitude_estimator.py "view source code") Bases: `AlgorithmResult` diff --git a/docs/api/qiskit/qiskit.algorithms.Eigensolver.md b/docs/api/qiskit/qiskit.algorithms.Eigensolver.md index dcfce446f1..a9498e8a8a 100644 --- a/docs/api/qiskit/qiskit.algorithms.Eigensolver.md +++ b/docs/api/qiskit/qiskit.algorithms.Eigensolver.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.Eigensolver -`qiskit.algorithms.Eigensolver` +`qiskit.algorithms.Eigensolver`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/eigen_solvers/eigen_solver.py "view source code") Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.EigensolverResult.md b/docs/api/qiskit/qiskit.algorithms.EigensolverResult.md index 3b667b014a..9c18a62150 100644 --- a/docs/api/qiskit/qiskit.algorithms.EigensolverResult.md +++ b/docs/api/qiskit/qiskit.algorithms.EigensolverResult.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.EigensolverResult -`qiskit.algorithms.EigensolverResult` +`qiskit.algorithms.EigensolverResult`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/eigen_solvers/eigen_solver.py "view source code") Bases: `AlgorithmResult` diff --git a/docs/api/qiskit/qiskit.algorithms.EstimationProblem.md b/docs/api/qiskit/qiskit.algorithms.EstimationProblem.md index bca5afa1b5..c6164dcfff 100644 --- a/docs/api/qiskit/qiskit.algorithms.EstimationProblem.md +++ b/docs/api/qiskit/qiskit.algorithms.EstimationProblem.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.EstimationProblem -`qiskit.algorithms.EstimationProblem(state_preparation, objective_qubits, grover_operator=None, post_processing=None, is_good_state=None)` +`qiskit.algorithms.EstimationProblem(state_preparation, objective_qubits, grover_operator=None, post_processing=None, is_good_state=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/amplitude_estimators/estimation_problem.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.EvolutionProblem.md b/docs/api/qiskit/qiskit.algorithms.EvolutionProblem.md index 3dcdb7093a..4cb176ff03 100644 --- a/docs/api/qiskit/qiskit.algorithms.EvolutionProblem.md +++ b/docs/api/qiskit/qiskit.algorithms.EvolutionProblem.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.EvolutionProblem -`qiskit.algorithms.EvolutionProblem(hamiltonian, time, initial_state=None, aux_operators=None, truncation_threshold=1e-12, t_param=None, param_value_dict=None)` +`qiskit.algorithms.EvolutionProblem(hamiltonian, time, initial_state=None, aux_operators=None, truncation_threshold=1e-12, t_param=None, param_value_dict=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/evolvers/evolution_problem.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.EvolutionResult.md b/docs/api/qiskit/qiskit.algorithms.EvolutionResult.md index 6c4d904e69..0a5cb85807 100644 --- a/docs/api/qiskit/qiskit.algorithms.EvolutionResult.md +++ b/docs/api/qiskit/qiskit.algorithms.EvolutionResult.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.EvolutionResult -`qiskit.algorithms.EvolutionResult(evolved_state, aux_ops_evaluated=None)` +`qiskit.algorithms.EvolutionResult(evolved_state, aux_ops_evaluated=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/evolvers/evolution_result.py "view source code") Bases: `AlgorithmResult` diff --git a/docs/api/qiskit/qiskit.algorithms.FasterAmplitudeEstimation.md b/docs/api/qiskit/qiskit.algorithms.FasterAmplitudeEstimation.md index 214c012696..2921afde14 100644 --- a/docs/api/qiskit/qiskit.algorithms.FasterAmplitudeEstimation.md +++ b/docs/api/qiskit/qiskit.algorithms.FasterAmplitudeEstimation.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.FasterAmplitudeEstimation -`qiskit.algorithms.FasterAmplitudeEstimation(delta, maxiter, rescale=True, quantum_instance=None, sampler=None)` +`qiskit.algorithms.FasterAmplitudeEstimation(delta, maxiter, rescale=True, quantum_instance=None, sampler=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/amplitude_estimators/fae.py "view source code") Bases: [`AmplitudeEstimator`](qiskit.algorithms.AmplitudeEstimator "qiskit.algorithms.amplitude_estimators.amplitude_estimator.AmplitudeEstimator") diff --git a/docs/api/qiskit/qiskit.algorithms.FasterAmplitudeEstimationResult.md b/docs/api/qiskit/qiskit.algorithms.FasterAmplitudeEstimationResult.md index 47c972ce6e..7a7f35d26f 100644 --- a/docs/api/qiskit/qiskit.algorithms.FasterAmplitudeEstimationResult.md +++ b/docs/api/qiskit/qiskit.algorithms.FasterAmplitudeEstimationResult.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.FasterAmplitudeEstimationResult -`qiskit.algorithms.FasterAmplitudeEstimationResult` +`qiskit.algorithms.FasterAmplitudeEstimationResult`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/amplitude_estimators/fae.py "view source code") Bases: [`AmplitudeEstimatorResult`](qiskit.algorithms.AmplitudeEstimatorResult "qiskit.algorithms.amplitude_estimators.amplitude_estimator.AmplitudeEstimatorResult") diff --git a/docs/api/qiskit/qiskit.algorithms.Grover.md b/docs/api/qiskit/qiskit.algorithms.Grover.md index 4fd35090c2..76c8fefcb8 100644 --- a/docs/api/qiskit/qiskit.algorithms.Grover.md +++ b/docs/api/qiskit/qiskit.algorithms.Grover.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.Grover -`qiskit.algorithms.Grover(iterations=None, growth_rate=None, sample_from_iterations=False, quantum_instance=None, sampler=None)` +`qiskit.algorithms.Grover(iterations=None, growth_rate=None, sample_from_iterations=False, quantum_instance=None, sampler=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/amplitude_amplifiers/grover.py "view source code") Bases: [`AmplitudeAmplifier`](qiskit.algorithms.AmplitudeAmplifier "qiskit.algorithms.amplitude_amplifiers.amplitude_amplifier.AmplitudeAmplifier") diff --git a/docs/api/qiskit/qiskit.algorithms.GroverResult.md b/docs/api/qiskit/qiskit.algorithms.GroverResult.md index 52dbcd44ae..977d2a9a39 100644 --- a/docs/api/qiskit/qiskit.algorithms.GroverResult.md +++ b/docs/api/qiskit/qiskit.algorithms.GroverResult.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.GroverResult -`qiskit.algorithms.GroverResult` +`qiskit.algorithms.GroverResult`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/amplitude_amplifiers/grover.py "view source code") Bases: `AmplitudeAmplifierResult` diff --git a/docs/api/qiskit/qiskit.algorithms.HamiltonianPhaseEstimation.md b/docs/api/qiskit/qiskit.algorithms.HamiltonianPhaseEstimation.md index a02243cb64..7495769557 100644 --- a/docs/api/qiskit/qiskit.algorithms.HamiltonianPhaseEstimation.md +++ b/docs/api/qiskit/qiskit.algorithms.HamiltonianPhaseEstimation.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.HamiltonianPhaseEstimation -`qiskit.algorithms.HamiltonianPhaseEstimation(num_evaluation_qubits, quantum_instance=None, sampler=None)` +`qiskit.algorithms.HamiltonianPhaseEstimation(num_evaluation_qubits, quantum_instance=None, sampler=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/phase_estimators/hamiltonian_phase_estimation.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.HamiltonianPhaseEstimationResult.md b/docs/api/qiskit/qiskit.algorithms.HamiltonianPhaseEstimationResult.md index 447e0c0c7a..ece430429e 100644 --- a/docs/api/qiskit/qiskit.algorithms.HamiltonianPhaseEstimationResult.md +++ b/docs/api/qiskit/qiskit.algorithms.HamiltonianPhaseEstimationResult.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.HamiltonianPhaseEstimationResult -`qiskit.algorithms.HamiltonianPhaseEstimationResult(phase_estimation_result, phase_estimation_scale, id_coefficient)` +`qiskit.algorithms.HamiltonianPhaseEstimationResult(phase_estimation_result, phase_estimation_scale, id_coefficient)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/phase_estimators/hamiltonian_phase_estimation_result.py "view source code") Bases: `AlgorithmResult` diff --git a/docs/api/qiskit/qiskit.algorithms.ImaginaryEvolver.md b/docs/api/qiskit/qiskit.algorithms.ImaginaryEvolver.md index 033b9f7233..72546c03fc 100644 --- a/docs/api/qiskit/qiskit.algorithms.ImaginaryEvolver.md +++ b/docs/api/qiskit/qiskit.algorithms.ImaginaryEvolver.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.ImaginaryEvolver -`qiskit.algorithms.ImaginaryEvolver` +`qiskit.algorithms.ImaginaryEvolver`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/evolvers/imaginary_evolver.py "view source code") Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.ImaginaryTimeEvolver.md b/docs/api/qiskit/qiskit.algorithms.ImaginaryTimeEvolver.md index e1ffc4de5f..e6291e3956 100644 --- a/docs/api/qiskit/qiskit.algorithms.ImaginaryTimeEvolver.md +++ b/docs/api/qiskit/qiskit.algorithms.ImaginaryTimeEvolver.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.ImaginaryTimeEvolver -`qiskit.algorithms.ImaginaryTimeEvolver` +`qiskit.algorithms.ImaginaryTimeEvolver`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/time_evolvers/imaginary_time_evolver.py "view source code") Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.IterativeAmplitudeEstimation.md b/docs/api/qiskit/qiskit.algorithms.IterativeAmplitudeEstimation.md index 83bfc49e23..70c7dbe6c8 100644 --- a/docs/api/qiskit/qiskit.algorithms.IterativeAmplitudeEstimation.md +++ b/docs/api/qiskit/qiskit.algorithms.IterativeAmplitudeEstimation.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.IterativeAmplitudeEstimation -`qiskit.algorithms.IterativeAmplitudeEstimation(epsilon_target, alpha, confint_method='beta', min_ratio=2, quantum_instance=None, sampler=None)` +`qiskit.algorithms.IterativeAmplitudeEstimation(epsilon_target, alpha, confint_method='beta', min_ratio=2, quantum_instance=None, sampler=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/amplitude_estimators/iae.py "view source code") Bases: [`AmplitudeEstimator`](qiskit.algorithms.AmplitudeEstimator "qiskit.algorithms.amplitude_estimators.amplitude_estimator.AmplitudeEstimator") diff --git a/docs/api/qiskit/qiskit.algorithms.IterativeAmplitudeEstimationResult.md b/docs/api/qiskit/qiskit.algorithms.IterativeAmplitudeEstimationResult.md index 52294aaf9e..b8f98e20d0 100644 --- a/docs/api/qiskit/qiskit.algorithms.IterativeAmplitudeEstimationResult.md +++ b/docs/api/qiskit/qiskit.algorithms.IterativeAmplitudeEstimationResult.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.IterativeAmplitudeEstimationResult -`qiskit.algorithms.IterativeAmplitudeEstimationResult` +`qiskit.algorithms.IterativeAmplitudeEstimationResult`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/amplitude_estimators/iae.py "view source code") Bases: [`AmplitudeEstimatorResult`](qiskit.algorithms.AmplitudeEstimatorResult "qiskit.algorithms.amplitude_estimators.amplitude_estimator.AmplitudeEstimatorResult") diff --git a/docs/api/qiskit/qiskit.algorithms.IterativePhaseEstimation.md b/docs/api/qiskit/qiskit.algorithms.IterativePhaseEstimation.md index 44b3aaf39b..1a601c5888 100644 --- a/docs/api/qiskit/qiskit.algorithms.IterativePhaseEstimation.md +++ b/docs/api/qiskit/qiskit.algorithms.IterativePhaseEstimation.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.IterativePhaseEstimation -`qiskit.algorithms.IterativePhaseEstimation(num_iterations, quantum_instance=None, sampler=None)` +`qiskit.algorithms.IterativePhaseEstimation(num_iterations, quantum_instance=None, sampler=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/phase_estimators/ipe.py "view source code") Bases: `PhaseEstimator` diff --git a/docs/api/qiskit/qiskit.algorithms.MaximumLikelihoodAmplitudeEstimation.md b/docs/api/qiskit/qiskit.algorithms.MaximumLikelihoodAmplitudeEstimation.md index d428c982ee..4f71b58c49 100644 --- a/docs/api/qiskit/qiskit.algorithms.MaximumLikelihoodAmplitudeEstimation.md +++ b/docs/api/qiskit/qiskit.algorithms.MaximumLikelihoodAmplitudeEstimation.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.MaximumLikelihoodAmplitudeEstimation -`qiskit.algorithms.MaximumLikelihoodAmplitudeEstimation(evaluation_schedule, minimizer=None, quantum_instance=None, sampler=None)` +`qiskit.algorithms.MaximumLikelihoodAmplitudeEstimation(evaluation_schedule, minimizer=None, quantum_instance=None, sampler=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/amplitude_estimators/mlae.py "view source code") Bases: [`AmplitudeEstimator`](qiskit.algorithms.AmplitudeEstimator "qiskit.algorithms.amplitude_estimators.amplitude_estimator.AmplitudeEstimator") diff --git a/docs/api/qiskit/qiskit.algorithms.MaximumLikelihoodAmplitudeEstimationResult.md b/docs/api/qiskit/qiskit.algorithms.MaximumLikelihoodAmplitudeEstimationResult.md index 77612d3493..45df5bbb0c 100644 --- a/docs/api/qiskit/qiskit.algorithms.MaximumLikelihoodAmplitudeEstimationResult.md +++ b/docs/api/qiskit/qiskit.algorithms.MaximumLikelihoodAmplitudeEstimationResult.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.MaximumLikelihoodAmplitudeEstimationResult -`qiskit.algorithms.MaximumLikelihoodAmplitudeEstimationResult` +`qiskit.algorithms.MaximumLikelihoodAmplitudeEstimationResult`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/amplitude_estimators/mlae.py "view source code") Bases: [`AmplitudeEstimatorResult`](qiskit.algorithms.AmplitudeEstimatorResult "qiskit.algorithms.amplitude_estimators.amplitude_estimator.AmplitudeEstimatorResult") diff --git a/docs/api/qiskit/qiskit.algorithms.MinimumEigensolver.md b/docs/api/qiskit/qiskit.algorithms.MinimumEigensolver.md index 7abc94bfbb..29bb257e00 100644 --- a/docs/api/qiskit/qiskit.algorithms.MinimumEigensolver.md +++ b/docs/api/qiskit/qiskit.algorithms.MinimumEigensolver.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.MinimumEigensolver -`qiskit.algorithms.MinimumEigensolver` +`qiskit.algorithms.MinimumEigensolver`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/minimum_eigen_solvers/minimum_eigen_solver.py "view source code") Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.MinimumEigensolverResult.md b/docs/api/qiskit/qiskit.algorithms.MinimumEigensolverResult.md index 5815494406..bdf4d5b8bf 100644 --- a/docs/api/qiskit/qiskit.algorithms.MinimumEigensolverResult.md +++ b/docs/api/qiskit/qiskit.algorithms.MinimumEigensolverResult.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.MinimumEigensolverResult -`qiskit.algorithms.MinimumEigensolverResult` +`qiskit.algorithms.MinimumEigensolverResult`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/minimum_eigen_solvers/minimum_eigen_solver.py "view source code") Bases: `AlgorithmResult` diff --git a/docs/api/qiskit/qiskit.algorithms.NumPyEigensolver.md b/docs/api/qiskit/qiskit.algorithms.NumPyEigensolver.md index 574f3ac971..aea3b8f157 100644 --- a/docs/api/qiskit/qiskit.algorithms.NumPyEigensolver.md +++ b/docs/api/qiskit/qiskit.algorithms.NumPyEigensolver.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.NumPyEigensolver -`qiskit.algorithms.NumPyEigensolver(k=1, filter_criterion=None)` +`qiskit.algorithms.NumPyEigensolver(k=1, filter_criterion=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/eigen_solvers/numpy_eigen_solver.py "view source code") Bases: [`Eigensolver`](qiskit.algorithms.Eigensolver "qiskit.algorithms.eigen_solvers.eigen_solver.Eigensolver") diff --git a/docs/api/qiskit/qiskit.algorithms.NumPyMinimumEigensolver.md b/docs/api/qiskit/qiskit.algorithms.NumPyMinimumEigensolver.md index 5048fb7d21..1727f1dea9 100644 --- a/docs/api/qiskit/qiskit.algorithms.NumPyMinimumEigensolver.md +++ b/docs/api/qiskit/qiskit.algorithms.NumPyMinimumEigensolver.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.NumPyMinimumEigensolver -`qiskit.algorithms.NumPyMinimumEigensolver(filter_criterion=None)` +`qiskit.algorithms.NumPyMinimumEigensolver(filter_criterion=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/minimum_eigen_solvers/numpy_minimum_eigen_solver.py "view source code") Bases: [`MinimumEigensolver`](qiskit.algorithms.MinimumEigensolver "qiskit.algorithms.minimum_eigen_solvers.minimum_eigen_solver.MinimumEigensolver") diff --git a/docs/api/qiskit/qiskit.algorithms.PVQD.md b/docs/api/qiskit/qiskit.algorithms.PVQD.md index 6df46a50b1..d14c03c1de 100644 --- a/docs/api/qiskit/qiskit.algorithms.PVQD.md +++ b/docs/api/qiskit/qiskit.algorithms.PVQD.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.PVQD -`qiskit.algorithms.PVQD(fidelity, ansatz, initial_parameters, estimator=None, optimizer=None, num_timesteps=None, evolution=None, use_parameter_shift=True, initial_guess=None)` +`qiskit.algorithms.PVQD(fidelity, ansatz, initial_parameters, estimator=None, optimizer=None, num_timesteps=None, evolution=None, use_parameter_shift=True, initial_guess=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/time_evolvers/pvqd/pvqd.py "view source code") Bases: [`RealTimeEvolver`](qiskit.algorithms.RealTimeEvolver "qiskit.algorithms.time_evolvers.real_time_evolver.RealTimeEvolver") diff --git a/docs/api/qiskit/qiskit.algorithms.PVQDResult.md b/docs/api/qiskit/qiskit.algorithms.PVQDResult.md index d93c448e22..cf02d72af1 100644 --- a/docs/api/qiskit/qiskit.algorithms.PVQDResult.md +++ b/docs/api/qiskit/qiskit.algorithms.PVQDResult.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.PVQDResult -`qiskit.algorithms.PVQDResult(evolved_state, aux_ops_evaluated=None, times=None, parameters=None, fidelities=None, estimated_error=None, observables=None)` +`qiskit.algorithms.PVQDResult(evolved_state, aux_ops_evaluated=None, times=None, parameters=None, fidelities=None, estimated_error=None, observables=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/time_evolvers/pvqd/pvqd_result.py "view source code") Bases: [`TimeEvolutionResult`](qiskit.algorithms.TimeEvolutionResult "qiskit.algorithms.time_evolvers.time_evolution_result.TimeEvolutionResult") diff --git a/docs/api/qiskit/qiskit.algorithms.PhaseEstimation.md b/docs/api/qiskit/qiskit.algorithms.PhaseEstimation.md index 6d0370086a..63b2cd7660 100644 --- a/docs/api/qiskit/qiskit.algorithms.PhaseEstimation.md +++ b/docs/api/qiskit/qiskit.algorithms.PhaseEstimation.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.PhaseEstimation -`qiskit.algorithms.PhaseEstimation(num_evaluation_qubits, quantum_instance=None, sampler=None)` +`qiskit.algorithms.PhaseEstimation(num_evaluation_qubits, quantum_instance=None, sampler=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/phase_estimators/phase_estimation.py "view source code") Bases: `PhaseEstimator` diff --git a/docs/api/qiskit/qiskit.algorithms.PhaseEstimationResult.md b/docs/api/qiskit/qiskit.algorithms.PhaseEstimationResult.md index fa45ebc521..bc306b087e 100644 --- a/docs/api/qiskit/qiskit.algorithms.PhaseEstimationResult.md +++ b/docs/api/qiskit/qiskit.algorithms.PhaseEstimationResult.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.PhaseEstimationResult -`qiskit.algorithms.PhaseEstimationResult(num_evaluation_qubits, circuit_result, phases)` +`qiskit.algorithms.PhaseEstimationResult(num_evaluation_qubits, circuit_result, phases)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/phase_estimators/phase_estimation_result.py "view source code") Bases: `PhaseEstimatorResult` diff --git a/docs/api/qiskit/qiskit.algorithms.PhaseEstimationScale.md b/docs/api/qiskit/qiskit.algorithms.PhaseEstimationScale.md index 945e46e53a..486abb9802 100644 --- a/docs/api/qiskit/qiskit.algorithms.PhaseEstimationScale.md +++ b/docs/api/qiskit/qiskit.algorithms.PhaseEstimationScale.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.PhaseEstimationScale -`qiskit.algorithms.PhaseEstimationScale(bound)` +`qiskit.algorithms.PhaseEstimationScale(bound)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/phase_estimators/phase_estimation_scale.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.QAOA.md b/docs/api/qiskit/qiskit.algorithms.QAOA.md index aba8cdad65..5e726cf837 100644 --- a/docs/api/qiskit/qiskit.algorithms.QAOA.md +++ b/docs/api/qiskit/qiskit.algorithms.QAOA.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.QAOA -`qiskit.algorithms.QAOA(optimizer=None, reps=1, initial_state=None, mixer=None, initial_point=None, gradient=None, expectation=None, include_custom=False, max_evals_grouped=1, callback=None, quantum_instance=None)` +`qiskit.algorithms.QAOA(optimizer=None, reps=1, initial_state=None, mixer=None, initial_point=None, gradient=None, expectation=None, include_custom=False, max_evals_grouped=1, callback=None, quantum_instance=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/minimum_eigen_solvers/qaoa.py "view source code") Bases: [`VQE`](qiskit.algorithms.VQE "qiskit.algorithms.minimum_eigen_solvers.vqe.VQE") diff --git a/docs/api/qiskit/qiskit.algorithms.RealEvolver.md b/docs/api/qiskit/qiskit.algorithms.RealEvolver.md index b3a34a59c0..e85bbab6c4 100644 --- a/docs/api/qiskit/qiskit.algorithms.RealEvolver.md +++ b/docs/api/qiskit/qiskit.algorithms.RealEvolver.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.RealEvolver -`qiskit.algorithms.RealEvolver` +`qiskit.algorithms.RealEvolver`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/evolvers/real_evolver.py "view source code") Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.RealTimeEvolver.md b/docs/api/qiskit/qiskit.algorithms.RealTimeEvolver.md index 663da96bae..8549abdc95 100644 --- a/docs/api/qiskit/qiskit.algorithms.RealTimeEvolver.md +++ b/docs/api/qiskit/qiskit.algorithms.RealTimeEvolver.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.RealTimeEvolver -`qiskit.algorithms.RealTimeEvolver` +`qiskit.algorithms.RealTimeEvolver`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/time_evolvers/real_time_evolver.py "view source code") Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.SciPyImaginaryEvolver.md b/docs/api/qiskit/qiskit.algorithms.SciPyImaginaryEvolver.md index 6fca4867e1..a3253e2dba 100644 --- a/docs/api/qiskit/qiskit.algorithms.SciPyImaginaryEvolver.md +++ b/docs/api/qiskit/qiskit.algorithms.SciPyImaginaryEvolver.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.SciPyImaginaryEvolver -`qiskit.algorithms.SciPyImaginaryEvolver(num_timesteps)` +`qiskit.algorithms.SciPyImaginaryEvolver(num_timesteps)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/time_evolvers/classical_methods/scipy_imaginary_evolver.py "view source code") Bases: [`ImaginaryTimeEvolver`](qiskit.algorithms.ImaginaryTimeEvolver "qiskit.algorithms.time_evolvers.imaginary_time_evolver.ImaginaryTimeEvolver") diff --git a/docs/api/qiskit/qiskit.algorithms.SciPyRealEvolver.md b/docs/api/qiskit/qiskit.algorithms.SciPyRealEvolver.md index 353226d342..7668d8ac2c 100644 --- a/docs/api/qiskit/qiskit.algorithms.SciPyRealEvolver.md +++ b/docs/api/qiskit/qiskit.algorithms.SciPyRealEvolver.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.SciPyRealEvolver -`qiskit.algorithms.SciPyRealEvolver(num_timesteps)` +`qiskit.algorithms.SciPyRealEvolver(num_timesteps)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/time_evolvers/classical_methods/scipy_real_evolver.py "view source code") Bases: [`RealTimeEvolver`](qiskit.algorithms.RealTimeEvolver "qiskit.algorithms.time_evolvers.real_time_evolver.RealTimeEvolver") diff --git a/docs/api/qiskit/qiskit.algorithms.TimeEvolutionProblem.md b/docs/api/qiskit/qiskit.algorithms.TimeEvolutionProblem.md index 5aa0cba5e6..d752525d45 100644 --- a/docs/api/qiskit/qiskit.algorithms.TimeEvolutionProblem.md +++ b/docs/api/qiskit/qiskit.algorithms.TimeEvolutionProblem.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.TimeEvolutionProblem -`qiskit.algorithms.TimeEvolutionProblem(hamiltonian, time, initial_state=None, aux_operators=None, truncation_threshold=1e-12, t_param=None, param_value_map=None)` +`qiskit.algorithms.TimeEvolutionProblem(hamiltonian, time, initial_state=None, aux_operators=None, truncation_threshold=1e-12, t_param=None, param_value_map=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/time_evolvers/time_evolution_problem.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.TimeEvolutionResult.md b/docs/api/qiskit/qiskit.algorithms.TimeEvolutionResult.md index f206935420..05c79622ae 100644 --- a/docs/api/qiskit/qiskit.algorithms.TimeEvolutionResult.md +++ b/docs/api/qiskit/qiskit.algorithms.TimeEvolutionResult.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.TimeEvolutionResult -`qiskit.algorithms.TimeEvolutionResult(evolved_state, aux_ops_evaluated=None, observables=None, times=None)` +`qiskit.algorithms.TimeEvolutionResult(evolved_state, aux_ops_evaluated=None, observables=None, times=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/time_evolvers/time_evolution_result.py "view source code") Bases: `AlgorithmResult` diff --git a/docs/api/qiskit/qiskit.algorithms.TrotterQRTE.md b/docs/api/qiskit/qiskit.algorithms.TrotterQRTE.md index 99d5339eee..b640cb7bfc 100644 --- a/docs/api/qiskit/qiskit.algorithms.TrotterQRTE.md +++ b/docs/api/qiskit/qiskit.algorithms.TrotterQRTE.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.TrotterQRTE -`qiskit.algorithms.TrotterQRTE(product_formula=None, expectation=None, quantum_instance=None)` +`qiskit.algorithms.TrotterQRTE(product_formula=None, expectation=None, quantum_instance=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/evolvers/trotterization/trotter_qrte.py "view source code") Bases: [`RealEvolver`](qiskit.algorithms.RealEvolver "qiskit.algorithms.evolvers.real_evolver.RealEvolver") diff --git a/docs/api/qiskit/qiskit.algorithms.VQD.md b/docs/api/qiskit/qiskit.algorithms.VQD.md index 33c53c4c0b..d01539315f 100644 --- a/docs/api/qiskit/qiskit.algorithms.VQD.md +++ b/docs/api/qiskit/qiskit.algorithms.VQD.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.VQD -`qiskit.algorithms.VQD(ansatz=None, k=2, betas=None, optimizer=None, initial_point=None, gradient=None, expectation=None, include_custom=False, max_evals_grouped=1, callback=None, quantum_instance=None)` +`qiskit.algorithms.VQD(ansatz=None, k=2, betas=None, optimizer=None, initial_point=None, gradient=None, expectation=None, include_custom=False, max_evals_grouped=1, callback=None, quantum_instance=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/eigen_solvers/vqd.py "view source code") Bases: `VariationalAlgorithm`, [`Eigensolver`](qiskit.algorithms.Eigensolver "qiskit.algorithms.eigen_solvers.eigen_solver.Eigensolver") diff --git a/docs/api/qiskit/qiskit.algorithms.VQDResult.md b/docs/api/qiskit/qiskit.algorithms.VQDResult.md index 368bc3f3ec..c03946ee63 100644 --- a/docs/api/qiskit/qiskit.algorithms.VQDResult.md +++ b/docs/api/qiskit/qiskit.algorithms.VQDResult.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.VQDResult -`qiskit.algorithms.VQDResult` +`qiskit.algorithms.VQDResult`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/eigen_solvers/vqd.py "view source code") Bases: `VariationalResult`, [`EigensolverResult`](qiskit.algorithms.EigensolverResult "qiskit.algorithms.eigen_solvers.eigen_solver.EigensolverResult") diff --git a/docs/api/qiskit/qiskit.algorithms.VQE.md b/docs/api/qiskit/qiskit.algorithms.VQE.md index 177d07a3bd..ae44fc557e 100644 --- a/docs/api/qiskit/qiskit.algorithms.VQE.md +++ b/docs/api/qiskit/qiskit.algorithms.VQE.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.VQE -`qiskit.algorithms.VQE(ansatz=None, optimizer=None, initial_point=None, gradient=None, expectation=None, include_custom=False, max_evals_grouped=1, callback=None, quantum_instance=None)` +`qiskit.algorithms.VQE(ansatz=None, optimizer=None, initial_point=None, gradient=None, expectation=None, include_custom=False, max_evals_grouped=1, callback=None, quantum_instance=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/minimum_eigen_solvers/vqe.py "view source code") Bases: `VariationalAlgorithm`, [`MinimumEigensolver`](qiskit.algorithms.MinimumEigensolver "qiskit.algorithms.minimum_eigen_solvers.minimum_eigen_solver.MinimumEigensolver") diff --git a/docs/api/qiskit/qiskit.algorithms.VarQITE.md b/docs/api/qiskit/qiskit.algorithms.VarQITE.md index b8349b440b..e9ac9c3692 100644 --- a/docs/api/qiskit/qiskit.algorithms.VarQITE.md +++ b/docs/api/qiskit/qiskit.algorithms.VarQITE.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.VarQITE -`qiskit.algorithms.VarQITE(ansatz, initial_parameters, variational_principle=None, estimator=None, ode_solver=, lse_solver=None, num_timesteps=None, imag_part_tol=1e-07, num_instability_tol=1e-07)` +`qiskit.algorithms.VarQITE(ansatz, initial_parameters, variational_principle=None, estimator=None, ode_solver=, lse_solver=None, num_timesteps=None, imag_part_tol=1e-07, num_instability_tol=1e-07)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/time_evolvers/variational/var_qite.py "view source code") Bases: `VarQTE`, [`ImaginaryTimeEvolver`](qiskit.algorithms.ImaginaryTimeEvolver "qiskit.algorithms.time_evolvers.imaginary_time_evolver.ImaginaryTimeEvolver") diff --git a/docs/api/qiskit/qiskit.algorithms.VarQRTE.md b/docs/api/qiskit/qiskit.algorithms.VarQRTE.md index dbee210478..5051acbb1e 100644 --- a/docs/api/qiskit/qiskit.algorithms.VarQRTE.md +++ b/docs/api/qiskit/qiskit.algorithms.VarQRTE.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.VarQRTE -`qiskit.algorithms.VarQRTE(ansatz, initial_parameters, variational_principle=None, estimator=None, ode_solver=, lse_solver=None, num_timesteps=None, imag_part_tol=1e-07, num_instability_tol=1e-07)` +`qiskit.algorithms.VarQRTE(ansatz, initial_parameters, variational_principle=None, estimator=None, ode_solver=, lse_solver=None, num_timesteps=None, imag_part_tol=1e-07, num_instability_tol=1e-07)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/time_evolvers/variational/var_qrte.py "view source code") Bases: `VarQTE`, [`RealTimeEvolver`](qiskit.algorithms.RealTimeEvolver "qiskit.algorithms.time_evolvers.real_time_evolver.RealTimeEvolver") diff --git a/docs/api/qiskit/qiskit.algorithms.eigensolvers.Eigensolver.md b/docs/api/qiskit/qiskit.algorithms.eigensolvers.Eigensolver.md index fceb270f2c..25b8ec0448 100644 --- a/docs/api/qiskit/qiskit.algorithms.eigensolvers.Eigensolver.md +++ b/docs/api/qiskit/qiskit.algorithms.eigensolvers.Eigensolver.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.eigensolvers.Eigensolver -`qiskit.algorithms.eigensolvers.Eigensolver` +`qiskit.algorithms.eigensolvers.Eigensolver`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/eigensolvers/eigensolver.py "view source code") Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.eigensolvers.EigensolverResult.md b/docs/api/qiskit/qiskit.algorithms.eigensolvers.EigensolverResult.md index 9942693c30..c39d4438a2 100644 --- a/docs/api/qiskit/qiskit.algorithms.eigensolvers.EigensolverResult.md +++ b/docs/api/qiskit/qiskit.algorithms.eigensolvers.EigensolverResult.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.eigensolvers.EigensolverResult -`qiskit.algorithms.eigensolvers.EigensolverResult` +`qiskit.algorithms.eigensolvers.EigensolverResult`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/eigensolvers/eigensolver.py "view source code") Bases: `AlgorithmResult` diff --git a/docs/api/qiskit/qiskit.algorithms.eigensolvers.NumPyEigensolver.md b/docs/api/qiskit/qiskit.algorithms.eigensolvers.NumPyEigensolver.md index bd37bfa844..6d0fcde3f7 100644 --- a/docs/api/qiskit/qiskit.algorithms.eigensolvers.NumPyEigensolver.md +++ b/docs/api/qiskit/qiskit.algorithms.eigensolvers.NumPyEigensolver.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.eigensolvers.NumPyEigensolver -`qiskit.algorithms.eigensolvers.NumPyEigensolver(k=1, filter_criterion=None)` +`qiskit.algorithms.eigensolvers.NumPyEigensolver(k=1, filter_criterion=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/eigensolvers/numpy_eigensolver.py "view source code") Bases: [`Eigensolver`](qiskit.algorithms.eigensolvers.Eigensolver "qiskit.algorithms.eigensolvers.eigensolver.Eigensolver") diff --git a/docs/api/qiskit/qiskit.algorithms.eigensolvers.NumPyEigensolverResult.md b/docs/api/qiskit/qiskit.algorithms.eigensolvers.NumPyEigensolverResult.md index e47ca7171f..ac2acee428 100644 --- a/docs/api/qiskit/qiskit.algorithms.eigensolvers.NumPyEigensolverResult.md +++ b/docs/api/qiskit/qiskit.algorithms.eigensolvers.NumPyEigensolverResult.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.eigensolvers.NumPyEigensolverResult -`qiskit.algorithms.eigensolvers.NumPyEigensolverResult` +`qiskit.algorithms.eigensolvers.NumPyEigensolverResult`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/eigensolvers/numpy_eigensolver.py "view source code") Bases: [`EigensolverResult`](qiskit.algorithms.eigensolvers.EigensolverResult "qiskit.algorithms.eigensolvers.eigensolver.EigensolverResult") diff --git a/docs/api/qiskit/qiskit.algorithms.eigensolvers.VQD.md b/docs/api/qiskit/qiskit.algorithms.eigensolvers.VQD.md index c5e295d4b9..90336a6eab 100644 --- a/docs/api/qiskit/qiskit.algorithms.eigensolvers.VQD.md +++ b/docs/api/qiskit/qiskit.algorithms.eigensolvers.VQD.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.eigensolvers.VQD -`qiskit.algorithms.eigensolvers.VQD(estimator, fidelity, ansatz, optimizer, *, k=2, betas=None, initial_point=None, callback=None)` +`qiskit.algorithms.eigensolvers.VQD(estimator, fidelity, ansatz, optimizer, *, k=2, betas=None, initial_point=None, callback=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/eigensolvers/vqd.py "view source code") Bases: `VariationalAlgorithm`, [`Eigensolver`](qiskit.algorithms.eigensolvers.Eigensolver "qiskit.algorithms.eigensolvers.eigensolver.Eigensolver") diff --git a/docs/api/qiskit/qiskit.algorithms.eigensolvers.VQDResult.md b/docs/api/qiskit/qiskit.algorithms.eigensolvers.VQDResult.md index 581d3e9b6d..49757ecb29 100644 --- a/docs/api/qiskit/qiskit.algorithms.eigensolvers.VQDResult.md +++ b/docs/api/qiskit/qiskit.algorithms.eigensolvers.VQDResult.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.eigensolvers.VQDResult -`qiskit.algorithms.eigensolvers.VQDResult` +`qiskit.algorithms.eigensolvers.VQDResult`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/eigensolvers/vqd.py "view source code") Bases: [`EigensolverResult`](qiskit.algorithms.eigensolvers.EigensolverResult "qiskit.algorithms.eigensolvers.eigensolver.EigensolverResult") diff --git a/docs/api/qiskit/qiskit.algorithms.eigensolvers.md b/docs/api/qiskit/qiskit.algorithms.eigensolvers.md index bedd5d86a5..a1fac22f05 100644 --- a/docs/api/qiskit/qiskit.algorithms.eigensolvers.md +++ b/docs/api/qiskit/qiskit.algorithms.eigensolvers.md @@ -25,8 +25,8 @@ python_api_name: qiskit.algorithms.eigensolvers | | | | ------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------- | | [`Eigensolver`](qiskit.algorithms.eigensolvers.Eigensolver "qiskit.algorithms.eigensolvers.Eigensolver")() | The eigensolver interface. | -| [`NumPyEigensolver`](qiskit.algorithms.eigensolvers.NumPyEigensolver "qiskit.algorithms.eigensolvers.NumPyEigensolver")(\[k, filter\_criterion]) | The NumPy eigensolver algorithm. | -| [`VQD`](qiskit.algorithms.eigensolvers.VQD "qiskit.algorithms.eigensolvers.VQD")(estimator, fidelity, ansatz, optimizer, \*) | The Variational Quantum Deflation algorithm. | +| [`NumPyEigensolver`](qiskit.algorithms.eigensolvers.NumPyEigensolver "qiskit.algorithms.eigensolvers.NumPyEigensolver")(\[k, filter\_criterion]) | The NumPy eigensolver algorithm. | +| [`VQD`](qiskit.algorithms.eigensolvers.VQD "qiskit.algorithms.eigensolvers.VQD")(estimator, fidelity, ansatz, optimizer, \*) | The Variational Quantum Deflation algorithm. | ### Results diff --git a/docs/api/qiskit/qiskit.algorithms.gradients.BaseEstimatorGradient.md b/docs/api/qiskit/qiskit.algorithms.gradients.BaseEstimatorGradient.md index 7226ac2030..021186f237 100644 --- a/docs/api/qiskit/qiskit.algorithms.gradients.BaseEstimatorGradient.md +++ b/docs/api/qiskit/qiskit.algorithms.gradients.BaseEstimatorGradient.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.gradients.BaseEstimatorGradient -`qiskit.algorithms.gradients.BaseEstimatorGradient(estimator, options=None, derivative_type=DerivativeType.REAL)` +`qiskit.algorithms.gradients.BaseEstimatorGradient(estimator, options=None, derivative_type=DerivativeType.REAL)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/gradients/base/base_estimator_gradient.py "view source code") Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.gradients.BaseQGT.md b/docs/api/qiskit/qiskit.algorithms.gradients.BaseQGT.md index 9bf820b84f..347b52b299 100644 --- a/docs/api/qiskit/qiskit.algorithms.gradients.BaseQGT.md +++ b/docs/api/qiskit/qiskit.algorithms.gradients.BaseQGT.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.gradients.BaseQGT -`qiskit.algorithms.gradients.BaseQGT(estimator, phase_fix=True, derivative_type=DerivativeType.COMPLEX, options=None)` +`qiskit.algorithms.gradients.BaseQGT(estimator, phase_fix=True, derivative_type=DerivativeType.COMPLEX, options=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/gradients/base/base_qgt.py "view source code") Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.gradients.BaseSamplerGradient.md b/docs/api/qiskit/qiskit.algorithms.gradients.BaseSamplerGradient.md index f57682c5b8..627f8d2532 100644 --- a/docs/api/qiskit/qiskit.algorithms.gradients.BaseSamplerGradient.md +++ b/docs/api/qiskit/qiskit.algorithms.gradients.BaseSamplerGradient.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.gradients.BaseSamplerGradient -`qiskit.algorithms.gradients.BaseSamplerGradient(sampler, options=None)` +`qiskit.algorithms.gradients.BaseSamplerGradient(sampler, options=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/gradients/base/base_sampler_gradient.py "view source code") Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.gradients.EstimatorGradientResult.md b/docs/api/qiskit/qiskit.algorithms.gradients.EstimatorGradientResult.md index 00070b80d1..e61d975c55 100644 --- a/docs/api/qiskit/qiskit.algorithms.gradients.EstimatorGradientResult.md +++ b/docs/api/qiskit/qiskit.algorithms.gradients.EstimatorGradientResult.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.gradients.EstimatorGradientResult -`qiskit.algorithms.gradients.EstimatorGradientResult(gradients, metadata, options)` +`qiskit.algorithms.gradients.EstimatorGradientResult(gradients, metadata, options)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/gradients/base/estimator_gradient_result.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.gradients.FiniteDiffEstimatorGradient.md b/docs/api/qiskit/qiskit.algorithms.gradients.FiniteDiffEstimatorGradient.md index 29f69e9233..54113ee9d2 100644 --- a/docs/api/qiskit/qiskit.algorithms.gradients.FiniteDiffEstimatorGradient.md +++ b/docs/api/qiskit/qiskit.algorithms.gradients.FiniteDiffEstimatorGradient.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.gradients.FiniteDiffEstimatorGradient -`qiskit.algorithms.gradients.FiniteDiffEstimatorGradient(estimator, epsilon, options=None, *, method='central')` +`qiskit.algorithms.gradients.FiniteDiffEstimatorGradient(estimator, epsilon, options=None, *, method='central')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/gradients/finite_diff/finite_diff_estimator_gradient.py "view source code") Bases: [`BaseEstimatorGradient`](qiskit.algorithms.gradients.BaseEstimatorGradient "qiskit.algorithms.gradients.base.base_estimator_gradient.BaseEstimatorGradient") diff --git a/docs/api/qiskit/qiskit.algorithms.gradients.FiniteDiffSamplerGradient.md b/docs/api/qiskit/qiskit.algorithms.gradients.FiniteDiffSamplerGradient.md index 0f936fb03f..cc4d7ab60f 100644 --- a/docs/api/qiskit/qiskit.algorithms.gradients.FiniteDiffSamplerGradient.md +++ b/docs/api/qiskit/qiskit.algorithms.gradients.FiniteDiffSamplerGradient.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.gradients.FiniteDiffSamplerGradient -`qiskit.algorithms.gradients.FiniteDiffSamplerGradient(sampler, epsilon, options=None, *, method='central')` +`qiskit.algorithms.gradients.FiniteDiffSamplerGradient(sampler, epsilon, options=None, *, method='central')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/gradients/finite_diff/finite_diff_sampler_gradient.py "view source code") Bases: [`BaseSamplerGradient`](qiskit.algorithms.gradients.BaseSamplerGradient "qiskit.algorithms.gradients.base.base_sampler_gradient.BaseSamplerGradient") diff --git a/docs/api/qiskit/qiskit.algorithms.gradients.LinCombEstimatorGradient.md b/docs/api/qiskit/qiskit.algorithms.gradients.LinCombEstimatorGradient.md index 1741a15502..486e63fce9 100644 --- a/docs/api/qiskit/qiskit.algorithms.gradients.LinCombEstimatorGradient.md +++ b/docs/api/qiskit/qiskit.algorithms.gradients.LinCombEstimatorGradient.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.gradients.LinCombEstimatorGradient -`qiskit.algorithms.gradients.LinCombEstimatorGradient(estimator, derivative_type=DerivativeType.REAL, options=None)` +`qiskit.algorithms.gradients.LinCombEstimatorGradient(estimator, derivative_type=DerivativeType.REAL, options=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/gradients/lin_comb/lin_comb_estimator_gradient.py "view source code") Bases: [`BaseEstimatorGradient`](qiskit.algorithms.gradients.BaseEstimatorGradient "qiskit.algorithms.gradients.base.base_estimator_gradient.BaseEstimatorGradient") diff --git a/docs/api/qiskit/qiskit.algorithms.gradients.LinCombQGT.md b/docs/api/qiskit/qiskit.algorithms.gradients.LinCombQGT.md index ae98f5b9a8..89d85d0d3b 100644 --- a/docs/api/qiskit/qiskit.algorithms.gradients.LinCombQGT.md +++ b/docs/api/qiskit/qiskit.algorithms.gradients.LinCombQGT.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.gradients.LinCombQGT -`qiskit.algorithms.gradients.LinCombQGT(estimator, phase_fix=True, derivative_type=DerivativeType.COMPLEX, options=None)` +`qiskit.algorithms.gradients.LinCombQGT(estimator, phase_fix=True, derivative_type=DerivativeType.COMPLEX, options=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/gradients/lin_comb/lin_comb_qgt.py "view source code") Bases: [`BaseQGT`](qiskit.algorithms.gradients.BaseQGT "qiskit.algorithms.gradients.base.base_qgt.BaseQGT") diff --git a/docs/api/qiskit/qiskit.algorithms.gradients.LinCombSamplerGradient.md b/docs/api/qiskit/qiskit.algorithms.gradients.LinCombSamplerGradient.md index 0357f05c49..b9d4203b5f 100644 --- a/docs/api/qiskit/qiskit.algorithms.gradients.LinCombSamplerGradient.md +++ b/docs/api/qiskit/qiskit.algorithms.gradients.LinCombSamplerGradient.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.gradients.LinCombSamplerGradient -`qiskit.algorithms.gradients.LinCombSamplerGradient(sampler, options=None)` +`qiskit.algorithms.gradients.LinCombSamplerGradient(sampler, options=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/gradients/lin_comb/lin_comb_sampler_gradient.py "view source code") Bases: [`BaseSamplerGradient`](qiskit.algorithms.gradients.BaseSamplerGradient "qiskit.algorithms.gradients.base.base_sampler_gradient.BaseSamplerGradient") diff --git a/docs/api/qiskit/qiskit.algorithms.gradients.ParamShiftEstimatorGradient.md b/docs/api/qiskit/qiskit.algorithms.gradients.ParamShiftEstimatorGradient.md index c0a0ba8c60..2863d166d3 100644 --- a/docs/api/qiskit/qiskit.algorithms.gradients.ParamShiftEstimatorGradient.md +++ b/docs/api/qiskit/qiskit.algorithms.gradients.ParamShiftEstimatorGradient.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.gradients.ParamShiftEstimatorGradient -`qiskit.algorithms.gradients.ParamShiftEstimatorGradient(estimator, options=None, derivative_type=DerivativeType.REAL)` +`qiskit.algorithms.gradients.ParamShiftEstimatorGradient(estimator, options=None, derivative_type=DerivativeType.REAL)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/gradients/param_shift/param_shift_estimator_gradient.py "view source code") Bases: [`BaseEstimatorGradient`](qiskit.algorithms.gradients.BaseEstimatorGradient "qiskit.algorithms.gradients.base.base_estimator_gradient.BaseEstimatorGradient") diff --git a/docs/api/qiskit/qiskit.algorithms.gradients.ParamShiftSamplerGradient.md b/docs/api/qiskit/qiskit.algorithms.gradients.ParamShiftSamplerGradient.md index 6bd3a1a2b4..5ad6e4b81f 100644 --- a/docs/api/qiskit/qiskit.algorithms.gradients.ParamShiftSamplerGradient.md +++ b/docs/api/qiskit/qiskit.algorithms.gradients.ParamShiftSamplerGradient.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.gradients.ParamShiftSamplerGradient -`qiskit.algorithms.gradients.ParamShiftSamplerGradient(sampler, options=None)` +`qiskit.algorithms.gradients.ParamShiftSamplerGradient(sampler, options=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/gradients/param_shift/param_shift_sampler_gradient.py "view source code") Bases: [`BaseSamplerGradient`](qiskit.algorithms.gradients.BaseSamplerGradient "qiskit.algorithms.gradients.base.base_sampler_gradient.BaseSamplerGradient") diff --git a/docs/api/qiskit/qiskit.algorithms.gradients.QFI.md b/docs/api/qiskit/qiskit.algorithms.gradients.QFI.md index 5e213e379b..d6ea8e1efd 100644 --- a/docs/api/qiskit/qiskit.algorithms.gradients.QFI.md +++ b/docs/api/qiskit/qiskit.algorithms.gradients.QFI.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.gradients.QFI -`qiskit.algorithms.gradients.QFI(qgt, options=None)` +`qiskit.algorithms.gradients.QFI(qgt, options=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/gradients/qfi.py "view source code") Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.gradients.QFIResult.md b/docs/api/qiskit/qiskit.algorithms.gradients.QFIResult.md index bceae41c48..e55a4ebf3d 100644 --- a/docs/api/qiskit/qiskit.algorithms.gradients.QFIResult.md +++ b/docs/api/qiskit/qiskit.algorithms.gradients.QFIResult.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.gradients.QFIResult -`qiskit.algorithms.gradients.QFIResult(qfis, metadata, options)` +`qiskit.algorithms.gradients.QFIResult(qfis, metadata, options)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/gradients/qfi_result.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.gradients.QGTResult.md b/docs/api/qiskit/qiskit.algorithms.gradients.QGTResult.md index faa5cafad2..3ff9899271 100644 --- a/docs/api/qiskit/qiskit.algorithms.gradients.QGTResult.md +++ b/docs/api/qiskit/qiskit.algorithms.gradients.QGTResult.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.gradients.QGTResult -`qiskit.algorithms.gradients.QGTResult(qgts, derivative_type, metadata, options)` +`qiskit.algorithms.gradients.QGTResult(qgts, derivative_type, metadata, options)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/gradients/base/qgt_result.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.gradients.ReverseEstimatorGradient.md b/docs/api/qiskit/qiskit.algorithms.gradients.ReverseEstimatorGradient.md index 603630494f..8f9e0dcd72 100644 --- a/docs/api/qiskit/qiskit.algorithms.gradients.ReverseEstimatorGradient.md +++ b/docs/api/qiskit/qiskit.algorithms.gradients.ReverseEstimatorGradient.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.gradients.ReverseEstimatorGradient -`qiskit.algorithms.gradients.ReverseEstimatorGradient(derivative_type=DerivativeType.REAL)` +`qiskit.algorithms.gradients.ReverseEstimatorGradient(derivative_type=DerivativeType.REAL)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/gradients/reverse/reverse_gradient.py "view source code") Bases: [`BaseEstimatorGradient`](qiskit.algorithms.gradients.BaseEstimatorGradient "qiskit.algorithms.gradients.base.base_estimator_gradient.BaseEstimatorGradient") diff --git a/docs/api/qiskit/qiskit.algorithms.gradients.ReverseQGT.md b/docs/api/qiskit/qiskit.algorithms.gradients.ReverseQGT.md index e607538b83..96d16f7096 100644 --- a/docs/api/qiskit/qiskit.algorithms.gradients.ReverseQGT.md +++ b/docs/api/qiskit/qiskit.algorithms.gradients.ReverseQGT.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.gradients.ReverseQGT -`qiskit.algorithms.gradients.ReverseQGT(phase_fix=True, derivative_type=DerivativeType.COMPLEX)` +`qiskit.algorithms.gradients.ReverseQGT(phase_fix=True, derivative_type=DerivativeType.COMPLEX)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/gradients/reverse/reverse_qgt.py "view source code") Bases: [`BaseQGT`](qiskit.algorithms.gradients.BaseQGT "qiskit.algorithms.gradients.base.base_qgt.BaseQGT") diff --git a/docs/api/qiskit/qiskit.algorithms.gradients.SPSAEstimatorGradient.md b/docs/api/qiskit/qiskit.algorithms.gradients.SPSAEstimatorGradient.md index 35f0cd2973..362c7b0345 100644 --- a/docs/api/qiskit/qiskit.algorithms.gradients.SPSAEstimatorGradient.md +++ b/docs/api/qiskit/qiskit.algorithms.gradients.SPSAEstimatorGradient.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.gradients.SPSAEstimatorGradient -`qiskit.algorithms.gradients.SPSAEstimatorGradient(estimator, epsilon, batch_size=1, seed=None, options=None)` +`qiskit.algorithms.gradients.SPSAEstimatorGradient(estimator, epsilon, batch_size=1, seed=None, options=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/gradients/spsa/spsa_estimator_gradient.py "view source code") Bases: [`BaseEstimatorGradient`](qiskit.algorithms.gradients.BaseEstimatorGradient "qiskit.algorithms.gradients.base.base_estimator_gradient.BaseEstimatorGradient") diff --git a/docs/api/qiskit/qiskit.algorithms.gradients.SPSASamplerGradient.md b/docs/api/qiskit/qiskit.algorithms.gradients.SPSASamplerGradient.md index 2c5aa2fb32..1a9bc1a145 100644 --- a/docs/api/qiskit/qiskit.algorithms.gradients.SPSASamplerGradient.md +++ b/docs/api/qiskit/qiskit.algorithms.gradients.SPSASamplerGradient.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.gradients.SPSASamplerGradient -`qiskit.algorithms.gradients.SPSASamplerGradient(sampler, epsilon, batch_size=1, seed=None, options=None)` +`qiskit.algorithms.gradients.SPSASamplerGradient(sampler, epsilon, batch_size=1, seed=None, options=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/gradients/spsa/spsa_sampler_gradient.py "view source code") Bases: [`BaseSamplerGradient`](qiskit.algorithms.gradients.BaseSamplerGradient "qiskit.algorithms.gradients.base.base_sampler_gradient.BaseSamplerGradient") diff --git a/docs/api/qiskit/qiskit.algorithms.gradients.SamplerGradientResult.md b/docs/api/qiskit/qiskit.algorithms.gradients.SamplerGradientResult.md index 9665d420eb..dedf1b224b 100644 --- a/docs/api/qiskit/qiskit.algorithms.gradients.SamplerGradientResult.md +++ b/docs/api/qiskit/qiskit.algorithms.gradients.SamplerGradientResult.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.gradients.SamplerGradientResult -`qiskit.algorithms.gradients.SamplerGradientResult(gradients, metadata, options)` +`qiskit.algorithms.gradients.SamplerGradientResult(gradients, metadata, options)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/gradients/base/sampler_gradient_result.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.gradients.md b/docs/api/qiskit/qiskit.algorithms.gradients.md index 02487a2f42..d81968d412 100644 --- a/docs/api/qiskit/qiskit.algorithms.gradients.md +++ b/docs/api/qiskit/qiskit.algorithms.gradients.md @@ -24,53 +24,53 @@ python_api_name: qiskit.algorithms.gradients | | | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | -| [`BaseEstimatorGradient`](qiskit.algorithms.gradients.BaseEstimatorGradient "qiskit.algorithms.gradients.BaseEstimatorGradient")(estimator\[, options, ...]) | Base class for an `EstimatorGradient` to compute the gradients of the expectation value. | -| [`BaseQGT`](qiskit.algorithms.gradients.BaseQGT "qiskit.algorithms.gradients.BaseQGT")(estimator\[, phase\_fix, ...]) | Base class to computes the Quantum Geometric Tensor (QGT) given a pure, parameterized quantum state. | -| [`BaseSamplerGradient`](qiskit.algorithms.gradients.BaseSamplerGradient "qiskit.algorithms.gradients.BaseSamplerGradient")(sampler\[, options]) | Base class for a `SamplerGradient` to compute the gradients of the sampling probability. | -| [`EstimatorGradientResult`](qiskit.algorithms.gradients.EstimatorGradientResult "qiskit.algorithms.gradients.EstimatorGradientResult")(gradients, metadata, ...) | Result of EstimatorGradient. | -| [`SamplerGradientResult`](qiskit.algorithms.gradients.SamplerGradientResult "qiskit.algorithms.gradients.SamplerGradientResult")(gradients, metadata, ...) | Result of SamplerGradient. | -| [`QGTResult`](qiskit.algorithms.gradients.QGTResult "qiskit.algorithms.gradients.QGTResult")(qgts, derivative\_type, metadata, ...) | Result of QGT. | +| [`BaseEstimatorGradient`](qiskit.algorithms.gradients.BaseEstimatorGradient "qiskit.algorithms.gradients.BaseEstimatorGradient")(estimator\[, options, ...]) | Base class for an `EstimatorGradient` to compute the gradients of the expectation value. | +| [`BaseQGT`](qiskit.algorithms.gradients.BaseQGT "qiskit.algorithms.gradients.BaseQGT")(estimator\[, phase\_fix, ...]) | Base class to computes the Quantum Geometric Tensor (QGT) given a pure, parameterized quantum state. | +| [`BaseSamplerGradient`](qiskit.algorithms.gradients.BaseSamplerGradient "qiskit.algorithms.gradients.BaseSamplerGradient")(sampler\[, options]) | Base class for a `SamplerGradient` to compute the gradients of the sampling probability. | +| [`EstimatorGradientResult`](qiskit.algorithms.gradients.EstimatorGradientResult "qiskit.algorithms.gradients.EstimatorGradientResult")(gradients, metadata, ...) | Result of EstimatorGradient. | +| [`SamplerGradientResult`](qiskit.algorithms.gradients.SamplerGradientResult "qiskit.algorithms.gradients.SamplerGradientResult")(gradients, metadata, ...) | Result of SamplerGradient. | +| [`QGTResult`](qiskit.algorithms.gradients.QGTResult "qiskit.algorithms.gradients.QGTResult")(qgts, derivative\_type, metadata, ...) | Result of QGT. | ### Finite Differences | | | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | -| [`FiniteDiffEstimatorGradient`](qiskit.algorithms.gradients.FiniteDiffEstimatorGradient "qiskit.algorithms.gradients.FiniteDiffEstimatorGradient")(estimator, epsilon) | Compute the gradients of the expectation values by finite difference method \[1]. | -| [`FiniteDiffSamplerGradient`](qiskit.algorithms.gradients.FiniteDiffSamplerGradient "qiskit.algorithms.gradients.FiniteDiffSamplerGradient")(sampler, epsilon) | Compute the gradients of the sampling probability by finite difference method \[1]. | +| [`FiniteDiffEstimatorGradient`](qiskit.algorithms.gradients.FiniteDiffEstimatorGradient "qiskit.algorithms.gradients.FiniteDiffEstimatorGradient")(estimator, epsilon) | Compute the gradients of the expectation values by finite difference method \[1]. | +| [`FiniteDiffSamplerGradient`](qiskit.algorithms.gradients.FiniteDiffSamplerGradient "qiskit.algorithms.gradients.FiniteDiffSamplerGradient")(sampler, epsilon) | Compute the gradients of the sampling probability by finite difference method \[1]. | ### Linear Combination of Unitaries | | | | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------- | -| [`LinCombEstimatorGradient`](qiskit.algorithms.gradients.LinCombEstimatorGradient "qiskit.algorithms.gradients.LinCombEstimatorGradient")(estimator\[, ...]) | Compute the gradients of the expectation values. | -| [`LinCombSamplerGradient`](qiskit.algorithms.gradients.LinCombSamplerGradient "qiskit.algorithms.gradients.LinCombSamplerGradient")(sampler\[, options]) | Compute the gradients of the sampling probability. | -| [`LinCombQGT`](qiskit.algorithms.gradients.LinCombQGT "qiskit.algorithms.gradients.LinCombQGT")(estimator\[, phase\_fix, ...]) | Computes the Quantum Geometric Tensor (QGT) given a pure, parameterized quantum state. | +| [`LinCombEstimatorGradient`](qiskit.algorithms.gradients.LinCombEstimatorGradient "qiskit.algorithms.gradients.LinCombEstimatorGradient")(estimator\[, ...]) | Compute the gradients of the expectation values. | +| [`LinCombSamplerGradient`](qiskit.algorithms.gradients.LinCombSamplerGradient "qiskit.algorithms.gradients.LinCombSamplerGradient")(sampler\[, options]) | Compute the gradients of the sampling probability. | +| [`LinCombQGT`](qiskit.algorithms.gradients.LinCombQGT "qiskit.algorithms.gradients.LinCombQGT")(estimator\[, phase\_fix, ...]) | Computes the Quantum Geometric Tensor (QGT) given a pure, parameterized quantum state. | ### Parameter Shift Rules | | | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | -| [`ParamShiftEstimatorGradient`](qiskit.algorithms.gradients.ParamShiftEstimatorGradient "qiskit.algorithms.gradients.ParamShiftEstimatorGradient")(estimator\[, ...]) | Compute the gradients of the expectation values by the parameter shift rule \[1]. | -| [`ParamShiftSamplerGradient`](qiskit.algorithms.gradients.ParamShiftSamplerGradient "qiskit.algorithms.gradients.ParamShiftSamplerGradient")(sampler\[, options]) | Compute the gradients of the sampling probability by the parameter shift rule \[1]. | +| [`ParamShiftEstimatorGradient`](qiskit.algorithms.gradients.ParamShiftEstimatorGradient "qiskit.algorithms.gradients.ParamShiftEstimatorGradient")(estimator\[, ...]) | Compute the gradients of the expectation values by the parameter shift rule \[1]. | +| [`ParamShiftSamplerGradient`](qiskit.algorithms.gradients.ParamShiftSamplerGradient "qiskit.algorithms.gradients.ParamShiftSamplerGradient")(sampler\[, options]) | Compute the gradients of the sampling probability by the parameter shift rule \[1]. | ### Quantum Fisher Information | | | | --------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | -| [`QFIResult`](qiskit.algorithms.gradients.QFIResult "qiskit.algorithms.gradients.QFIResult")(qfis, metadata, options) | Result of QFI. | -| [`QFI`](qiskit.algorithms.gradients.QFI "qiskit.algorithms.gradients.QFI")(qgt\[, options]) | Computes the Quantum Fisher Information (QFI) given a pure, parameterized quantum state. | +| [`QFIResult`](qiskit.algorithms.gradients.QFIResult "qiskit.algorithms.gradients.QFIResult")(qfis, metadata, options) | Result of QFI. | +| [`QFI`](qiskit.algorithms.gradients.QFI "qiskit.algorithms.gradients.QFI")(qgt\[, options]) | Computes the Quantum Fisher Information (QFI) given a pure, parameterized quantum state. | ### Classical Methods | | | | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | | [`ReverseEstimatorGradient`](qiskit.algorithms.gradients.ReverseEstimatorGradient "qiskit.algorithms.gradients.ReverseEstimatorGradient")(\[derivative\_type]) | Estimator gradients with the classically efficient reverse mode. | -| [`ReverseQGT`](qiskit.algorithms.gradients.ReverseQGT "qiskit.algorithms.gradients.ReverseQGT")(\[phase\_fix, derivative\_type]) | QGT calculation with the classically efficient reverse mode. | +| [`ReverseQGT`](qiskit.algorithms.gradients.ReverseQGT "qiskit.algorithms.gradients.ReverseQGT")(\[phase\_fix, derivative\_type]) | QGT calculation with the classically efficient reverse mode. | ### Simultaneous Perturbation Stochastic Approximation | | | | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | -| [`SPSAEstimatorGradient`](qiskit.algorithms.gradients.SPSAEstimatorGradient "qiskit.algorithms.gradients.SPSAEstimatorGradient")(estimator, epsilon\[, ...]) | Compute the gradients of the expectation value by the Simultaneous Perturbation Stochastic Approximation (SPSA) \[1]. | -| [`SPSASamplerGradient`](qiskit.algorithms.gradients.SPSASamplerGradient "qiskit.algorithms.gradients.SPSASamplerGradient")(sampler, epsilon\[, ...]) | Compute the gradients of the sampling probability by the Simultaneous Perturbation Stochastic Approximation (SPSA) \[1]. | +| [`SPSAEstimatorGradient`](qiskit.algorithms.gradients.SPSAEstimatorGradient "qiskit.algorithms.gradients.SPSAEstimatorGradient")(estimator, epsilon\[, ...]) | Compute the gradients of the expectation value by the Simultaneous Perturbation Stochastic Approximation (SPSA) \[1]. | +| [`SPSASamplerGradient`](qiskit.algorithms.gradients.SPSASamplerGradient "qiskit.algorithms.gradients.SPSASamplerGradient")(sampler, epsilon\[, ...]) | Compute the gradients of the sampling probability by the Simultaneous Perturbation Stochastic Approximation (SPSA) \[1]. | diff --git a/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.AdaptVQE.md b/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.AdaptVQE.md index 58fb9a65ec..16bd085efe 100644 --- a/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.AdaptVQE.md +++ b/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.AdaptVQE.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.minimum_eigensolvers.AdaptVQE -`qiskit.algorithms.minimum_eigensolvers.AdaptVQE(solver, *, gradient_threshold=1e-05, eigenvalue_threshold=1e-05, max_iterations=None, threshold=None)` +`qiskit.algorithms.minimum_eigensolvers.AdaptVQE(solver, *, gradient_threshold=1e-05, eigenvalue_threshold=1e-05, max_iterations=None, threshold=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/minimum_eigensolvers/adapt_vqe.py "view source code") Bases: `VariationalAlgorithm`, [`MinimumEigensolver`](qiskit.algorithms.minimum_eigensolvers.MinimumEigensolver "qiskit.algorithms.minimum_eigensolvers.minimum_eigensolver.MinimumEigensolver") diff --git a/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.AdaptVQEResult.md b/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.AdaptVQEResult.md index 65a46ee420..0337787f8c 100644 --- a/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.AdaptVQEResult.md +++ b/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.AdaptVQEResult.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.minimum_eigensolvers.AdaptVQEResult -`qiskit.algorithms.minimum_eigensolvers.AdaptVQEResult` +`qiskit.algorithms.minimum_eigensolvers.AdaptVQEResult`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/minimum_eigensolvers/adapt_vqe.py "view source code") Bases: [`VQEResult`](qiskit.algorithms.minimum_eigensolvers.VQEResult "qiskit.algorithms.minimum_eigensolvers.vqe.VQEResult") diff --git a/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.MinimumEigensolver.md b/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.MinimumEigensolver.md index 54bca7698c..7bd1550fa2 100644 --- a/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.MinimumEigensolver.md +++ b/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.MinimumEigensolver.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.minimum_eigensolvers.MinimumEigensolver -`qiskit.algorithms.minimum_eigensolvers.MinimumEigensolver` +`qiskit.algorithms.minimum_eigensolvers.MinimumEigensolver`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/minimum_eigensolvers/minimum_eigensolver.py "view source code") Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.MinimumEigensolverResult.md b/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.MinimumEigensolverResult.md index 6d06207257..4ff601282a 100644 --- a/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.MinimumEigensolverResult.md +++ b/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.MinimumEigensolverResult.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.minimum_eigensolvers.MinimumEigensolverResult -`qiskit.algorithms.minimum_eigensolvers.MinimumEigensolverResult` +`qiskit.algorithms.minimum_eigensolvers.MinimumEigensolverResult`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/minimum_eigensolvers/minimum_eigensolver.py "view source code") Bases: `AlgorithmResult` diff --git a/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.NumPyMinimumEigensolver.md b/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.NumPyMinimumEigensolver.md index 83d4db40dc..45021770db 100644 --- a/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.NumPyMinimumEigensolver.md +++ b/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.NumPyMinimumEigensolver.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.minimum_eigensolvers.NumPyMinimumEigensolver -`qiskit.algorithms.minimum_eigensolvers.NumPyMinimumEigensolver(filter_criterion=None)` +`qiskit.algorithms.minimum_eigensolvers.NumPyMinimumEigensolver(filter_criterion=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/minimum_eigensolvers/numpy_minimum_eigensolver.py "view source code") Bases: [`MinimumEigensolver`](qiskit.algorithms.minimum_eigensolvers.MinimumEigensolver "qiskit.algorithms.minimum_eigensolvers.minimum_eigensolver.MinimumEigensolver") diff --git a/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.NumPyMinimumEigensolverResult.md b/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.NumPyMinimumEigensolverResult.md index 96a097584f..09fca631db 100644 --- a/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.NumPyMinimumEigensolverResult.md +++ b/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.NumPyMinimumEigensolverResult.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.minimum_eigensolvers.NumPyMinimumEigensolverR -`qiskit.algorithms.minimum_eigensolvers.NumPyMinimumEigensolverResult` +`qiskit.algorithms.minimum_eigensolvers.NumPyMinimumEigensolverResult`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/minimum_eigensolvers/numpy_minimum_eigensolver.py "view source code") Bases: [`MinimumEigensolverResult`](qiskit.algorithms.minimum_eigensolvers.MinimumEigensolverResult "qiskit.algorithms.minimum_eigensolvers.minimum_eigensolver.MinimumEigensolverResult") diff --git a/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.QAOA.md b/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.QAOA.md index 9322c88cd3..4a6ce4971c 100644 --- a/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.QAOA.md +++ b/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.QAOA.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.minimum_eigensolvers.QAOA -`qiskit.algorithms.minimum_eigensolvers.QAOA(sampler, optimizer, *, reps=1, initial_state=None, mixer=None, initial_point=None, aggregation=None, callback=None)` +`qiskit.algorithms.minimum_eigensolvers.QAOA(sampler, optimizer, *, reps=1, initial_state=None, mixer=None, initial_point=None, aggregation=None, callback=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/minimum_eigensolvers/qaoa.py "view source code") Bases: [`SamplingVQE`](qiskit.algorithms.minimum_eigensolvers.SamplingVQE "qiskit.algorithms.minimum_eigensolvers.sampling_vqe.SamplingVQE") diff --git a/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.SamplingMinimumEigensolver.md b/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.SamplingMinimumEigensolver.md index 41aa61bb63..1188443cd5 100644 --- a/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.SamplingMinimumEigensolver.md +++ b/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.SamplingMinimumEigensolver.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.minimum_eigensolvers.SamplingMinimumEigensolv -`qiskit.algorithms.minimum_eigensolvers.SamplingMinimumEigensolver` +`qiskit.algorithms.minimum_eigensolvers.SamplingMinimumEigensolver`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/minimum_eigensolvers/sampling_mes.py "view source code") Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.SamplingMinimumEigensolverResult.md b/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.SamplingMinimumEigensolverResult.md index 54ad06621c..326bc4e6f3 100644 --- a/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.SamplingMinimumEigensolverResult.md +++ b/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.SamplingMinimumEigensolverResult.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.minimum_eigensolvers.SamplingMinimumEigensolv -`qiskit.algorithms.minimum_eigensolvers.SamplingMinimumEigensolverResult` +`qiskit.algorithms.minimum_eigensolvers.SamplingMinimumEigensolverResult`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/minimum_eigensolvers/sampling_mes.py "view source code") Bases: `AlgorithmResult` diff --git a/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.SamplingVQE.md b/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.SamplingVQE.md index 99561607e7..51c33ee3cf 100644 --- a/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.SamplingVQE.md +++ b/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.SamplingVQE.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.minimum_eigensolvers.SamplingVQE -`qiskit.algorithms.minimum_eigensolvers.SamplingVQE(sampler, ansatz, optimizer, *, initial_point=None, aggregation=None, callback=None)` +`qiskit.algorithms.minimum_eigensolvers.SamplingVQE(sampler, ansatz, optimizer, *, initial_point=None, aggregation=None, callback=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/minimum_eigensolvers/sampling_vqe.py "view source code") Bases: `VariationalAlgorithm`, [`SamplingMinimumEigensolver`](qiskit.algorithms.minimum_eigensolvers.SamplingMinimumEigensolver "qiskit.algorithms.minimum_eigensolvers.sampling_mes.SamplingMinimumEigensolver") diff --git a/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.SamplingVQEResult.md b/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.SamplingVQEResult.md index 2e5473e90e..ca26544e4c 100644 --- a/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.SamplingVQEResult.md +++ b/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.SamplingVQEResult.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.minimum_eigensolvers.SamplingVQEResult -`qiskit.algorithms.minimum_eigensolvers.SamplingVQEResult` +`qiskit.algorithms.minimum_eigensolvers.SamplingVQEResult`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/minimum_eigensolvers/sampling_vqe.py "view source code") Bases: `VariationalResult`, [`SamplingMinimumEigensolverResult`](qiskit.algorithms.minimum_eigensolvers.SamplingMinimumEigensolverResult "qiskit.algorithms.minimum_eigensolvers.sampling_mes.SamplingMinimumEigensolverResult") diff --git a/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.VQE.md b/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.VQE.md index 8257585b55..6c9d4b614a 100644 --- a/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.VQE.md +++ b/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.VQE.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.minimum_eigensolvers.VQE -`qiskit.algorithms.minimum_eigensolvers.VQE(estimator, ansatz, optimizer, *, gradient=None, initial_point=None, callback=None)` +`qiskit.algorithms.minimum_eigensolvers.VQE(estimator, ansatz, optimizer, *, gradient=None, initial_point=None, callback=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/minimum_eigensolvers/vqe.py "view source code") Bases: `VariationalAlgorithm`, [`MinimumEigensolver`](qiskit.algorithms.minimum_eigensolvers.MinimumEigensolver "qiskit.algorithms.minimum_eigensolvers.minimum_eigensolver.MinimumEigensolver") diff --git a/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.VQEResult.md b/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.VQEResult.md index 7ce9e97adf..2cd37f8883 100644 --- a/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.VQEResult.md +++ b/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.VQEResult.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.minimum_eigensolvers.VQEResult -`qiskit.algorithms.minimum_eigensolvers.VQEResult` +`qiskit.algorithms.minimum_eigensolvers.VQEResult`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/minimum_eigensolvers/vqe.py "view source code") Bases: `VariationalResult`, [`MinimumEigensolverResult`](qiskit.algorithms.minimum_eigensolvers.MinimumEigensolverResult "qiskit.algorithms.minimum_eigensolvers.minimum_eigensolver.MinimumEigensolverResult") diff --git a/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.md b/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.md index 617953efd7..a3bf30ea50 100644 --- a/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.md +++ b/docs/api/qiskit/qiskit.algorithms.minimum_eigensolvers.md @@ -26,11 +26,11 @@ python_api_name: qiskit.algorithms.minimum_eigensolvers | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | | [`MinimumEigensolver`](qiskit.algorithms.minimum_eigensolvers.MinimumEigensolver "qiskit.algorithms.minimum_eigensolvers.MinimumEigensolver")() | The minimum eigensolver interface. | | [`NumPyMinimumEigensolver`](qiskit.algorithms.minimum_eigensolvers.NumPyMinimumEigensolver "qiskit.algorithms.minimum_eigensolvers.NumPyMinimumEigensolver")(\[filter\_criterion]) | The NumPy minimum eigensolver algorithm. | -| [`VQE`](qiskit.algorithms.minimum_eigensolvers.VQE "qiskit.algorithms.minimum_eigensolvers.VQE")(estimator, ansatz, optimizer, \*\[, ...]) | The variational quantum eigensolver (VQE) algorithm. | -| [`AdaptVQE`](qiskit.algorithms.minimum_eigensolvers.AdaptVQE "qiskit.algorithms.minimum_eigensolvers.AdaptVQE")(solver, \*\[, gradient\_threshold, ...]) | The Adaptive Variational Quantum Eigensolver algorithm. | +| [`VQE`](qiskit.algorithms.minimum_eigensolvers.VQE "qiskit.algorithms.minimum_eigensolvers.VQE")(estimator, ansatz, optimizer, \*\[, ...]) | The variational quantum eigensolver (VQE) algorithm. | +| [`AdaptVQE`](qiskit.algorithms.minimum_eigensolvers.AdaptVQE "qiskit.algorithms.minimum_eigensolvers.AdaptVQE")(solver, \*\[, gradient\_threshold, ...]) | The Adaptive Variational Quantum Eigensolver algorithm. | | [`SamplingMinimumEigensolver`](qiskit.algorithms.minimum_eigensolvers.SamplingMinimumEigensolver "qiskit.algorithms.minimum_eigensolvers.SamplingMinimumEigensolver")() | The Sampling Minimum Eigensolver Interface. | -| [`SamplingVQE`](qiskit.algorithms.minimum_eigensolvers.SamplingVQE "qiskit.algorithms.minimum_eigensolvers.SamplingVQE")(sampler, ansatz, optimizer, \*\[, ...]) | The Variational Quantum Eigensolver algorithm, optimized for diagonal Hamiltonians. | -| [`QAOA`](qiskit.algorithms.minimum_eigensolvers.QAOA "qiskit.algorithms.minimum_eigensolvers.QAOA")(sampler, optimizer, \*\[, reps, ...]) | The Quantum Approximate Optimization Algorithm (QAOA). | +| [`SamplingVQE`](qiskit.algorithms.minimum_eigensolvers.SamplingVQE "qiskit.algorithms.minimum_eigensolvers.SamplingVQE")(sampler, ansatz, optimizer, \*\[, ...]) | The Variational Quantum Eigensolver algorithm, optimized for diagonal Hamiltonians. | +| [`QAOA`](qiskit.algorithms.minimum_eigensolvers.QAOA "qiskit.algorithms.minimum_eigensolvers.QAOA")(sampler, optimizer, \*\[, reps, ...]) | The Quantum Approximate Optimization Algorithm (QAOA). | | | | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- | diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.ADAM.md b/docs/api/qiskit/qiskit.algorithms.optimizers.ADAM.md index d7ad55bbef..566d8827cc 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.ADAM.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.ADAM.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.optimizers.ADAM -`qiskit.algorithms.optimizers.ADAM(maxiter=10000, tol=1e-06, lr=0.001, beta_1=0.9, beta_2=0.99, noise_factor=1e-08, eps=1e-10, amsgrad=False, snapshot_dir=None)` +`qiskit.algorithms.optimizers.ADAM(maxiter=10000, tol=1e-06, lr=0.001, beta_1=0.9, beta_2=0.99, noise_factor=1e-08, eps=1e-10, amsgrad=False, snapshot_dir=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/adam_amsgrad.py "view source code") Bases: [`Optimizer`](qiskit.algorithms.optimizers.Optimizer "qiskit.algorithms.optimizers.optimizer.Optimizer") diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.AQGD.md b/docs/api/qiskit/qiskit.algorithms.optimizers.AQGD.md index 4b84548e1c..4ddcac2f04 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.AQGD.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.AQGD.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.optimizers.AQGD -`qiskit.algorithms.optimizers.AQGD(maxiter=1000, eta=1.0, tol=1e-06, momentum=0.25, param_tol=1e-06, averaging=10)` +`qiskit.algorithms.optimizers.AQGD(maxiter=1000, eta=1.0, tol=1e-06, momentum=0.25, param_tol=1e-06, averaging=10)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/aqgd.py "view source code") Bases: [`Optimizer`](qiskit.algorithms.optimizers.Optimizer "qiskit.algorithms.optimizers.optimizer.Optimizer") diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.AskData.md b/docs/api/qiskit/qiskit.algorithms.optimizers.AskData.md index 9159d2866c..0f77b251d9 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.AskData.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.AskData.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.optimizers.AskData -`qiskit.algorithms.optimizers.AskData(x_fun=None, x_jac=None)` +`qiskit.algorithms.optimizers.AskData(x_fun=None, x_jac=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/steppable_optimizer.py "view source code") Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.BOBYQA.md b/docs/api/qiskit/qiskit.algorithms.optimizers.BOBYQA.md index 82777ce659..361a483071 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.BOBYQA.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.BOBYQA.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.optimizers.BOBYQA -`qiskit.algorithms.optimizers.BOBYQA(maxiter=1000)` +`qiskit.algorithms.optimizers.BOBYQA(maxiter=1000)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/bobyqa.py "view source code") Bases: [`Optimizer`](qiskit.algorithms.optimizers.Optimizer "qiskit.algorithms.optimizers.optimizer.Optimizer") diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.CG.md b/docs/api/qiskit/qiskit.algorithms.optimizers.CG.md index 2678059c48..db426a5c85 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.CG.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.CG.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.optimizers.CG -`qiskit.algorithms.optimizers.CG(maxiter=20, disp=False, gtol=1e-05, tol=None, eps=1.4901161193847656e-08, options=None, max_evals_grouped=1, **kwargs)` +`qiskit.algorithms.optimizers.CG(maxiter=20, disp=False, gtol=1e-05, tol=None, eps=1.4901161193847656e-08, options=None, max_evals_grouped=1, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/cg.py "view source code") Bases: [`SciPyOptimizer`](qiskit.algorithms.optimizers.SciPyOptimizer "qiskit.algorithms.optimizers.scipy_optimizer.SciPyOptimizer") diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.COBYLA.md b/docs/api/qiskit/qiskit.algorithms.optimizers.COBYLA.md index 72047f9f1f..7543d839cc 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.COBYLA.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.COBYLA.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.optimizers.COBYLA -`qiskit.algorithms.optimizers.COBYLA(maxiter=1000, disp=False, rhobeg=1.0, tol=None, options=None, **kwargs)` +`qiskit.algorithms.optimizers.COBYLA(maxiter=1000, disp=False, rhobeg=1.0, tol=None, options=None, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/cobyla.py "view source code") Bases: [`SciPyOptimizer`](qiskit.algorithms.optimizers.SciPyOptimizer "qiskit.algorithms.optimizers.scipy_optimizer.SciPyOptimizer") diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.CRS.md b/docs/api/qiskit/qiskit.algorithms.optimizers.CRS.md index cb50ee5766..bf00d89e72 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.CRS.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.CRS.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.optimizers.CRS -`qiskit.algorithms.optimizers.CRS(max_evals=1000)` +`qiskit.algorithms.optimizers.CRS(max_evals=1000)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/nlopts/crs.py "view source code") Bases: `NLoptOptimizer` diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.DIRECT_L.md b/docs/api/qiskit/qiskit.algorithms.optimizers.DIRECT_L.md index 289cc80b6e..b05d7706b7 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.DIRECT_L.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.DIRECT_L.md @@ -12,7 +12,7 @@ python_api_name: qiskit.algorithms.optimizers.DIRECT_L -`qiskit.algorithms.optimizers.DIRECT_L(max_evals=1000)` +`qiskit.algorithms.optimizers.DIRECT_L(max_evals=1000)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/nlopts/direct_l.py "view source code") Bases: `NLoptOptimizer` diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.DIRECT_L_RAND.md b/docs/api/qiskit/qiskit.algorithms.optimizers.DIRECT_L_RAND.md index 3b3f8d0398..749c06808a 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.DIRECT_L_RAND.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.DIRECT_L_RAND.md @@ -12,7 +12,7 @@ python_api_name: qiskit.algorithms.optimizers.DIRECT_L_RAND -`qiskit.algorithms.optimizers.DIRECT_L_RAND(max_evals=1000)` +`qiskit.algorithms.optimizers.DIRECT_L_RAND(max_evals=1000)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/nlopts/direct_l_rand.py "view source code") Bases: `NLoptOptimizer` diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.ESCH.md b/docs/api/qiskit/qiskit.algorithms.optimizers.ESCH.md index 7d3d4d21de..4829502d2b 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.ESCH.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.ESCH.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.optimizers.ESCH -`qiskit.algorithms.optimizers.ESCH(max_evals=1000)` +`qiskit.algorithms.optimizers.ESCH(max_evals=1000)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/nlopts/esch.py "view source code") Bases: `NLoptOptimizer` diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.GSLS.md b/docs/api/qiskit/qiskit.algorithms.optimizers.GSLS.md index 1fa9eb982f..b0bd87a923 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.GSLS.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.GSLS.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.optimizers.GSLS -`qiskit.algorithms.optimizers.GSLS(maxiter=10000, max_eval=10000, disp=False, sampling_radius=1e-06, sample_size_factor=1, initial_step_size=0.01, min_step_size=1e-10, step_size_multiplier=0.4, armijo_parameter=0.1, min_gradient_norm=1e-08, max_failed_rejection_sampling=50)` +`qiskit.algorithms.optimizers.GSLS(maxiter=10000, max_eval=10000, disp=False, sampling_radius=1e-06, sample_size_factor=1, initial_step_size=0.01, min_step_size=1e-10, step_size_multiplier=0.4, armijo_parameter=0.1, min_gradient_norm=1e-08, max_failed_rejection_sampling=50)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/gsls.py "view source code") Bases: [`Optimizer`](qiskit.algorithms.optimizers.Optimizer "qiskit.algorithms.optimizers.optimizer.Optimizer") diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.GradientDescent.md b/docs/api/qiskit/qiskit.algorithms.optimizers.GradientDescent.md index 9cb30b7197..502cce4a33 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.GradientDescent.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.GradientDescent.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.optimizers.GradientDescent -`qiskit.algorithms.optimizers.GradientDescent(maxiter=100, learning_rate=0.01, tol=1e-07, callback=None, perturbation=None)` +`qiskit.algorithms.optimizers.GradientDescent(maxiter=100, learning_rate=0.01, tol=1e-07, callback=None, perturbation=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/gradient_descent.py "view source code") Bases: [`SteppableOptimizer`](qiskit.algorithms.optimizers.SteppableOptimizer "qiskit.algorithms.optimizers.steppable_optimizer.SteppableOptimizer") diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.GradientDescentState.md b/docs/api/qiskit/qiskit.algorithms.optimizers.GradientDescentState.md index 3612b26279..ae38ffb588 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.GradientDescentState.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.GradientDescentState.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.optimizers.GradientDescentState -`qiskit.algorithms.optimizers.GradientDescentState(x, fun, jac, nfev, njev, nit, stepsize, learning_rate)` +`qiskit.algorithms.optimizers.GradientDescentState(x, fun, jac, nfev, njev, nit, stepsize, learning_rate)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/gradient_descent.py "view source code") Bases: [`OptimizerState`](qiskit.algorithms.optimizers.OptimizerState "qiskit.algorithms.optimizers.steppable_optimizer.OptimizerState") diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.IMFIL.md b/docs/api/qiskit/qiskit.algorithms.optimizers.IMFIL.md index de9a05520e..310b791c2b 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.IMFIL.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.IMFIL.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.optimizers.IMFIL -`qiskit.algorithms.optimizers.IMFIL(maxiter=1000)` +`qiskit.algorithms.optimizers.IMFIL(maxiter=1000)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/imfil.py "view source code") Bases: [`Optimizer`](qiskit.algorithms.optimizers.Optimizer "qiskit.algorithms.optimizers.optimizer.Optimizer") diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.ISRES.md b/docs/api/qiskit/qiskit.algorithms.optimizers.ISRES.md index 0cb46d2a9e..ff87982268 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.ISRES.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.ISRES.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.optimizers.ISRES -`qiskit.algorithms.optimizers.ISRES(max_evals=1000)` +`qiskit.algorithms.optimizers.ISRES(max_evals=1000)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/nlopts/isres.py "view source code") Bases: `NLoptOptimizer` diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.L_BFGS_B.md b/docs/api/qiskit/qiskit.algorithms.optimizers.L_BFGS_B.md index da225fe148..10eae8f72c 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.L_BFGS_B.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.L_BFGS_B.md @@ -12,7 +12,7 @@ python_api_name: qiskit.algorithms.optimizers.L_BFGS_B -`qiskit.algorithms.optimizers.L_BFGS_B(maxfun=15000, maxiter=15000, ftol=2.220446049250313e-15, iprint=-1, eps=1e-08, options=None, max_evals_grouped=1, **kwargs)` +`qiskit.algorithms.optimizers.L_BFGS_B(maxfun=15000, maxiter=15000, ftol=2.220446049250313e-15, iprint=-1, eps=1e-08, options=None, max_evals_grouped=1, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/l_bfgs_b.py "view source code") Bases: [`SciPyOptimizer`](qiskit.algorithms.optimizers.SciPyOptimizer "qiskit.algorithms.optimizers.scipy_optimizer.SciPyOptimizer") diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.Minimizer.md b/docs/api/qiskit/qiskit.algorithms.optimizers.Minimizer.md index 26c58cf939..e406ed20fb 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.Minimizer.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.Minimizer.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.optimizers.Minimizer -`qiskit.algorithms.optimizers.Minimizer(*args, **kwargs)` +`qiskit.algorithms.optimizers.Minimizer(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/optimizer.py "view source code") Bases: [`Protocol`](https://docs.python.org/3/library/typing.html#typing.Protocol "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.NELDER_MEAD.md b/docs/api/qiskit/qiskit.algorithms.optimizers.NELDER_MEAD.md index f76494cc85..555829e93f 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.NELDER_MEAD.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.NELDER_MEAD.md @@ -12,7 +12,7 @@ python_api_name: qiskit.algorithms.optimizers.NELDER_MEAD -`qiskit.algorithms.optimizers.NELDER_MEAD(maxiter=None, maxfev=1000, disp=False, xatol=0.0001, tol=None, adaptive=False, options=None, **kwargs)` +`qiskit.algorithms.optimizers.NELDER_MEAD(maxiter=None, maxfev=1000, disp=False, xatol=0.0001, tol=None, adaptive=False, options=None, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/nelder_mead.py "view source code") Bases: [`SciPyOptimizer`](qiskit.algorithms.optimizers.SciPyOptimizer "qiskit.algorithms.optimizers.scipy_optimizer.SciPyOptimizer") diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.NFT.md b/docs/api/qiskit/qiskit.algorithms.optimizers.NFT.md index 647910b9c3..37c649e1ca 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.NFT.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.NFT.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.optimizers.NFT -`qiskit.algorithms.optimizers.NFT(maxiter=None, maxfev=1024, disp=False, reset_interval=32, options=None, **kwargs)` +`qiskit.algorithms.optimizers.NFT(maxiter=None, maxfev=1024, disp=False, reset_interval=32, options=None, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/nft.py "view source code") Bases: [`SciPyOptimizer`](qiskit.algorithms.optimizers.SciPyOptimizer "qiskit.algorithms.optimizers.scipy_optimizer.SciPyOptimizer") diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.Optimizer.md b/docs/api/qiskit/qiskit.algorithms.optimizers.Optimizer.md index 6205ca5759..5581ae7988 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.Optimizer.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.Optimizer.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.optimizers.Optimizer -`qiskit.algorithms.optimizers.Optimizer` +`qiskit.algorithms.optimizers.Optimizer`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/optimizer.py "view source code") Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.OptimizerResult.md b/docs/api/qiskit/qiskit.algorithms.optimizers.OptimizerResult.md index 79f58c21e9..392b99e21a 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.OptimizerResult.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.OptimizerResult.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.optimizers.OptimizerResult -`qiskit.algorithms.optimizers.OptimizerResult` +`qiskit.algorithms.optimizers.OptimizerResult`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/optimizer.py "view source code") Bases: `AlgorithmResult` diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.OptimizerState.md b/docs/api/qiskit/qiskit.algorithms.optimizers.OptimizerState.md index 7980bfd3bd..67dd4e9dd9 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.OptimizerState.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.OptimizerState.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.optimizers.OptimizerState -`qiskit.algorithms.optimizers.OptimizerState(x, fun, jac, nfev, njev, nit)` +`qiskit.algorithms.optimizers.OptimizerState(x, fun, jac, nfev, njev, nit)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/steppable_optimizer.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.OptimizerSupportLevel.md b/docs/api/qiskit/qiskit.algorithms.optimizers.OptimizerSupportLevel.md index cb3e156d90..ec8cef4aa8 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.OptimizerSupportLevel.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.OptimizerSupportLevel.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.optimizers.OptimizerSupportLevel -`qiskit.algorithms.optimizers.OptimizerSupportLevel(value)` +`qiskit.algorithms.optimizers.OptimizerSupportLevel(value)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/optimizer.py "view source code") Bases: [`IntEnum`](https://docs.python.org/3/library/enum.html#enum.IntEnum "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.POWELL.md b/docs/api/qiskit/qiskit.algorithms.optimizers.POWELL.md index 29b0a2fcce..98a326734b 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.POWELL.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.POWELL.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.optimizers.POWELL -`qiskit.algorithms.optimizers.POWELL(maxiter=None, maxfev=1000, disp=False, xtol=0.0001, tol=None, options=None, **kwargs)` +`qiskit.algorithms.optimizers.POWELL(maxiter=None, maxfev=1000, disp=False, xtol=0.0001, tol=None, options=None, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/powell.py "view source code") Bases: [`SciPyOptimizer`](qiskit.algorithms.optimizers.SciPyOptimizer "qiskit.algorithms.optimizers.scipy_optimizer.SciPyOptimizer") diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.P_BFGS.md b/docs/api/qiskit/qiskit.algorithms.optimizers.P_BFGS.md index e088eda068..0d0c6306e9 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.P_BFGS.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.P_BFGS.md @@ -12,7 +12,7 @@ python_api_name: qiskit.algorithms.optimizers.P_BFGS -`qiskit.algorithms.optimizers.P_BFGS(maxfun=1000, ftol=2.220446049250313e-15, iprint=-1, max_processes=None, options=None, max_evals_grouped=1, **kwargs)` +`qiskit.algorithms.optimizers.P_BFGS(maxfun=1000, ftol=2.220446049250313e-15, iprint=-1, max_processes=None, options=None, max_evals_grouped=1, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/p_bfgs.py "view source code") Bases: [`SciPyOptimizer`](qiskit.algorithms.optimizers.SciPyOptimizer "qiskit.algorithms.optimizers.scipy_optimizer.SciPyOptimizer") diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.QNSPSA.md b/docs/api/qiskit/qiskit.algorithms.optimizers.QNSPSA.md index a85c861455..9cc72e0717 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.QNSPSA.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.QNSPSA.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.optimizers.QNSPSA -`qiskit.algorithms.optimizers.QNSPSA(fidelity, maxiter=100, blocking=True, allowed_increase=None, learning_rate=None, perturbation=None, resamplings=1, perturbation_dims=None, regularization=None, hessian_delay=0, lse_solver=None, initial_hessian=None, callback=None, termination_checker=None)` +`qiskit.algorithms.optimizers.QNSPSA(fidelity, maxiter=100, blocking=True, allowed_increase=None, learning_rate=None, perturbation=None, resamplings=1, perturbation_dims=None, regularization=None, hessian_delay=0, lse_solver=None, initial_hessian=None, callback=None, termination_checker=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/qnspsa.py "view source code") Bases: [`SPSA`](qiskit.algorithms.optimizers.SPSA "qiskit.algorithms.optimizers.spsa.SPSA") diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.SLSQP.md b/docs/api/qiskit/qiskit.algorithms.optimizers.SLSQP.md index 79761429a0..3cbe1d75c6 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.SLSQP.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.SLSQP.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.optimizers.SLSQP -`qiskit.algorithms.optimizers.SLSQP(maxiter=100, disp=False, ftol=1e-06, tol=None, eps=1.4901161193847656e-08, options=None, max_evals_grouped=1, **kwargs)` +`qiskit.algorithms.optimizers.SLSQP(maxiter=100, disp=False, ftol=1e-06, tol=None, eps=1.4901161193847656e-08, options=None, max_evals_grouped=1, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/slsqp.py "view source code") Bases: [`SciPyOptimizer`](qiskit.algorithms.optimizers.SciPyOptimizer "qiskit.algorithms.optimizers.scipy_optimizer.SciPyOptimizer") diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.SNOBFIT.md b/docs/api/qiskit/qiskit.algorithms.optimizers.SNOBFIT.md index 6f77265709..8f3f4d3d0d 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.SNOBFIT.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.SNOBFIT.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.optimizers.SNOBFIT -`qiskit.algorithms.optimizers.SNOBFIT(maxiter=1000, maxfail=10, maxmp=None, verbose=False)` +`qiskit.algorithms.optimizers.SNOBFIT(maxiter=1000, maxfail=10, maxmp=None, verbose=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/snobfit.py "view source code") Bases: [`Optimizer`](qiskit.algorithms.optimizers.Optimizer "qiskit.algorithms.optimizers.optimizer.Optimizer") diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.SPSA.md b/docs/api/qiskit/qiskit.algorithms.optimizers.SPSA.md index 2f7729fb70..7ba6283d1c 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.SPSA.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.SPSA.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.optimizers.SPSA -`qiskit.algorithms.optimizers.SPSA(maxiter=100, blocking=False, allowed_increase=None, trust_region=False, learning_rate=None, perturbation=None, last_avg=1, resamplings=1, perturbation_dims=None, second_order=False, regularization=None, hessian_delay=0, lse_solver=None, initial_hessian=None, callback=None, termination_checker=None)` +`qiskit.algorithms.optimizers.SPSA(maxiter=100, blocking=False, allowed_increase=None, trust_region=False, learning_rate=None, perturbation=None, last_avg=1, resamplings=1, perturbation_dims=None, second_order=False, regularization=None, hessian_delay=0, lse_solver=None, initial_hessian=None, callback=None, termination_checker=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/spsa.py "view source code") Bases: [`Optimizer`](qiskit.algorithms.optimizers.Optimizer "qiskit.algorithms.optimizers.optimizer.Optimizer") diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.SciPyOptimizer.md b/docs/api/qiskit/qiskit.algorithms.optimizers.SciPyOptimizer.md index 2951c99109..04441979a3 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.SciPyOptimizer.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.SciPyOptimizer.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.optimizers.SciPyOptimizer -`qiskit.algorithms.optimizers.SciPyOptimizer(method, options=None, max_evals_grouped=1, **kwargs)` +`qiskit.algorithms.optimizers.SciPyOptimizer(method, options=None, max_evals_grouped=1, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/scipy_optimizer.py "view source code") Bases: [`Optimizer`](qiskit.algorithms.optimizers.Optimizer "qiskit.algorithms.optimizers.optimizer.Optimizer") diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.SteppableOptimizer.md b/docs/api/qiskit/qiskit.algorithms.optimizers.SteppableOptimizer.md index 94a9da8530..50e1381270 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.SteppableOptimizer.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.SteppableOptimizer.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.optimizers.SteppableOptimizer -`qiskit.algorithms.optimizers.SteppableOptimizer(maxiter=100)` +`qiskit.algorithms.optimizers.SteppableOptimizer(maxiter=100)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/steppable_optimizer.py "view source code") Bases: [`Optimizer`](qiskit.algorithms.optimizers.Optimizer "qiskit.algorithms.optimizers.optimizer.Optimizer") diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.TNC.md b/docs/api/qiskit/qiskit.algorithms.optimizers.TNC.md index c73e665eec..ceb54fd70d 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.TNC.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.TNC.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.optimizers.TNC -`qiskit.algorithms.optimizers.TNC(maxiter=100, disp=False, accuracy=0, ftol=-1, xtol=-1, gtol=-1, tol=None, eps=1e-08, options=None, max_evals_grouped=1, **kwargs)` +`qiskit.algorithms.optimizers.TNC(maxiter=100, disp=False, accuracy=0, ftol=-1, xtol=-1, gtol=-1, tol=None, eps=1e-08, options=None, max_evals_grouped=1, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/tnc.py "view source code") Bases: [`SciPyOptimizer`](qiskit.algorithms.optimizers.SciPyOptimizer "qiskit.algorithms.optimizers.scipy_optimizer.SciPyOptimizer") diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.TellData.md b/docs/api/qiskit/qiskit.algorithms.optimizers.TellData.md index 5b4bc376a7..e131b1ece7 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.TellData.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.TellData.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.optimizers.TellData -`qiskit.algorithms.optimizers.TellData(eval_fun=None, eval_jac=None)` +`qiskit.algorithms.optimizers.TellData(eval_fun=None, eval_jac=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/steppable_optimizer.py "view source code") Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.UMDA.md b/docs/api/qiskit/qiskit.algorithms.optimizers.UMDA.md index 700a8277d4..1342ee704f 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.UMDA.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.UMDA.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.optimizers.UMDA -`qiskit.algorithms.optimizers.UMDA(maxiter=100, size_gen=20, alpha=0.5, callback=None)` +`qiskit.algorithms.optimizers.UMDA(maxiter=100, size_gen=20, alpha=0.5, callback=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/umda.py "view source code") Bases: [`Optimizer`](qiskit.algorithms.optimizers.Optimizer "qiskit.algorithms.optimizers.optimizer.Optimizer") diff --git a/docs/api/qiskit/qiskit.algorithms.optimizers.optimizer_utils.LearningRate.md b/docs/api/qiskit/qiskit.algorithms.optimizers.optimizer_utils.LearningRate.md index 5a61723072..4f5a3260b6 100644 --- a/docs/api/qiskit/qiskit.algorithms.optimizers.optimizer_utils.LearningRate.md +++ b/docs/api/qiskit/qiskit.algorithms.optimizers.optimizer_utils.LearningRate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.optimizers.optimizer_utils.LearningRate -`qiskit.algorithms.optimizers.optimizer_utils.LearningRate(learning_rate)` +`qiskit.algorithms.optimizers.optimizer_utils.LearningRate(learning_rate)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/optimizers/optimizer_utils/learning_rate.py "view source code") Bases: [`Generator`](https://docs.python.org/3/library/collections.abc.html#collections.abc.Generator "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.state_fidelities.BaseStateFidelity.md b/docs/api/qiskit/qiskit.algorithms.state_fidelities.BaseStateFidelity.md index ab5a70462f..c42c31301b 100644 --- a/docs/api/qiskit/qiskit.algorithms.state_fidelities.BaseStateFidelity.md +++ b/docs/api/qiskit/qiskit.algorithms.state_fidelities.BaseStateFidelity.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.state_fidelities.BaseStateFidelity -`qiskit.algorithms.state_fidelities.BaseStateFidelity` +`qiskit.algorithms.state_fidelities.BaseStateFidelity`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/state_fidelities/base_state_fidelity.py "view source code") Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.state_fidelities.ComputeUncompute.md b/docs/api/qiskit/qiskit.algorithms.state_fidelities.ComputeUncompute.md index 6ee6e2d73a..e7a031cd07 100644 --- a/docs/api/qiskit/qiskit.algorithms.state_fidelities.ComputeUncompute.md +++ b/docs/api/qiskit/qiskit.algorithms.state_fidelities.ComputeUncompute.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.state_fidelities.ComputeUncompute -`qiskit.algorithms.state_fidelities.ComputeUncompute(sampler, options=None, local=False)` +`qiskit.algorithms.state_fidelities.ComputeUncompute(sampler, options=None, local=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/state_fidelities/compute_uncompute.py "view source code") Bases: [`BaseStateFidelity`](qiskit.algorithms.state_fidelities.BaseStateFidelity "qiskit.algorithms.state_fidelities.base_state_fidelity.BaseStateFidelity") diff --git a/docs/api/qiskit/qiskit.algorithms.state_fidelities.StateFidelityResult.md b/docs/api/qiskit/qiskit.algorithms.state_fidelities.StateFidelityResult.md index 103ed96406..bfd66bbeb5 100644 --- a/docs/api/qiskit/qiskit.algorithms.state_fidelities.StateFidelityResult.md +++ b/docs/api/qiskit/qiskit.algorithms.state_fidelities.StateFidelityResult.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.state_fidelities.StateFidelityResult -`qiskit.algorithms.state_fidelities.StateFidelityResult(fidelities, raw_fidelities, metadata, options)` +`qiskit.algorithms.state_fidelities.StateFidelityResult(fidelities, raw_fidelities, metadata, options)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/state_fidelities/state_fidelity_result.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.state_fidelities.md b/docs/api/qiskit/qiskit.algorithms.state_fidelities.md index 65cb0d99c2..5479b77e6f 100644 --- a/docs/api/qiskit/qiskit.algorithms.state_fidelities.md +++ b/docs/api/qiskit/qiskit.algorithms.state_fidelities.md @@ -25,11 +25,11 @@ python_api_name: qiskit.algorithms.state_fidelities | | | | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [`BaseStateFidelity`](qiskit.algorithms.state_fidelities.BaseStateFidelity "qiskit.algorithms.state_fidelities.BaseStateFidelity")() | An interface to calculate state fidelities (state overlaps) for pairs of (parametrized) quantum circuits. | -| [`ComputeUncompute`](qiskit.algorithms.state_fidelities.ComputeUncompute "qiskit.algorithms.state_fidelities.ComputeUncompute")(sampler\[, options, local]) | This class leverages the sampler primitive to calculate the state fidelity of two quantum circuits following the compute-uncompute method (see \[1] for further reference). | +| [`ComputeUncompute`](qiskit.algorithms.state_fidelities.ComputeUncompute "qiskit.algorithms.state_fidelities.ComputeUncompute")(sampler\[, options, local]) | This class leverages the sampler primitive to calculate the state fidelity of two quantum circuits following the compute-uncompute method (see \[1] for further reference). | ### Results > | | | > | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- | -> | [`StateFidelityResult`](qiskit.algorithms.state_fidelities.StateFidelityResult "qiskit.algorithms.state_fidelities.StateFidelityResult")(fidelities, ...) | This class stores the result of StateFidelity computations. | +> | [`StateFidelityResult`](qiskit.algorithms.state_fidelities.StateFidelityResult "qiskit.algorithms.state_fidelities.StateFidelityResult")(fidelities, ...) | This class stores the result of StateFidelity computations. | diff --git a/docs/api/qiskit/qiskit.algorithms.time_evolvers.trotterization.TrotterQRTE.md b/docs/api/qiskit/qiskit.algorithms.time_evolvers.trotterization.TrotterQRTE.md index 440cd8ecba..e952a4c720 100644 --- a/docs/api/qiskit/qiskit.algorithms.time_evolvers.trotterization.TrotterQRTE.md +++ b/docs/api/qiskit/qiskit.algorithms.time_evolvers.trotterization.TrotterQRTE.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.time_evolvers.trotterization.TrotterQRTE -`qiskit.algorithms.time_evolvers.trotterization.TrotterQRTE(product_formula=None, estimator=None, num_timesteps=1)` +`qiskit.algorithms.time_evolvers.trotterization.TrotterQRTE(product_formula=None, estimator=None, num_timesteps=1)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/time_evolvers/trotterization/trotter_qrte.py "view source code") Bases: [`RealTimeEvolver`](qiskit.algorithms.RealTimeEvolver "qiskit.algorithms.time_evolvers.real_time_evolver.RealTimeEvolver") diff --git a/docs/api/qiskit/qiskit.algorithms.time_evolvers.variational.ForwardEulerSolver.md b/docs/api/qiskit/qiskit.algorithms.time_evolvers.variational.ForwardEulerSolver.md index 5b2b370d96..ee27e90431 100644 --- a/docs/api/qiskit/qiskit.algorithms.time_evolvers.variational.ForwardEulerSolver.md +++ b/docs/api/qiskit/qiskit.algorithms.time_evolvers.variational.ForwardEulerSolver.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.time_evolvers.variational.ForwardEulerSolver -`qiskit.algorithms.time_evolvers.variational.ForwardEulerSolver(function, t0, y0, t_bound, vectorized=False, support_complex=False, num_t_steps=15)` +`qiskit.algorithms.time_evolvers.variational.ForwardEulerSolver(function, t0, y0, t_bound, vectorized=False, support_complex=False, num_t_steps=15)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/time_evolvers/variational/solvers/ode/forward_euler_solver.py "view source code") Bases: `OdeSolver` diff --git a/docs/api/qiskit/qiskit.algorithms.time_evolvers.variational.ImaginaryMcLachlanPrinciple.md b/docs/api/qiskit/qiskit.algorithms.time_evolvers.variational.ImaginaryMcLachlanPrinciple.md index 45c58df9db..7319880a54 100644 --- a/docs/api/qiskit/qiskit.algorithms.time_evolvers.variational.ImaginaryMcLachlanPrinciple.md +++ b/docs/api/qiskit/qiskit.algorithms.time_evolvers.variational.ImaginaryMcLachlanPrinciple.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.time_evolvers.variational.ImaginaryMcLachlanP -`qiskit.algorithms.time_evolvers.variational.ImaginaryMcLachlanPrinciple(qgt=None, gradient=None)` +`qiskit.algorithms.time_evolvers.variational.ImaginaryMcLachlanPrinciple(qgt=None, gradient=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/time_evolvers/variational/variational_principles/imaginary_mc_lachlan_principle.py "view source code") Bases: [`ImaginaryVariationalPrinciple`](qiskit.algorithms.time_evolvers.variational.ImaginaryVariationalPrinciple "qiskit.algorithms.time_evolvers.variational.variational_principles.imaginary_variational_principle.ImaginaryVariationalPrinciple") diff --git a/docs/api/qiskit/qiskit.algorithms.time_evolvers.variational.ImaginaryVariationalPrinciple.md b/docs/api/qiskit/qiskit.algorithms.time_evolvers.variational.ImaginaryVariationalPrinciple.md index 54aa418ff0..6fafef56ce 100644 --- a/docs/api/qiskit/qiskit.algorithms.time_evolvers.variational.ImaginaryVariationalPrinciple.md +++ b/docs/api/qiskit/qiskit.algorithms.time_evolvers.variational.ImaginaryVariationalPrinciple.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.time_evolvers.variational.ImaginaryVariationa -`qiskit.algorithms.time_evolvers.variational.ImaginaryVariationalPrinciple(qgt, gradient)` +`qiskit.algorithms.time_evolvers.variational.ImaginaryVariationalPrinciple(qgt, gradient)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/time_evolvers/variational/variational_principles/imaginary_variational_principle.py "view source code") Bases: [`VariationalPrinciple`](qiskit.algorithms.time_evolvers.variational.VariationalPrinciple "qiskit.algorithms.time_evolvers.variational.variational_principles.variational_principle.VariationalPrinciple"), [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.time_evolvers.variational.RealMcLachlanPrinciple.md b/docs/api/qiskit/qiskit.algorithms.time_evolvers.variational.RealMcLachlanPrinciple.md index f80ff0b157..b1c287fe94 100644 --- a/docs/api/qiskit/qiskit.algorithms.time_evolvers.variational.RealMcLachlanPrinciple.md +++ b/docs/api/qiskit/qiskit.algorithms.time_evolvers.variational.RealMcLachlanPrinciple.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.time_evolvers.variational.RealMcLachlanPrinci -`qiskit.algorithms.time_evolvers.variational.RealMcLachlanPrinciple(qgt=None, gradient=None)` +`qiskit.algorithms.time_evolvers.variational.RealMcLachlanPrinciple(qgt=None, gradient=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/time_evolvers/variational/variational_principles/real_mc_lachlan_principle.py "view source code") Bases: [`RealVariationalPrinciple`](qiskit.algorithms.time_evolvers.variational.RealVariationalPrinciple "qiskit.algorithms.time_evolvers.variational.variational_principles.real_variational_principle.RealVariationalPrinciple") diff --git a/docs/api/qiskit/qiskit.algorithms.time_evolvers.variational.RealVariationalPrinciple.md b/docs/api/qiskit/qiskit.algorithms.time_evolvers.variational.RealVariationalPrinciple.md index cf9f2e23e2..78006e6670 100644 --- a/docs/api/qiskit/qiskit.algorithms.time_evolvers.variational.RealVariationalPrinciple.md +++ b/docs/api/qiskit/qiskit.algorithms.time_evolvers.variational.RealVariationalPrinciple.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.time_evolvers.variational.RealVariationalPrin -`qiskit.algorithms.time_evolvers.variational.RealVariationalPrinciple(qgt, gradient)` +`qiskit.algorithms.time_evolvers.variational.RealVariationalPrinciple(qgt, gradient)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/time_evolvers/variational/variational_principles/real_variational_principle.py "view source code") Bases: [`VariationalPrinciple`](qiskit.algorithms.time_evolvers.variational.VariationalPrinciple "qiskit.algorithms.time_evolvers.variational.variational_principles.variational_principle.VariationalPrinciple"), [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.time_evolvers.variational.VariationalPrinciple.md b/docs/api/qiskit/qiskit.algorithms.time_evolvers.variational.VariationalPrinciple.md index 78c8e6e315..60928096a0 100644 --- a/docs/api/qiskit/qiskit.algorithms.time_evolvers.variational.VariationalPrinciple.md +++ b/docs/api/qiskit/qiskit.algorithms.time_evolvers.variational.VariationalPrinciple.md @@ -10,7 +10,7 @@ python_api_name: qiskit.algorithms.time_evolvers.variational.VariationalPrincipl -`qiskit.algorithms.time_evolvers.variational.VariationalPrinciple(qgt, gradient)` +`qiskit.algorithms.time_evolvers.variational.VariationalPrinciple(qgt, gradient)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/time_evolvers/variational/variational_principles/variational_principle.py "view source code") Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.algorithms.time_evolvers.variational.md b/docs/api/qiskit/qiskit.algorithms.time_evolvers.variational.md index 370042ffce..2e731126c1 100644 --- a/docs/api/qiskit/qiskit.algorithms.time_evolvers.variational.md +++ b/docs/api/qiskit/qiskit.algorithms.time_evolvers.variational.md @@ -62,11 +62,11 @@ They can be divided into two categories: Variational Quantum \_Real\_ Time Evolu | | | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | -| [`VariationalPrinciple`](qiskit.algorithms.time_evolvers.variational.VariationalPrinciple "qiskit.algorithms.time_evolvers.variational.VariationalPrinciple")(qgt, gradient) | A Variational Principle class. | -| [`RealVariationalPrinciple`](qiskit.algorithms.time_evolvers.variational.RealVariationalPrinciple "qiskit.algorithms.time_evolvers.variational.RealVariationalPrinciple")(qgt, gradient) | Class for a Real Variational Principle. | -| [`ImaginaryVariationalPrinciple`](qiskit.algorithms.time_evolvers.variational.ImaginaryVariationalPrinciple "qiskit.algorithms.time_evolvers.variational.ImaginaryVariationalPrinciple")(qgt, gradient) | Abstract class for an Imaginary Variational Principle. | -| [`RealMcLachlanPrinciple`](qiskit.algorithms.time_evolvers.variational.RealMcLachlanPrinciple "qiskit.algorithms.time_evolvers.variational.RealMcLachlanPrinciple")(\[qgt, gradient]) | Class for a Real McLachlan's Variational Principle. | -| [`ImaginaryMcLachlanPrinciple`](qiskit.algorithms.time_evolvers.variational.ImaginaryMcLachlanPrinciple "qiskit.algorithms.time_evolvers.variational.ImaginaryMcLachlanPrinciple")(\[qgt, gradient]) | Class for an Imaginary McLachlan's Variational Principle. | +| [`VariationalPrinciple`](qiskit.algorithms.time_evolvers.variational.VariationalPrinciple "qiskit.algorithms.time_evolvers.variational.VariationalPrinciple")(qgt, gradient) | A Variational Principle class. | +| [`RealVariationalPrinciple`](qiskit.algorithms.time_evolvers.variational.RealVariationalPrinciple "qiskit.algorithms.time_evolvers.variational.RealVariationalPrinciple")(qgt, gradient) | Class for a Real Variational Principle. | +| [`ImaginaryVariationalPrinciple`](qiskit.algorithms.time_evolvers.variational.ImaginaryVariationalPrinciple "qiskit.algorithms.time_evolvers.variational.ImaginaryVariationalPrinciple")(qgt, gradient) | Abstract class for an Imaginary Variational Principle. | +| [`RealMcLachlanPrinciple`](qiskit.algorithms.time_evolvers.variational.RealMcLachlanPrinciple "qiskit.algorithms.time_evolvers.variational.RealMcLachlanPrinciple")(\[qgt, gradient]) | Class for a Real McLachlan's Variational Principle. | +| [`ImaginaryMcLachlanPrinciple`](qiskit.algorithms.time_evolvers.variational.ImaginaryMcLachlanPrinciple "qiskit.algorithms.time_evolvers.variational.ImaginaryMcLachlanPrinciple")(\[qgt, gradient]) | Class for an Imaginary McLachlan's Variational Principle. | ### ODE solvers @@ -74,5 +74,5 @@ ODE solvers that implement the SciPy ODE Solver interface. The Forward Euler Sol | | | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------- | -| [`ForwardEulerSolver`](qiskit.algorithms.time_evolvers.variational.ForwardEulerSolver "qiskit.algorithms.time_evolvers.variational.ForwardEulerSolver")(function, t0, y0, t\_bound) | Forward Euler ODE solver. | +| [`ForwardEulerSolver`](qiskit.algorithms.time_evolvers.variational.ForwardEulerSolver "qiskit.algorithms.time_evolvers.variational.ForwardEulerSolver")(function, t0, y0, t\_bound) | Forward Euler ODE solver. | diff --git a/docs/api/qiskit/qiskit.assembler.RunConfig.md b/docs/api/qiskit/qiskit.assembler.RunConfig.md index 5989d08ed3..1f028d663b 100644 --- a/docs/api/qiskit/qiskit.assembler.RunConfig.md +++ b/docs/api/qiskit/qiskit.assembler.RunConfig.md @@ -10,7 +10,7 @@ python_api_name: qiskit.assembler.RunConfig -`qiskit.assembler.RunConfig(shots=None, seed_simulator=None, memory=None, parameter_binds=None, **kwargs)` +`qiskit.assembler.RunConfig(shots=None, seed_simulator=None, memory=None, parameter_binds=None, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/assembler/run_config.py "view source code") Bases: [`SimpleNamespace`](https://docs.python.org/3/library/types.html#types.SimpleNamespace "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.circuit.AncillaQubit.md b/docs/api/qiskit/qiskit.circuit.AncillaQubit.md index 5841d4b918..a6314e2369 100644 --- a/docs/api/qiskit/qiskit.circuit.AncillaQubit.md +++ b/docs/api/qiskit/qiskit.circuit.AncillaQubit.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.AncillaQubit -`qiskit.circuit.AncillaQubit(register=None, index=None)` +`qiskit.circuit.AncillaQubit(register=None, index=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/quantumregister.py "view source code") Bases: [`Qubit`](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") diff --git a/docs/api/qiskit/qiskit.circuit.AncillaRegister.md b/docs/api/qiskit/qiskit.circuit.AncillaRegister.md index 5d102f2b4c..880158d874 100644 --- a/docs/api/qiskit/qiskit.circuit.AncillaRegister.md +++ b/docs/api/qiskit/qiskit.circuit.AncillaRegister.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.AncillaRegister -`qiskit.circuit.AncillaRegister(size=None, name=None, bits=None)` +`qiskit.circuit.AncillaRegister(size=None, name=None, bits=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/quantumregister.py "view source code") Bases: [`QuantumRegister`](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") diff --git a/docs/api/qiskit/qiskit.circuit.AnnotatedOperation.md b/docs/api/qiskit/qiskit.circuit.AnnotatedOperation.md index c87b44a5a8..357f3dbb6e 100644 --- a/docs/api/qiskit/qiskit.circuit.AnnotatedOperation.md +++ b/docs/api/qiskit/qiskit.circuit.AnnotatedOperation.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.AnnotatedOperation -`qiskit.circuit.AnnotatedOperation(base_op, modifiers)` +`qiskit.circuit.AnnotatedOperation(base_op, modifiers)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/annotated_operation.py "view source code") Bases: [`Operation`](qiskit.circuit.Operation "qiskit.circuit.operation.Operation") diff --git a/docs/api/qiskit/qiskit.circuit.Bit.md b/docs/api/qiskit/qiskit.circuit.Bit.md index fd78f1fca4..9f6d134d4c 100644 --- a/docs/api/qiskit/qiskit.circuit.Bit.md +++ b/docs/api/qiskit/qiskit.circuit.Bit.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.Bit -`qiskit.circuit.Bit(register=None, index=None)` +`qiskit.circuit.Bit(register=None, index=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/bit.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.circuit.BreakLoopOp.md b/docs/api/qiskit/qiskit.circuit.BreakLoopOp.md index dd508937f8..b98a871547 100644 --- a/docs/api/qiskit/qiskit.circuit.BreakLoopOp.md +++ b/docs/api/qiskit/qiskit.circuit.BreakLoopOp.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.BreakLoopOp -`qiskit.circuit.BreakLoopOp(num_qubits, num_clbits, label=None)` +`qiskit.circuit.BreakLoopOp(num_qubits, num_clbits, label=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/controlflow/break_loop.py "view source code") Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction") diff --git a/docs/api/qiskit/qiskit.circuit.CircuitInstruction.md b/docs/api/qiskit/qiskit.circuit.CircuitInstruction.md index aa984ad8f9..7162f0d359 100644 --- a/docs/api/qiskit/qiskit.circuit.CircuitInstruction.md +++ b/docs/api/qiskit/qiskit.circuit.CircuitInstruction.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.CircuitInstruction -`qiskit.circuit.CircuitInstruction(operation, qubits=(), clbits=())` +`qiskit.circuit.CircuitInstruction(operation, qubits=(), clbits=())`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/quantumcircuitdata.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.circuit.ClassicalRegister.md b/docs/api/qiskit/qiskit.circuit.ClassicalRegister.md index dd128dd164..5d967a4e0f 100644 --- a/docs/api/qiskit/qiskit.circuit.ClassicalRegister.md +++ b/docs/api/qiskit/qiskit.circuit.ClassicalRegister.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.ClassicalRegister -`qiskit.circuit.ClassicalRegister(size=None, name=None, bits=None)` +`qiskit.circuit.ClassicalRegister(size=None, name=None, bits=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classicalregister.py "view source code") Bases: [`Register`](qiskit.circuit.Register "qiskit.circuit.register.Register") diff --git a/docs/api/qiskit/qiskit.circuit.Clbit.md b/docs/api/qiskit/qiskit.circuit.Clbit.md index fa41bf963d..209625521d 100644 --- a/docs/api/qiskit/qiskit.circuit.Clbit.md +++ b/docs/api/qiskit/qiskit.circuit.Clbit.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.Clbit -`qiskit.circuit.Clbit(register=None, index=None)` +`qiskit.circuit.Clbit(register=None, index=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classicalregister.py "view source code") Bases: [`Bit`](qiskit.circuit.Bit "qiskit.circuit.bit.Bit") diff --git a/docs/api/qiskit/qiskit.circuit.CommutationChecker.md b/docs/api/qiskit/qiskit.circuit.CommutationChecker.md index c3afd73b1c..6b93a77738 100644 --- a/docs/api/qiskit/qiskit.circuit.CommutationChecker.md +++ b/docs/api/qiskit/qiskit.circuit.CommutationChecker.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.CommutationChecker -`qiskit.circuit.CommutationChecker` +`qiskit.circuit.CommutationChecker`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/commutation_checker.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.circuit.ContinueLoopOp.md b/docs/api/qiskit/qiskit.circuit.ContinueLoopOp.md index c7a9d8efb0..0eeedf7594 100644 --- a/docs/api/qiskit/qiskit.circuit.ContinueLoopOp.md +++ b/docs/api/qiskit/qiskit.circuit.ContinueLoopOp.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.ContinueLoopOp -`qiskit.circuit.ContinueLoopOp(num_qubits, num_clbits, label=None)` +`qiskit.circuit.ContinueLoopOp(num_qubits, num_clbits, label=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/controlflow/continue_loop.py "view source code") Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction") diff --git a/docs/api/qiskit/qiskit.circuit.ControlFlowOp.md b/docs/api/qiskit/qiskit.circuit.ControlFlowOp.md index 7b4f09dbec..a69fda2bc8 100644 --- a/docs/api/qiskit/qiskit.circuit.ControlFlowOp.md +++ b/docs/api/qiskit/qiskit.circuit.ControlFlowOp.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.ControlFlowOp -`qiskit.circuit.ControlFlowOp(name, num_qubits, num_clbits, params, duration=None, unit='dt', label=None)` +`qiskit.circuit.ControlFlowOp(name, num_qubits, num_clbits, params, duration=None, unit='dt', label=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/controlflow/control_flow.py "view source code") Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction"), [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.circuit.ControlModifier.md b/docs/api/qiskit/qiskit.circuit.ControlModifier.md index 7fdae42a32..94b34cf4a6 100644 --- a/docs/api/qiskit/qiskit.circuit.ControlModifier.md +++ b/docs/api/qiskit/qiskit.circuit.ControlModifier.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.ControlModifier -`qiskit.circuit.ControlModifier(num_ctrl_qubits=0, ctrl_state=None)` +`qiskit.circuit.ControlModifier(num_ctrl_qubits=0, ctrl_state=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/annotated_operation.py "view source code") Bases: `Modifier` diff --git a/docs/api/qiskit/qiskit.circuit.ControlledGate.md b/docs/api/qiskit/qiskit.circuit.ControlledGate.md index 14e754df83..00835a2e0b 100644 --- a/docs/api/qiskit/qiskit.circuit.ControlledGate.md +++ b/docs/api/qiskit/qiskit.circuit.ControlledGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.ControlledGate -`qiskit.circuit.ControlledGate(name, num_qubits, params, label=None, num_ctrl_qubits=1, definition=None, ctrl_state=None, base_gate=None, duration=None, unit=None, *, _base_label=None)` +`qiskit.circuit.ControlledGate(name, num_qubits, params, label=None, num_ctrl_qubits=1, definition=None, ctrl_state=None, base_gate=None, duration=None, unit=None, *, _base_label=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/controlledgate.py "view source code") Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") diff --git a/docs/api/qiskit/qiskit.circuit.Delay.md b/docs/api/qiskit/qiskit.circuit.Delay.md index 8a3de5070b..0e3a2be0a0 100644 --- a/docs/api/qiskit/qiskit.circuit.Delay.md +++ b/docs/api/qiskit/qiskit.circuit.Delay.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.Delay -`qiskit.circuit.Delay(duration, unit='dt')` +`qiskit.circuit.Delay(duration, unit='dt')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/delay.py "view source code") Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction") @@ -139,21 +139,55 @@ Assemble a QasmQobjInstruction `broadcast_arguments(qargs, cargs)` -Validation of the arguments. +Validation and handling of the arguments and its relationship. + +For example, `cx([q[0],q[1]], q[2])` means `cx(q[0], q[2]); cx(q[1], q[2])`. This method yields the arguments in the right grouping. In the given example: + +```python +in: [[q[0],q[1]], q[2]],[] +outs: [q[0], q[2]], [] + [q[1], q[2]], [] +``` + +The general broadcasting rules are: + +> * If len(qargs) == 1: +> +> ```python +> [q[0], q[1]] -> [q[0]],[q[1]] +> ``` +> +> * If len(qargs) == 2: +> +> ```python +> [[q[0], q[1]], [r[0], r[1]]] -> [q[0], r[0]], [q[1], r[1]] +> [[q[0]], [r[0], r[1]]] -> [q[0], r[0]], [q[0], r[1]] +> [[q[0], q[1]], [r[0]]] -> [q[0], r[0]], [q[1], r[0]] +> ``` +> +> * If len(qargs) >= 3: +> +> ```python +> [q[0], q[1]], [r[0], r[1]], ...] -> [q[0], r[0], ...], [q[1], r[1], ...] +> ``` **Parameters** -* **qargs** (*List*) – List of quantum bit arguments. -* **cargs** (*List*) – List of classical bit arguments. +* **qargs** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")) – List of quantum bit arguments. +* **cargs** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")) – List of classical bit arguments. -**Yields** +**Returns** -*Tuple(List, List)* – A tuple with single arguments. +A tuple with single arguments. **Raises** [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – If the input is not valid. For example, the number of arguments does not match the gate expectation. +**Return type** + +[*Iterable*](https://docs.python.org/3/library/typing.html#typing.Iterable "(in Python v3.12)")\[[tuple](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")\[[list](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)"), [list](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")]] + ### c\_if diff --git a/docs/api/qiskit/qiskit.circuit.EquivalenceLibrary.md b/docs/api/qiskit/qiskit.circuit.EquivalenceLibrary.md index 932d818dc3..237124e5bf 100644 --- a/docs/api/qiskit/qiskit.circuit.EquivalenceLibrary.md +++ b/docs/api/qiskit/qiskit.circuit.EquivalenceLibrary.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.EquivalenceLibrary -`qiskit.circuit.EquivalenceLibrary(*, base=None)` +`qiskit.circuit.EquivalenceLibrary(*, base=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/equivalence.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.circuit.ForLoopOp.md b/docs/api/qiskit/qiskit.circuit.ForLoopOp.md index c2e705388f..85f1e80aab 100644 --- a/docs/api/qiskit/qiskit.circuit.ForLoopOp.md +++ b/docs/api/qiskit/qiskit.circuit.ForLoopOp.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.ForLoopOp -`qiskit.circuit.ForLoopOp(indexset, loop_parameter, body, label=None)` +`qiskit.circuit.ForLoopOp(indexset, loop_parameter, body, label=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/controlflow/for_loop.py "view source code") Bases: [`ControlFlowOp`](qiskit.circuit.ControlFlowOp "qiskit.circuit.controlflow.control_flow.ControlFlowOp") diff --git a/docs/api/qiskit/qiskit.circuit.Gate.md b/docs/api/qiskit/qiskit.circuit.Gate.md index bb5aef1a3c..e3c3554d20 100644 --- a/docs/api/qiskit/qiskit.circuit.Gate.md +++ b/docs/api/qiskit/qiskit.circuit.Gate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.Gate -`qiskit.circuit.Gate(name, num_qubits, params, label=None, duration=None, unit='dt')` +`qiskit.circuit.Gate(name, num_qubits, params, label=None, duration=None, unit='dt')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/gate.py "view source code") Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction") diff --git a/docs/api/qiskit/qiskit.circuit.IfElseOp.md b/docs/api/qiskit/qiskit.circuit.IfElseOp.md index b58e15fabd..80d997f545 100644 --- a/docs/api/qiskit/qiskit.circuit.IfElseOp.md +++ b/docs/api/qiskit/qiskit.circuit.IfElseOp.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.IfElseOp -`qiskit.circuit.IfElseOp(condition, true_body, false_body=None, label=None)` +`qiskit.circuit.IfElseOp(condition, true_body, false_body=None, label=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/controlflow/if_else.py "view source code") Bases: [`ControlFlowOp`](qiskit.circuit.ControlFlowOp "qiskit.circuit.controlflow.control_flow.ControlFlowOp") diff --git a/docs/api/qiskit/qiskit.circuit.Instruction.md b/docs/api/qiskit/qiskit.circuit.Instruction.md index 70d5bef525..5c2bb38505 100644 --- a/docs/api/qiskit/qiskit.circuit.Instruction.md +++ b/docs/api/qiskit/qiskit.circuit.Instruction.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.Instruction -`qiskit.circuit.Instruction(name, num_qubits, num_clbits, params, duration=None, unit='dt', label=None)` +`qiskit.circuit.Instruction(name, num_qubits, num_clbits, params, duration=None, unit='dt', label=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/instruction.py "view source code") Bases: [`Operation`](qiskit.circuit.Operation "qiskit.circuit.operation.Operation") diff --git a/docs/api/qiskit/qiskit.circuit.InstructionSet.md b/docs/api/qiskit/qiskit.circuit.InstructionSet.md index 74eef62c19..b0a72add90 100644 --- a/docs/api/qiskit/qiskit.circuit.InstructionSet.md +++ b/docs/api/qiskit/qiskit.circuit.InstructionSet.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.InstructionSet -`qiskit.circuit.InstructionSet(*, resource_requester=None)` +`qiskit.circuit.InstructionSet(*, resource_requester=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/instructionset.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.circuit.InverseModifier.md b/docs/api/qiskit/qiskit.circuit.InverseModifier.md index 245f26b174..84b7b5700a 100644 --- a/docs/api/qiskit/qiskit.circuit.InverseModifier.md +++ b/docs/api/qiskit/qiskit.circuit.InverseModifier.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.InverseModifier -`qiskit.circuit.InverseModifier` +`qiskit.circuit.InverseModifier`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/annotated_operation.py "view source code") Bases: `Modifier` diff --git a/docs/api/qiskit/qiskit.circuit.Operation.md b/docs/api/qiskit/qiskit.circuit.Operation.md index fd05ac8c78..0c728d1153 100644 --- a/docs/api/qiskit/qiskit.circuit.Operation.md +++ b/docs/api/qiskit/qiskit.circuit.Operation.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.Operation -`qiskit.circuit.Operation` +`qiskit.circuit.Operation`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/operation.py "view source code") Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.circuit.Parameter.md b/docs/api/qiskit/qiskit.circuit.Parameter.md index 075181f393..bd6a980967 100644 --- a/docs/api/qiskit/qiskit.circuit.Parameter.md +++ b/docs/api/qiskit/qiskit.circuit.Parameter.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.Parameter -`qiskit.circuit.Parameter(name, *, uuid=None)` +`qiskit.circuit.Parameter(name, *, uuid=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/parameter.py "view source code") Bases: [`ParameterExpression`](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression") diff --git a/docs/api/qiskit/qiskit.circuit.ParameterExpression.md b/docs/api/qiskit/qiskit.circuit.ParameterExpression.md index d445b43b3d..5ae48d16a6 100644 --- a/docs/api/qiskit/qiskit.circuit.ParameterExpression.md +++ b/docs/api/qiskit/qiskit.circuit.ParameterExpression.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.ParameterExpression -`qiskit.circuit.ParameterExpression(symbol_map, expr)` +`qiskit.circuit.ParameterExpression(symbol_map, expr)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/parameterexpression.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.circuit.ParameterVector.md b/docs/api/qiskit/qiskit.circuit.ParameterVector.md index 5be192193d..520f093a3f 100644 --- a/docs/api/qiskit/qiskit.circuit.ParameterVector.md +++ b/docs/api/qiskit/qiskit.circuit.ParameterVector.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.ParameterVector -`qiskit.circuit.ParameterVector(name, length=0)` +`qiskit.circuit.ParameterVector(name, length=0)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/parametervector.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.circuit.PowerModifier.md b/docs/api/qiskit/qiskit.circuit.PowerModifier.md index 6d22f809d7..dbdcdbdbfa 100644 --- a/docs/api/qiskit/qiskit.circuit.PowerModifier.md +++ b/docs/api/qiskit/qiskit.circuit.PowerModifier.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.PowerModifier -`qiskit.circuit.PowerModifier(power)` +`qiskit.circuit.PowerModifier(power)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/annotated_operation.py "view source code") Bases: `Modifier` diff --git a/docs/api/qiskit/qiskit.circuit.QuantumCircuit.md b/docs/api/qiskit/qiskit.circuit.QuantumCircuit.md index 21d79dcccd..8f90cb7d2f 100644 --- a/docs/api/qiskit/qiskit.circuit.QuantumCircuit.md +++ b/docs/api/qiskit/qiskit.circuit.QuantumCircuit.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.QuantumCircuit -`qiskit.circuit.QuantumCircuit(*regs, name=None, global_phase=0, metadata=None)` +`qiskit.circuit.QuantumCircuit(*regs, name=None, global_phase=0, metadata=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/quantumcircuit.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") @@ -1324,7 +1324,7 @@ Draw the quantum circuit. Use the output parameter to choose the drawing format: * **idle\_wires** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – include idle wires (wires with no circuit elements) in output visualization. Default is True. * **with\_layout** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – include layout information, with labels on the physical layout. Default is True. * **fold** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – sets pagination. It can be disabled using -1. In text, sets the length of the lines. This is useful when the drawing does not fit in the console. If None (default), it will try to guess the console width using `shutil.get_terminal_size()`. However, if running in jupyter, the default line length is set to 80 characters. In mpl, it is the number of (visual) layers before folding. Default is 25. -* **ax** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.1)")) – Only used by the mpl backend. An optional Axes object to be used for the visualization output. If none is specified, a new matplotlib Figure will be created and used. Additionally, if specified there will be no returned Figure since it is redundant. +* **ax** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.2)")) – Only used by the mpl backend. An optional Axes object to be used for the visualization output. If none is specified, a new matplotlib Figure will be created and used. Additionally, if specified there will be no returned Figure since it is redundant. * **initial\_state** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – Optional. Adds `|0>` in the beginning of the wire. Default is False. * **cregbundle** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – Optional. If set True, bundle classical registers. Default is True, except for when `output` is set to `"text"`. * **wire\_order** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")) – Optional. A list of integers used to reorder the display of the bits. The list must have an entry for every bit with the bits in the range 0 to (`num_qubits` + `num_clbits`). @@ -3479,7 +3479,7 @@ A handle to the instructions created. Tensor `self` with `other`. -Remember that in the little-endian convention the leftmost operation will be at the bottom of the circuit. See also [the docs](qiskit.org/documentation/tutorials/circuits/3_summary_of_quantum_operations) for more information. +Remember that in the little-endian convention the leftmost operation will be at the bottom of the circuit. See also [the docs](https://docs.quantum-computing.ibm.com/build/circuit-construction) for more information. ```python ┌────────┐ ┌─────┐ ┌─────┐ diff --git a/docs/api/qiskit/qiskit.circuit.QuantumRegister.md b/docs/api/qiskit/qiskit.circuit.QuantumRegister.md index b729aaff0a..875090d876 100644 --- a/docs/api/qiskit/qiskit.circuit.QuantumRegister.md +++ b/docs/api/qiskit/qiskit.circuit.QuantumRegister.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.QuantumRegister -`qiskit.circuit.QuantumRegister(size=None, name=None, bits=None)` +`qiskit.circuit.QuantumRegister(size=None, name=None, bits=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/quantumregister.py "view source code") Bases: [`Register`](qiskit.circuit.Register "qiskit.circuit.register.Register") diff --git a/docs/api/qiskit/qiskit.circuit.Qubit.md b/docs/api/qiskit/qiskit.circuit.Qubit.md index b036093912..eb99c735f5 100644 --- a/docs/api/qiskit/qiskit.circuit.Qubit.md +++ b/docs/api/qiskit/qiskit.circuit.Qubit.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.Qubit -`qiskit.circuit.Qubit(register=None, index=None)` +`qiskit.circuit.Qubit(register=None, index=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/quantumregister.py "view source code") Bases: [`Bit`](qiskit.circuit.Bit "qiskit.circuit.bit.Bit") diff --git a/docs/api/qiskit/qiskit.circuit.Register.md b/docs/api/qiskit/qiskit.circuit.Register.md index 835c3f3049..1372468dc7 100644 --- a/docs/api/qiskit/qiskit.circuit.Register.md +++ b/docs/api/qiskit/qiskit.circuit.Register.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.Register -`qiskit.circuit.Register(size=None, name=None, bits=None)` +`qiskit.circuit.Register(size=None, name=None, bits=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/register.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.circuit.SwitchCaseOp.md b/docs/api/qiskit/qiskit.circuit.SwitchCaseOp.md index aaab18e90f..e3576de6fd 100644 --- a/docs/api/qiskit/qiskit.circuit.SwitchCaseOp.md +++ b/docs/api/qiskit/qiskit.circuit.SwitchCaseOp.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.SwitchCaseOp -`qiskit.circuit.SwitchCaseOp(target, cases, *, label=None)` +`qiskit.circuit.SwitchCaseOp(target, cases, *, label=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/controlflow/switch_case.py "view source code") Bases: [`ControlFlowOp`](qiskit.circuit.ControlFlowOp "qiskit.circuit.controlflow.control_flow.ControlFlowOp") diff --git a/docs/api/qiskit/qiskit.circuit.WhileLoopOp.md b/docs/api/qiskit/qiskit.circuit.WhileLoopOp.md index 4f3f031042..3421f93064 100644 --- a/docs/api/qiskit/qiskit.circuit.WhileLoopOp.md +++ b/docs/api/qiskit/qiskit.circuit.WhileLoopOp.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.WhileLoopOp -`qiskit.circuit.WhileLoopOp(condition, body, label=None)` +`qiskit.circuit.WhileLoopOp(condition, body, label=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/controlflow/while_loop.py "view source code") Bases: [`ControlFlowOp`](qiskit.circuit.ControlFlowOp "qiskit.circuit.controlflow.control_flow.ControlFlowOp") diff --git a/docs/api/qiskit/qiskit.circuit.classicalfunction.BooleanExpression.md b/docs/api/qiskit/qiskit.circuit.classicalfunction.BooleanExpression.md index 7bb6c5955b..608eee1ffc 100644 --- a/docs/api/qiskit/qiskit.circuit.classicalfunction.BooleanExpression.md +++ b/docs/api/qiskit/qiskit.circuit.classicalfunction.BooleanExpression.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression -`qiskit.circuit.classicalfunction.BooleanExpression(expression, name=None, var_order=None)` +`qiskit.circuit.classicalfunction.BooleanExpression(expression, name=None, var_order=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classicalfunction/boolean_expression.py "view source code") Bases: `ClassicalElement` diff --git a/docs/api/qiskit/qiskit.circuit.classicalfunction.ClassicalFunction.md b/docs/api/qiskit/qiskit.circuit.classicalfunction.ClassicalFunction.md index 358e250ca4..580a0dc563 100644 --- a/docs/api/qiskit/qiskit.circuit.classicalfunction.ClassicalFunction.md +++ b/docs/api/qiskit/qiskit.circuit.classicalfunction.ClassicalFunction.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction -`qiskit.circuit.classicalfunction.ClassicalFunction(source, name=None)` +`qiskit.circuit.classicalfunction.ClassicalFunction(source, name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classicalfunction/classicalfunction.py "view source code") Bases: `ClassicalElement` diff --git a/docs/api/qiskit/qiskit.circuit.classicalfunction.ClassicalFunctionCompilerTypeError.md b/docs/api/qiskit/qiskit.circuit.classicalfunction.ClassicalFunctionCompilerTypeError.md index 476cd861d5..7976aaf358 100644 --- a/docs/api/qiskit/qiskit.circuit.classicalfunction.ClassicalFunctionCompilerTypeError.md +++ b/docs/api/qiskit/qiskit.circuit.classicalfunction.ClassicalFunctionCompilerTypeError.md @@ -12,7 +12,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunctionCompilerTypeE -`qiskit.circuit.classicalfunction.ClassicalFunctionCompilerTypeError(*message)` +`qiskit.circuit.classicalfunction.ClassicalFunctionCompilerTypeError(*message)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classicalfunction/exceptions.py "view source code") ClassicalFunction compiler type error. The classicalfunction function fails at type checking time. diff --git a/docs/api/qiskit/qiskit.circuit.classicalfunction.ClassicalFunctionParseError.md b/docs/api/qiskit/qiskit.circuit.classicalfunction.ClassicalFunctionParseError.md index ffc58538f8..a608a715e0 100644 --- a/docs/api/qiskit/qiskit.circuit.classicalfunction.ClassicalFunctionParseError.md +++ b/docs/api/qiskit/qiskit.circuit.classicalfunction.ClassicalFunctionParseError.md @@ -12,7 +12,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunctionParseError -`qiskit.circuit.classicalfunction.ClassicalFunctionParseError(*message)` +`qiskit.circuit.classicalfunction.ClassicalFunctionParseError(*message)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/classicalfunction/exceptions.py "view source code") ClassicalFunction compiler parse error. The classicalfunction function fails at parsing time. diff --git a/docs/api/qiskit/qiskit.circuit.library.AND.md b/docs/api/qiskit/qiskit.circuit.library.AND.md index d1dbabf236..f7452f4800 100644 --- a/docs/api/qiskit/qiskit.circuit.library.AND.md +++ b/docs/api/qiskit/qiskit.circuit.library.AND.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.AND -`qiskit.circuit.library.AND(num_variable_qubits, flags=None, mcx_mode='noancilla')` +`qiskit.circuit.library.AND(num_variable_qubits, flags=None, mcx_mode='noancilla')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/boolean_logic/quantum_and.py "view source code") Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") @@ -92,7 +92,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 193` +`= 162` diff --git a/docs/api/qiskit/qiskit.circuit.library.Barrier.md b/docs/api/qiskit/qiskit.circuit.library.Barrier.md index b3a32f9c04..da292d986e 100644 --- a/docs/api/qiskit/qiskit.circuit.library.Barrier.md +++ b/docs/api/qiskit/qiskit.circuit.library.Barrier.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.Barrier -`qiskit.circuit.library.Barrier(num_qubits, label=None)` +`qiskit.circuit.library.Barrier(num_qubits, label=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/barrier.py "view source code") Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction") diff --git a/docs/api/qiskit/qiskit.circuit.library.C3SXGate.md b/docs/api/qiskit/qiskit.circuit.library.C3SXGate.md index 1dc701c6e0..653c328256 100644 --- a/docs/api/qiskit/qiskit.circuit.library.C3SXGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.C3SXGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.C3SXGate -`qiskit.circuit.library.C3SXGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.library.C3SXGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/x.py "view source code") Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") diff --git a/docs/api/qiskit/qiskit.circuit.library.C3XGate.md b/docs/api/qiskit/qiskit.circuit.library.C3XGate.md index 6140db0c2d..1603e258da 100644 --- a/docs/api/qiskit/qiskit.circuit.library.C3XGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.C3XGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.C3XGate -`qiskit.circuit.library.C3XGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.library.C3XGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/x.py "view source code") Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") diff --git a/docs/api/qiskit/qiskit.circuit.library.C4XGate.md b/docs/api/qiskit/qiskit.circuit.library.C4XGate.md index 12caf8e691..b33a91b53d 100644 --- a/docs/api/qiskit/qiskit.circuit.library.C4XGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.C4XGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.C4XGate -`qiskit.circuit.library.C4XGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.library.C4XGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/x.py "view source code") Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") diff --git a/docs/api/qiskit/qiskit.circuit.library.CCXGate.md b/docs/api/qiskit/qiskit.circuit.library.CCXGate.md index ba65008f44..005d4e7141 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CCXGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.CCXGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.CCXGate -`qiskit.circuit.library.CCXGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.library.CCXGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/x.py "view source code") Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") @@ -32,7 +32,7 @@ q_2: ┤ X ├ **Matrix representation:** $$ -\begin{split}CCX q_0, q_1, q_2 = +CCX q_0, q_1, q_2 = I \otimes I \otimes |0 \rangle \langle 0| + CX \otimes |1 \rangle \langle 1| = \begin{pmatrix} 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\ @@ -43,7 +43,7 @@ $$ 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0\\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 - \end{pmatrix}\end{split} + \end{pmatrix} $$ @@ -59,7 +59,7 @@ $$ ``` $$ - \begin{split}CCX\ q_2, q_1, q_0 = + CCX\ q_2, q_1, q_0 = |0 \rangle \langle 0| \otimes I \otimes I + |1 \rangle \langle 1| \otimes CX = \begin{pmatrix} 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\ @@ -70,7 +70,7 @@ $$ 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0\\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1\\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 - \end{pmatrix}\end{split} + \end{pmatrix} $$ diff --git a/docs/api/qiskit/qiskit.circuit.library.CCZGate.md b/docs/api/qiskit/qiskit.circuit.library.CCZGate.md index 90ae08557f..b66e079c98 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CCZGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.CCZGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.CCZGate -`qiskit.circuit.library.CCZGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.library.CCZGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/z.py "view source code") Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") @@ -33,7 +33,7 @@ q_2: ─■─ **Matrix representation:** $$ -\begin{split}CCZ\ q_0, q_1, q_2 = +CCZ\ q_0, q_1, q_2 = I \otimes I \otimes |0\rangle\langle 0| + CZ \otimes |1\rangle\langle 1| = \begin{pmatrix} 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ @@ -44,7 +44,7 @@ $$ 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 - \end{pmatrix}\end{split} + \end{pmatrix} $$ In the computational basis, this gate flips the phase of the target qubit if the control qubits are in the $|11\rangle$ state. diff --git a/docs/api/qiskit/qiskit.circuit.library.CDKMRippleCarryAdder.md b/docs/api/qiskit/qiskit.circuit.library.CDKMRippleCarryAdder.md index 5163554b99..e79837ca89 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CDKMRippleCarryAdder.md +++ b/docs/api/qiskit/qiskit.circuit.library.CDKMRippleCarryAdder.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.CDKMRippleCarryAdder -`qiskit.circuit.library.CDKMRippleCarryAdder(num_state_qubits, kind='full', name='CDKMRippleCarryAdder')` +`qiskit.circuit.library.CDKMRippleCarryAdder(num_state_qubits, kind='full', name='CDKMRippleCarryAdder')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/arithmetic/adders/cdkm_ripple_carry_adder.py "view source code") Bases: `Adder` @@ -138,7 +138,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 198` +`= 167` diff --git a/docs/api/qiskit/qiskit.circuit.library.CHGate.md b/docs/api/qiskit/qiskit.circuit.library.CHGate.md index f52462c2ae..3fced622d0 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CHGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.CHGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.CHGate -`qiskit.circuit.library.CHGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.library.CHGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/h.py "view source code") Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") @@ -32,14 +32,14 @@ q_1: ┤ H ├ **Matrix Representation:** $$ -\begin{split}CH\ q_0, q_1 = +CH\ q_0, q_1 = I \otimes |0\rangle\langle 0| + H \otimes |1\rangle\langle 1| = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & \frac{1}{\sqrt{2}} & 0 & \frac{1}{\sqrt{2}} \\ 0 & 0 & 1 & 0 \\ 0 & \frac{1}{\sqrt{2}} & 0 & -\frac{1}{\sqrt{2}} - \end{pmatrix}\end{split} + \end{pmatrix} $$ @@ -53,14 +53,14 @@ $$ ``` $$ - \begin{split}CH\ q_1, q_0 = + CH\ q_1, q_0 = |0\rangle\langle 0| \otimes I + |1\rangle\langle 1| \otimes H = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} \\ 0 & 0 & \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} - \end{pmatrix}\end{split} + \end{pmatrix} $$ diff --git a/docs/api/qiskit/qiskit.circuit.library.CPhaseGate.md b/docs/api/qiskit/qiskit.circuit.library.CPhaseGate.md index 76e9f6e0e0..01f6559dd4 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CPhaseGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.CPhaseGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.CPhaseGate -`qiskit.circuit.library.CPhaseGate(theta, label=None, ctrl_state=None, *, duration=None, unit='dt', _base_label=None)` +`qiskit.circuit.library.CPhaseGate(theta, label=None, ctrl_state=None, *, duration=None, unit='dt', _base_label=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/p.py "view source code") Bases: [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.controlledgate.ControlledGate") @@ -31,14 +31,14 @@ q_1: ─■── **Matrix representation:** $$ -\begin{split}CPhase = +CPhase = I \otimes |0\rangle\langle 0| + P \otimes |1\rangle\langle 1| = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & e^{i\lambda} - \end{pmatrix}\end{split} + \end{pmatrix} $$ diff --git a/docs/api/qiskit/qiskit.circuit.library.CRXGate.md b/docs/api/qiskit/qiskit.circuit.library.CRXGate.md index 4b42d8cf44..130afebbe2 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CRXGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.CRXGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.CRXGate -`qiskit.circuit.library.CRXGate(theta, label=None, ctrl_state=None, *, duration=None, unit='dt', _base_label=None)` +`qiskit.circuit.library.CRXGate(theta, label=None, ctrl_state=None, *, duration=None, unit='dt', _base_label=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/rx.py "view source code") Bases: [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.controlledgate.ControlledGate") @@ -30,14 +30,16 @@ q_1: ┤ Rx(ϴ) ├ **Matrix representation:** $$ - \begin{align}\begin{aligned}\newcommand{\th}{\frac{\theta}{2}}\\\begin{split}CRX(\theta)\ q_0, q_1 = +\newcommand{\rotationangle}{\frac{\theta}{2}} + +CRX(\theta)\ q_0, q_1 = I \otimes |0\rangle\langle 0| + RX(\theta) \otimes |1\rangle\langle 1| = \begin{pmatrix} 1 & 0 & 0 & 0 \\ - 0 & \cos\left(\th\right) & 0 & -i\sin\left(\th\right) \\ + 0 & \cos\left(\rotationangle\right) & 0 & -i\sin\left(\rotationangle\right) \\ 0 & 0 & 1 & 0 \\ - 0 & -i\sin\left(\th\right) & 0 & \cos\left(\th\right) - \end{pmatrix}\end{split}\end{aligned}\end{align} + 0 & -i\sin\left(\rotationangle\right) & 0 & \cos\left(\rotationangle\right) + \end{pmatrix} $$ @@ -51,14 +53,16 @@ $$ ``` $$ - \begin{align}\begin{aligned}\newcommand{\th}{\frac{\theta}{2}}\\\begin{split}CRX(\theta)\ q_1, q_0 = + \newcommand{\rotationangle}{\frac{\theta}{2}} + + CRX(\theta)\ q_1, q_0 = |0\rangle\langle0| \otimes I + |1\rangle\langle1| \otimes RX(\theta) = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ - 0 & 0 & \cos\left(\th\right) & -i\sin\left(\th\right) \\ - 0 & 0 & -i\sin\left(\th\right) & \cos\left(\th\right) - \end{pmatrix}\end{split}\end{aligned}\end{align} + 0 & 0 & \cos\left(\rotationangle\right) & -i\sin\left(\rotationangle\right) \\ + 0 & 0 & -i\sin\left(\rotationangle\right) & \cos\left(\rotationangle\right) + \end{pmatrix} $$ diff --git a/docs/api/qiskit/qiskit.circuit.library.CRYGate.md b/docs/api/qiskit/qiskit.circuit.library.CRYGate.md index 9fa2aa57d0..41ac30da87 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CRYGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.CRYGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.CRYGate -`qiskit.circuit.library.CRYGate(theta, label=None, ctrl_state=None, *, duration=None, unit='dt', _base_label=None)` +`qiskit.circuit.library.CRYGate(theta, label=None, ctrl_state=None, *, duration=None, unit='dt', _base_label=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/ry.py "view source code") Bases: [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.controlledgate.ControlledGate") @@ -30,14 +30,16 @@ q_1: ┤ Ry(ϴ) ├ **Matrix representation:** $$ - \begin{align}\begin{aligned}\newcommand{\th}{\frac{\theta}{2}}\\\begin{split}CRY(\theta)\ q_0, q_1 = +\newcommand{\rotationangle}{\frac{\theta}{2}} + +CRY(\theta)\ q_0, q_1 = I \otimes |0\rangle\langle 0| + RY(\theta) \otimes |1\rangle\langle 1| = \begin{pmatrix} 1 & 0 & 0 & 0 \\ - 0 & \cos\left(\th\right) & 0 & -\sin\left(\th\right) \\ + 0 & \cos\left(\rotationangle\right) & 0 & -\sin\left(\rotationangle\right) \\ 0 & 0 & 1 & 0 \\ - 0 & \sin\left(\th\right) & 0 & \cos\left(\th\right) - \end{pmatrix}\end{split}\end{aligned}\end{align} + 0 & \sin\left(\rotationangle\right) & 0 & \cos\left(\rotationangle\right) + \end{pmatrix} $$ @@ -51,14 +53,16 @@ $$ ``` $$ - \begin{align}\begin{aligned}\newcommand{\th}{\frac{\theta}{2}}\\\begin{split}CRY(\theta)\ q_1, q_0 = + \newcommand{\rotationangle}{\frac{\theta}{2}} + + CRY(\theta)\ q_1, q_0 = |0\rangle\langle 0| \otimes I + |1\rangle\langle 1| \otimes RY(\theta) = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ - 0 & 0 & \cos\left(\th\right) & -\sin\left(\th\right) \\ - 0 & 0 & \sin\left(\th\right) & \cos\left(\th\right) - \end{pmatrix}\end{split}\end{aligned}\end{align} + 0 & 0 & \cos\left(\rotationangle\right) & -\sin\left(\rotationangle\right) \\ + 0 & 0 & \sin\left(\rotationangle\right) & \cos\left(\rotationangle\right) + \end{pmatrix} $$ diff --git a/docs/api/qiskit/qiskit.circuit.library.CRZGate.md b/docs/api/qiskit/qiskit.circuit.library.CRZGate.md index 1608521448..b6f029642c 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CRZGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.CRZGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.CRZGate -`qiskit.circuit.library.CRZGate(theta, label=None, ctrl_state=None, *, duration=None, unit='dt', _base_label=None)` +`qiskit.circuit.library.CRZGate(theta, label=None, ctrl_state=None, *, duration=None, unit='dt', _base_label=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/rz.py "view source code") Bases: [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.controlledgate.ControlledGate") @@ -32,14 +32,14 @@ q_1: ┤ Rz(λ) ├ **Matrix representation:** $$ -\begin{split}CRZ(\lambda)\ q_0, q_1 = +CRZ(\lambda)\ q_0, q_1 = I \otimes |0\rangle\langle 0| + RZ(\lambda) \otimes |1\rangle\langle 1| = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & e^{-i\frac{\lambda}{2}} & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & e^{i\frac{\lambda}{2}} - \end{pmatrix}\end{split} + \end{pmatrix} $$ @@ -53,14 +53,14 @@ $$ ``` $$ - \begin{split}CRZ(\lambda)\ q_1, q_0 = + CRZ(\lambda)\ q_1, q_0 = |0\rangle\langle 0| \otimes I + |1\rangle\langle 1| \otimes RZ(\lambda) = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & e^{-i\frac{\lambda}{2}} & 0 \\ 0 & 0 & 0 & e^{i\frac{\lambda}{2}} - \end{pmatrix}\end{split} + \end{pmatrix} $$ diff --git a/docs/api/qiskit/qiskit.circuit.library.CSGate.md b/docs/api/qiskit/qiskit.circuit.library.CSGate.md index 5371ac5d86..b8db5df3f5 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CSGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.CSGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.CSGate -`qiskit.circuit.library.CSGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.library.CSGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/s.py "view source code") Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") @@ -30,14 +30,14 @@ q_1: ┤ S ├ **Matrix representation:** $$ -\begin{split}CS \ q_0, q_1 = +CS \ q_0, q_1 = I \otimes |0 \rangle\langle 0| + S \otimes |1 \rangle\langle 1| = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & i - \end{pmatrix}\end{split} + \end{pmatrix} $$ Create new CS gate. diff --git a/docs/api/qiskit/qiskit.circuit.library.CSXGate.md b/docs/api/qiskit/qiskit.circuit.library.CSXGate.md index 4860c03c1b..30f8098962 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CSXGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.CSXGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.CSXGate -`qiskit.circuit.library.CSXGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.library.CSXGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/sx.py "view source code") Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") @@ -30,14 +30,14 @@ q_1: ┤ √X ├ **Matrix representation:** $$ -\begin{split}C\sqrt{X} \ q_0, q_1 = +C\sqrt{X} \ q_0, q_1 = I \otimes |0 \rangle\langle 0| + \sqrt{X} \otimes |1 \rangle\langle 1| = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & (1 + i) / 2 & 0 & (1 - i) / 2 \\ 0 & 0 & 1 & 0 \\ 0 & (1 - i) / 2 & 0 & (1 + i) / 2 - \end{pmatrix}\end{split} + \end{pmatrix} $$ @@ -51,14 +51,14 @@ $$ ``` $$ - \begin{split}C\sqrt{X}\ q_1, q_0 = + C\sqrt{X}\ q_1, q_0 = |0 \rangle\langle 0| \otimes I + |1 \rangle\langle 1| \otimes \sqrt{X} = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & (1 + i) / 2 & (1 - i) / 2 \\ 0 & 0 & (1 - i) / 2 & (1 + i) / 2 - \end{pmatrix}\end{split} + \end{pmatrix} $$ diff --git a/docs/api/qiskit/qiskit.circuit.library.CSdgGate.md b/docs/api/qiskit/qiskit.circuit.library.CSdgGate.md index 7005299fa7..0c9a79b4e7 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CSdgGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.CSdgGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.CSdgGate -`qiskit.circuit.library.CSdgGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.library.CSdgGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/s.py "view source code") Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") @@ -30,14 +30,14 @@ q_1: ┤ Sdg ├ **Matrix representation:** $$ -\begin{split}CS^\dagger \ q_0, q_1 = +CS^\dagger \ q_0, q_1 = I \otimes |0 \rangle\langle 0| + S^\dagger \otimes |1 \rangle\langle 1| = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & -i - \end{pmatrix}\end{split} + \end{pmatrix} $$ Create new CSdg gate. diff --git a/docs/api/qiskit/qiskit.circuit.library.CSwapGate.md b/docs/api/qiskit/qiskit.circuit.library.CSwapGate.md index d1ea8fb4ef..e5fb3e61f3 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CSwapGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.CSwapGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.CSwapGate -`qiskit.circuit.library.CSwapGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.library.CSwapGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/swap.py "view source code") Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") @@ -31,7 +31,7 @@ q_2: ─X─ **Matrix representation:** $$ -\begin{split}CSWAP\ q_0, q_1, q_2 = +CSWAP\ q_0, q_1, q_2 = I \otimes I \otimes |0 \rangle \langle 0| + SWAP \otimes |1 \rangle \langle 1| = \begin{pmatrix} @@ -43,7 +43,7 @@ $$ 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\ - \end{pmatrix}\end{split} + \end{pmatrix} $$ @@ -58,7 +58,7 @@ $$ ``` $$ - \begin{split}CSWAP\ q_2, q_1, q_0 = + CSWAP\ q_2, q_1, q_0 = |0 \rangle \langle 0| \otimes I \otimes I + |1 \rangle \langle 1| \otimes SWAP = \begin{pmatrix} @@ -70,7 +70,7 @@ $$ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\ - \end{pmatrix}\end{split} + \end{pmatrix} $$ @@ -79,6 +79,8 @@ In the computational basis, this gate swaps the states of the two target qubits $$ |0, b, c\rangle \rightarrow |0, b, c\rangle |1, b, c\rangle \rightarrow |1, c, b\rangle + + $$ Create new CSWAP gate. diff --git a/docs/api/qiskit/qiskit.circuit.library.CU1Gate.md b/docs/api/qiskit/qiskit.circuit.library.CU1Gate.md index d61ef6c005..8c585ab64c 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CU1Gate.md +++ b/docs/api/qiskit/qiskit.circuit.library.CU1Gate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.CU1Gate -`qiskit.circuit.library.CU1Gate(theta, label=None, ctrl_state=None, *, duration=None, unit='dt', _base_label=None)` +`qiskit.circuit.library.CU1Gate(theta, label=None, ctrl_state=None, *, duration=None, unit='dt', _base_label=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/u1.py "view source code") Bases: [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.controlledgate.ControlledGate") @@ -29,14 +29,14 @@ q_1: ─■── **Matrix representation:** $$ -\begin{split}CU1(\lambda) = +CU1(\lambda) = I \otimes |0\rangle\langle 0| + U1 \otimes |1\rangle\langle 1| = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & e^{i\lambda} - \end{pmatrix}\end{split} + \end{pmatrix} $$ diff --git a/docs/api/qiskit/qiskit.circuit.library.CU3Gate.md b/docs/api/qiskit/qiskit.circuit.library.CU3Gate.md index d96c9b93b9..9997d14c28 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CU3Gate.md +++ b/docs/api/qiskit/qiskit.circuit.library.CU3Gate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.CU3Gate -`qiskit.circuit.library.CU3Gate(theta, phi, lam, label=None, ctrl_state=None, *, duration=None, unit='dt', _base_label=None)` +`qiskit.circuit.library.CU3Gate(theta, phi, lam, label=None, ctrl_state=None, *, duration=None, unit='dt', _base_label=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/u3.py "view source code") Bases: [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.controlledgate.ControlledGate") @@ -30,15 +30,17 @@ q_1: ┤ U3(ϴ,φ,λ) ├ **Matrix representation:** $$ - \begin{align}\begin{aligned}\newcommand{\th}{\frac{\theta}{2}}\\\begin{split}CU3(\theta, \phi, \lambda)\ q_0, q_1 = +\newcommand{\rotationangle}{\frac{\theta}{2}} + +CU3(\theta, \phi, \lambda)\ q_0, q_1 = I \otimes |0\rangle\langle 0| + U3(\theta,\phi,\lambda) \otimes |1\rangle\langle 1| = \begin{pmatrix} 1 & 0 & 0 & 0 \\ - 0 & \cos(\th) & 0 & -e^{i\lambda}\sin(\th) \\ + 0 & \cos(\rotationangle) & 0 & -e^{i\lambda}\sin(\rotationangle) \\ 0 & 0 & 1 & 0 \\ - 0 & e^{i\phi}\sin(\th) & 0 & e^{i(\phi+\lambda)}\cos(\th) - \end{pmatrix}\end{split}\end{aligned}\end{align} + 0 & e^{i\phi}\sin(\rotationangle) & 0 & e^{i(\phi+\lambda)}\cos(\rotationangle) + \end{pmatrix} $$ @@ -52,15 +54,15 @@ $$ ``` $$ - \begin{split}CU3(\theta, \phi, \lambda)\ q_1, q_0 = + CU3(\theta, \phi, \lambda)\ q_1, q_0 = |0\rangle\langle 0| \otimes I + |1\rangle\langle 1| \otimes U3(\theta,\phi,\lambda) = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ - 0 & 0 & \cos(\th) & -e^{i\lambda}\sin(\th) \\ - 0 & 0 & e^{i\phi}\sin(\th) & e^{i(\phi+\lambda)}\cos(\th) - \end{pmatrix}\end{split} + 0 & 0 & \cos(\rotationangle) & -e^{i\lambda}\sin(\rotationangle) \\ + 0 & 0 & e^{i\phi}\sin(\rotationangle) & e^{i(\phi+\lambda)}\cos(\rotationangle) + \end{pmatrix} $$ diff --git a/docs/api/qiskit/qiskit.circuit.library.CUGate.md b/docs/api/qiskit/qiskit.circuit.library.CUGate.md index f45ca6cf2d..ba548116fc 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CUGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.CUGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.CUGate -`qiskit.circuit.library.CUGate(theta, phi, lam, gamma, label=None, ctrl_state=None, *, duration=None, unit='dt', _base_label=None)` +`qiskit.circuit.library.CUGate(theta, phi, lam, gamma, label=None, ctrl_state=None, *, duration=None, unit='dt', _base_label=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/u.py "view source code") Bases: [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.controlledgate.ControlledGate") @@ -32,15 +32,19 @@ q_1: ┤ U(ϴ,φ,λ,γ) ├ **Matrix representation:** $$ - \begin{align}\begin{aligned}\newcommand{\th}{\frac{\theta}{2}}\\\begin{split}CU(\theta, \phi, \lambda, \gamma)\ q_0, q_1 = +\newcommand{\rotationangle}{\frac{\theta}{2}} + +CU(\theta, \phi, \lambda, \gamma)\ q_0, q_1 = I \otimes |0\rangle\langle 0| + e^{i\gamma} U(\theta,\phi,\lambda) \otimes |1\rangle\langle 1| = \begin{pmatrix} - 1 & 0 & 0 & 0 \\ - 0 & e^{i\gamma}\cos(\th) & 0 & -e^{i(\gamma + \lambda)}\sin(\th) \\ - 0 & 0 & 1 & 0 \\ - 0 & e^{i(\gamma+\phi)}\sin(\th) & 0 & e^{i(\gamma+\phi+\lambda)}\cos(\th) - \end{pmatrix}\end{split}\end{aligned}\end{align} + 1 & 0 & 0 & 0 \\ + 0 & e^{i\gamma}\cos(\rotationangle) & + 0 & -e^{i(\gamma + \lambda)}\sin(\rotationangle) \\ + 0 & 0 & 1 & 0 \\ + 0 & e^{i(\gamma+\phi)}\sin(\rotationangle) & + 0 & e^{i(\gamma+\phi+\lambda)}\cos(\rotationangle) + \end{pmatrix} $$ @@ -54,15 +58,17 @@ $$ ``` $$ - \begin{split}CU(\theta, \phi, \lambda, \gamma)\ q_1, q_0 = - |0\rangle\langle 0| \otimes I + - e^{i\gamma}|1\rangle\langle 1| \otimes U(\theta,\phi,\lambda) = - \begin{pmatrix} - 1 & 0 & 0 & 0 \\ - 0 & 1 & 0 & 0 \\ - 0 & 0 & e^{i\gamma} \cos(\th) & -e^{i(\gamma + \lambda)}\sin(\th) \\ - 0 & 0 & e^{i(\gamma + \phi)}\sin(\th) & e^{i(\gamma + \phi+\lambda)}\cos(\th) - \end{pmatrix}\end{split} + \newcommand{\rotationangle}{\frac{\theta}{2}} + CU(\theta, \phi, \lambda, \gamma)\ q_1, q_0 = + |0\rangle\langle 0| \otimes I + + e^{i\gamma}|1\rangle\langle 1| \otimes U(\theta,\phi,\lambda) = + \begin{pmatrix} + 1 & 0 & 0 & 0 \\ + 0 & 1 & 0 & 0 \\ + 0 & 0 & e^{i\gamma} \cos(\rotationangle) & -e^{i(\gamma + \lambda)}\sin(\rotationangle) \\ + 0 & 0 & + e^{i(\gamma + \phi)}\sin(\rotationangle) & e^{i(\gamma + \phi+\lambda)}\cos(\rotationangle) + \end{pmatrix} $$ diff --git a/docs/api/qiskit/qiskit.circuit.library.CXGate.md b/docs/api/qiskit/qiskit.circuit.library.CXGate.md index e64dc71916..3f18b6ccbe 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CXGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.CXGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.CXGate -`qiskit.circuit.library.CXGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.library.CXGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/x.py "view source code") Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") @@ -30,14 +30,14 @@ q_1: ┤ X ├ **Matrix representation:** $$ -\begin{split}CX\ q_0, q_1 = +CX\ q_0, q_1 = I \otimes |0\rangle\langle0| + X \otimes |1\rangle\langle1| = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 - \end{pmatrix}\end{split} + \end{pmatrix} $$ @@ -51,14 +51,14 @@ $$ ``` $$ - \begin{split}CX\ q_1, q_0 = + CX\ q_1, q_0 = |0 \rangle\langle 0| \otimes I + |1 \rangle\langle 1| \otimes X = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 - \end{pmatrix}\end{split} + \end{pmatrix} $$ @@ -66,6 +66,8 @@ In the computational basis, this gate flips the target qubit if the control qubi $$ `|a, b\rangle \rightarrow |a, a \oplus b\rangle` + + $$ Create new CX gate. diff --git a/docs/api/qiskit/qiskit.circuit.library.CYGate.md b/docs/api/qiskit/qiskit.circuit.library.CYGate.md index dc7116e06a..591e29927a 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CYGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.CYGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.CYGate -`qiskit.circuit.library.CYGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.library.CYGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/y.py "view source code") Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") @@ -30,14 +30,14 @@ q_1: ┤ Y ├ **Matrix representation:** $$ -\begin{split}CY\ q_0, q_1 = +CY\ q_0, q_1 = I \otimes |0 \rangle\langle 0| + Y \otimes |1 \rangle\langle 1| = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & -i \\ 0 & 0 & 1 & 0 \\ 0 & i & 0 & 0 - \end{pmatrix}\end{split} + \end{pmatrix} $$ @@ -51,14 +51,14 @@ $$ ``` $$ - \begin{split}CY\ q_1, q_0 = + CY\ q_1, q_0 = |0 \rangle\langle 0| \otimes I + |1 \rangle\langle 1| \otimes Y = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & -i \\ 0 & 0 & i & 0 - \end{pmatrix}\end{split} + \end{pmatrix} $$ diff --git a/docs/api/qiskit/qiskit.circuit.library.CZGate.md b/docs/api/qiskit/qiskit.circuit.library.CZGate.md index fb0d5eeef2..b99f5a5f3c 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CZGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.CZGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.CZGate -`qiskit.circuit.library.CZGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.library.CZGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/z.py "view source code") Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") @@ -31,14 +31,14 @@ q_1: ─■─ **Matrix representation:** $$ -\begin{split}CZ\ q_0, q_1 = +CZ\ q_0, q_1 = I \otimes |0\rangle\langle 0| + Z \otimes |1\rangle\langle 1| = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & -1 - \end{pmatrix}\end{split} + \end{pmatrix} $$ In the computational basis, this gate flips the phase of the target qubit if the control qubit is in the $|1\rangle$ state. diff --git a/docs/api/qiskit/qiskit.circuit.library.DCXGate.md b/docs/api/qiskit/qiskit.circuit.library.DCXGate.md index e7204026fe..59c8f679ef 100644 --- a/docs/api/qiskit/qiskit.circuit.library.DCXGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.DCXGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.DCXGate -`qiskit.circuit.library.DCXGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.library.DCXGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/dcx.py "view source code") Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") @@ -31,13 +31,13 @@ q_1: ┤ X ├──■── This is a classical logic gate, equivalent to a CNOT-SWAP (CNS) sequence, and locally equivalent to an iSWAP. $$ -\begin{split}DCX\ q_0, q_1 = +DCX\ q_0, q_1 = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 - \end{pmatrix}\end{split} + \end{pmatrix} $$ Create new DCX gate. diff --git a/docs/api/qiskit/qiskit.circuit.library.Diagonal.md b/docs/api/qiskit/qiskit.circuit.library.Diagonal.md index 1e29ef9c06..f12cdb6215 100644 --- a/docs/api/qiskit/qiskit.circuit.library.Diagonal.md +++ b/docs/api/qiskit/qiskit.circuit.library.Diagonal.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.Diagonal -`qiskit.circuit.library.Diagonal(diag)` +`qiskit.circuit.library.Diagonal(diag)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/generalized_gates/diagonal.py "view source code") Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") @@ -31,13 +31,15 @@ q_2: ┤2 ├ Matrix form: $$ -\begin{split}\text{DiagonalGate}\ q_0, q_1, .., q_{n-1} = +\text{DiagonalGate}\ q_0, q_1, .., q_{n-1} = \begin{pmatrix} D[0] & 0 & \dots & 0 \\ 0 & D[1] & \dots & 0 \\ \vdots & \vdots & \ddots & 0 \\ 0 & 0 & \dots & D[n-1] - \end{pmatrix}\end{split} + \end{pmatrix} + + $$ Diagonal gates are useful as representations of Boolean functions, as they can map from $\{0,1\}^{2^n}$ to $\{0,1\}^{2^n}$ space. For example a phase oracle can be seen as a diagonal gate with $\{1, -1\}$ on the diagonals. Such an oracle will induce a $+1$ or :math\`-1\` phase on the amplitude of any corresponding basis state. @@ -118,7 +120,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 159` +`= 167` diff --git a/docs/api/qiskit/qiskit.circuit.library.DiagonalGate.md b/docs/api/qiskit/qiskit.circuit.library.DiagonalGate.md index 1b2c612187..4166007c66 100644 --- a/docs/api/qiskit/qiskit.circuit.library.DiagonalGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.DiagonalGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.DiagonalGate -`qiskit.circuit.library.DiagonalGate(diag)` +`qiskit.circuit.library.DiagonalGate(diag)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/generalized_gates/diagonal.py "view source code") Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") diff --git a/docs/api/qiskit/qiskit.circuit.library.DraperQFTAdder.md b/docs/api/qiskit/qiskit.circuit.library.DraperQFTAdder.md index 72d0b1c10d..bb1e77e270 100644 --- a/docs/api/qiskit/qiskit.circuit.library.DraperQFTAdder.md +++ b/docs/api/qiskit/qiskit.circuit.library.DraperQFTAdder.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.DraperQFTAdder -`qiskit.circuit.library.DraperQFTAdder(num_state_qubits, kind='fixed', name='DraperQFTAdder')` +`qiskit.circuit.library.DraperQFTAdder(num_state_qubits, kind='fixed', name='DraperQFTAdder')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/arithmetic/adders/draper_qft_adder.py "view source code") Bases: `Adder` @@ -109,7 +109,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 159` +`= 167` diff --git a/docs/api/qiskit/qiskit.circuit.library.ECRGate.md b/docs/api/qiskit/qiskit.circuit.library.ECRGate.md index dfccef0662..1143367b1a 100644 --- a/docs/api/qiskit/qiskit.circuit.library.ECRGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.ECRGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.ECRGate -`qiskit.circuit.library.ECRGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.library.ECRGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/ecr.py "view source code") Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") @@ -33,13 +33,13 @@ q_1: ┤1 ├ q_1: ┤1 ├────────── **Matrix Representation:** $$ -\begin{split}ECR\ q_0, q_1 = \frac{1}{\sqrt{2}} +ECR\ q_0, q_1 = \frac{1}{\sqrt{2}} \begin{pmatrix} 0 & 1 & 0 & i \\ 1 & 0 & -i & 0 \\ 0 & i & 0 & 1 \\ -i & 0 & 1 & 0 - \end{pmatrix}\end{split} + \end{pmatrix} $$ @@ -54,13 +54,13 @@ $$ ``` $$ - \begin{split}ECR\ q_0, q_1 = \frac{1}{\sqrt{2}} + ECR\ q_0, q_1 = \frac{1}{\sqrt{2}} \begin{pmatrix} 0 & 0 & 1 & i \\ 0 & 0 & i & 1 \\ 1 & -i & 0 & 0 \\ -i & 1 & 0 & 0 - \end{pmatrix}\end{split} + \end{pmatrix} $$ diff --git a/docs/api/qiskit/qiskit.circuit.library.EfficientSU2.md b/docs/api/qiskit/qiskit.circuit.library.EfficientSU2.md index 13e9b26271..a1e539338b 100644 --- a/docs/api/qiskit/qiskit.circuit.library.EfficientSU2.md +++ b/docs/api/qiskit/qiskit.circuit.library.EfficientSU2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.EfficientSU2 -`qiskit.circuit.library.EfficientSU2(num_qubits=None, su2_gates=None, entanglement='reverse_linear', reps=3, skip_unentangled_qubits=False, skip_final_rotation_layer=False, parameter_prefix='θ', insert_barriers=False, initial_state=None, name='EfficientSU2', flatten=None)` +`qiskit.circuit.library.EfficientSU2(num_qubits=None, su2_gates=None, entanglement='reverse_linear', reps=3, skip_unentangled_qubits=False, skip_final_rotation_layer=False, parameter_prefix='θ', insert_barriers=False, initial_state=None, name='EfficientSU2', flatten=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/n_local/efficient_su2.py "view source code") Bases: [`TwoLocal`](qiskit.circuit.library.TwoLocal "qiskit.circuit.library.n_local.two_local.TwoLocal") @@ -171,7 +171,7 @@ If barriers are inserted in between the layers or not. ### instances -`= 159` +`= 167` diff --git a/docs/api/qiskit/qiskit.circuit.library.EvolvedOperatorAnsatz.md b/docs/api/qiskit/qiskit.circuit.library.EvolvedOperatorAnsatz.md index 0bb655f1cc..11f308d319 100644 --- a/docs/api/qiskit/qiskit.circuit.library.EvolvedOperatorAnsatz.md +++ b/docs/api/qiskit/qiskit.circuit.library.EvolvedOperatorAnsatz.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.EvolvedOperatorAnsatz -`qiskit.circuit.library.EvolvedOperatorAnsatz(operators=None, reps=1, evolution=None, insert_barriers=False, name='EvolvedOps', parameter_prefix='t', initial_state=None, flatten=None)` +`qiskit.circuit.library.EvolvedOperatorAnsatz(operators=None, reps=1, evolution=None, insert_barriers=False, name='EvolvedOps', parameter_prefix='t', initial_state=None, flatten=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/evolved_operator_ansatz.py "view source code") Bases: [`NLocal`](qiskit.circuit.library.NLocal "qiskit.circuit.library.n_local.n_local.NLocal") @@ -135,7 +135,7 @@ If barriers are inserted in between the layers or not. ### instances -`= 159` +`= 167` diff --git a/docs/api/qiskit/qiskit.circuit.library.ExactReciprocal.md b/docs/api/qiskit/qiskit.circuit.library.ExactReciprocal.md index 22805dc7a6..4714ce497d 100644 --- a/docs/api/qiskit/qiskit.circuit.library.ExactReciprocal.md +++ b/docs/api/qiskit/qiskit.circuit.library.ExactReciprocal.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.ExactReciprocal -`qiskit.circuit.library.ExactReciprocal(num_state_qubits, scaling, neg_vals=False, name='1/x')` +`qiskit.circuit.library.ExactReciprocal(num_state_qubits, scaling, neg_vals=False, name='1/x')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/arithmetic/exact_reciprocal.py "view source code") Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") @@ -89,7 +89,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 159` +`= 167` diff --git a/docs/api/qiskit/qiskit.circuit.library.ExcitationPreserving.md b/docs/api/qiskit/qiskit.circuit.library.ExcitationPreserving.md index be9aecbb34..8997d4f7cf 100644 --- a/docs/api/qiskit/qiskit.circuit.library.ExcitationPreserving.md +++ b/docs/api/qiskit/qiskit.circuit.library.ExcitationPreserving.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.ExcitationPreserving -`qiskit.circuit.library.ExcitationPreserving(num_qubits=None, mode='iswap', entanglement='full', reps=3, skip_unentangled_qubits=False, skip_final_rotation_layer=False, parameter_prefix='θ', insert_barriers=False, initial_state=None, name='ExcitationPreserving', flatten=None)` +`qiskit.circuit.library.ExcitationPreserving(num_qubits=None, mode='iswap', entanglement='full', reps=3, skip_unentangled_qubits=False, skip_final_rotation_layer=False, parameter_prefix='θ', insert_barriers=False, initial_state=None, name='ExcitationPreserving', flatten=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/n_local/excitation_preserving.py "view source code") Bases: [`TwoLocal`](qiskit.circuit.library.TwoLocal "qiskit.circuit.library.n_local.two_local.TwoLocal") @@ -19,12 +19,14 @@ The heuristic excitation-preserving wave function ansatz. The `ExcitationPreserving` circuit preserves the ratio of $|00\rangle$, $|01\rangle + |10\rangle$ and $|11\rangle$ states. To this end, this circuit uses two-qubit interactions of the form $$ - \begin{align}\begin{aligned}\newcommand{\th}{\theta/2}\\\begin{split}\begin{pmatrix} +\newcommand{\rotationangle}{\theta/2} + +\begin{pmatrix} 1 & 0 & 0 & 0 \\ -0 & \cos\left(\th\right) & -i\sin\left(\th\right) & 0 \\ -0 & -i\sin\left(\th\right) & \cos\left(\th\right) & 0 \\ +0 & \cos\left(\rotationangle\right) & -i\sin\left(\rotationangle\right) & 0 \\ +0 & -i\sin\left(\rotationangle\right) & \cos\left(\rotationangle\right) & 0 \\ 0 & 0 & 0 & e^{-i\phi} -\end{pmatrix}\end{split}\end{aligned}\end{align} +\end{pmatrix} $$ for the mode `'fsim'` or with $e^{-i\phi} = 1$ for the mode `'iswap'`. @@ -85,7 +87,6 @@ q_2: ┤ RZ(θ[2]) ├─░─┤1 ├┤1 ├─■── * **entanglement** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *|*[*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]] | Callable\[\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*],* [*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]]*) – Specifies the entanglement structure. Can be a string (‘full’, ‘linear’ or ‘sca’), a list of integer-pairs specifying the indices of qubits entangled with one another, or a callable returning such a list provided with the index of the entanglement layer. See the Examples section of [`TwoLocal`](qiskit.circuit.library.TwoLocal "qiskit.circuit.library.TwoLocal") for more detail. * **initial\_state** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") *| None*) – A QuantumCircuit object to prepend to the circuit. * **skip\_unentangled\_qubits** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – If True, the single qubit gates are only applied to qubits that are entangled with another qubit. If False, the single qubit gates are applied to each qubit in the Ansatz. Defaults to False. -* **skip\_unentangled\_qubits** – If True, the single qubit gates are only applied to qubits that are entangled with another qubit. If False, the single qubit gates are applied to each qubit in the Ansatz. Defaults to False. * **skip\_final\_rotation\_layer** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – If True, a rotation layer is added at the end of the ansatz. If False, no rotation layer is added. Defaults to True. * **parameter\_prefix** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – The parameterized gates require a parameter to be defined, for which we use [`ParameterVector`](qiskit.circuit.ParameterVector "qiskit.circuit.ParameterVector"). * **insert\_barriers** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – If True, barriers are inserted in between each layer. If False, no barriers are inserted. @@ -189,7 +190,7 @@ If barriers are inserted in between the layers or not. ### instances -`= 159` +`= 167` diff --git a/docs/api/qiskit/qiskit.circuit.library.FourierChecking.md b/docs/api/qiskit/qiskit.circuit.library.FourierChecking.md index b234630df7..de9b4073a5 100644 --- a/docs/api/qiskit/qiskit.circuit.library.FourierChecking.md +++ b/docs/api/qiskit/qiskit.circuit.library.FourierChecking.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.FourierChecking -`qiskit.circuit.library.FourierChecking(f, g)` +`qiskit.circuit.library.FourierChecking(f, g)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/fourier_checking.py "view source code") Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") @@ -103,7 +103,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 167` +`= 175` diff --git a/docs/api/qiskit/qiskit.circuit.library.FunctionalPauliRotations.md b/docs/api/qiskit/qiskit.circuit.library.FunctionalPauliRotations.md index 6ca0ce62dd..2b347945bc 100644 --- a/docs/api/qiskit/qiskit.circuit.library.FunctionalPauliRotations.md +++ b/docs/api/qiskit/qiskit.circuit.library.FunctionalPauliRotations.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.FunctionalPauliRotations -`qiskit.circuit.library.FunctionalPauliRotations(num_state_qubits=None, basis='Y', name='F')` +`qiskit.circuit.library.FunctionalPauliRotations(num_state_qubits=None, basis='Y', name='F')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/arithmetic/functional_pauli_rotations.py "view source code") Bases: `BlueprintCircuit`, [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") @@ -84,7 +84,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 169` +`= 177` diff --git a/docs/api/qiskit/qiskit.circuit.library.GMS.md b/docs/api/qiskit/qiskit.circuit.library.GMS.md index cd7afc3c41..388ed76392 100644 --- a/docs/api/qiskit/qiskit.circuit.library.GMS.md +++ b/docs/api/qiskit/qiskit.circuit.library.GMS.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.GMS -`qiskit.circuit.library.GMS(num_qubits, theta)` +`qiskit.circuit.library.GMS(num_qubits, theta)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/generalized_gates/gms.py "view source code") Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") @@ -112,7 +112,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 170` +`= 178` diff --git a/docs/api/qiskit/qiskit.circuit.library.GR.md b/docs/api/qiskit/qiskit.circuit.library.GR.md index 4f34a8008d..ce076f998f 100644 --- a/docs/api/qiskit/qiskit.circuit.library.GR.md +++ b/docs/api/qiskit/qiskit.circuit.library.GR.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.GR -`qiskit.circuit.library.GR(num_qubits, theta, phi)` +`qiskit.circuit.library.GR(num_qubits, theta, phi)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/generalized_gates/gr.py "view source code") Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") @@ -106,7 +106,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 179` +`= 187` diff --git a/docs/api/qiskit/qiskit.circuit.library.GRX.md b/docs/api/qiskit/qiskit.circuit.library.GRX.md index 8788ab905e..2cf4dd9ad0 100644 --- a/docs/api/qiskit/qiskit.circuit.library.GRX.md +++ b/docs/api/qiskit/qiskit.circuit.library.GRX.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.GRX -`qiskit.circuit.library.GRX(num_qubits, theta)` +`qiskit.circuit.library.GRX(num_qubits, theta)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/generalized_gates/gr.py "view source code") Bases: [`GR`](qiskit.circuit.library.GR "qiskit.circuit.library.generalized_gates.gr.GR") @@ -105,7 +105,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 180` +`= 188` diff --git a/docs/api/qiskit/qiskit.circuit.library.GRY.md b/docs/api/qiskit/qiskit.circuit.library.GRY.md index 3d924b9014..e09acda16f 100644 --- a/docs/api/qiskit/qiskit.circuit.library.GRY.md +++ b/docs/api/qiskit/qiskit.circuit.library.GRY.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.GRY -`qiskit.circuit.library.GRY(num_qubits, theta)` +`qiskit.circuit.library.GRY(num_qubits, theta)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/generalized_gates/gr.py "view source code") Bases: [`GR`](qiskit.circuit.library.GR "qiskit.circuit.library.generalized_gates.gr.GR") @@ -105,7 +105,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 180` +`= 188` diff --git a/docs/api/qiskit/qiskit.circuit.library.GRZ.md b/docs/api/qiskit/qiskit.circuit.library.GRZ.md index 8864130851..c3249d902f 100644 --- a/docs/api/qiskit/qiskit.circuit.library.GRZ.md +++ b/docs/api/qiskit/qiskit.circuit.library.GRZ.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.GRZ -`qiskit.circuit.library.GRZ(num_qubits, phi)` +`qiskit.circuit.library.GRZ(num_qubits, phi)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/generalized_gates/gr.py "view source code") Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") @@ -105,7 +105,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 190` +`= 198` diff --git a/docs/api/qiskit/qiskit.circuit.library.GlobalPhaseGate.md b/docs/api/qiskit/qiskit.circuit.library.GlobalPhaseGate.md index 944c30afa6..baca94e36a 100644 --- a/docs/api/qiskit/qiskit.circuit.library.GlobalPhaseGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.GlobalPhaseGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.GlobalPhaseGate -`qiskit.circuit.library.GlobalPhaseGate(phase, label=None, *, duration=None, unit='dt')` +`qiskit.circuit.library.GlobalPhaseGate(phase, label=None, *, duration=None, unit='dt')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/global_phase.py "view source code") Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") @@ -25,6 +25,8 @@ $$ \begin{pmatrix} e^{i\theta} \end{pmatrix} + + $$ **Parameters** diff --git a/docs/api/qiskit/qiskit.circuit.library.GraphState.md b/docs/api/qiskit/qiskit.circuit.library.GraphState.md index b6411f8306..43c502ffbd 100644 --- a/docs/api/qiskit/qiskit.circuit.library.GraphState.md +++ b/docs/api/qiskit/qiskit.circuit.library.GraphState.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.GraphState -`qiskit.circuit.library.GraphState(adjacency_matrix)` +`qiskit.circuit.library.GraphState(adjacency_matrix)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/graph_state.py "view source code") Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") @@ -110,7 +110,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 195` +`= 203` diff --git a/docs/api/qiskit/qiskit.circuit.library.GroverOperator.md b/docs/api/qiskit/qiskit.circuit.library.GroverOperator.md index ad00a3c9ad..439f078029 100644 --- a/docs/api/qiskit/qiskit.circuit.library.GroverOperator.md +++ b/docs/api/qiskit/qiskit.circuit.library.GroverOperator.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.GroverOperator -`qiskit.circuit.library.GroverOperator(oracle, state_preparation=None, zero_reflection=None, reflection_qubits=None, insert_barriers=False, mcx_mode='noancilla', name='Q')` +`qiskit.circuit.library.GroverOperator(oracle, state_preparation=None, zero_reflection=None, reflection_qubits=None, insert_barriers=False, mcx_mode='noancilla', name='Q')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/grover_operator.py "view source code") Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") @@ -20,6 +20,8 @@ Grover’s search algorithm \[1, 2] consists of repeated applications of the so- $$ \mathcal{Q} = \mathcal{A} \mathcal{S}_0 \mathcal{A}^\dagger \mathcal{S}_f + + $$ In the standard Grover search we have $\mathcal{A} = H^{\otimes n}$: @@ -27,6 +29,8 @@ In the standard Grover search we have $\mathcal{A} = H^{\otimes n}$: $$ \mathcal{Q} = H^{\otimes n} \mathcal{S}_0 H^{\otimes n} \mathcal{S}_f = D \mathcal{S_f} + + $$ The operation $D = H^{\otimes n} \mathcal{S}_0 H^{\otimes n}$ is also referred to as diffusion operator. In this formulation we can see that Grover’s operator consists of two steps: first, the phase oracle multiplies the good states by -1 (with $\mathcal{S}_f$) and then the whole state is reflected around the mean (with $D$). @@ -37,6 +41,8 @@ The action of the phase oracle $\mathcal{S}_f$ is defined as $$ \mathcal{S}_f: |x\rangle \mapsto (-1)^{f(x)}|x\rangle + + $$ where $f(x) = 1$ if $x$ is a good state and 0 otherwise. To highlight the fact that this oracle flips the phase of the good states and does not flip the state of a result qubit, we call $\mathcal{S}_f$ a phase oracle. @@ -57,6 +63,8 @@ The zero reflection $\mathcal{S}_0$ is usually defined as $$ \mathcal{S}_0 = 2 |0\rangle^{\otimes n} \langle 0|^{\otimes n} - \mathbb{I}_n + + $$ where $\mathbb{I}_n$ is the identity on $n$ qubits. By default, this class implements the negative version $2 |0\rangle^{\otimes n} \langle 0|^{\otimes n} - \mathbb{I}_n$, since this can simply be implemented with a multi-controlled Z sandwiched by X gates on the target qubit and the introduced global phase does not matter for Grover’s algorithm. @@ -213,7 +221,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 197` +`= 205` diff --git a/docs/api/qiskit/qiskit.circuit.library.HGate.md b/docs/api/qiskit/qiskit.circuit.library.HGate.md index 0246d74b0e..c042e26076 100644 --- a/docs/api/qiskit/qiskit.circuit.library.HGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.HGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.HGate -`qiskit.circuit.library.HGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.library.HGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/h.py "view source code") Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") @@ -31,11 +31,11 @@ q_0: ┤ H ├ **Matrix Representation:** $$ -\begin{split}H = \frac{1}{\sqrt{2}} +H = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1 \\ 1 & -1 - \end{pmatrix}\end{split} + \end{pmatrix} $$ Create new H gate. diff --git a/docs/api/qiskit/qiskit.circuit.library.HRSCumulativeMultiplier.md b/docs/api/qiskit/qiskit.circuit.library.HRSCumulativeMultiplier.md index 041635c432..db01090644 100644 --- a/docs/api/qiskit/qiskit.circuit.library.HRSCumulativeMultiplier.md +++ b/docs/api/qiskit/qiskit.circuit.library.HRSCumulativeMultiplier.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.HRSCumulativeMultiplier -`qiskit.circuit.library.HRSCumulativeMultiplier(num_state_qubits, num_result_qubits=None, adder=None, name='HRSCumulativeMultiplier')` +`qiskit.circuit.library.HRSCumulativeMultiplier(num_state_qubits, num_result_qubits=None, adder=None, name='HRSCumulativeMultiplier')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/arithmetic/multipliers/hrs_cumulative_multiplier.py "view source code") Bases: `Multiplier` @@ -122,7 +122,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 197` +`= 205` diff --git a/docs/api/qiskit/qiskit.circuit.library.HamiltonianGate.md b/docs/api/qiskit/qiskit.circuit.library.HamiltonianGate.md index 45f8018157..87942e621a 100644 --- a/docs/api/qiskit/qiskit.circuit.library.HamiltonianGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.HamiltonianGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.HamiltonianGate -`qiskit.circuit.library.HamiltonianGate(data, time, label=None)` +`qiskit.circuit.library.HamiltonianGate(data, time, label=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/hamiltonian_gate.py "view source code") Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") diff --git a/docs/api/qiskit/qiskit.circuit.library.HiddenLinearFunction.md b/docs/api/qiskit/qiskit.circuit.library.HiddenLinearFunction.md index b383e365aa..2f43281a84 100644 --- a/docs/api/qiskit/qiskit.circuit.library.HiddenLinearFunction.md +++ b/docs/api/qiskit/qiskit.circuit.library.HiddenLinearFunction.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.HiddenLinearFunction -`qiskit.circuit.library.HiddenLinearFunction(adjacency_matrix)` +`qiskit.circuit.library.HiddenLinearFunction(adjacency_matrix)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/hidden_linear_function.py "view source code") Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") @@ -112,7 +112,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 199` +`= 161` diff --git a/docs/api/qiskit/qiskit.circuit.library.IGate.md b/docs/api/qiskit/qiskit.circuit.library.IGate.md index a9ae5ea962..2c342ec343 100644 --- a/docs/api/qiskit/qiskit.circuit.library.IGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.IGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.IGate -`qiskit.circuit.library.IGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.library.IGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/i.py "view source code") Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") @@ -23,10 +23,10 @@ Can be applied to a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.cir **Matrix Representation:** $$ -\begin{split}I = \begin{pmatrix} +I = \begin{pmatrix} 1 & 0 \\ 0 & 1 - \end{pmatrix}\end{split} + \end{pmatrix} $$ **Circuit symbol:** diff --git a/docs/api/qiskit/qiskit.circuit.library.IQP.md b/docs/api/qiskit/qiskit.circuit.library.IQP.md index c8429acfe1..fbe96aa990 100644 --- a/docs/api/qiskit/qiskit.circuit.library.IQP.md +++ b/docs/api/qiskit/qiskit.circuit.library.IQP.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.IQP -`qiskit.circuit.library.IQP(interactions)` +`qiskit.circuit.library.IQP(interactions)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/iqp.py "view source code") Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") @@ -100,7 +100,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 204` +`= 166` diff --git a/docs/api/qiskit/qiskit.circuit.library.Initialize.md b/docs/api/qiskit/qiskit.circuit.library.Initialize.md index 959e6593a9..2d217ed549 100644 --- a/docs/api/qiskit/qiskit.circuit.library.Initialize.md +++ b/docs/api/qiskit/qiskit.circuit.library.Initialize.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.Initialize -`qiskit.circuit.library.Initialize(params, num_qubits=None, normalize=False)` +`qiskit.circuit.library.Initialize(params, num_qubits=None, normalize=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/data_preparation/initializer.py "view source code") Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction") diff --git a/docs/api/qiskit/qiskit.circuit.library.InnerProduct.md b/docs/api/qiskit/qiskit.circuit.library.InnerProduct.md index 93af6fb3ed..eae2e78f3c 100644 --- a/docs/api/qiskit/qiskit.circuit.library.InnerProduct.md +++ b/docs/api/qiskit/qiskit.circuit.library.InnerProduct.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.InnerProduct -`qiskit.circuit.library.InnerProduct(num_qubits)` +`qiskit.circuit.library.InnerProduct(num_qubits)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/boolean_logic/inner_product.py "view source code") Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") @@ -111,7 +111,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 217` +`= 179` diff --git a/docs/api/qiskit/qiskit.circuit.library.IntegerComparator.md b/docs/api/qiskit/qiskit.circuit.library.IntegerComparator.md index c97976435b..6d6bcd695a 100644 --- a/docs/api/qiskit/qiskit.circuit.library.IntegerComparator.md +++ b/docs/api/qiskit/qiskit.circuit.library.IntegerComparator.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.IntegerComparator -`qiskit.circuit.library.IntegerComparator(num_state_qubits=None, value=None, geq=True, name='cmp')` +`qiskit.circuit.library.IntegerComparator(num_state_qubits=None, value=None, geq=True, name='cmp')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/arithmetic/integer_comparator.py "view source code") Bases: `BlueprintCircuit` @@ -91,7 +91,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 219` +`= 181` diff --git a/docs/api/qiskit/qiskit.circuit.library.Isometry.md b/docs/api/qiskit/qiskit.circuit.library.Isometry.md index 65f2543d99..ff302fca79 100644 --- a/docs/api/qiskit/qiskit.circuit.library.Isometry.md +++ b/docs/api/qiskit/qiskit.circuit.library.Isometry.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.Isometry -`qiskit.circuit.library.Isometry(isometry, num_ancillas_zero, num_ancillas_dirty, epsilon=1e-10)` +`qiskit.circuit.library.Isometry(isometry, num_ancillas_zero, num_ancillas_dirty, epsilon=1e-10)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/generalized_gates/isometry.py "view source code") Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction") diff --git a/docs/api/qiskit/qiskit.circuit.library.LinearAmplitudeFunction.md b/docs/api/qiskit/qiskit.circuit.library.LinearAmplitudeFunction.md index 63e57119d4..9d0cf8b4b3 100644 --- a/docs/api/qiskit/qiskit.circuit.library.LinearAmplitudeFunction.md +++ b/docs/api/qiskit/qiskit.circuit.library.LinearAmplitudeFunction.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.LinearAmplitudeFunction -`qiskit.circuit.library.LinearAmplitudeFunction(num_state_qubits, slope, offset, domain, image, rescaling_factor=1, breakpoints=None, name='F')` +`qiskit.circuit.library.LinearAmplitudeFunction(num_state_qubits, slope, offset, domain, image, rescaling_factor=1, breakpoints=None, name='F')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/arithmetic/linear_amplitude_function.py "view source code") Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") @@ -126,7 +126,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 219` +`= 181` diff --git a/docs/api/qiskit/qiskit.circuit.library.LinearFunction.md b/docs/api/qiskit/qiskit.circuit.library.LinearFunction.md index 94a6f356d5..fc910e432a 100644 --- a/docs/api/qiskit/qiskit.circuit.library.LinearFunction.md +++ b/docs/api/qiskit/qiskit.circuit.library.LinearFunction.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.LinearFunction -`qiskit.circuit.library.LinearFunction(linear, validate_input=False)` +`qiskit.circuit.library.LinearFunction(linear, validate_input=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/generalized_gates/linear_function.py "view source code") Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") @@ -35,11 +35,11 @@ q_2: ───── is represented by a 3x3 linear matrix $$ -\begin{split}\begin{pmatrix} +\begin{pmatrix} 1 & 0 & 0 \\ 1 & 1 & 0 \\ 0 & 0 & 1 -\end{pmatrix}\end{split} +\end{pmatrix} $$ **References:** @@ -50,8 +50,8 @@ Create a new linear function. **Parameters** -* **LinearFunction** (*linear (*[*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*] or ndarray\[*[*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")*] or QuantumCircuit or*) – or PermutationGate or Clifford): data from which a linear function can be constructed. It can be either a nxn matrix (describing the linear transformation), a permutation (which is a special case of a linear function), another linear function, a clifford (when it corresponds to a linear function), or a quantum circuit composed of linear gates (CX and SWAP) and other objects described above, including nested subcircuits. -* **validate\_input** – if True, performs more expensive input validation checks, such as checking that a given n x n matrix is invertible. +* **linear** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*] | np.ndarray\[*[*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")*] |* [*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") *|*[*LinearFunction*](#qiskit.circuit.library.LinearFunction "qiskit.circuit.library.LinearFunction") *|*[*PermutationGate*](qiskit.circuit.library.PermutationGate "qiskit.circuit.library.PermutationGate") *|*[*Clifford*](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford")) – data from which a linear function can be constructed. It can be either a nxn matrix (describing the linear transformation), a permutation (which is a special case of a linear function), another linear function, a clifford (when it corresponds to a linear function), or a quantum circuit composed of linear gates (CX and SWAP) and other objects described above, including nested subcircuits. +* **validate\_input** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – if True, performs more expensive input validation checks, such as checking that a given n x n matrix is invertible. **Raises** diff --git a/docs/api/qiskit/qiskit.circuit.library.LinearPauliRotations.md b/docs/api/qiskit/qiskit.circuit.library.LinearPauliRotations.md index 6f892b2a7a..698c2069af 100644 --- a/docs/api/qiskit/qiskit.circuit.library.LinearPauliRotations.md +++ b/docs/api/qiskit/qiskit.circuit.library.LinearPauliRotations.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.LinearPauliRotations -`qiskit.circuit.library.LinearPauliRotations(num_state_qubits=None, slope=1, offset=0, basis='Y', name='LinRot')` +`qiskit.circuit.library.LinearPauliRotations(num_state_qubits=None, slope=1, offset=0, basis='Y', name='LinRot')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/arithmetic/linear_pauli_rotations.py "view source code") Bases: [`FunctionalPauliRotations`](qiskit.circuit.library.FunctionalPauliRotations "qiskit.circuit.library.arithmetic.functional_pauli_rotations.FunctionalPauliRotations") @@ -107,7 +107,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 219` +`= 181` diff --git a/docs/api/qiskit/qiskit.circuit.library.MCMT.md b/docs/api/qiskit/qiskit.circuit.library.MCMT.md index 27605628af..9ec4142d01 100644 --- a/docs/api/qiskit/qiskit.circuit.library.MCMT.md +++ b/docs/api/qiskit/qiskit.circuit.library.MCMT.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.MCMT -`qiskit.circuit.library.MCMT(gate, num_ctrl_qubits, num_target_qubits)` +`qiskit.circuit.library.MCMT(gate, num_ctrl_qubits, num_target_qubits)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/generalized_gates/mcmt.py "view source code") Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") @@ -104,7 +104,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 219` +`= 181` diff --git a/docs/api/qiskit/qiskit.circuit.library.MCMTVChain.md b/docs/api/qiskit/qiskit.circuit.library.MCMTVChain.md index 9255b89cb4..662241f838 100644 --- a/docs/api/qiskit/qiskit.circuit.library.MCMTVChain.md +++ b/docs/api/qiskit/qiskit.circuit.library.MCMTVChain.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.MCMTVChain -`qiskit.circuit.library.MCMTVChain(gate, num_ctrl_qubits, num_target_qubits)` +`qiskit.circuit.library.MCMTVChain(gate, num_ctrl_qubits, num_target_qubits)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/generalized_gates/mcmt.py "view source code") Bases: [`MCMT`](qiskit.circuit.library.MCMT "qiskit.circuit.library.generalized_gates.mcmt.MCMT") @@ -128,7 +128,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 220` +`= 182` diff --git a/docs/api/qiskit/qiskit.circuit.library.MCPhaseGate.md b/docs/api/qiskit/qiskit.circuit.library.MCPhaseGate.md index 56902e6380..b4f6daa56c 100644 --- a/docs/api/qiskit/qiskit.circuit.library.MCPhaseGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.MCPhaseGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.MCPhaseGate -`qiskit.circuit.library.MCPhaseGate(lam, num_ctrl_qubits, label=None, *, duration=None, unit='dt', _base_label=None)` +`qiskit.circuit.library.MCPhaseGate(lam, num_ctrl_qubits, label=None, *, duration=None, unit='dt', _base_label=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/p.py "view source code") Bases: [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.controlledgate.ControlledGate") diff --git a/docs/api/qiskit/qiskit.circuit.library.MCXGate.md b/docs/api/qiskit/qiskit.circuit.library.MCXGate.md index 180e23708c..7ed72e21f7 100644 --- a/docs/api/qiskit/qiskit.circuit.library.MCXGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.MCXGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.MCXGate -`qiskit.circuit.library.MCXGate(num_ctrl_qubits=None, label=None, ctrl_state=None, *, duration=None, unit='dt', _base_label=None)` +`qiskit.circuit.library.MCXGate(num_ctrl_qubits=None, label=None, ctrl_state=None, *, duration=None, unit='dt', _base_label=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/x.py "view source code") Bases: [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.controlledgate.ControlledGate") diff --git a/docs/api/qiskit/qiskit.circuit.library.MCXGrayCode.md b/docs/api/qiskit/qiskit.circuit.library.MCXGrayCode.md index 7ca4bbeb39..b7a54907c7 100644 --- a/docs/api/qiskit/qiskit.circuit.library.MCXGrayCode.md +++ b/docs/api/qiskit/qiskit.circuit.library.MCXGrayCode.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.MCXGrayCode -`qiskit.circuit.library.MCXGrayCode(num_ctrl_qubits=None, label=None, ctrl_state=None, *, duration=None, unit='dt', _base_label=None)` +`qiskit.circuit.library.MCXGrayCode(num_ctrl_qubits=None, label=None, ctrl_state=None, *, duration=None, unit='dt', _base_label=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/x.py "view source code") Bases: [`MCXGate`](qiskit.circuit.library.MCXGate "qiskit.circuit.library.standard_gates.x.MCXGate") diff --git a/docs/api/qiskit/qiskit.circuit.library.MCXRecursive.md b/docs/api/qiskit/qiskit.circuit.library.MCXRecursive.md index 01c64d842d..ebe1c08042 100644 --- a/docs/api/qiskit/qiskit.circuit.library.MCXRecursive.md +++ b/docs/api/qiskit/qiskit.circuit.library.MCXRecursive.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.MCXRecursive -`qiskit.circuit.library.MCXRecursive(num_ctrl_qubits=None, label=None, ctrl_state=None, *, duration=None, unit='dt', _base_label=None)` +`qiskit.circuit.library.MCXRecursive(num_ctrl_qubits=None, label=None, ctrl_state=None, *, duration=None, unit='dt', _base_label=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/x.py "view source code") Bases: [`MCXGate`](qiskit.circuit.library.MCXGate "qiskit.circuit.library.standard_gates.x.MCXGate") diff --git a/docs/api/qiskit/qiskit.circuit.library.MCXVChain.md b/docs/api/qiskit/qiskit.circuit.library.MCXVChain.md index 0d5b0d3e5b..095c07c7a0 100644 --- a/docs/api/qiskit/qiskit.circuit.library.MCXVChain.md +++ b/docs/api/qiskit/qiskit.circuit.library.MCXVChain.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.MCXVChain -`qiskit.circuit.library.MCXVChain(num_ctrl_qubits=None, dirty_ancillas=False, label=None, ctrl_state=None, *, duration=None, unit='dt', _base_label=None)` +`qiskit.circuit.library.MCXVChain(num_ctrl_qubits=None, dirty_ancillas=False, label=None, ctrl_state=None, *, duration=None, unit='dt', _base_label=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/x.py "view source code") Bases: [`MCXGate`](qiskit.circuit.library.MCXGate "qiskit.circuit.library.standard_gates.x.MCXGate") diff --git a/docs/api/qiskit/qiskit.circuit.library.MSGate.md b/docs/api/qiskit/qiskit.circuit.library.MSGate.md index 3845bd9da0..900219b2cc 100644 --- a/docs/api/qiskit/qiskit.circuit.library.MSGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.MSGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.MSGate -`qiskit.circuit.library.MSGate(num_qubits, theta, label=None)` +`qiskit.circuit.library.MSGate(num_qubits, theta, label=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/generalized_gates/gms.py "view source code") Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") diff --git a/docs/api/qiskit/qiskit.circuit.library.Measure.md b/docs/api/qiskit/qiskit.circuit.library.Measure.md index 7dbaa91a60..fdf4c6ec68 100644 --- a/docs/api/qiskit/qiskit.circuit.library.Measure.md +++ b/docs/api/qiskit/qiskit.circuit.library.Measure.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.Measure -`qiskit.circuit.library.Measure(label=None, *, duration=None, unit='dt')` +`qiskit.circuit.library.Measure(label=None, *, duration=None, unit='dt')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/measure.py "view source code") Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction") diff --git a/docs/api/qiskit/qiskit.circuit.library.NLocal.md b/docs/api/qiskit/qiskit.circuit.library.NLocal.md index c9adcd629c..7f8f294a04 100644 --- a/docs/api/qiskit/qiskit.circuit.library.NLocal.md +++ b/docs/api/qiskit/qiskit.circuit.library.NLocal.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.NLocal -`qiskit.circuit.library.NLocal(num_qubits=None, rotation_blocks=None, entanglement_blocks=None, entanglement=None, reps=1, insert_barriers=False, parameter_prefix='θ', overwrite_block_parameters=True, skip_final_rotation_layer=False, skip_unentangled_qubits=False, initial_state=None, name='nlocal', flatten=None)` +`qiskit.circuit.library.NLocal(num_qubits=None, rotation_blocks=None, entanglement_blocks=None, entanglement=None, reps=1, insert_barriers=False, parameter_prefix='θ', overwrite_block_parameters=True, skip_final_rotation_layer=False, skip_unentangled_qubits=False, initial_state=None, name='nlocal', flatten=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/n_local/n_local.py "view source code") Bases: `BlueprintCircuit` @@ -157,7 +157,7 @@ If barriers are inserted in between the layers or not. ### instances -`= 221` +`= 183` diff --git a/docs/api/qiskit/qiskit.circuit.library.OR.md b/docs/api/qiskit/qiskit.circuit.library.OR.md index f71516eb66..6d2faef0af 100644 --- a/docs/api/qiskit/qiskit.circuit.library.OR.md +++ b/docs/api/qiskit/qiskit.circuit.library.OR.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.OR -`qiskit.circuit.library.OR(num_variable_qubits, flags=None, mcx_mode='noancilla')` +`qiskit.circuit.library.OR(num_variable_qubits, flags=None, mcx_mode='noancilla')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/boolean_logic/quantum_or.py "view source code") Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") @@ -92,7 +92,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 224` +`= 186` diff --git a/docs/api/qiskit/qiskit.circuit.library.PauliEvolutionGate.md b/docs/api/qiskit/qiskit.circuit.library.PauliEvolutionGate.md index 045c7ffcc6..b0595276aa 100644 --- a/docs/api/qiskit/qiskit.circuit.library.PauliEvolutionGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.PauliEvolutionGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.PauliEvolutionGate -`qiskit.circuit.library.PauliEvolutionGate(operator, time=1.0, label=None, synthesis=None)` +`qiskit.circuit.library.PauliEvolutionGate(operator, time=1.0, label=None, synthesis=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/pauli_evolution.py "view source code") Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") diff --git a/docs/api/qiskit/qiskit.circuit.library.PauliFeatureMap.md b/docs/api/qiskit/qiskit.circuit.library.PauliFeatureMap.md index 445977ce7e..c2556efc90 100644 --- a/docs/api/qiskit/qiskit.circuit.library.PauliFeatureMap.md +++ b/docs/api/qiskit/qiskit.circuit.library.PauliFeatureMap.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.PauliFeatureMap -`qiskit.circuit.library.PauliFeatureMap(feature_dimension=None, reps=2, entanglement='full', alpha=2.0, paulis=None, data_map_func=None, parameter_prefix='x', insert_barriers=False, name='PauliFeatureMap')` +`qiskit.circuit.library.PauliFeatureMap(feature_dimension=None, reps=2, entanglement='full', alpha=2.0, paulis=None, data_map_func=None, parameter_prefix='x', insert_barriers=False, name='PauliFeatureMap')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/data_preparation/pauli_feature_map.py "view source code") Bases: [`NLocal`](qiskit.circuit.library.NLocal "qiskit.circuit.library.n_local.n_local.NLocal") @@ -26,10 +26,10 @@ $$ Here, $S$ is a set of qubit indices that describes the connections in the feature map, $\mathcal{I}$ is a set containing all these index sets, and $P_i \in \{I, X, Y, Z\}$. Per default the data-mapping $\phi_S$ is $$ -\begin{split}\phi_S(\vec{x}) = \begin{cases} +\phi_S(\vec{x}) = \begin{cases} x_i \text{ if } S = \{i\} \\ \prod_{j \in S} (\pi - x_j) \text{ if } |S| > 1 - \end{cases}.\end{split} + \end{cases}. $$ The possible connections can be set using the `entanglement` and `paulis` arguments. For example, for single-qubit $Z$ rotations and two-qubit $YY$ interactions between all qubit pairs, we can set: @@ -220,7 +220,7 @@ If barriers are inserted in between the layers or not. ### instances -`= 229` +`= 191` diff --git a/docs/api/qiskit/qiskit.circuit.library.PauliGate.md b/docs/api/qiskit/qiskit.circuit.library.PauliGate.md index 5b24dac70c..0df193f63e 100644 --- a/docs/api/qiskit/qiskit.circuit.library.PauliGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.PauliGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.PauliGate -`qiskit.circuit.library.PauliGate(label)` +`qiskit.circuit.library.PauliGate(label)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/generalized_gates/pauli.py "view source code") Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") diff --git a/docs/api/qiskit/qiskit.circuit.library.PauliTwoDesign.md b/docs/api/qiskit/qiskit.circuit.library.PauliTwoDesign.md index 8963f83501..1fd2664c11 100644 --- a/docs/api/qiskit/qiskit.circuit.library.PauliTwoDesign.md +++ b/docs/api/qiskit/qiskit.circuit.library.PauliTwoDesign.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.PauliTwoDesign -`qiskit.circuit.library.PauliTwoDesign(num_qubits=None, reps=3, seed=None, insert_barriers=False, name='PauliTwoDesign')` +`qiskit.circuit.library.PauliTwoDesign(num_qubits=None, reps=3, seed=None, insert_barriers=False, name='PauliTwoDesign')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/n_local/pauli_two_design.py "view source code") Bases: [`TwoLocal`](qiskit.circuit.library.TwoLocal "qiskit.circuit.library.n_local.two_local.TwoLocal") @@ -56,17 +56,10 @@ circuit.draw('mpl') **Parameters** -* **num\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *| None*) – The number of qubits of the two-local circuit. -* **rotation\_blocks** – The gates used in the rotation layer. Can be specified via the name of a gate (e.g. `'ry'`) or the gate type itself (e.g. [`RYGate`](qiskit.circuit.library.RYGate "qiskit.circuit.library.RYGate")). If only one gate is provided, the gate same gate is applied to each qubit. If a list of gates is provided, all gates are applied to each qubit in the provided order. See the Examples section for more detail. -* **entanglement\_blocks** – The gates used in the entanglement layer. Can be specified in the same format as `rotation_blocks`. -* **entanglement** – Specifies the entanglement structure. Can be a string (`'full'`, `'linear'`, `'reverse_linear'`, `'circular'` or `'sca'`), a list of integer-pairs specifying the indices of qubits entangled with one another, or a callable returning such a list provided with the index of the entanglement layer. Default to `'full'` entanglement. Note that if `entanglement_blocks = 'cx'`, then `'full'` entanglement provides the same unitary as `'reverse_linear'` but the latter option has fewer entangling gates. See the Examples section for more detail. +* **num\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *| None*) – The number of qubits of the Pauli Two-Design circuit. * **reps** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – Specifies how often a block consisting of a rotation layer and entanglement layer is repeated. -* **skip\_unentangled\_qubits** – If `True`, the single qubit gates are only applied to qubits that are entangled with another qubit. If `False`, the single qubit gates are applied to each qubit in the ansatz. Defaults to `False`. -* **skip\_final\_rotation\_layer** – If `False`, a rotation layer is added at the end of the ansatz. If `True`, no rotation layer is added. -* **parameter\_prefix** – The parameterized gates require a parameter to be defined, for which we use instances of [`Parameter`](qiskit.circuit.Parameter "qiskit.circuit.Parameter"). The name of each parameter will be this specified prefix plus its index. +* **seed** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *| None*) – The seed for randomly choosing the axes of the Pauli rotations. * **insert\_barriers** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – If `True`, barriers are inserted in between each layer. If `False`, no barriers are inserted. Defaults to `False`. -* **initial\_state** – A [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") object to prepend to the circuit. -* **flatten** – Set this to `True` to output a flat circuit instead of nesting it inside multiple layers of gate objects. By default currently the contents of the output circuit will be wrapped in nested objects for cleaner visualization. However, if you’re using this circuit for anything besides visualization its **strongly** recommended to set this flag to `True` to avoid a large performance overhead for parameter binding. ## Attributes @@ -162,7 +155,7 @@ If barriers are inserted in between the layers or not. ### instances -`= 230` +`= 192` diff --git a/docs/api/qiskit/qiskit.circuit.library.Permutation.md b/docs/api/qiskit/qiskit.circuit.library.Permutation.md index 4044757e68..7a8b49e3ad 100644 --- a/docs/api/qiskit/qiskit.circuit.library.Permutation.md +++ b/docs/api/qiskit/qiskit.circuit.library.Permutation.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.Permutation -`qiskit.circuit.library.Permutation(num_qubits, pattern=None, seed=None)` +`qiskit.circuit.library.Permutation(num_qubits, pattern=None, seed=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/generalized_gates/permutation.py "view source code") Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") @@ -94,7 +94,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 248` +`= 210` diff --git a/docs/api/qiskit/qiskit.circuit.library.PermutationGate.md b/docs/api/qiskit/qiskit.circuit.library.PermutationGate.md index e6e09f7c16..ae840a2a30 100644 --- a/docs/api/qiskit/qiskit.circuit.library.PermutationGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.PermutationGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.PermutationGate -`qiskit.circuit.library.PermutationGate(pattern)` +`qiskit.circuit.library.PermutationGate(pattern)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/generalized_gates/permutation.py "view source code") Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") diff --git a/docs/api/qiskit/qiskit.circuit.library.PhaseEstimation.md b/docs/api/qiskit/qiskit.circuit.library.PhaseEstimation.md index 0b073cf887..dd41f42679 100644 --- a/docs/api/qiskit/qiskit.circuit.library.PhaseEstimation.md +++ b/docs/api/qiskit/qiskit.circuit.library.PhaseEstimation.md @@ -10,13 +10,13 @@ python_api_name: qiskit.circuit.library.PhaseEstimation -`qiskit.circuit.library.PhaseEstimation(num_evaluation_qubits, unitary, iqft=None, name='QPE')` +`qiskit.circuit.library.PhaseEstimation(num_evaluation_qubits, unitary, iqft=None, name='QPE')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/phase_estimation.py "view source code") Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") Phase Estimation circuit. -In the Quantum Phase Estimation (QPE) algorithm \[1, 2, 3], the Phase Estimation circuit is used to estimate the phase $\phi$ of an eigenvalue $e^{2\pi i\phi}$ of a unitary operator $U$, provided with the corresponding eigenstate $|psi\rangle$. That is +In the Quantum Phase Estimation (QPE) algorithm \[1, 2, 3], the Phase Estimation circuit is used to estimate the phase $\phi$ of an eigenvalue $e^{2\pi i\phi}$ of a unitary operator $U$, provided with the corresponding eigenstate $|\psi\rangle$. That is $$ U|\psi\rangle = e^{2\pi i\phi} |\psi\rangle @@ -36,7 +36,7 @@ Quantum Computation and Quantum Information: 10th Anniversary Edition (10th ed.) **\[3]: Qiskit** -[textbook](https://learn.qiskit.org/course/ch-algorithms/quantum-phase-estimation) +[textbook](https://github.com/Qiskit/textbook/blob/main/notebooks/ch-algorithms/quantum-phase-estimation.ipynb) **Parameters** @@ -111,7 +111,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 302` +`= 264` diff --git a/docs/api/qiskit/qiskit.circuit.library.PhaseGate.md b/docs/api/qiskit/qiskit.circuit.library.PhaseGate.md index 833e226e46..7ba7ce5a0d 100644 --- a/docs/api/qiskit/qiskit.circuit.library.PhaseGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.PhaseGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.PhaseGate -`qiskit.circuit.library.PhaseGate(theta, label=None, *, duration=None, unit='dt')` +`qiskit.circuit.library.PhaseGate(theta, label=None, *, duration=None, unit='dt')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/p.py "view source code") Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") @@ -31,11 +31,11 @@ q_0: ┤ P(λ) ├ **Matrix Representation:** $$ -\begin{split}P(\lambda) = +P(\lambda) = \begin{pmatrix} 1 & 0 \\ 0 & e^{i\lambda} - \end{pmatrix}\end{split} + \end{pmatrix} $$ **Examples:** diff --git a/docs/api/qiskit/qiskit.circuit.library.PhaseOracle.md b/docs/api/qiskit/qiskit.circuit.library.PhaseOracle.md index 1aa2c17f40..fea1809c27 100644 --- a/docs/api/qiskit/qiskit.circuit.library.PhaseOracle.md +++ b/docs/api/qiskit/qiskit.circuit.library.PhaseOracle.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.PhaseOracle -`qiskit.circuit.library.PhaseOracle(expression, synthesizer=None, var_order=None)` +`qiskit.circuit.library.PhaseOracle(expression, synthesizer=None, var_order=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/phase_oracle.py "view source code") Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") @@ -88,7 +88,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 304` +`= 266` diff --git a/docs/api/qiskit/qiskit.circuit.library.PiecewiseChebyshev.md b/docs/api/qiskit/qiskit.circuit.library.PiecewiseChebyshev.md index 17cc33201d..11f3b2c7a9 100644 --- a/docs/api/qiskit/qiskit.circuit.library.PiecewiseChebyshev.md +++ b/docs/api/qiskit/qiskit.circuit.library.PiecewiseChebyshev.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.PiecewiseChebyshev -`qiskit.circuit.library.PiecewiseChebyshev(f_x, degree=None, breakpoints=None, num_state_qubits=None, name='pw_cheb')` +`qiskit.circuit.library.PiecewiseChebyshev(f_x, degree=None, breakpoints=None, num_state_qubits=None, name='pw_cheb')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/arithmetic/piecewise_chebyshev.py "view source code") Bases: `BlueprintCircuit` @@ -133,7 +133,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 306` +`= 268` diff --git a/docs/api/qiskit/qiskit.circuit.library.PiecewiseLinearPauliRotations.md b/docs/api/qiskit/qiskit.circuit.library.PiecewiseLinearPauliRotations.md index 01e28a133a..2ca0a368dd 100644 --- a/docs/api/qiskit/qiskit.circuit.library.PiecewiseLinearPauliRotations.md +++ b/docs/api/qiskit/qiskit.circuit.library.PiecewiseLinearPauliRotations.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.PiecewiseLinearPauliRotations -`qiskit.circuit.library.PiecewiseLinearPauliRotations(num_state_qubits=None, breakpoints=None, slopes=None, offsets=None, basis='Y', name='pw_lin')` +`qiskit.circuit.library.PiecewiseLinearPauliRotations(num_state_qubits=None, breakpoints=None, slopes=None, offsets=None, basis='Y', name='pw_lin')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/arithmetic/piecewise_linear_pauli_rotations.py "view source code") Bases: [`FunctionalPauliRotations`](qiskit.circuit.library.FunctionalPauliRotations "qiskit.circuit.library.arithmetic.functional_pauli_rotations.FunctionalPauliRotations") @@ -19,10 +19,10 @@ Piecewise-linearly-controlled Pauli rotations. For a piecewise linear (not necessarily continuous) function $f(x)$, which is defined through breakpoints, slopes and offsets as follows. Suppose the breakpoints $(x_0, ..., x_J)$ are a subset of $[0, 2^n-1]$, where $n$ is the number of state qubits. Further on, denote the corresponding slopes and offsets by $a_j$ and $b_j$ respectively. Then f(x) is defined as: $$ -\begin{split}f(x) = \begin{cases} +f(x) = \begin{cases} 0, x < x_0 \\ a_j (x - x_j) + b_j, x_j \leq x < x_{j+1} - \end{cases}\end{split} + \end{cases} $$ where we implicitly assume $x_{J+1} = 2^n$. @@ -116,7 +116,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 366` +`= 328` diff --git a/docs/api/qiskit/qiskit.circuit.library.PiecewisePolynomialPauliRotations.md b/docs/api/qiskit/qiskit.circuit.library.PiecewisePolynomialPauliRotations.md index b4d7887e9b..6959dccbb8 100644 --- a/docs/api/qiskit/qiskit.circuit.library.PiecewisePolynomialPauliRotations.md +++ b/docs/api/qiskit/qiskit.circuit.library.PiecewisePolynomialPauliRotations.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.PiecewisePolynomialPauliRotations -`qiskit.circuit.library.PiecewisePolynomialPauliRotations(num_state_qubits=None, breakpoints=None, coeffs=None, basis='Y', name='pw_poly')` +`qiskit.circuit.library.PiecewisePolynomialPauliRotations(num_state_qubits=None, breakpoints=None, coeffs=None, basis='Y', name='pw_poly')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/arithmetic/piecewise_polynomial_pauli_rotations.py "view source code") Bases: [`FunctionalPauliRotations`](qiskit.circuit.library.FunctionalPauliRotations "qiskit.circuit.library.arithmetic.functional_pauli_rotations.FunctionalPauliRotations") @@ -21,10 +21,10 @@ This class implements a piecewise polynomial (not necessarily continuous) functi Then $f(x)$ is defined as: $$ -\begin{split}f(x) = \begin{cases} +f(x) = \begin{cases} 0, x < x_0 \\ \sum_{i=0}^{i=d}a_{j,i}/2 x^i, x_j \leq x < x_{j+1} - \end{cases}\end{split} + \end{cases} $$ where if given the same number of breakpoints as polynomials, we implicitly assume $x_{J+1} = 2^n$. @@ -174,7 +174,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 306` +`= 268` diff --git a/docs/api/qiskit/qiskit.circuit.library.PolynomialPauliRotations.md b/docs/api/qiskit/qiskit.circuit.library.PolynomialPauliRotations.md index b34067be9c..9ab40ea798 100644 --- a/docs/api/qiskit/qiskit.circuit.library.PolynomialPauliRotations.md +++ b/docs/api/qiskit/qiskit.circuit.library.PolynomialPauliRotations.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.PolynomialPauliRotations -`qiskit.circuit.library.PolynomialPauliRotations(num_state_qubits=None, coeffs=None, basis='Y', name='poly')` +`qiskit.circuit.library.PolynomialPauliRotations(num_state_qubits=None, coeffs=None, basis='Y', name='poly')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/arithmetic/polynomial_pauli_rotations.py "view source code") Bases: [`FunctionalPauliRotations`](qiskit.circuit.library.FunctionalPauliRotations "qiskit.circuit.library.arithmetic.functional_pauli_rotations.FunctionalPauliRotations") @@ -134,7 +134,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 309` +`= 271` diff --git a/docs/api/qiskit/qiskit.circuit.library.QAOAAnsatz.md b/docs/api/qiskit/qiskit.circuit.library.QAOAAnsatz.md index c39108ade6..8d3b6a9ea9 100644 --- a/docs/api/qiskit/qiskit.circuit.library.QAOAAnsatz.md +++ b/docs/api/qiskit/qiskit.circuit.library.QAOAAnsatz.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.QAOAAnsatz -`qiskit.circuit.library.QAOAAnsatz(cost_operator=None, reps=1, initial_state=None, mixer_operator=None, name='QAOA', flatten=None)` +`qiskit.circuit.library.QAOAAnsatz(cost_operator=None, reps=1, initial_state=None, mixer_operator=None, name='QAOA', flatten=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/n_local/qaoa_ansatz.py "view source code") Bases: [`EvolvedOperatorAnsatz`](qiskit.circuit.library.EvolvedOperatorAnsatz "qiskit.circuit.library.evolved_operator_ansatz.EvolvedOperatorAnsatz") @@ -149,7 +149,7 @@ If barriers are inserted in between the layers or not. ### instances -`= 366` +`= 328` diff --git a/docs/api/qiskit/qiskit.circuit.library.QFT.md b/docs/api/qiskit/qiskit.circuit.library.QFT.md index d47c0775cd..d888555ab8 100644 --- a/docs/api/qiskit/qiskit.circuit.library.QFT.md +++ b/docs/api/qiskit/qiskit.circuit.library.QFT.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.QFT -`qiskit.circuit.library.QFT(num_qubits=None, approximation_degree=0, do_swaps=True, inverse=False, insert_barriers=False, name=None)` +`qiskit.circuit.library.QFT(num_qubits=None, approximation_degree=0, do_swaps=True, inverse=False, insert_barriers=False, name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/basis_change/qft.py "view source code") Bases: `BlueprintCircuit` @@ -127,7 +127,7 @@ True, if barriers are inserted, False if not. ### instances -`= 264` +`= 226` diff --git a/docs/api/qiskit/qiskit.circuit.library.QuadraticForm.md b/docs/api/qiskit/qiskit.circuit.library.QuadraticForm.md index d4ed4c7a3a..dc0618c675 100644 --- a/docs/api/qiskit/qiskit.circuit.library.QuadraticForm.md +++ b/docs/api/qiskit/qiskit.circuit.library.QuadraticForm.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.QuadraticForm -`qiskit.circuit.library.QuadraticForm(num_result_qubits=None, quadratic=None, linear=None, offset=None, little_endian=True)` +`qiskit.circuit.library.QuadraticForm(num_result_qubits=None, quadratic=None, linear=None, offset=None, little_endian=True)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/arithmetic/quadratic_form.py "view source code") Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") @@ -113,7 +113,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 378` +`= 340` diff --git a/docs/api/qiskit/qiskit.circuit.library.QuantumVolume.md b/docs/api/qiskit/qiskit.circuit.library.QuantumVolume.md index a00540f4e1..0ebf595064 100644 --- a/docs/api/qiskit/qiskit.circuit.library.QuantumVolume.md +++ b/docs/api/qiskit/qiskit.circuit.library.QuantumVolume.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.QuantumVolume -`qiskit.circuit.library.QuantumVolume(num_qubits, depth=None, seed=None, classical_permutation=True)` +`qiskit.circuit.library.QuantumVolume(num_qubits, depth=None, seed=None, classical_permutation=True)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/quantum_volume.py "view source code") Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") @@ -99,7 +99,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 162` +`= 343` diff --git a/docs/api/qiskit/qiskit.circuit.library.RC3XGate.md b/docs/api/qiskit/qiskit.circuit.library.RC3XGate.md index 6cc1625446..9d953d0374 100644 --- a/docs/api/qiskit/qiskit.circuit.library.RC3XGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.RC3XGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.RC3XGate -`qiskit.circuit.library.RC3XGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.library.RC3XGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/x.py "view source code") Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") diff --git a/docs/api/qiskit/qiskit.circuit.library.RCCXGate.md b/docs/api/qiskit/qiskit.circuit.library.RCCXGate.md index 885f07426b..8c56065d43 100644 --- a/docs/api/qiskit/qiskit.circuit.library.RCCXGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.RCCXGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.RCCXGate -`qiskit.circuit.library.RCCXGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.library.RCCXGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/x.py "view source code") Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") diff --git a/docs/api/qiskit/qiskit.circuit.library.RGQFTMultiplier.md b/docs/api/qiskit/qiskit.circuit.library.RGQFTMultiplier.md index a00df82778..c1fa5648d3 100644 --- a/docs/api/qiskit/qiskit.circuit.library.RGQFTMultiplier.md +++ b/docs/api/qiskit/qiskit.circuit.library.RGQFTMultiplier.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.RGQFTMultiplier -`qiskit.circuit.library.RGQFTMultiplier(num_state_qubits, num_result_qubits=None, name='RGQFTMultiplier')` +`qiskit.circuit.library.RGQFTMultiplier(num_state_qubits, num_result_qubits=None, name='RGQFTMultiplier')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/arithmetic/multipliers/rg_qft_multiplier.py "view source code") Bases: `Multiplier` @@ -101,7 +101,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 293` +`= 474` diff --git a/docs/api/qiskit/qiskit.circuit.library.RGate.md b/docs/api/qiskit/qiskit.circuit.library.RGate.md index 68954bfaf3..8a8ccc74a4 100644 --- a/docs/api/qiskit/qiskit.circuit.library.RGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.RGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.RGate -`qiskit.circuit.library.RGate(theta, phi, label=None, *, duration=None, unit='dt')` +`qiskit.circuit.library.RGate(theta, phi, label=None, *, duration=None, unit='dt')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/r.py "view source code") Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") @@ -29,11 +29,13 @@ q_0: ┤ R(ϴ) ├ **Matrix Representation:** $$ - \begin{align}\begin{aligned}\newcommand{\th}{\frac{\theta}{2}}\\\begin{split}R(\theta, \phi) = e^{-i \th \left(\cos{\phi} x + \sin{\phi} y\right)} = +\newcommand{\rotationangle}{\frac{\theta}{2}} + +R(\theta, \phi) = e^{-i \rotationangle \left(\cos{\phi} x + \sin{\phi} y\right)} = \begin{pmatrix} - \cos\left(\th\right) & -i e^{-i \phi} \sin\left(\th\right) \\ - -i e^{i \phi} \sin\left(\th\right) & \cos\left(\th\right) - \end{pmatrix}\end{split}\end{aligned}\end{align} + \cos\left(\rotationangle\right) & -i e^{-i \phi} \sin\left(\rotationangle\right) \\ + -i e^{i \phi} \sin\left(\rotationangle\right) & \cos\left(\rotationangle\right) + \end{pmatrix} $$ Create new r single-qubit gate. diff --git a/docs/api/qiskit/qiskit.circuit.library.RVGate.md b/docs/api/qiskit/qiskit.circuit.library.RVGate.md index d4cf72b3b2..ced6c33df2 100644 --- a/docs/api/qiskit/qiskit.circuit.library.RVGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.RVGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.RVGate -`qiskit.circuit.library.RVGate(v_x, v_y, v_z, basis='U')` +`qiskit.circuit.library.RVGate(v_x, v_y, v_z, basis='U')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/generalized_gates/rv.py "view source code") Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") @@ -29,15 +29,15 @@ q_0: ┤ RV(v_x,v_y,v_z) ├ **Matrix Representation:** $$ -\begin{split}\newcommand{\th}{|\vec{v}|} +\newcommand{\rotationangle}{|\vec{v}|} \newcommand{\sinc}{\text{sinc}} R(\vec{v}) = e^{-i \vec{v}\cdot\vec{\sigma}} = \begin{pmatrix} - \cos\left(\th\right) -i v_z \sinc\left(\th\right) - & -(i v_x + v_y) \sinc\left(\th\right) \\ - -(i v_x - v_y) \sinc\left(\th\right) - & \cos\left(\th\right) + i v_z \sinc\left(\th\right) - \end{pmatrix}\end{split} + \cos\left(\rotationangle\right) -i v_z \sinc\left(\rotationangle\right) + & -(i v_x + v_y) \sinc\left(\rotationangle\right) \\ + -(i v_x - v_y) \sinc\left(\rotationangle\right) + & \cos\left(\rotationangle\right) + i v_z \sinc\left(\rotationangle\right) + \end{pmatrix} $$ Create new rv single-qubit gate. diff --git a/docs/api/qiskit/qiskit.circuit.library.RXGate.md b/docs/api/qiskit/qiskit.circuit.library.RXGate.md index 64058b9952..f0e5ce0284 100644 --- a/docs/api/qiskit/qiskit.circuit.library.RXGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.RXGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.RXGate -`qiskit.circuit.library.RXGate(theta, label=None, *, duration=None, unit='dt')` +`qiskit.circuit.library.RXGate(theta, label=None, *, duration=None, unit='dt')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/rx.py "view source code") Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") @@ -29,11 +29,13 @@ q_0: ┤ Rx(ϴ) ├ **Matrix Representation:** $$ - \begin{align}\begin{aligned}\newcommand{\th}{\frac{\theta}{2}}\\\begin{split}RX(\theta) = \exp\left(-i \th X\right) = +\newcommand{\rotationangle}{\frac{\theta}{2}} + +RX(\theta) = \exp\left(-i \rotationangle X\right) = \begin{pmatrix} - \cos\left(\th\right) & -i\sin\left(\th\right) \\ - -i\sin\left(\th\right) & \cos\left(\th\right) - \end{pmatrix}\end{split}\end{aligned}\end{align} + \cos\left(\rotationangle\right) & -i\sin\left(\rotationangle\right) \\ + -i\sin\left(\rotationangle\right) & \cos\left(\rotationangle\right) + \end{pmatrix} $$ Create new RX gate. diff --git a/docs/api/qiskit/qiskit.circuit.library.RXXGate.md b/docs/api/qiskit/qiskit.circuit.library.RXXGate.md index 7eefd92c19..24061aa495 100644 --- a/docs/api/qiskit/qiskit.circuit.library.RXXGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.RXXGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.RXXGate -`qiskit.circuit.library.RXXGate(theta, label=None, *, duration=None, unit='dt')` +`qiskit.circuit.library.RXXGate(theta, label=None, *, duration=None, unit='dt')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/rxx.py "view source code") Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") @@ -33,13 +33,15 @@ q_1: ┤0 ├ **Matrix Representation:** $$ - \begin{align}\begin{aligned}\newcommand{\th}{\frac{\theta}{2}}\\\begin{split}R_{XX}(\theta) = \exp\left(-i \th X{\otimes}X\right) = +\newcommand{\rotationangle}{\frac{\theta}{2}} + +R_{XX}(\theta) = \exp\left(-i \rotationangle X{\otimes}X\right) = \begin{pmatrix} - \cos\left(\th\right) & 0 & 0 & -i\sin\left(\th\right) \\ - 0 & \cos\left(\th\right) & -i\sin\left(\th\right) & 0 \\ - 0 & -i\sin\left(\th\right) & \cos\left(\th\right) & 0 \\ - -i\sin\left(\th\right) & 0 & 0 & \cos\left(\th\right) - \end{pmatrix}\end{split}\end{aligned}\end{align} + \cos\left(\rotationangle\right) & 0 & 0 & -i\sin\left(\rotationangle\right) \\ + 0 & \cos\left(\rotationangle\right) & -i\sin\left(\rotationangle\right) & 0 \\ + 0 & -i\sin\left(\rotationangle\right) & \cos\left(\rotationangle\right) & 0 \\ + -i\sin\left(\rotationangle\right) & 0 & 0 & \cos\left(\rotationangle\right) + \end{pmatrix} $$ **Examples:** @@ -53,13 +55,13 @@ $$ > $$ > > $$ -> \begin{split}R_{XX}\left(\theta = \frac{\pi}{2}\right) = \frac{1}{\sqrt{2}} +> R_{XX}\left(\theta = \frac{\pi}{2}\right) = \frac{1}{\sqrt{2}} > \begin{pmatrix} > 1 & 0 & 0 & -i \\ > 0 & 1 & -i & 0 \\ > 0 & -i & 1 & 0 \\ > -i & 0 & 0 & 1 -> \end{pmatrix}\end{split} +> \end{pmatrix} > $$ Create new RXX gate. diff --git a/docs/api/qiskit/qiskit.circuit.library.RYGate.md b/docs/api/qiskit/qiskit.circuit.library.RYGate.md index 9bfaba2a6c..3c79f9edb3 100644 --- a/docs/api/qiskit/qiskit.circuit.library.RYGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.RYGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.RYGate -`qiskit.circuit.library.RYGate(theta, label=None, *, duration=None, unit='dt')` +`qiskit.circuit.library.RYGate(theta, label=None, *, duration=None, unit='dt')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/ry.py "view source code") Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") @@ -29,11 +29,13 @@ q_0: ┤ Ry(ϴ) ├ **Matrix Representation:** $$ - \begin{align}\begin{aligned}\newcommand{\th}{\frac{\theta}{2}}\\\begin{split}RY(\theta) = \exp\left(-i \th Y\right) = +\newcommand{\rotationangle}{\frac{\theta}{2}} + +RY(\theta) = \exp\left(-i \rotationangle Y\right) = \begin{pmatrix} - \cos\left(\th\right) & -\sin\left(\th\right) \\ - \sin\left(\th\right) & \cos\left(\th\right) - \end{pmatrix}\end{split}\end{aligned}\end{align} + \cos\left(\rotationangle\right) & -\sin\left(\rotationangle\right) \\ + \sin\left(\rotationangle\right) & \cos\left(\rotationangle\right) + \end{pmatrix} $$ Create new RY gate. diff --git a/docs/api/qiskit/qiskit.circuit.library.RYYGate.md b/docs/api/qiskit/qiskit.circuit.library.RYYGate.md index e375d2d21c..5cf099df23 100644 --- a/docs/api/qiskit/qiskit.circuit.library.RYYGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.RYYGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.RYYGate -`qiskit.circuit.library.RYYGate(theta, label=None, *, duration=None, unit='dt')` +`qiskit.circuit.library.RYYGate(theta, label=None, *, duration=None, unit='dt')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/ryy.py "view source code") Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") @@ -33,13 +33,15 @@ q_1: ┤0 ├ **Matrix Representation:** $$ - \begin{align}\begin{aligned}\newcommand{\th}{\frac{\theta}{2}}\\\begin{split}R_{YY}(\theta) = \exp\left(-i \th Y{\otimes}Y\right) = +\newcommand{\rotationangle}{\frac{\theta}{2}} + +R_{YY}(\theta) = \exp\left(-i \rotationangle Y{\otimes}Y\right) = \begin{pmatrix} - \cos\left(\th\right) & 0 & 0 & i\sin\left(\th\right) \\ - 0 & \cos\left(\th\right) & -i\sin\left(\th\right) & 0 \\ - 0 & -i\sin\left(\th\right) & \cos\left(\th\right) & 0 \\ - i\sin\left(\th\right) & 0 & 0 & \cos\left(\th\right) - \end{pmatrix}\end{split}\end{aligned}\end{align} + \cos\left(\rotationangle\right) & 0 & 0 & i\sin\left(\rotationangle\right) \\ + 0 & \cos\left(\rotationangle\right) & -i\sin\left(\rotationangle\right) & 0 \\ + 0 & -i\sin\left(\rotationangle\right) & \cos\left(\rotationangle\right) & 0 \\ + i\sin\left(\rotationangle\right) & 0 & 0 & \cos\left(\rotationangle\right) + \end{pmatrix} $$ **Examples:** @@ -53,13 +55,13 @@ $$ > $$ > > $$ -> \begin{split}R_{YY}\left(\theta = \frac{\pi}{2}\right) = \frac{1}{\sqrt{2}} +> R_{YY}\left(\theta = \frac{\pi}{2}\right) = \frac{1}{\sqrt{2}} > \begin{pmatrix} > 1 & 0 & 0 & i \\ > 0 & 1 & -i & 0 \\ > 0 & -i & 1 & 0 \\ > i & 0 & 0 & 1 -> \end{pmatrix}\end{split} +> \end{pmatrix} > $$ Create new RYY gate. diff --git a/docs/api/qiskit/qiskit.circuit.library.RZGate.md b/docs/api/qiskit/qiskit.circuit.library.RZGate.md index ea936edc54..0df7f8ba42 100644 --- a/docs/api/qiskit/qiskit.circuit.library.RZGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.RZGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.RZGate -`qiskit.circuit.library.RZGate(phi, label=None, *, duration=None, unit='dt')` +`qiskit.circuit.library.RZGate(phi, label=None, *, duration=None, unit='dt')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/rz.py "view source code") Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") @@ -31,11 +31,11 @@ q_0: ┤ Rz(λ) ├ **Matrix Representation:** $$ -\begin{split}RZ(\lambda) = \exp\left(-i\frac{\lambda}{2}Z\right) = +RZ(\lambda) = \exp\left(-i\frac{\lambda}{2}Z\right) = \begin{pmatrix} e^{-i\frac{\lambda}{2}} & 0 \\ 0 & e^{i\frac{\lambda}{2}} - \end{pmatrix}\end{split} + \end{pmatrix} $$ diff --git a/docs/api/qiskit/qiskit.circuit.library.RZXGate.md b/docs/api/qiskit/qiskit.circuit.library.RZXGate.md index d9d00fb269..c207023711 100644 --- a/docs/api/qiskit/qiskit.circuit.library.RZXGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.RZXGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.RZXGate -`qiskit.circuit.library.RZXGate(theta, label=None, *, duration=None, unit='dt')` +`qiskit.circuit.library.RZXGate(theta, label=None, *, duration=None, unit='dt')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/rzx.py "view source code") Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") @@ -35,13 +35,15 @@ q_1: ┤1 ├ **Matrix Representation:** $$ - \begin{align}\begin{aligned}\newcommand{\th}{\frac{\theta}{2}}\\\begin{split}R_{ZX}(\theta)\ q_0, q_1 = \exp\left(-i \frac{\theta}{2} X{\otimes}Z\right) = +\newcommand{\rotationangle}{\frac{\theta}{2}} + +R_{ZX}(\theta)\ q_0, q_1 = \exp\left(-i \frac{\theta}{2} X{\otimes}Z\right) = \begin{pmatrix} - \cos\left(\th\right) & 0 & -i\sin\left(\th\right) & 0 \\ - 0 & \cos\left(\th\right) & 0 & i\sin\left(\th\right) \\ - -i\sin\left(\th\right) & 0 & \cos\left(\th\right) & 0 \\ - 0 & i\sin\left(\th\right) & 0 & \cos\left(\th\right) - \end{pmatrix}\end{split}\end{aligned}\end{align} + \cos\left(\rotationangle\right) & 0 & -i\sin\left(\rotationangle\right) & 0 \\ + 0 & \cos\left(\rotationangle\right) & 0 & i\sin\left(\rotationangle\right) \\ + -i\sin\left(\rotationangle\right) & 0 & \cos\left(\rotationangle\right) & 0 \\ + 0 & i\sin\left(\rotationangle\right) & 0 & \cos\left(\rotationangle\right) + \end{pmatrix} $$ @@ -56,23 +58,25 @@ $$ ``` $$ - \begin{align}\begin{aligned}\newcommand{\th}{\frac{\theta}{2}}\\\begin{split}R_{ZX}(\theta)\ q_1, q_0 = exp(-i \frac{\theta}{2} Z{\otimes}X) = + \newcommand{\rotationangle}{\frac{\theta}{2}} + + R_{ZX}(\theta)\ q_1, q_0 = exp(-i \frac{\theta}{2} Z{\otimes}X) = \begin{pmatrix} - \cos(\th) & -i\sin(\th) & 0 & 0 \\ - -i\sin(\th) & \cos(\th) & 0 & 0 \\ - 0 & 0 & \cos(\th) & i\sin(\th) \\ - 0 & 0 & i\sin(\th) & \cos(\th) - \end{pmatrix}\end{split}\end{aligned}\end{align} + \cos(\rotationangle) & -i\sin(\rotationangle) & 0 & 0 \\ + -i\sin(\rotationangle) & \cos(\rotationangle) & 0 & 0 \\ + 0 & 0 & \cos(\rotationangle) & i\sin(\rotationangle) \\ + 0 & 0 & i\sin(\rotationangle) & \cos(\rotationangle) + \end{pmatrix} $$ This is a direct sum of RX rotations, so this gate is equivalent to a uniformly controlled (multiplexed) RX gate: $$ - \begin{split}R_{ZX}(\theta)\ q_1, q_0 = + R_{ZX}(\theta)\ q_1, q_0 = \begin{pmatrix} RX(\theta) & 0 \\ 0 & RX(-\theta) - \end{pmatrix}\end{split} + \end{pmatrix} $$ @@ -91,13 +95,13 @@ $$ > $$ > > $$ -> \begin{split}RZX(\theta = \frac{\pi}{2}) = \frac{1}{\sqrt{2}} +> RZX(\theta = \frac{\pi}{2}) = \frac{1}{\sqrt{2}} > \begin{pmatrix} > 1 & 0 & -i & 0 \\ > 0 & 1 & 0 & i \\ > -i & 0 & 1 & 0 \\ > 0 & i & 0 & 1 -> \end{pmatrix}\end{split} +> \end{pmatrix} > $$ Create new RZX gate. diff --git a/docs/api/qiskit/qiskit.circuit.library.RZZGate.md b/docs/api/qiskit/qiskit.circuit.library.RZZGate.md index 045220bf01..9192cf789b 100644 --- a/docs/api/qiskit/qiskit.circuit.library.RZZGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.RZZGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.RZZGate -`qiskit.circuit.library.RZZGate(theta, label=None, *, duration=None, unit='dt')` +`qiskit.circuit.library.RZZGate(theta, label=None, *, duration=None, unit='dt')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/rzz.py "view source code") Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") @@ -31,23 +31,25 @@ q_1: ───■──── **Matrix Representation:** $$ - \begin{align}\begin{aligned}\newcommand{\th}{\frac{\theta}{2}}\\\begin{split}R_{ZZ}(\theta) = \exp\left(-i \th Z{\otimes}Z\right) = +\newcommand{\rotationangle}{\frac{\theta}{2}} + +R_{ZZ}(\theta) = \exp\left(-i \rotationangle Z{\otimes}Z\right) = \begin{pmatrix} - e^{-i \th} & 0 & 0 & 0 \\ - 0 & e^{i \th} & 0 & 0 \\ - 0 & 0 & e^{i \th} & 0 \\ - 0 & 0 & 0 & e^{-i \th} - \end{pmatrix}\end{split}\end{aligned}\end{align} + e^{-i \rotationangle} & 0 & 0 & 0 \\ + 0 & e^{i \rotationangle} & 0 & 0 \\ + 0 & 0 & e^{i \rotationangle} & 0 \\ + 0 & 0 & 0 & e^{-i \rotationangle} + \end{pmatrix} $$ This is a direct sum of RZ rotations, so this gate is equivalent to a uniformly controlled (multiplexed) RZ gate: $$ -\begin{split}R_{ZZ}(\theta) = +R_{ZZ}(\theta) = \begin{pmatrix} RZ(\theta) & 0 \\ 0 & RZ(-\theta) - \end{pmatrix}\end{split} + \end{pmatrix} $$ **Examples:** @@ -65,13 +67,13 @@ $$ > $$ > > $$ -> \begin{split}R_{ZZ}\left(\theta = \frac{\pi}{2}\right) = \frac{1}{\sqrt{2}} +> R_{ZZ}\left(\theta = \frac{\pi}{2}\right) = \frac{1}{\sqrt{2}} > \begin{pmatrix} > 1-i & 0 & 0 & 0 \\ > 0 & 1+i & 0 & 0 \\ > 0 & 0 & 1+i & 0 \\ > 0 & 0 & 0 & 1-i -> \end{pmatrix}\end{split} +> \end{pmatrix} > $$ Create new RZZ gate. diff --git a/docs/api/qiskit/qiskit.circuit.library.RealAmplitudes.md b/docs/api/qiskit/qiskit.circuit.library.RealAmplitudes.md index bfc94df0a3..a3698ff83b 100644 --- a/docs/api/qiskit/qiskit.circuit.library.RealAmplitudes.md +++ b/docs/api/qiskit/qiskit.circuit.library.RealAmplitudes.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.RealAmplitudes -`qiskit.circuit.library.RealAmplitudes(num_qubits=None, entanglement='reverse_linear', reps=3, skip_unentangled_qubits=False, skip_final_rotation_layer=False, parameter_prefix='θ', insert_barriers=False, initial_state=None, name='RealAmplitudes', flatten=None)` +`qiskit.circuit.library.RealAmplitudes(num_qubits=None, entanglement='reverse_linear', reps=3, skip_unentangled_qubits=False, skip_final_rotation_layer=False, parameter_prefix='θ', insert_barriers=False, initial_state=None, name='RealAmplitudes', flatten=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/n_local/real_amplitudes.py "view source code") Bases: [`TwoLocal`](qiskit.circuit.library.TwoLocal "qiskit.circuit.library.n_local.two_local.TwoLocal") @@ -110,7 +110,6 @@ q_3: ┤ RY(θ[2]) ├┤ X ├┤ RY(θ[5]) ├────────── * **entanglement** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *|*[*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]] | Callable\[\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*],* [*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]]*) – Specifies the entanglement structure. Can be a string (‘full’, ‘linear’ ‘reverse\_linear, ‘circular’ or ‘sca’), a list of integer-pairs specifying the indices of qubits entangled with one another, or a callable returning such a list provided with the index of the entanglement layer. Default to ‘reverse\_linear’ entanglement. Note that ‘reverse\_linear’ entanglement provides the same unitary as ‘full’ with fewer entangling gates. See the Examples section of [`TwoLocal`](qiskit.circuit.library.TwoLocal "qiskit.circuit.library.TwoLocal") for more detail. * **initial\_state** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") *| None*) – A QuantumCircuit object to prepend to the circuit. * **skip\_unentangled\_qubits** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – If True, the single qubit gates are only applied to qubits that are entangled with another qubit. If False, the single qubit gates are applied to each qubit in the Ansatz. Defaults to False. -* **skip\_unentangled\_qubits** – If True, the single qubit gates are only applied to qubits that are entangled with another qubit. If False, the single qubit gates are applied to each qubit in the Ansatz. Defaults to False. * **skip\_final\_rotation\_layer** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – If False, a rotation layer is added at the end of the ansatz. If True, no rotation layer is added. * **parameter\_prefix** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – The parameterized gates require a parameter to be defined, for which we use [`ParameterVector`](qiskit.circuit.ParameterVector "qiskit.circuit.ParameterVector"). * **insert\_barriers** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – If True, barriers are inserted in between each layer. If False, no barriers are inserted. @@ -210,7 +209,7 @@ If barriers are inserted in between the layers or not. ### instances -`= 293` +`= 159` diff --git a/docs/api/qiskit/qiskit.circuit.library.Reset.md b/docs/api/qiskit/qiskit.circuit.library.Reset.md index 4bee3f2cfd..73b4339221 100644 --- a/docs/api/qiskit/qiskit.circuit.library.Reset.md +++ b/docs/api/qiskit/qiskit.circuit.library.Reset.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.Reset -`qiskit.circuit.library.Reset(label=None, *, duration=None, unit='dt')` +`qiskit.circuit.library.Reset(label=None, *, duration=None, unit='dt')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/reset.py "view source code") Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction") diff --git a/docs/api/qiskit/qiskit.circuit.library.SGate.md b/docs/api/qiskit/qiskit.circuit.library.SGate.md index 5ccf6fe6d8..1aa1ed685e 100644 --- a/docs/api/qiskit/qiskit.circuit.library.SGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.SGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.SGate -`qiskit.circuit.library.SGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.library.SGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/s.py "view source code") Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") @@ -25,10 +25,10 @@ Can be applied to a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.cir **Matrix Representation:** $$ -\begin{split}S = \begin{pmatrix} +S = \begin{pmatrix} 1 & 0 \\ 0 & i - \end{pmatrix}\end{split} + \end{pmatrix} $$ **Circuit symbol:** diff --git a/docs/api/qiskit/qiskit.circuit.library.SXGate.md b/docs/api/qiskit/qiskit.circuit.library.SXGate.md index 96a7e37043..38dc8dbdd1 100644 --- a/docs/api/qiskit/qiskit.circuit.library.SXGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.SXGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.SXGate -`qiskit.circuit.library.SXGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.library.SXGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/sx.py "view source code") Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") @@ -21,10 +21,10 @@ Can be applied to a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.cir **Matrix Representation:** $$ -\begin{split}\sqrt{X} = \frac{1}{2} \begin{pmatrix} +\sqrt{X} = \frac{1}{2} \begin{pmatrix} 1 + i & 1 - i \\ 1 - i & 1 + i - \end{pmatrix}\end{split} + \end{pmatrix} $$ **Circuit symbol:** @@ -39,11 +39,11 @@ q_0: ┤ √X ├ A global phase difference exists between the definitions of $RX(\pi/2)$ and $\sqrt{X}$. $$ - \begin{split}RX(\pi/2) = \frac{1}{\sqrt{2}} \begin{pmatrix} + RX(\pi/2) = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & -i \\ -i & 1 \end{pmatrix} - = e^{-i \pi/4} \sqrt{X}\end{split} + = e^{-i \pi/4} \sqrt{X} $$ diff --git a/docs/api/qiskit/qiskit.circuit.library.SXdgGate.md b/docs/api/qiskit/qiskit.circuit.library.SXdgGate.md index 6c2b3d831f..c33cccaa5c 100644 --- a/docs/api/qiskit/qiskit.circuit.library.SXdgGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.SXdgGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.SXdgGate -`qiskit.circuit.library.SXdgGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.library.SXdgGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/sx.py "view source code") Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") @@ -19,21 +19,21 @@ The inverse single-qubit Sqrt(X) gate. Can be applied to a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") with the [`sxdg()`](qiskit.circuit.QuantumCircuit#sxdg "qiskit.circuit.QuantumCircuit.sxdg") method. $$ -\begin{split}\sqrt{X}^{\dagger} = \frac{1}{2} \begin{pmatrix} +\sqrt{X}^{\dagger} = \frac{1}{2} \begin{pmatrix} 1 - i & 1 + i \\ 1 + i & 1 - i - \end{pmatrix}\end{split} + \end{pmatrix} $$ A global phase difference exists between the definitions of $RX(-\pi/2)$ and $\sqrt{X}^{\dagger}$. $$ - \begin{split}RX(-\pi/2) = \frac{1}{\sqrt{2}} \begin{pmatrix} + RX(-\pi/2) = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & i \\ i & 1 \end{pmatrix} - = e^{-i pi/4} \sqrt{X}^{\dagger}\end{split} + = e^{-i \pi/4} \sqrt{X}^{\dagger} $$ diff --git a/docs/api/qiskit/qiskit.circuit.library.SdgGate.md b/docs/api/qiskit/qiskit.circuit.library.SdgGate.md index 0a0a46cbd6..e50947cbe0 100644 --- a/docs/api/qiskit/qiskit.circuit.library.SdgGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.SdgGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.SdgGate -`qiskit.circuit.library.SdgGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.library.SdgGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/s.py "view source code") Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") @@ -25,10 +25,10 @@ Can be applied to a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.cir **Matrix Representation:** $$ -\begin{split}Sdg = \begin{pmatrix} +Sdg = \begin{pmatrix} 1 & 0 \\ 0 & -i - \end{pmatrix}\end{split} + \end{pmatrix} $$ **Circuit symbol:** diff --git a/docs/api/qiskit/qiskit.circuit.library.StatePreparation.md b/docs/api/qiskit/qiskit.circuit.library.StatePreparation.md index 656f2ff00f..56b3136b37 100644 --- a/docs/api/qiskit/qiskit.circuit.library.StatePreparation.md +++ b/docs/api/qiskit/qiskit.circuit.library.StatePreparation.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.StatePreparation -`qiskit.circuit.library.StatePreparation(params, num_qubits=None, inverse=False, label=None, normalize=False)` +`qiskit.circuit.library.StatePreparation(params, num_qubits=None, inverse=False, label=None, normalize=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/data_preparation/state_preparation.py "view source code") Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") diff --git a/docs/api/qiskit/qiskit.circuit.library.SwapGate.md b/docs/api/qiskit/qiskit.circuit.library.SwapGate.md index d3fb8bbd1f..11c3413fcb 100644 --- a/docs/api/qiskit/qiskit.circuit.library.SwapGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.SwapGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.SwapGate -`qiskit.circuit.library.SwapGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.library.SwapGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/swap.py "view source code") Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") @@ -31,13 +31,13 @@ q_1: ─X─ **Matrix Representation:** $$ -\begin{split}SWAP = +SWAP = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 - \end{pmatrix}\end{split} + \end{pmatrix} $$ The gate is equivalent to a state swap and is a classical logic gate. diff --git a/docs/api/qiskit/qiskit.circuit.library.TGate.md b/docs/api/qiskit/qiskit.circuit.library.TGate.md index 4c41502c6b..c7ac129859 100644 --- a/docs/api/qiskit/qiskit.circuit.library.TGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.TGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.TGate -`qiskit.circuit.library.TGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.library.TGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/t.py "view source code") Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") @@ -25,10 +25,10 @@ Can be applied to a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.cir **Matrix Representation:** $$ -\begin{split}T = \begin{pmatrix} +T = \begin{pmatrix} 1 & 0 \\ 0 & e^{i\pi/4} - \end{pmatrix}\end{split} + \end{pmatrix} $$ **Circuit symbol:** diff --git a/docs/api/qiskit/qiskit.circuit.library.TdgGate.md b/docs/api/qiskit/qiskit.circuit.library.TdgGate.md index c44c868e31..f790dabf81 100644 --- a/docs/api/qiskit/qiskit.circuit.library.TdgGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.TdgGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.TdgGate -`qiskit.circuit.library.TdgGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.library.TdgGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/t.py "view source code") Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") @@ -25,10 +25,10 @@ Can be applied to a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.cir **Matrix Representation:** $$ -\begin{split}Tdg = \begin{pmatrix} +Tdg = \begin{pmatrix} 1 & 0 \\ 0 & e^{-i\pi/4} - \end{pmatrix}\end{split} + \end{pmatrix} $$ **Circuit symbol:** diff --git a/docs/api/qiskit/qiskit.circuit.library.TwoLocal.md b/docs/api/qiskit/qiskit.circuit.library.TwoLocal.md index 13ea0de29c..e292912de3 100644 --- a/docs/api/qiskit/qiskit.circuit.library.TwoLocal.md +++ b/docs/api/qiskit/qiskit.circuit.library.TwoLocal.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.TwoLocal -`qiskit.circuit.library.TwoLocal(num_qubits=None, rotation_blocks=None, entanglement_blocks=None, entanglement='full', reps=3, skip_unentangled_qubits=False, skip_final_rotation_layer=False, parameter_prefix='θ', insert_barriers=False, initial_state=None, name='TwoLocal', flatten=None)` +`qiskit.circuit.library.TwoLocal(num_qubits=None, rotation_blocks=None, entanglement_blocks=None, entanglement='full', reps=3, skip_unentangled_qubits=False, skip_final_rotation_layer=False, parameter_prefix='θ', insert_barriers=False, initial_state=None, name='TwoLocal', flatten=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/n_local/two_local.py "view source code") Bases: [`NLocal`](qiskit.circuit.library.NLocal "qiskit.circuit.library.n_local.n_local.NLocal") @@ -221,7 +221,7 @@ If barriers are inserted in between the layers or not. ### instances -`= 293` +`= 159` diff --git a/docs/api/qiskit/qiskit.circuit.library.U1Gate.md b/docs/api/qiskit/qiskit.circuit.library.U1Gate.md index 4a39ed35a3..a262c6b894 100644 --- a/docs/api/qiskit/qiskit.circuit.library.U1Gate.md +++ b/docs/api/qiskit/qiskit.circuit.library.U1Gate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.U1Gate -`qiskit.circuit.library.U1Gate(theta, label=None, *, duration=None, unit='dt')` +`qiskit.circuit.library.U1Gate(theta, label=None, *, duration=None, unit='dt')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/u1.py "view source code") Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") @@ -42,11 +42,11 @@ q_0: ┤ U1(λ) ├ **Matrix Representation:** $$ -\begin{split}U1(\lambda) = +U1(\lambda) = \begin{pmatrix} 1 & 0 \\ 0 & e^{i\lambda} - \end{pmatrix}\end{split} + \end{pmatrix} $$ **Examples:** diff --git a/docs/api/qiskit/qiskit.circuit.library.U2Gate.md b/docs/api/qiskit/qiskit.circuit.library.U2Gate.md index 0c6726800f..55621ca0a7 100644 --- a/docs/api/qiskit/qiskit.circuit.library.U2Gate.md +++ b/docs/api/qiskit/qiskit.circuit.library.U2Gate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.U2Gate -`qiskit.circuit.library.U2Gate(phi, lam, label=None, *, duration=None, unit='dt')` +`qiskit.circuit.library.U2Gate(phi, lam, label=None, *, duration=None, unit='dt')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/u2.py "view source code") Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") @@ -42,11 +42,11 @@ q_0: ┤ U2(φ,λ) ├ **Matrix Representation:** $$ -\begin{split}U2(\phi, \lambda) = \frac{1}{\sqrt{2}} +U2(\phi, \lambda) = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & -e^{i\lambda} \\ e^{i\phi} & e^{i(\phi+\lambda)} - \end{pmatrix}\end{split} + \end{pmatrix} $$ **Examples:** diff --git a/docs/api/qiskit/qiskit.circuit.library.U3Gate.md b/docs/api/qiskit/qiskit.circuit.library.U3Gate.md index bf6f63e8b5..c481af14cd 100644 --- a/docs/api/qiskit/qiskit.circuit.library.U3Gate.md +++ b/docs/api/qiskit/qiskit.circuit.library.U3Gate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.U3Gate -`qiskit.circuit.library.U3Gate(theta, phi, lam, label=None, *, duration=None, unit='dt')` +`qiskit.circuit.library.U3Gate(theta, phi, lam, label=None, *, duration=None, unit='dt')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/u3.py "view source code") Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") @@ -40,11 +40,14 @@ q_0: ┤ U3(ϴ,φ,λ) ├ **Matrix Representation:** $$ - \begin{align}\begin{aligned}\newcommand{\th}{\frac{\theta}{2}}\\\begin{split}U3(\theta, \phi, \lambda) = +\newcommand{\rotationangle}{\frac{\theta}{2}} + +U3(\theta, \phi, \lambda) = \begin{pmatrix} - \cos\left(\th\right) & -e^{i\lambda}\sin\left(\th\right) \\ - e^{i\phi}\sin\left(\th\right) & e^{i(\phi+\lambda)}\cos\left(\th\right) - \end{pmatrix}\end{split}\end{aligned}\end{align} + \cos\left(\rotationangle\right) & -e^{i\lambda}\sin\left(\rotationangle\right) \\ + e^{i\phi}\sin\left(\rotationangle\right) & + e^{i(\phi+\lambda)}\cos\left(\rotationangle\right) + \end{pmatrix} $$ diff --git a/docs/api/qiskit/qiskit.circuit.library.UCGate.md b/docs/api/qiskit/qiskit.circuit.library.UCGate.md index 8a1f9d18e8..d4b07d2606 100644 --- a/docs/api/qiskit/qiskit.circuit.library.UCGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.UCGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.UCGate -`qiskit.circuit.library.UCGate(gate_list, up_to_diagonal=False)` +`qiskit.circuit.library.UCGate(gate_list, up_to_diagonal=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/generalized_gates/uc.py "view source code") Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") @@ -21,12 +21,12 @@ These gates can have several control qubits and a single target qubit. If the k This gate is represented by a block-diagonal matrix, where each block is a $2\times 2$ unitary, that is $$ -\begin{split}\begin{pmatrix} +\begin{pmatrix} U_0 & 0 & \cdots & 0 \\ 0 & U_1 & \cdots & 0 \\ \vdots & & \ddots & \vdots \\ 0 & 0 & \cdots & U_{2^{k-1}} -\end{pmatrix}.\end{split} +\end{pmatrix}. $$ The decomposition is based on Ref. \[1]. diff --git a/docs/api/qiskit/qiskit.circuit.library.UCPauliRotGate.md b/docs/api/qiskit/qiskit.circuit.library.UCPauliRotGate.md index 9e9a891de7..9912c3a825 100644 --- a/docs/api/qiskit/qiskit.circuit.library.UCPauliRotGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.UCPauliRotGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.UCPauliRotGate -`qiskit.circuit.library.UCPauliRotGate(angle_list, rot_axis)` +`qiskit.circuit.library.UCPauliRotGate(angle_list, rot_axis)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/generalized_gates/uc_pauli_rot.py "view source code") Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") diff --git a/docs/api/qiskit/qiskit.circuit.library.UCRXGate.md b/docs/api/qiskit/qiskit.circuit.library.UCRXGate.md index 8448e4ecc9..c28208b8eb 100644 --- a/docs/api/qiskit/qiskit.circuit.library.UCRXGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.UCRXGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.UCRXGate -`qiskit.circuit.library.UCRXGate(angle_list)` +`qiskit.circuit.library.UCRXGate(angle_list)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/generalized_gates/ucrx.py "view source code") Bases: [`UCPauliRotGate`](qiskit.circuit.library.UCPauliRotGate "qiskit.circuit.library.generalized_gates.uc_pauli_rot.UCPauliRotGate") diff --git a/docs/api/qiskit/qiskit.circuit.library.UCRYGate.md b/docs/api/qiskit/qiskit.circuit.library.UCRYGate.md index d9c3a16397..4bf04566d1 100644 --- a/docs/api/qiskit/qiskit.circuit.library.UCRYGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.UCRYGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.UCRYGate -`qiskit.circuit.library.UCRYGate(angle_list)` +`qiskit.circuit.library.UCRYGate(angle_list)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/generalized_gates/ucry.py "view source code") Bases: [`UCPauliRotGate`](qiskit.circuit.library.UCPauliRotGate "qiskit.circuit.library.generalized_gates.uc_pauli_rot.UCPauliRotGate") diff --git a/docs/api/qiskit/qiskit.circuit.library.UCRZGate.md b/docs/api/qiskit/qiskit.circuit.library.UCRZGate.md index 8736e6f6df..eed0c3e1a6 100644 --- a/docs/api/qiskit/qiskit.circuit.library.UCRZGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.UCRZGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.UCRZGate -`qiskit.circuit.library.UCRZGate(angle_list)` +`qiskit.circuit.library.UCRZGate(angle_list)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/generalized_gates/ucrz.py "view source code") Bases: [`UCPauliRotGate`](qiskit.circuit.library.UCPauliRotGate "qiskit.circuit.library.generalized_gates.uc_pauli_rot.UCPauliRotGate") diff --git a/docs/api/qiskit/qiskit.circuit.library.UGate.md b/docs/api/qiskit/qiskit.circuit.library.UGate.md index bc6c179372..fbc072acf5 100644 --- a/docs/api/qiskit/qiskit.circuit.library.UGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.UGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.UGate -`qiskit.circuit.library.UGate(theta, phi, lam, label=None, *, duration=None, unit='dt')` +`qiskit.circuit.library.UGate(theta, phi, lam, label=None, *, duration=None, unit='dt')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/u.py "view source code") Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") @@ -29,11 +29,13 @@ q_0: ┤ U(ϴ,φ,λ) ├ **Matrix Representation:** $$ - \begin{align}\begin{aligned}\newcommand{\th}{\frac{\theta}{2}}\\\begin{split}U(\theta, \phi, \lambda) = - \begin{pmatrix} - \cos\left(\th\right) & -e^{i\lambda}\sin\left(\th\right) \\ - e^{i\phi}\sin\left(\th\right) & e^{i(\phi+\lambda)}\cos\left(\th\right) - \end{pmatrix}\end{split}\end{aligned}\end{align} +\newcommand{\rotationangle}{\frac{\theta}{2}} + +U(\theta, \phi, \lambda) = +\begin{pmatrix} + \cos\left(\rotationangle\right) & -e^{i\lambda}\sin\left(\rotationangle\right) \\ + e^{i\phi}\sin\left(\rotationangle\right) & e^{i(\phi+\lambda)}\cos\left(\rotationangle\right) +\end{pmatrix} $$ diff --git a/docs/api/qiskit/qiskit.circuit.library.UnitaryGate.md b/docs/api/qiskit/qiskit.circuit.library.UnitaryGate.md index 1942a8c8eb..b4597df2fe 100644 --- a/docs/api/qiskit/qiskit.circuit.library.UnitaryGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.UnitaryGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.UnitaryGate -`qiskit.circuit.library.UnitaryGate(data, label=None, check_input=True)` +`qiskit.circuit.library.UnitaryGate(data, label=None, check_input=True)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/generalized_gates/unitary.py "view source code") Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") diff --git a/docs/api/qiskit/qiskit.circuit.library.UnitaryOverlap.md b/docs/api/qiskit/qiskit.circuit.library.UnitaryOverlap.md index bd114c1e0d..95bfbf05bd 100644 --- a/docs/api/qiskit/qiskit.circuit.library.UnitaryOverlap.md +++ b/docs/api/qiskit/qiskit.circuit.library.UnitaryOverlap.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.UnitaryOverlap -`qiskit.circuit.library.UnitaryOverlap(unitary1, unitary2, prefix1='p1', prefix2='p2')` +`qiskit.circuit.library.UnitaryOverlap(unitary1, unitary2, prefix1='p1', prefix2='p2')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/overlap.py "view source code") Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") @@ -121,7 +121,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 293` +`= 159` diff --git a/docs/api/qiskit/qiskit.circuit.library.VBERippleCarryAdder.md b/docs/api/qiskit/qiskit.circuit.library.VBERippleCarryAdder.md index 6a6fcf9e95..e96f665a1d 100644 --- a/docs/api/qiskit/qiskit.circuit.library.VBERippleCarryAdder.md +++ b/docs/api/qiskit/qiskit.circuit.library.VBERippleCarryAdder.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.VBERippleCarryAdder -`qiskit.circuit.library.VBERippleCarryAdder(num_state_qubits, kind='full', name='VBERippleCarryAdder')` +`qiskit.circuit.library.VBERippleCarryAdder(num_state_qubits, kind='full', name='VBERippleCarryAdder')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/arithmetic/adders/vbe_ripple_carry_adder.py "view source code") Bases: `Adder` @@ -110,7 +110,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 293` +`= 159` diff --git a/docs/api/qiskit/qiskit.circuit.library.WeightedAdder.md b/docs/api/qiskit/qiskit.circuit.library.WeightedAdder.md index 5b889442dd..c557a0d093 100644 --- a/docs/api/qiskit/qiskit.circuit.library.WeightedAdder.md +++ b/docs/api/qiskit/qiskit.circuit.library.WeightedAdder.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.WeightedAdder -`qiskit.circuit.library.WeightedAdder(num_state_qubits=None, weights=None, name='adder')` +`qiskit.circuit.library.WeightedAdder(num_state_qubits=None, weights=None, name='adder')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/arithmetic/weighted_adder.py "view source code") Bases: `BlueprintCircuit` @@ -113,7 +113,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 293` +`= 159` diff --git a/docs/api/qiskit/qiskit.circuit.library.XGate.md b/docs/api/qiskit/qiskit.circuit.library.XGate.md index bfb095490a..a98a30e203 100644 --- a/docs/api/qiskit/qiskit.circuit.library.XGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.XGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.XGate -`qiskit.circuit.library.XGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.library.XGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/x.py "view source code") Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") @@ -21,10 +21,10 @@ Can be applied to a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.cir **Matrix Representation:** $$ -\begin{split}X = \begin{pmatrix} +X = \begin{pmatrix} 0 & 1 \\ 1 & 0 - \end{pmatrix}\end{split} + \end{pmatrix} $$ **Circuit symbol:** @@ -41,19 +41,19 @@ Equivalent to a $\pi$ radian rotation about the X axis. A global phase difference exists between the definitions of $RX(\pi)$ and $X$. $$ - \begin{split}RX(\pi) = \begin{pmatrix} + RX(\pi) = \begin{pmatrix} 0 & -i \\ -i & 0 \end{pmatrix} - = -i X\end{split} + = -i X $$ The gate is equivalent to a classical bit flip. $$ -\begin{split}|0\rangle \rightarrow |1\rangle \\ -|1\rangle \rightarrow |0\rangle\end{split} +|0\rangle \rightarrow |1\rangle \\ +|1\rangle \rightarrow |0\rangle $$ Create new X gate. diff --git a/docs/api/qiskit/qiskit.circuit.library.XOR.md b/docs/api/qiskit/qiskit.circuit.library.XOR.md index 0062f7e0ca..35d994de65 100644 --- a/docs/api/qiskit/qiskit.circuit.library.XOR.md +++ b/docs/api/qiskit/qiskit.circuit.library.XOR.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.XOR -`qiskit.circuit.library.XOR(num_qubits, amount=None, seed=None)` +`qiskit.circuit.library.XOR(num_qubits, amount=None, seed=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/boolean_logic/quantum_xor.py "view source code") Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") @@ -94,7 +94,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 295` +`= 161` diff --git a/docs/api/qiskit/qiskit.circuit.library.XXMinusYYGate.md b/docs/api/qiskit/qiskit.circuit.library.XXMinusYYGate.md index d4b2aa200f..baf31e743e 100644 --- a/docs/api/qiskit/qiskit.circuit.library.XXMinusYYGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.XXMinusYYGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.XXMinusYYGate -`qiskit.circuit.library.XXMinusYYGate(theta, beta=0, label='(XX-YY)', *, duration=None, unit='dt')` +`qiskit.circuit.library.XXMinusYYGate(theta, beta=0, label='(XX-YY)', *, duration=None, unit='dt')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/xx_minus_yy.py "view source code") Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") @@ -31,18 +31,20 @@ q_1: ┤1 ├ **Matrix Representation:** $$ - \begin{align}\begin{aligned}\newcommand{\th}{\frac{\theta}{2}}\\\begin{split}R_{XX-YY}(\theta, \beta) q_0, q_1 = +\newcommand{\rotationangle}{\frac{\theta}{2}} + +R_{XX-YY}(\theta, \beta) q_0, q_1 = RZ_1(\beta) \cdot \exp\left(-i \frac{\theta}{2} \frac{XX-YY}{2}\right) \cdot RZ_1(-\beta) = \begin{pmatrix} - \cos\left(\th\right) & 0 & 0 & -i\sin\left(\th\right)e^{-i\beta} \\ - 0 & 1 & 0 & 0 \\ - 0 & 0 & 1 & 0 \\ - -i\sin\left(\th\right)e^{i\beta} & 0 & 0 & \cos\left(\th\right) - \end{pmatrix}\end{split}\end{aligned}\end{align} + \cos\left(\rotationangle\right) & 0 & 0 & -i\sin\left(\rotationangle\right)e^{-i\beta} \\ + 0 & 1 & 0 & 0 \\ + 0 & 0 & 1 & 0 \\ + -i\sin\left(\rotationangle\right)e^{i\beta} & 0 & 0 & \cos\left(\rotationangle\right) + \end{pmatrix} $$ - In Qiskit’s convention, higher qubit indices are more significant (little endian convention). In the above example we apply the gate on (q\_0, q\_1) which results in adding the (optional) phase defined by $beta$ on q\_1. Instead, if we apply it on (q\_1, q\_0), the phase is added on q\_0. If $beta$ is set to its default value of $0$, the gate is equivalent in big and little endian. + In Qiskit’s convention, higher qubit indices are more significant (little endian convention). In the above example we apply the gate on (q\_0, q\_1) which results in adding the (optional) phase defined by $\beta$ on q\_1. Instead, if we apply it on (q\_1, q\_0), the phase is added on q\_0. If $\beta$ is set to its default value of $0$, the gate is equivalent in big and little endian. ```python ┌───────────────┐ @@ -53,14 +55,16 @@ $$ ``` $$ - \begin{align}\begin{aligned}\newcommand{\th}{\frac{\theta}{2}}\\\begin{split}R_{XX-YY}(\theta, \beta) q_1, q_0 = + \newcommand{\rotationangle}{\frac{\theta}{2}} + + R_{XX-YY}(\theta, \beta) q_1, q_0 = RZ_0(\beta) \cdot \exp\left(-i \frac{\theta}{2} \frac{XX-YY}{2}\right) \cdot RZ_0(-\beta) = - \begin{pmatrix} - \cos\left(\th\right) & 0 & 0 & -i\sin\left(\th\right)e^{i\beta} \\ - 0 & 1 & 0 & 0 \\ - 0 & 0 & 1 & 0 \\ - -i\sin\left(\th\right)e^{-i\beta} & 0 & 0 & \cos\left(\th\right) - \end{pmatrix}\end{split}\end{aligned}\end{align} + \begin{pmatrix} + \cos\left(\rotationangle\right) & 0 & 0 & -i\sin\left(\rotationangle\right)e^{i\beta} \\ + 0 & 1 & 0 & 0 \\ + 0 & 0 & 1 & 0 \\ + -i\sin\left(\rotationangle\right)e^{-i\beta} & 0 & 0 & \cos\left(\rotationangle\right) + \end{pmatrix} $$ diff --git a/docs/api/qiskit/qiskit.circuit.library.XXPlusYYGate.md b/docs/api/qiskit/qiskit.circuit.library.XXPlusYYGate.md index 0da0b0dc0f..6d1b6790ea 100644 --- a/docs/api/qiskit/qiskit.circuit.library.XXPlusYYGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.XXPlusYYGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.XXPlusYYGate -`qiskit.circuit.library.XXPlusYYGate(theta, beta=0, label='(XX+YY)', *, duration=None, unit='dt')` +`qiskit.circuit.library.XXPlusYYGate(theta, beta=0, label='(XX+YY)', *, duration=None, unit='dt')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/xx_plus_yy.py "view source code") Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") @@ -31,18 +31,20 @@ q_1: ┤1 ├ **Matrix Representation:** $$ - \begin{align}\begin{aligned}\newcommand{\th}{\frac{\theta}{2}}\\\begin{split}R_{XX+YY}(\theta, \beta)\ q_0, q_1 = +\newcommand{\rotationangle}{\frac{\theta}{2}} + +R_{XX+YY}(\theta, \beta)\ q_0, q_1 = RZ_0(-\beta) \cdot \exp\left(-i \frac{\theta}{2} \frac{XX+YY}{2}\right) \cdot RZ_0(\beta) = \begin{pmatrix} - 1 & 0 & 0 & 0 \\ - 0 & \cos\left(\th\right) & -i\sin\left(\th\right)e^{-i\beta} & 0 \\ - 0 & -i\sin\left(\th\right)e^{i\beta} & \cos\left(\th\right) & 0 \\ - 0 & 0 & 0 & 1 - \end{pmatrix}\end{split}\end{aligned}\end{align} + 1 & 0 & 0 & 0 \\ + 0 & \cos\left(\rotationangle\right) & -i\sin\left(\rotationangle\right)e^{-i\beta} & 0 \\ + 0 & -i\sin\left(\rotationangle\right)e^{i\beta} & \cos\left(\rotationangle\right) & 0 \\ + 0 & 0 & 0 & 1 + \end{pmatrix} $$ - In Qiskit’s convention, higher qubit indices are more significant (little endian convention). In the above example we apply the gate on (q\_0, q\_1) which results in adding the (optional) phase defined by $beta$ on q\_0. Instead, if we apply it on (q\_1, q\_0), the phase is added on q\_1. If $beta$ is set to its default value of $0$, the gate is equivalent in big and little endian. + In Qiskit’s convention, higher qubit indices are more significant (little endian convention). In the above example we apply the gate on (q\_0, q\_1) which results in adding the (optional) phase defined by $\beta$ on q\_0. Instead, if we apply it on (q\_1, q\_0), the phase is added on q\_1. If $\beta$ is set to its default value of $0$, the gate is equivalent in big and little endian. ```python ┌───────────────┐ @@ -54,14 +56,16 @@ $$ $$ - \begin{align}\begin{aligned}\newcommand{\th}{\frac{\theta}{2}}\\\begin{split}R_{XX+YY}(\theta, \beta)\ q_0, q_1 = +\newcommand{\rotationangle}{\frac{\theta}{2}} + +R_{XX+YY}(\theta, \beta)\ q_0, q_1 = RZ_1(-\beta) \cdot \exp\left(-i \frac{\theta}{2} \frac{XX+YY}{2}\right) \cdot RZ_1(\beta) = \begin{pmatrix} - 1 & 0 & 0 & 0 \\ - 0 & \cos\left(\th\right) & -i\sin\left(\th\right)e^{i\beta} & 0 \\ - 0 & -i\sin\left(\th\right)e^{-i\beta} & \cos\left(\th\right) & 0 \\ - 0 & 0 & 0 & 1 - \end{pmatrix}\end{split}\end{aligned}\end{align} + 1 & 0 & 0 & 0 \\ + 0 & \cos\left(\rotationangle\right) & -i\sin\left(\rotationangle\right)e^{i\beta} & 0 \\ + 0 & -i\sin\left(\rotationangle\right)e^{-i\beta} & \cos\left(\rotationangle\right) & 0 \\ + 0 & 0 & 0 & 1 + \end{pmatrix} $$ Create new XX+YY gate. diff --git a/docs/api/qiskit/qiskit.circuit.library.YGate.md b/docs/api/qiskit/qiskit.circuit.library.YGate.md index bfa757f430..43e2817ded 100644 --- a/docs/api/qiskit/qiskit.circuit.library.YGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.YGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.YGate -`qiskit.circuit.library.YGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.library.YGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/y.py "view source code") Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") @@ -21,10 +21,10 @@ Can be applied to a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.cir **Matrix Representation:** $$ -\begin{split}Y = \begin{pmatrix} +Y = \begin{pmatrix} 0 & -i \\ i & 0 - \end{pmatrix}\end{split} + \end{pmatrix} $$ **Circuit symbol:** @@ -41,19 +41,19 @@ Equivalent to a $\pi$ radian rotation about the Y axis. A global phase difference exists between the definitions of $RY(\pi)$ and $Y$. $$ - \begin{split}RY(\pi) = \begin{pmatrix} + RY(\pi) = \begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix} - = -i Y\end{split} + = -i Y $$ The gate is equivalent to a bit and phase flip. $$ -\begin{split}|0\rangle \rightarrow i|1\rangle \\ -|1\rangle \rightarrow -i|0\rangle\end{split} +|0\rangle \rightarrow i|1\rangle \\ +|1\rangle \rightarrow -i|0\rangle $$ Create new Y gate. diff --git a/docs/api/qiskit/qiskit.circuit.library.ZFeatureMap.md b/docs/api/qiskit/qiskit.circuit.library.ZFeatureMap.md index 638381e63d..505c9f2188 100644 --- a/docs/api/qiskit/qiskit.circuit.library.ZFeatureMap.md +++ b/docs/api/qiskit/qiskit.circuit.library.ZFeatureMap.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.ZFeatureMap -`qiskit.circuit.library.ZFeatureMap(feature_dimension, reps=2, data_map_func=None, parameter_prefix='x', insert_barriers=False, name='ZFeatureMap')` +`qiskit.circuit.library.ZFeatureMap(feature_dimension, reps=2, data_map_func=None, parameter_prefix='x', insert_barriers=False, name='ZFeatureMap')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/data_preparation/z_feature_map.py "view source code") Bases: [`PauliFeatureMap`](qiskit.circuit.library.PauliFeatureMap "qiskit.circuit.library.data_preparation.pauli_feature_map.PauliFeatureMap") @@ -187,7 +187,7 @@ If barriers are inserted in between the layers or not. ### instances -`= 297` +`= 163` diff --git a/docs/api/qiskit/qiskit.circuit.library.ZGate.md b/docs/api/qiskit/qiskit.circuit.library.ZGate.md index a3c6ed6dda..2809871517 100644 --- a/docs/api/qiskit/qiskit.circuit.library.ZGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.ZGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.ZGate -`qiskit.circuit.library.ZGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.library.ZGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/z.py "view source code") Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") @@ -21,10 +21,10 @@ Can be applied to a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.cir **Matrix Representation:** $$ -\begin{split}Z = \begin{pmatrix} +Z = \begin{pmatrix} 1 & 0 \\ 0 & -1 - \end{pmatrix}\end{split} + \end{pmatrix} $$ **Circuit symbol:** @@ -41,19 +41,19 @@ Equivalent to a $\pi$ radian rotation about the Z axis. A global phase difference exists between the definitions of $RZ(\pi)$ and $Z$. $$ - \begin{split}RZ(\pi) = \begin{pmatrix} + RZ(\pi) = \begin{pmatrix} -i & 0 \\ 0 & i \end{pmatrix} - = -i Z\end{split} + = -i Z $$ The gate is equivalent to a phase flip. $$ -\begin{split}|0\rangle \rightarrow |0\rangle \\ -|1\rangle \rightarrow -|1\rangle\end{split} +|0\rangle \rightarrow |0\rangle \\ +|1\rangle \rightarrow -|1\rangle $$ Create new Z gate. diff --git a/docs/api/qiskit/qiskit.circuit.library.ZZFeatureMap.md b/docs/api/qiskit/qiskit.circuit.library.ZZFeatureMap.md index 71cf1a7830..c10c42a9f8 100644 --- a/docs/api/qiskit/qiskit.circuit.library.ZZFeatureMap.md +++ b/docs/api/qiskit/qiskit.circuit.library.ZZFeatureMap.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.ZZFeatureMap -`qiskit.circuit.library.ZZFeatureMap(feature_dimension, reps=2, entanglement='full', data_map_func=None, parameter_prefix='x', insert_barriers=False, name='ZZFeatureMap')` +`qiskit.circuit.library.ZZFeatureMap(feature_dimension, reps=2, entanglement='full', data_map_func=None, parameter_prefix='x', insert_barriers=False, name='ZZFeatureMap')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/data_preparation/zz_feature_map.py "view source code") Bases: [`PauliFeatureMap`](qiskit.circuit.library.PauliFeatureMap "qiskit.circuit.library.data_preparation.pauli_feature_map.PauliFeatureMap") @@ -28,7 +28,7 @@ For 3 qubits and 1 repetition and linear entanglement the circuit is represented └───┘└─────────────────┘ └───┘└──────────────────────┘└───┘ ``` -where `φ` is a classical non-linear function, which defaults to `φ(x) = x` if and `φ(x,y) = (pi - x)(pi - y)`. +where $\varphi$ is a classical non-linear function, which defaults to $\varphi(x) = x$ if and $\varphi(x,y) = (\pi - x)(\pi - y)$. ## Examples @@ -192,7 +192,7 @@ If barriers are inserted in between the layers or not. ### instances -`= 297` +`= 163` diff --git a/docs/api/qiskit/qiskit.circuit.library.iSwapGate.md b/docs/api/qiskit/qiskit.circuit.library.iSwapGate.md index 0c2f63cd3a..89d2f8a087 100644 --- a/docs/api/qiskit/qiskit.circuit.library.iSwapGate.md +++ b/docs/api/qiskit/qiskit.circuit.library.iSwapGate.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.library.iSwapGate -`qiskit.circuit.library.iSwapGate(*args, _force_mutable=False, **kwargs)` +`qiskit.circuit.library.iSwapGate(*args, _force_mutable=False, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/circuit/library/standard_gates/iswap.py "view source code") Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") @@ -41,20 +41,20 @@ q_1: ┤ S ├─────┤ X ├──■──┤ H ├ **Matrix Representation:** $$ -\begin{split}iSWAP = R_{XX+YY}\left(-\frac{\pi}{2}\right) +iSWAP = R_{XX+YY}\left(-\frac{\pi}{2}\right) = \exp\left(i \frac{\pi}{4} \left(X{\otimes}X+Y{\otimes}Y\right)\right) = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & i & 0 \\ 0 & i & 0 & 0 \\ 0 & 0 & 0 & 1 - \end{pmatrix}\end{split} + \end{pmatrix} $$ This gate is equivalent to a SWAP up to a diagonal. $$ -\begin{split}iSWAP = +iSWAP = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ @@ -66,7 +66,7 @@ $$ 0 & i & 0 & 0 \\ 0 & 0 & i & 0 \\ 0 & 0 & 0 & 1 - \end{pmatrix}\end{split} + \end{pmatrix} $$ Create new iSwap gate. diff --git a/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit.md b/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit.md index 3fa965da39..aa69630a3c 100644 --- a/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit.md +++ b/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit.md @@ -10,7 +10,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit -`qiskit.dagcircuit.DAGCircuit` +`qiskit.dagcircuit.DAGCircuit`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/dagcircuit/dagcircuit.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") @@ -343,7 +343,7 @@ Returns set of the descendants of a node as DAGOpNodes and DAGOutNodes. Draws the dag circuit. -This function needs [pydot](https://github.com/erocarrera/pydot), which in turn needs [Graphviz](https://www.graphviz.org/) to be installed. +This function needs [Graphviz](https://www.graphviz.org/) to be installed. Graphviz is not a python package and can’t be pip installed (the `graphviz` package on PyPI is a Python interface library for Graphviz and does not actually install Graphviz). You can refer to [the Graphviz documentation](https://www.graphviz.org/download/) on how to install it. **Parameters** diff --git a/docs/api/qiskit/qiskit.dagcircuit.DAGDepNode.md b/docs/api/qiskit/qiskit.dagcircuit.DAGDepNode.md index 648842dd6a..edd4f906b8 100644 --- a/docs/api/qiskit/qiskit.dagcircuit.DAGDepNode.md +++ b/docs/api/qiskit/qiskit.dagcircuit.DAGDepNode.md @@ -10,7 +10,7 @@ python_api_name: qiskit.dagcircuit.DAGDepNode -`qiskit.dagcircuit.DAGDepNode(type=None, op=None, name=None, qargs=(), cargs=(), successors=None, predecessors=None, reachable=None, matchedwith=None, successorstovisit=None, isblocked=None, qindices=None, cindices=None, nid=-1)` +`qiskit.dagcircuit.DAGDepNode(type=None, op=None, name=None, qargs=(), cargs=(), successors=None, predecessors=None, reachable=None, matchedwith=None, successorstovisit=None, isblocked=None, qindices=None, cindices=None, nid=-1)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/dagcircuit/dagdepnode.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.dagcircuit.DAGDependency.md b/docs/api/qiskit/qiskit.dagcircuit.DAGDependency.md index 25bfc923c7..f234be5b4a 100644 --- a/docs/api/qiskit/qiskit.dagcircuit.DAGDependency.md +++ b/docs/api/qiskit/qiskit.dagcircuit.DAGDependency.md @@ -10,7 +10,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency -`qiskit.dagcircuit.DAGDependency` +`qiskit.dagcircuit.DAGDependency`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/dagcircuit/dagdependency.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.dagcircuit.DAGInNode.md b/docs/api/qiskit/qiskit.dagcircuit.DAGInNode.md index 942867fbf0..4c2792f654 100644 --- a/docs/api/qiskit/qiskit.dagcircuit.DAGInNode.md +++ b/docs/api/qiskit/qiskit.dagcircuit.DAGInNode.md @@ -10,7 +10,7 @@ python_api_name: qiskit.dagcircuit.DAGInNode -`qiskit.dagcircuit.DAGInNode(wire)` +`qiskit.dagcircuit.DAGInNode(wire)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/dagcircuit/dagnode.py "view source code") Bases: [`DAGNode`](qiskit.dagcircuit.DAGNode "qiskit.dagcircuit.dagnode.DAGNode") diff --git a/docs/api/qiskit/qiskit.dagcircuit.DAGNode.md b/docs/api/qiskit/qiskit.dagcircuit.DAGNode.md index 860d7da84a..9017033915 100644 --- a/docs/api/qiskit/qiskit.dagcircuit.DAGNode.md +++ b/docs/api/qiskit/qiskit.dagcircuit.DAGNode.md @@ -10,7 +10,7 @@ python_api_name: qiskit.dagcircuit.DAGNode -`qiskit.dagcircuit.DAGNode(nid=-1)` +`qiskit.dagcircuit.DAGNode(nid=-1)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/dagcircuit/dagnode.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.dagcircuit.DAGOpNode.md b/docs/api/qiskit/qiskit.dagcircuit.DAGOpNode.md index 186453d702..ab0bf7a6ca 100644 --- a/docs/api/qiskit/qiskit.dagcircuit.DAGOpNode.md +++ b/docs/api/qiskit/qiskit.dagcircuit.DAGOpNode.md @@ -10,7 +10,7 @@ python_api_name: qiskit.dagcircuit.DAGOpNode -`qiskit.dagcircuit.DAGOpNode(op, qargs=(), cargs=(), dag=None)` +`qiskit.dagcircuit.DAGOpNode(op, qargs=(), cargs=(), dag=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/dagcircuit/dagnode.py "view source code") Bases: [`DAGNode`](qiskit.dagcircuit.DAGNode "qiskit.dagcircuit.dagnode.DAGNode") diff --git a/docs/api/qiskit/qiskit.dagcircuit.DAGOutNode.md b/docs/api/qiskit/qiskit.dagcircuit.DAGOutNode.md index 9056d0094f..cc844e81bc 100644 --- a/docs/api/qiskit/qiskit.dagcircuit.DAGOutNode.md +++ b/docs/api/qiskit/qiskit.dagcircuit.DAGOutNode.md @@ -10,7 +10,7 @@ python_api_name: qiskit.dagcircuit.DAGOutNode -`qiskit.dagcircuit.DAGOutNode(wire)` +`qiskit.dagcircuit.DAGOutNode(wire)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/dagcircuit/dagnode.py "view source code") Bases: [`DAGNode`](qiskit.dagcircuit.DAGNode "qiskit.dagcircuit.dagnode.DAGNode") diff --git a/docs/api/qiskit/qiskit.extensions.SingleQubitUnitary.md b/docs/api/qiskit/qiskit.extensions.SingleQubitUnitary.md index 0dc46acc25..41fdd9e4d3 100644 --- a/docs/api/qiskit/qiskit.extensions.SingleQubitUnitary.md +++ b/docs/api/qiskit/qiskit.extensions.SingleQubitUnitary.md @@ -10,7 +10,7 @@ python_api_name: qiskit.extensions.SingleQubitUnitary -`qiskit.extensions.SingleQubitUnitary(unitary_matrix, mode='ZYZ', up_to_diagonal=False)` +`qiskit.extensions.SingleQubitUnitary(unitary_matrix, mode='ZYZ', up_to_diagonal=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/extensions/quantum_initializer/squ.py "view source code") Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") diff --git a/docs/api/qiskit/qiskit.extensions.Snapshot.md b/docs/api/qiskit/qiskit.extensions.Snapshot.md index 6e32d47011..ef2ed4c36d 100644 --- a/docs/api/qiskit/qiskit.extensions.Snapshot.md +++ b/docs/api/qiskit/qiskit.extensions.Snapshot.md @@ -10,7 +10,7 @@ python_api_name: qiskit.extensions.Snapshot -`qiskit.extensions.Snapshot(label, snapshot_type='statevector', num_qubits=0, num_clbits=0, params=None)` +`qiskit.extensions.Snapshot(label, snapshot_type='statevector', num_qubits=0, num_clbits=0, params=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/extensions/simulator/snapshot.py "view source code") Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction") diff --git a/docs/api/qiskit/qiskit.opflow.OperatorBase.md b/docs/api/qiskit/qiskit.opflow.OperatorBase.md index 39af8b5928..cb8df8266b 100644 --- a/docs/api/qiskit/qiskit.opflow.OperatorBase.md +++ b/docs/api/qiskit/qiskit.opflow.OperatorBase.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.OperatorBase -`qiskit.opflow.OperatorBase` +`qiskit.opflow.OperatorBase`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/operator_base.py "view source code") Bases: `StarAlgebraMixin`, `TensorMixin`, [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.opflow.converters.AbelianGrouper.md b/docs/api/qiskit/qiskit.opflow.converters.AbelianGrouper.md index d79c81c8f2..092b19c954 100644 --- a/docs/api/qiskit/qiskit.opflow.converters.AbelianGrouper.md +++ b/docs/api/qiskit/qiskit.opflow.converters.AbelianGrouper.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.converters.AbelianGrouper -`qiskit.opflow.converters.AbelianGrouper(traverse=True)` +`qiskit.opflow.converters.AbelianGrouper(traverse=True)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/converters/abelian_grouper.py "view source code") Bases: [`ConverterBase`](qiskit.opflow.converters.ConverterBase "qiskit.opflow.converters.converter_base.ConverterBase") diff --git a/docs/api/qiskit/qiskit.opflow.converters.CircuitSampler.md b/docs/api/qiskit/qiskit.opflow.converters.CircuitSampler.md index f30e134c64..633026a34c 100644 --- a/docs/api/qiskit/qiskit.opflow.converters.CircuitSampler.md +++ b/docs/api/qiskit/qiskit.opflow.converters.CircuitSampler.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.converters.CircuitSampler -`qiskit.opflow.converters.CircuitSampler(backend, statevector=None, param_qobj=False, attach_results=False, caching='last')` +`qiskit.opflow.converters.CircuitSampler(backend, statevector=None, param_qobj=False, attach_results=False, caching='last')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/converters/circuit_sampler.py "view source code") Bases: [`ConverterBase`](qiskit.opflow.converters.ConverterBase "qiskit.opflow.converters.converter_base.ConverterBase") diff --git a/docs/api/qiskit/qiskit.opflow.converters.ConverterBase.md b/docs/api/qiskit/qiskit.opflow.converters.ConverterBase.md index 64c8af4f6c..8fe872d729 100644 --- a/docs/api/qiskit/qiskit.opflow.converters.ConverterBase.md +++ b/docs/api/qiskit/qiskit.opflow.converters.ConverterBase.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.converters.ConverterBase -`qiskit.opflow.converters.ConverterBase` +`qiskit.opflow.converters.ConverterBase`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/converters/converter_base.py "view source code") Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.opflow.converters.DictToCircuitSum.md b/docs/api/qiskit/qiskit.opflow.converters.DictToCircuitSum.md index 7d411045db..880f85cbce 100644 --- a/docs/api/qiskit/qiskit.opflow.converters.DictToCircuitSum.md +++ b/docs/api/qiskit/qiskit.opflow.converters.DictToCircuitSum.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.converters.DictToCircuitSum -`qiskit.opflow.converters.DictToCircuitSum(traverse=True, convert_dicts=True, convert_vectors=True)` +`qiskit.opflow.converters.DictToCircuitSum(traverse=True, convert_dicts=True, convert_vectors=True)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/converters/dict_to_circuit_sum.py "view source code") Bases: [`ConverterBase`](qiskit.opflow.converters.ConverterBase "qiskit.opflow.converters.converter_base.ConverterBase") diff --git a/docs/api/qiskit/qiskit.opflow.converters.PauliBasisChange.md b/docs/api/qiskit/qiskit.opflow.converters.PauliBasisChange.md index eb6ad67967..7219e14cd1 100644 --- a/docs/api/qiskit/qiskit.opflow.converters.PauliBasisChange.md +++ b/docs/api/qiskit/qiskit.opflow.converters.PauliBasisChange.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.converters.PauliBasisChange -`qiskit.opflow.converters.PauliBasisChange(destination_basis=None, traverse=True, replacement_fn=None)` +`qiskit.opflow.converters.PauliBasisChange(destination_basis=None, traverse=True, replacement_fn=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/converters/pauli_basis_change.py "view source code") Bases: [`ConverterBase`](qiskit.opflow.converters.ConverterBase "qiskit.opflow.converters.converter_base.ConverterBase") diff --git a/docs/api/qiskit/qiskit.opflow.converters.TwoQubitReduction.md b/docs/api/qiskit/qiskit.opflow.converters.TwoQubitReduction.md index 548ded5373..ba4e63e54d 100644 --- a/docs/api/qiskit/qiskit.opflow.converters.TwoQubitReduction.md +++ b/docs/api/qiskit/qiskit.opflow.converters.TwoQubitReduction.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.converters.TwoQubitReduction -`qiskit.opflow.converters.TwoQubitReduction(num_particles)` +`qiskit.opflow.converters.TwoQubitReduction(num_particles)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/converters/two_qubit_reduction.py "view source code") Bases: [`ConverterBase`](qiskit.opflow.converters.ConverterBase "qiskit.opflow.converters.converter_base.ConverterBase") diff --git a/docs/api/qiskit/qiskit.opflow.converters.md b/docs/api/qiskit/qiskit.opflow.converters.md index 3d5bfafa08..1e13476801 100644 --- a/docs/api/qiskit/qiskit.opflow.converters.md +++ b/docs/api/qiskit/qiskit.opflow.converters.md @@ -44,9 +44,9 @@ In addition to the base class, directory holds a few miscellaneous converters wh | | | | --------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| [`CircuitSampler`](qiskit.opflow.converters.CircuitSampler "qiskit.opflow.converters.CircuitSampler")(backend\[, statevector, ...]) | Deprecated: The CircuitSampler traverses an Operator and converts any CircuitStateFns into approximations of the state function by a DictStateFn or VectorStateFn using a quantum backend. | +| [`CircuitSampler`](qiskit.opflow.converters.CircuitSampler "qiskit.opflow.converters.CircuitSampler")(backend\[, statevector, ...]) | Deprecated: The CircuitSampler traverses an Operator and converts any CircuitStateFns into approximations of the state function by a DictStateFn or VectorStateFn using a quantum backend. | | [`AbelianGrouper`](qiskit.opflow.converters.AbelianGrouper "qiskit.opflow.converters.AbelianGrouper")(\[traverse]) | Deprecated: The AbelianGrouper converts SummedOps into a sum of Abelian sums. | -| [`DictToCircuitSum`](qiskit.opflow.converters.DictToCircuitSum "qiskit.opflow.converters.DictToCircuitSum")(\[traverse, convert\_dicts, ...]) | Deprecated: Converts `DictStateFns` or `VectorStateFns` to equivalent `CircuitStateFns` or sums thereof. | -| [`PauliBasisChange`](qiskit.opflow.converters.PauliBasisChange "qiskit.opflow.converters.PauliBasisChange")(\[destination\_basis, ...]) | Deprecated: Converter for changing Paulis into other bases. | +| [`DictToCircuitSum`](qiskit.opflow.converters.DictToCircuitSum "qiskit.opflow.converters.DictToCircuitSum")(\[traverse, convert\_dicts, ...]) | Deprecated: Converts `DictStateFns` or `VectorStateFns` to equivalent `CircuitStateFns` or sums thereof. | +| [`PauliBasisChange`](qiskit.opflow.converters.PauliBasisChange "qiskit.opflow.converters.PauliBasisChange")(\[destination\_basis, ...]) | Deprecated: Converter for changing Paulis into other bases. | | [`TwoQubitReduction`](qiskit.opflow.converters.TwoQubitReduction "qiskit.opflow.converters.TwoQubitReduction")(num\_particles) | Deprecated: Two qubit reduction converter which eliminates the central and last qubit in a list of Pauli that has diagonal operators (Z,I) at those positions. | diff --git a/docs/api/qiskit/qiskit.opflow.evolutions.EvolutionBase.md b/docs/api/qiskit/qiskit.opflow.evolutions.EvolutionBase.md index 2c9087a608..681a9756df 100644 --- a/docs/api/qiskit/qiskit.opflow.evolutions.EvolutionBase.md +++ b/docs/api/qiskit/qiskit.opflow.evolutions.EvolutionBase.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.evolutions.EvolutionBase -`qiskit.opflow.evolutions.EvolutionBase` +`qiskit.opflow.evolutions.EvolutionBase`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/evolutions/evolution_base.py "view source code") Bases: [`ConverterBase`](qiskit.opflow.converters.ConverterBase "qiskit.opflow.converters.converter_base.ConverterBase"), [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.opflow.evolutions.EvolutionFactory.md b/docs/api/qiskit/qiskit.opflow.evolutions.EvolutionFactory.md index cca94308a5..3956ded6da 100644 --- a/docs/api/qiskit/qiskit.opflow.evolutions.EvolutionFactory.md +++ b/docs/api/qiskit/qiskit.opflow.evolutions.EvolutionFactory.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.evolutions.EvolutionFactory -`qiskit.opflow.evolutions.EvolutionFactory` +`qiskit.opflow.evolutions.EvolutionFactory`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/evolutions/evolution_factory.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.opflow.evolutions.EvolvedOp.md b/docs/api/qiskit/qiskit.opflow.evolutions.EvolvedOp.md index 61a376fdd7..71ab6f0a88 100644 --- a/docs/api/qiskit/qiskit.opflow.evolutions.EvolvedOp.md +++ b/docs/api/qiskit/qiskit.opflow.evolutions.EvolvedOp.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.evolutions.EvolvedOp -`qiskit.opflow.evolutions.EvolvedOp(*args, **kwargs)` +`qiskit.opflow.evolutions.EvolvedOp(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/evolutions/evolved_op.py "view source code") Bases: [`PrimitiveOp`](qiskit.opflow.primitive_ops.PrimitiveOp "qiskit.opflow.primitive_ops.primitive_op.PrimitiveOp") diff --git a/docs/api/qiskit/qiskit.opflow.evolutions.MatrixEvolution.md b/docs/api/qiskit/qiskit.opflow.evolutions.MatrixEvolution.md index f1793784de..1118d4b84b 100644 --- a/docs/api/qiskit/qiskit.opflow.evolutions.MatrixEvolution.md +++ b/docs/api/qiskit/qiskit.opflow.evolutions.MatrixEvolution.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.evolutions.MatrixEvolution -`qiskit.opflow.evolutions.MatrixEvolution` +`qiskit.opflow.evolutions.MatrixEvolution`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/evolutions/matrix_evolution.py "view source code") Bases: [`EvolutionBase`](qiskit.opflow.evolutions.EvolutionBase "qiskit.opflow.evolutions.evolution_base.EvolutionBase") diff --git a/docs/api/qiskit/qiskit.opflow.evolutions.PauliTrotterEvolution.md b/docs/api/qiskit/qiskit.opflow.evolutions.PauliTrotterEvolution.md index b85b30362f..03e2ca2237 100644 --- a/docs/api/qiskit/qiskit.opflow.evolutions.PauliTrotterEvolution.md +++ b/docs/api/qiskit/qiskit.opflow.evolutions.PauliTrotterEvolution.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.evolutions.PauliTrotterEvolution -`qiskit.opflow.evolutions.PauliTrotterEvolution(trotter_mode='trotter', reps=1)` +`qiskit.opflow.evolutions.PauliTrotterEvolution(trotter_mode='trotter', reps=1)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/evolutions/pauli_trotter_evolution.py "view source code") Bases: [`EvolutionBase`](qiskit.opflow.evolutions.EvolutionBase "qiskit.opflow.evolutions.evolution_base.EvolutionBase") diff --git a/docs/api/qiskit/qiskit.opflow.evolutions.QDrift.md b/docs/api/qiskit/qiskit.opflow.evolutions.QDrift.md index 13b8a7ae73..f4f34e7312 100644 --- a/docs/api/qiskit/qiskit.opflow.evolutions.QDrift.md +++ b/docs/api/qiskit/qiskit.opflow.evolutions.QDrift.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.evolutions.QDrift -`qiskit.opflow.evolutions.QDrift(reps=1)` +`qiskit.opflow.evolutions.QDrift(reps=1)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/evolutions/trotterizations/qdrift.py "view source code") Bases: [`TrotterizationBase`](qiskit.opflow.evolutions.TrotterizationBase "qiskit.opflow.evolutions.trotterizations.trotterization_base.TrotterizationBase") diff --git a/docs/api/qiskit/qiskit.opflow.evolutions.Suzuki.md b/docs/api/qiskit/qiskit.opflow.evolutions.Suzuki.md index 3be066fea0..0455dfa148 100644 --- a/docs/api/qiskit/qiskit.opflow.evolutions.Suzuki.md +++ b/docs/api/qiskit/qiskit.opflow.evolutions.Suzuki.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.evolutions.Suzuki -`qiskit.opflow.evolutions.Suzuki(reps=1, order=2)` +`qiskit.opflow.evolutions.Suzuki(reps=1, order=2)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/evolutions/trotterizations/suzuki.py "view source code") Bases: [`TrotterizationBase`](qiskit.opflow.evolutions.TrotterizationBase "qiskit.opflow.evolutions.trotterizations.trotterization_base.TrotterizationBase") diff --git a/docs/api/qiskit/qiskit.opflow.evolutions.Trotter.md b/docs/api/qiskit/qiskit.opflow.evolutions.Trotter.md index cd04a815a6..4618854927 100644 --- a/docs/api/qiskit/qiskit.opflow.evolutions.Trotter.md +++ b/docs/api/qiskit/qiskit.opflow.evolutions.Trotter.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.evolutions.Trotter -`qiskit.opflow.evolutions.Trotter(reps=1)` +`qiskit.opflow.evolutions.Trotter(reps=1)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/evolutions/trotterizations/trotter.py "view source code") Bases: [`Suzuki`](qiskit.opflow.evolutions.Suzuki "qiskit.opflow.evolutions.trotterizations.suzuki.Suzuki") diff --git a/docs/api/qiskit/qiskit.opflow.evolutions.TrotterizationBase.md b/docs/api/qiskit/qiskit.opflow.evolutions.TrotterizationBase.md index fca7ec9927..3bace41fcd 100644 --- a/docs/api/qiskit/qiskit.opflow.evolutions.TrotterizationBase.md +++ b/docs/api/qiskit/qiskit.opflow.evolutions.TrotterizationBase.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.evolutions.TrotterizationBase -`qiskit.opflow.evolutions.TrotterizationBase(reps=1)` +`qiskit.opflow.evolutions.TrotterizationBase(reps=1)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/evolutions/trotterizations/trotterization_base.py "view source code") Bases: [`EvolutionBase`](qiskit.opflow.evolutions.EvolutionBase "qiskit.opflow.evolutions.evolution_base.EvolutionBase") diff --git a/docs/api/qiskit/qiskit.opflow.evolutions.TrotterizationFactory.md b/docs/api/qiskit/qiskit.opflow.evolutions.TrotterizationFactory.md index 93090fd2f2..a24e1c42d0 100644 --- a/docs/api/qiskit/qiskit.opflow.evolutions.TrotterizationFactory.md +++ b/docs/api/qiskit/qiskit.opflow.evolutions.TrotterizationFactory.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.evolutions.TrotterizationFactory -`qiskit.opflow.evolutions.TrotterizationFactory` +`qiskit.opflow.evolutions.TrotterizationFactory`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/evolutions/trotterizations/trotterization_factory.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.opflow.evolutions.md b/docs/api/qiskit/qiskit.opflow.evolutions.md index 46cc70e79d..1e9dc9e774 100644 --- a/docs/api/qiskit/qiskit.opflow.evolutions.md +++ b/docs/api/qiskit/qiskit.opflow.evolutions.md @@ -45,9 +45,9 @@ The EvolutionBase class gives an interface for algorithms to ask for Evolutions | | | | -------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [`EvolutionFactory`](qiskit.opflow.evolutions.EvolutionFactory "qiskit.opflow.evolutions.EvolutionFactory")() | Deprecated: A factory class for convenient automatic selection of an Evolution algorithm based on the Operator to be converted. | -| [`EvolvedOp`](qiskit.opflow.evolutions.EvolvedOp "qiskit.opflow.evolutions.EvolvedOp")(\*args, \*\*kwargs) | Deprecated: Class for wrapping Operator Evolutions for compilation (`convert`) by an EvolutionBase method later, essentially acting as a placeholder. | +| [`EvolvedOp`](qiskit.opflow.evolutions.EvolvedOp "qiskit.opflow.evolutions.EvolvedOp")(\*args, \*\*kwargs) | Deprecated: Class for wrapping Operator Evolutions for compilation (`convert`) by an EvolutionBase method later, essentially acting as a placeholder. | | [`MatrixEvolution`](qiskit.opflow.evolutions.MatrixEvolution "qiskit.opflow.evolutions.MatrixEvolution")() | Deprecated: Performs Evolution by classical matrix exponentiation, constructing a circuit with `UnitaryGates` or `HamiltonianGates` containing the exponentiation of the Operator. | -| [`PauliTrotterEvolution`](qiskit.opflow.evolutions.PauliTrotterEvolution "qiskit.opflow.evolutions.PauliTrotterEvolution")(\[trotter\_mode, reps]) | Deprecated: An Evolution algorithm replacing exponentiated sums of Paulis by changing them each to the Z basis, rotating with an rZ, changing back, and Trotterizing. | +| [`PauliTrotterEvolution`](qiskit.opflow.evolutions.PauliTrotterEvolution "qiskit.opflow.evolutions.PauliTrotterEvolution")(\[trotter\_mode, reps]) | Deprecated: An Evolution algorithm replacing exponentiated sums of Paulis by changing them each to the Z basis, rotating with an rZ, changing back, and Trotterizing. | ### Trotterizations @@ -56,6 +56,6 @@ The EvolutionBase class gives an interface for algorithms to ask for Evolutions | [`TrotterizationBase`](qiskit.opflow.evolutions.TrotterizationBase "qiskit.opflow.evolutions.TrotterizationBase")(\[reps]) | Deprecated: A base for Trotterization methods, algorithms for approximating exponentiations of operator sums by compositions of exponentiations. | | [`TrotterizationFactory`](qiskit.opflow.evolutions.TrotterizationFactory "qiskit.opflow.evolutions.TrotterizationFactory")() | Deprecated: A factory for conveniently creating TrotterizationBase instances. | | [`Trotter`](qiskit.opflow.evolutions.Trotter "qiskit.opflow.evolutions.Trotter")(\[reps]) | Deprecated: Simple Trotter expansion, composing the evolution circuits of each Operator in the sum together `reps` times and dividing the evolution time of each by `reps`. | -| [`Suzuki`](qiskit.opflow.evolutions.Suzuki "qiskit.opflow.evolutions.Suzuki")(\[reps, order]) | Deprecated: Suzuki Trotter expansion, composing the evolution circuits of each Operator in the sum together by a recursive "bookends" strategy, repeating the whole composed circuit `reps` times. | +| [`Suzuki`](qiskit.opflow.evolutions.Suzuki "qiskit.opflow.evolutions.Suzuki")(\[reps, order]) | Deprecated: Suzuki Trotter expansion, composing the evolution circuits of each Operator in the sum together by a recursive "bookends" strategy, repeating the whole composed circuit `reps` times. | | [`QDrift`](qiskit.opflow.evolutions.QDrift "qiskit.opflow.evolutions.QDrift")(\[reps]) | Deprecated: The QDrift Trotterization method, which selects each each term in the Trotterization randomly, with a probability proportional to its weight. | diff --git a/docs/api/qiskit/qiskit.opflow.expectations.AerPauliExpectation.md b/docs/api/qiskit/qiskit.opflow.expectations.AerPauliExpectation.md index d6e1d25fe5..877e57d23a 100644 --- a/docs/api/qiskit/qiskit.opflow.expectations.AerPauliExpectation.md +++ b/docs/api/qiskit/qiskit.opflow.expectations.AerPauliExpectation.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.expectations.AerPauliExpectation -`qiskit.opflow.expectations.AerPauliExpectation` +`qiskit.opflow.expectations.AerPauliExpectation`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/expectations/aer_pauli_expectation.py "view source code") Bases: [`ExpectationBase`](qiskit.opflow.expectations.ExpectationBase "qiskit.opflow.expectations.expectation_base.ExpectationBase") diff --git a/docs/api/qiskit/qiskit.opflow.expectations.CVaRExpectation.md b/docs/api/qiskit/qiskit.opflow.expectations.CVaRExpectation.md index 18a762601b..9aa5799e63 100644 --- a/docs/api/qiskit/qiskit.opflow.expectations.CVaRExpectation.md +++ b/docs/api/qiskit/qiskit.opflow.expectations.CVaRExpectation.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.expectations.CVaRExpectation -`qiskit.opflow.expectations.CVaRExpectation(alpha, expectation=None)` +`qiskit.opflow.expectations.CVaRExpectation(alpha, expectation=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/expectations/cvar_expectation.py "view source code") Bases: [`ExpectationBase`](qiskit.opflow.expectations.ExpectationBase "qiskit.opflow.expectations.expectation_base.ExpectationBase") diff --git a/docs/api/qiskit/qiskit.opflow.expectations.ExpectationBase.md b/docs/api/qiskit/qiskit.opflow.expectations.ExpectationBase.md index 75e1559183..7a64d22643 100644 --- a/docs/api/qiskit/qiskit.opflow.expectations.ExpectationBase.md +++ b/docs/api/qiskit/qiskit.opflow.expectations.ExpectationBase.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.expectations.ExpectationBase -`qiskit.opflow.expectations.ExpectationBase` +`qiskit.opflow.expectations.ExpectationBase`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/expectations/expectation_base.py "view source code") Bases: [`ConverterBase`](qiskit.opflow.converters.ConverterBase "qiskit.opflow.converters.converter_base.ConverterBase") diff --git a/docs/api/qiskit/qiskit.opflow.expectations.ExpectationFactory.md b/docs/api/qiskit/qiskit.opflow.expectations.ExpectationFactory.md index 6663008137..84b2306810 100644 --- a/docs/api/qiskit/qiskit.opflow.expectations.ExpectationFactory.md +++ b/docs/api/qiskit/qiskit.opflow.expectations.ExpectationFactory.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.expectations.ExpectationFactory -`qiskit.opflow.expectations.ExpectationFactory` +`qiskit.opflow.expectations.ExpectationFactory`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/expectations/expectation_factory.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.opflow.expectations.MatrixExpectation.md b/docs/api/qiskit/qiskit.opflow.expectations.MatrixExpectation.md index 9f78c3c996..2c2b22ce63 100644 --- a/docs/api/qiskit/qiskit.opflow.expectations.MatrixExpectation.md +++ b/docs/api/qiskit/qiskit.opflow.expectations.MatrixExpectation.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.expectations.MatrixExpectation -`qiskit.opflow.expectations.MatrixExpectation` +`qiskit.opflow.expectations.MatrixExpectation`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/expectations/matrix_expectation.py "view source code") Bases: [`ExpectationBase`](qiskit.opflow.expectations.ExpectationBase "qiskit.opflow.expectations.expectation_base.ExpectationBase") diff --git a/docs/api/qiskit/qiskit.opflow.expectations.PauliExpectation.md b/docs/api/qiskit/qiskit.opflow.expectations.PauliExpectation.md index d6340e5bf3..d1ba24ba1f 100644 --- a/docs/api/qiskit/qiskit.opflow.expectations.PauliExpectation.md +++ b/docs/api/qiskit/qiskit.opflow.expectations.PauliExpectation.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.expectations.PauliExpectation -`qiskit.opflow.expectations.PauliExpectation(group_paulis=True)` +`qiskit.opflow.expectations.PauliExpectation(group_paulis=True)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/expectations/pauli_expectation.py "view source code") Bases: [`ExpectationBase`](qiskit.opflow.expectations.ExpectationBase "qiskit.opflow.expectations.expectation_base.ExpectationBase") diff --git a/docs/api/qiskit/qiskit.opflow.expectations.md b/docs/api/qiskit/qiskit.opflow.expectations.md index 7ceeb95a21..50b011bb43 100644 --- a/docs/api/qiskit/qiskit.opflow.expectations.md +++ b/docs/api/qiskit/qiskit.opflow.expectations.md @@ -42,5 +42,5 @@ The ExpectationBase class gives an interface for algorithms to ask for Expectati | [`AerPauliExpectation`](qiskit.opflow.expectations.AerPauliExpectation "qiskit.opflow.expectations.AerPauliExpectation")() | An Expectation converter for using Aer's operator snapshot to take expectations of quantum state circuits over Pauli observables. | | [`MatrixExpectation`](qiskit.opflow.expectations.MatrixExpectation "qiskit.opflow.expectations.MatrixExpectation")() | An Expectation converter which converts Operator measurements to be matrix-based so they can be evaluated by matrix multiplication. | | [`PauliExpectation`](qiskit.opflow.expectations.PauliExpectation "qiskit.opflow.expectations.PauliExpectation")(\[group\_paulis]) | An Expectation converter for Pauli-basis observables by changing Pauli measurements to a diagonal (\{Z, I}^n) basis and appending circuit post-rotations to the measured state function. | -| [`CVaRExpectation`](qiskit.opflow.expectations.CVaRExpectation "qiskit.opflow.expectations.CVaRExpectation")(alpha\[, expectation]) | Deprecated: Compute the Conditional Value at Risk (CVaR) expectation value. | +| [`CVaRExpectation`](qiskit.opflow.expectations.CVaRExpectation "qiskit.opflow.expectations.CVaRExpectation")(alpha\[, expectation]) | Deprecated: Compute the Conditional Value at Risk (CVaR) expectation value. | diff --git a/docs/api/qiskit/qiskit.opflow.gradients.CircuitGradient.md b/docs/api/qiskit/qiskit.opflow.gradients.CircuitGradient.md index b15d26ce32..e5593c520b 100644 --- a/docs/api/qiskit/qiskit.opflow.gradients.CircuitGradient.md +++ b/docs/api/qiskit/qiskit.opflow.gradients.CircuitGradient.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.gradients.CircuitGradient -`qiskit.opflow.gradients.CircuitGradient` +`qiskit.opflow.gradients.CircuitGradient`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/gradients/circuit_gradients/circuit_gradient.py "view source code") Bases: [`ConverterBase`](qiskit.opflow.converters.ConverterBase "qiskit.opflow.converters.converter_base.ConverterBase") diff --git a/docs/api/qiskit/qiskit.opflow.gradients.CircuitQFI.md b/docs/api/qiskit/qiskit.opflow.gradients.CircuitQFI.md index 0cf478073d..de37ede686 100644 --- a/docs/api/qiskit/qiskit.opflow.gradients.CircuitQFI.md +++ b/docs/api/qiskit/qiskit.opflow.gradients.CircuitQFI.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.gradients.CircuitQFI -`qiskit.opflow.gradients.CircuitQFI` +`qiskit.opflow.gradients.CircuitQFI`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/gradients/circuit_qfis/circuit_qfi.py "view source code") Bases: [`ConverterBase`](qiskit.opflow.converters.ConverterBase "qiskit.opflow.converters.converter_base.ConverterBase") diff --git a/docs/api/qiskit/qiskit.opflow.gradients.DerivativeBase.md b/docs/api/qiskit/qiskit.opflow.gradients.DerivativeBase.md index c40428037c..a6f7ff076f 100644 --- a/docs/api/qiskit/qiskit.opflow.gradients.DerivativeBase.md +++ b/docs/api/qiskit/qiskit.opflow.gradients.DerivativeBase.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.gradients.DerivativeBase -`qiskit.opflow.gradients.DerivativeBase` +`qiskit.opflow.gradients.DerivativeBase`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/gradients/derivative_base.py "view source code") Bases: [`ConverterBase`](qiskit.opflow.converters.ConverterBase "qiskit.opflow.converters.converter_base.ConverterBase") diff --git a/docs/api/qiskit/qiskit.opflow.gradients.Gradient.md b/docs/api/qiskit/qiskit.opflow.gradients.Gradient.md index bf25f83a4a..9c950f7243 100644 --- a/docs/api/qiskit/qiskit.opflow.gradients.Gradient.md +++ b/docs/api/qiskit/qiskit.opflow.gradients.Gradient.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.gradients.Gradient -`qiskit.opflow.gradients.Gradient(grad_method='param_shift', **kwargs)` +`qiskit.opflow.gradients.Gradient(grad_method='param_shift', **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/gradients/gradient.py "view source code") Bases: [`GradientBase`](qiskit.opflow.gradients.GradientBase "qiskit.opflow.gradients.gradient_base.GradientBase") diff --git a/docs/api/qiskit/qiskit.opflow.gradients.GradientBase.md b/docs/api/qiskit/qiskit.opflow.gradients.GradientBase.md index 2ac4c764e0..2260f64fc6 100644 --- a/docs/api/qiskit/qiskit.opflow.gradients.GradientBase.md +++ b/docs/api/qiskit/qiskit.opflow.gradients.GradientBase.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.gradients.GradientBase -`qiskit.opflow.gradients.GradientBase(grad_method='param_shift', **kwargs)` +`qiskit.opflow.gradients.GradientBase(grad_method='param_shift', **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/gradients/gradient_base.py "view source code") Bases: [`DerivativeBase`](qiskit.opflow.gradients.DerivativeBase "qiskit.opflow.gradients.derivative_base.DerivativeBase") diff --git a/docs/api/qiskit/qiskit.opflow.gradients.Hessian.md b/docs/api/qiskit/qiskit.opflow.gradients.Hessian.md index 74047e46ce..2704ebe5a3 100644 --- a/docs/api/qiskit/qiskit.opflow.gradients.Hessian.md +++ b/docs/api/qiskit/qiskit.opflow.gradients.Hessian.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.gradients.Hessian -`qiskit.opflow.gradients.Hessian(hess_method='param_shift', **kwargs)` +`qiskit.opflow.gradients.Hessian(hess_method='param_shift', **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/gradients/hessian.py "view source code") Bases: [`HessianBase`](qiskit.opflow.gradients.HessianBase "qiskit.opflow.gradients.hessian_base.HessianBase") diff --git a/docs/api/qiskit/qiskit.opflow.gradients.HessianBase.md b/docs/api/qiskit/qiskit.opflow.gradients.HessianBase.md index 014300696a..6115711186 100644 --- a/docs/api/qiskit/qiskit.opflow.gradients.HessianBase.md +++ b/docs/api/qiskit/qiskit.opflow.gradients.HessianBase.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.gradients.HessianBase -`qiskit.opflow.gradients.HessianBase(hess_method='param_shift', **kwargs)` +`qiskit.opflow.gradients.HessianBase(hess_method='param_shift', **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/gradients/hessian_base.py "view source code") Bases: [`DerivativeBase`](qiskit.opflow.gradients.DerivativeBase "qiskit.opflow.gradients.derivative_base.DerivativeBase") diff --git a/docs/api/qiskit/qiskit.opflow.gradients.NaturalGradient.md b/docs/api/qiskit/qiskit.opflow.gradients.NaturalGradient.md index 8ea8c29054..a77f0dbcf9 100644 --- a/docs/api/qiskit/qiskit.opflow.gradients.NaturalGradient.md +++ b/docs/api/qiskit/qiskit.opflow.gradients.NaturalGradient.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.gradients.NaturalGradient -`qiskit.opflow.gradients.NaturalGradient(grad_method='lin_comb', qfi_method='lin_comb_full', regularization=None, **kwargs)` +`qiskit.opflow.gradients.NaturalGradient(grad_method='lin_comb', qfi_method='lin_comb_full', regularization=None, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/gradients/natural_gradient.py "view source code") Bases: [`GradientBase`](qiskit.opflow.gradients.GradientBase "qiskit.opflow.gradients.gradient_base.GradientBase") diff --git a/docs/api/qiskit/qiskit.opflow.gradients.QFI.md b/docs/api/qiskit/qiskit.opflow.gradients.QFI.md index ae2e3dcc4c..434e6bb2c5 100644 --- a/docs/api/qiskit/qiskit.opflow.gradients.QFI.md +++ b/docs/api/qiskit/qiskit.opflow.gradients.QFI.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.gradients.QFI -`qiskit.opflow.gradients.QFI(qfi_method='lin_comb_full')` +`qiskit.opflow.gradients.QFI(qfi_method='lin_comb_full')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/gradients/qfi.py "view source code") Bases: [`QFIBase`](qiskit.opflow.gradients.QFIBase "qiskit.opflow.gradients.qfi_base.QFIBase") diff --git a/docs/api/qiskit/qiskit.opflow.gradients.QFIBase.md b/docs/api/qiskit/qiskit.opflow.gradients.QFIBase.md index 8e0fedd454..f0af5b6a5a 100644 --- a/docs/api/qiskit/qiskit.opflow.gradients.QFIBase.md +++ b/docs/api/qiskit/qiskit.opflow.gradients.QFIBase.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.gradients.QFIBase -`qiskit.opflow.gradients.QFIBase(qfi_method='lin_comb_full')` +`qiskit.opflow.gradients.QFIBase(qfi_method='lin_comb_full')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/gradients/qfi_base.py "view source code") Bases: [`DerivativeBase`](qiskit.opflow.gradients.DerivativeBase "qiskit.opflow.gradients.derivative_base.DerivativeBase") diff --git a/docs/api/qiskit/qiskit.opflow.gradients.md b/docs/api/qiskit/qiskit.opflow.gradients.md index 8906f76fbf..982d7fe6c5 100644 --- a/docs/api/qiskit/qiskit.opflow.gradients.md +++ b/docs/api/qiskit/qiskit.opflow.gradients.md @@ -127,6 +127,6 @@ The derivative classes come with a gradient\_wrapper() function which returns th | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- | | [`Gradient`](qiskit.opflow.gradients.Gradient "qiskit.opflow.gradients.Gradient")(\[grad\_method]) | Deprecated: Convert an operator expression to the first-order gradient. | | [`Hessian`](qiskit.opflow.gradients.Hessian "qiskit.opflow.gradients.Hessian")(\[hess\_method]) | Deprecated: Compute the Hessian of an expected value. | -| [`NaturalGradient`](qiskit.opflow.gradients.NaturalGradient "qiskit.opflow.gradients.NaturalGradient")(\[grad\_method, qfi\_method, ...]) | Deprecated: Convert an operator expression to the first-order gradient. | +| [`NaturalGradient`](qiskit.opflow.gradients.NaturalGradient "qiskit.opflow.gradients.NaturalGradient")(\[grad\_method, qfi\_method, ...]) | Deprecated: Convert an operator expression to the first-order gradient. | | [`QFI`](qiskit.opflow.gradients.QFI "qiskit.opflow.gradients.QFI")(\[qfi\_method]) | Deprecated: Compute the Quantum Fisher Information (QFI). | diff --git a/docs/api/qiskit/qiskit.opflow.list_ops.ComposedOp.md b/docs/api/qiskit/qiskit.opflow.list_ops.ComposedOp.md index bd2b112274..07dd681fec 100644 --- a/docs/api/qiskit/qiskit.opflow.list_ops.ComposedOp.md +++ b/docs/api/qiskit/qiskit.opflow.list_ops.ComposedOp.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.list_ops.ComposedOp -`qiskit.opflow.list_ops.ComposedOp(oplist, coeff=1.0, abelian=False)` +`qiskit.opflow.list_ops.ComposedOp(oplist, coeff=1.0, abelian=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/list_ops/composed_op.py "view source code") Bases: [`ListOp`](qiskit.opflow.list_ops.ListOp "qiskit.opflow.list_ops.list_op.ListOp") diff --git a/docs/api/qiskit/qiskit.opflow.list_ops.ListOp.md b/docs/api/qiskit/qiskit.opflow.list_ops.ListOp.md index 6067d217e6..6a65a0d285 100644 --- a/docs/api/qiskit/qiskit.opflow.list_ops.ListOp.md +++ b/docs/api/qiskit/qiskit.opflow.list_ops.ListOp.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.list_ops.ListOp -`qiskit.opflow.list_ops.ListOp(oplist, combo_fn=None, coeff=1.0, abelian=False, grad_combo_fn=None)` +`qiskit.opflow.list_ops.ListOp(oplist, combo_fn=None, coeff=1.0, abelian=False, grad_combo_fn=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/list_ops/list_op.py "view source code") Bases: [`OperatorBase`](qiskit.opflow.OperatorBase "qiskit.opflow.operator_base.OperatorBase") diff --git a/docs/api/qiskit/qiskit.opflow.list_ops.SummedOp.md b/docs/api/qiskit/qiskit.opflow.list_ops.SummedOp.md index 151f6d4457..4d34fe26cd 100644 --- a/docs/api/qiskit/qiskit.opflow.list_ops.SummedOp.md +++ b/docs/api/qiskit/qiskit.opflow.list_ops.SummedOp.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.list_ops.SummedOp -`qiskit.opflow.list_ops.SummedOp(oplist, coeff=1.0, abelian=False)` +`qiskit.opflow.list_ops.SummedOp(oplist, coeff=1.0, abelian=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/list_ops/summed_op.py "view source code") Bases: [`ListOp`](qiskit.opflow.list_ops.ListOp "qiskit.opflow.list_ops.list_op.ListOp") diff --git a/docs/api/qiskit/qiskit.opflow.list_ops.TensoredOp.md b/docs/api/qiskit/qiskit.opflow.list_ops.TensoredOp.md index 064f051ee8..5f28be96c5 100644 --- a/docs/api/qiskit/qiskit.opflow.list_ops.TensoredOp.md +++ b/docs/api/qiskit/qiskit.opflow.list_ops.TensoredOp.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.list_ops.TensoredOp -`qiskit.opflow.list_ops.TensoredOp(oplist, coeff=1.0, abelian=False)` +`qiskit.opflow.list_ops.TensoredOp(oplist, coeff=1.0, abelian=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/list_ops/tensored_op.py "view source code") Bases: [`ListOp`](qiskit.opflow.list_ops.ListOp "qiskit.opflow.list_ops.list_op.ListOp") diff --git a/docs/api/qiskit/qiskit.opflow.list_ops.md b/docs/api/qiskit/qiskit.opflow.list_ops.md index e1487a025b..2552c2938c 100644 --- a/docs/api/qiskit/qiskit.opflow.list_ops.md +++ b/docs/api/qiskit/qiskit.opflow.list_ops.md @@ -47,8 +47,8 @@ You’ll encounter the [`ListOp`](qiskit.opflow.list_ops.ListOp "qiskit.opflow.l | | | | -------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | -| [`ListOp`](qiskit.opflow.list_ops.ListOp "qiskit.opflow.list_ops.ListOp")(oplist\[, combo\_fn, coeff, abelian, ...]) | Deprecated: A Class for manipulating List Operators, and parent class to `SummedOp`, `ComposedOp` and `TensoredOp`. | -| [`ComposedOp`](qiskit.opflow.list_ops.ComposedOp "qiskit.opflow.list_ops.ComposedOp")(oplist\[, coeff, abelian]) | Deprecated: A class for lazily representing compositions of Operators. | -| [`SummedOp`](qiskit.opflow.list_ops.SummedOp "qiskit.opflow.list_ops.SummedOp")(oplist\[, coeff, abelian]) | Deprecated: A class for lazily representing sums of Operators. | -| [`TensoredOp`](qiskit.opflow.list_ops.TensoredOp "qiskit.opflow.list_ops.TensoredOp")(oplist\[, coeff, abelian]) | Deprecated: A class for lazily representing tensor products of Operators. | +| [`ListOp`](qiskit.opflow.list_ops.ListOp "qiskit.opflow.list_ops.ListOp")(oplist\[, combo\_fn, coeff, abelian, ...]) | Deprecated: A Class for manipulating List Operators, and parent class to `SummedOp`, `ComposedOp` and `TensoredOp`. | +| [`ComposedOp`](qiskit.opflow.list_ops.ComposedOp "qiskit.opflow.list_ops.ComposedOp")(oplist\[, coeff, abelian]) | Deprecated: A class for lazily representing compositions of Operators. | +| [`SummedOp`](qiskit.opflow.list_ops.SummedOp "qiskit.opflow.list_ops.SummedOp")(oplist\[, coeff, abelian]) | Deprecated: A class for lazily representing sums of Operators. | +| [`TensoredOp`](qiskit.opflow.list_ops.TensoredOp "qiskit.opflow.list_ops.TensoredOp")(oplist\[, coeff, abelian]) | Deprecated: A class for lazily representing tensor products of Operators. | diff --git a/docs/api/qiskit/qiskit.opflow.primitive_ops.CircuitOp.md b/docs/api/qiskit/qiskit.opflow.primitive_ops.CircuitOp.md index 7c9c863385..a518b7092b 100644 --- a/docs/api/qiskit/qiskit.opflow.primitive_ops.CircuitOp.md +++ b/docs/api/qiskit/qiskit.opflow.primitive_ops.CircuitOp.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.primitive_ops.CircuitOp -`qiskit.opflow.primitive_ops.CircuitOp(*args, **kwargs)` +`qiskit.opflow.primitive_ops.CircuitOp(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/primitive_ops/circuit_op.py "view source code") Bases: [`PrimitiveOp`](qiskit.opflow.primitive_ops.PrimitiveOp "qiskit.opflow.primitive_ops.primitive_op.PrimitiveOp") diff --git a/docs/api/qiskit/qiskit.opflow.primitive_ops.MatrixOp.md b/docs/api/qiskit/qiskit.opflow.primitive_ops.MatrixOp.md index cc0986c313..5cd3a721f2 100644 --- a/docs/api/qiskit/qiskit.opflow.primitive_ops.MatrixOp.md +++ b/docs/api/qiskit/qiskit.opflow.primitive_ops.MatrixOp.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.primitive_ops.MatrixOp -`qiskit.opflow.primitive_ops.MatrixOp(*args, **kwargs)` +`qiskit.opflow.primitive_ops.MatrixOp(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/primitive_ops/matrix_op.py "view source code") Bases: [`PrimitiveOp`](qiskit.opflow.primitive_ops.PrimitiveOp "qiskit.opflow.primitive_ops.primitive_op.PrimitiveOp") diff --git a/docs/api/qiskit/qiskit.opflow.primitive_ops.PauliOp.md b/docs/api/qiskit/qiskit.opflow.primitive_ops.PauliOp.md index 02db8559c8..c933213dd0 100644 --- a/docs/api/qiskit/qiskit.opflow.primitive_ops.PauliOp.md +++ b/docs/api/qiskit/qiskit.opflow.primitive_ops.PauliOp.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.primitive_ops.PauliOp -`qiskit.opflow.primitive_ops.PauliOp(*args, **kwargs)` +`qiskit.opflow.primitive_ops.PauliOp(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/primitive_ops/pauli_op.py "view source code") Bases: [`PrimitiveOp`](qiskit.opflow.primitive_ops.PrimitiveOp "qiskit.opflow.primitive_ops.primitive_op.PrimitiveOp") diff --git a/docs/api/qiskit/qiskit.opflow.primitive_ops.PauliSumOp.md b/docs/api/qiskit/qiskit.opflow.primitive_ops.PauliSumOp.md index 8fd7fddce7..0f8e5c2a7f 100644 --- a/docs/api/qiskit/qiskit.opflow.primitive_ops.PauliSumOp.md +++ b/docs/api/qiskit/qiskit.opflow.primitive_ops.PauliSumOp.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.primitive_ops.PauliSumOp -`qiskit.opflow.primitive_ops.PauliSumOp(*args, **kwargs)` +`qiskit.opflow.primitive_ops.PauliSumOp(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/primitive_ops/pauli_sum_op.py "view source code") Bases: [`PrimitiveOp`](qiskit.opflow.primitive_ops.PrimitiveOp "qiskit.opflow.primitive_ops.primitive_op.PrimitiveOp") diff --git a/docs/api/qiskit/qiskit.opflow.primitive_ops.PrimitiveOp.md b/docs/api/qiskit/qiskit.opflow.primitive_ops.PrimitiveOp.md index 7a7a636a40..5e81821b8c 100644 --- a/docs/api/qiskit/qiskit.opflow.primitive_ops.PrimitiveOp.md +++ b/docs/api/qiskit/qiskit.opflow.primitive_ops.PrimitiveOp.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.primitive_ops.PrimitiveOp -`qiskit.opflow.primitive_ops.PrimitiveOp(primitive, coeff=1.0)` +`qiskit.opflow.primitive_ops.PrimitiveOp(primitive, coeff=1.0)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/primitive_ops/primitive_op.py "view source code") Bases: [`OperatorBase`](qiskit.opflow.OperatorBase "qiskit.opflow.operator_base.OperatorBase") diff --git a/docs/api/qiskit/qiskit.opflow.primitive_ops.TaperedPauliSumOp.md b/docs/api/qiskit/qiskit.opflow.primitive_ops.TaperedPauliSumOp.md index db56c21e85..d53a4f7d5d 100644 --- a/docs/api/qiskit/qiskit.opflow.primitive_ops.TaperedPauliSumOp.md +++ b/docs/api/qiskit/qiskit.opflow.primitive_ops.TaperedPauliSumOp.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.primitive_ops.TaperedPauliSumOp -`qiskit.opflow.primitive_ops.TaperedPauliSumOp(*args, **kwargs)` +`qiskit.opflow.primitive_ops.TaperedPauliSumOp(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/primitive_ops/tapered_pauli_sum_op.py "view source code") Bases: [`PauliSumOp`](qiskit.opflow.primitive_ops.PauliSumOp "qiskit.opflow.primitive_ops.pauli_sum_op.PauliSumOp") diff --git a/docs/api/qiskit/qiskit.opflow.primitive_ops.Z2Symmetries.md b/docs/api/qiskit/qiskit.opflow.primitive_ops.Z2Symmetries.md index 0bbb9f6475..f5ed7e783d 100644 --- a/docs/api/qiskit/qiskit.opflow.primitive_ops.Z2Symmetries.md +++ b/docs/api/qiskit/qiskit.opflow.primitive_ops.Z2Symmetries.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.primitive_ops.Z2Symmetries -`qiskit.opflow.primitive_ops.Z2Symmetries(symmetries, sq_paulis, sq_list, tapering_values=None, tol=1e-14)` +`qiskit.opflow.primitive_ops.Z2Symmetries(symmetries, sq_paulis, sq_list, tapering_values=None, tol=1e-14)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/primitive_ops/tapered_pauli_sum_op.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.opflow.primitive_ops.md b/docs/api/qiskit/qiskit.opflow.primitive_ops.md index 67e381c5df..56d0173135 100644 --- a/docs/api/qiskit/qiskit.opflow.primitive_ops.md +++ b/docs/api/qiskit/qiskit.opflow.primitive_ops.md @@ -36,16 +36,16 @@ PrimitiveOps are the classes for representing basic Operators, backed by computa | | | | ---------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | -| [`PrimitiveOp`](qiskit.opflow.primitive_ops.PrimitiveOp "qiskit.opflow.primitive_ops.PrimitiveOp")(primitive\[, coeff]) | Deprecated: A class for representing basic Operators, backed by Operator primitives from Terra. | -| [`CircuitOp`](qiskit.opflow.primitive_ops.CircuitOp "qiskit.opflow.primitive_ops.CircuitOp")(\*args, \*\*kwargs) | Deprecated: Class for Operators backed by Terra's `QuantumCircuit` module. | -| [`MatrixOp`](qiskit.opflow.primitive_ops.MatrixOp "qiskit.opflow.primitive_ops.MatrixOp")(\*args, \*\*kwargs) | Deprecated: Class for Operators represented by matrices, backed by Terra's `Operator` module. | -| [`PauliOp`](qiskit.opflow.primitive_ops.PauliOp "qiskit.opflow.primitive_ops.PauliOp")(\*args, \*\*kwargs) | Deprecated: Class for Operators backed by Terra's `Pauli` module. | -| [`PauliSumOp`](qiskit.opflow.primitive_ops.PauliSumOp "qiskit.opflow.primitive_ops.PauliSumOp")(\*args, \*\*kwargs) | Deprecated: Class for Operators backed by Terra's `SparsePauliOp` class. | -| [`TaperedPauliSumOp`](qiskit.opflow.primitive_ops.TaperedPauliSumOp "qiskit.opflow.primitive_ops.TaperedPauliSumOp")(\*args, \*\*kwargs) | Deprecated: Class for PauliSumOp after tapering | +| [`PrimitiveOp`](qiskit.opflow.primitive_ops.PrimitiveOp "qiskit.opflow.primitive_ops.PrimitiveOp")(primitive\[, coeff]) | Deprecated: A class for representing basic Operators, backed by Operator primitives from Terra. | +| [`CircuitOp`](qiskit.opflow.primitive_ops.CircuitOp "qiskit.opflow.primitive_ops.CircuitOp")(\*args, \*\*kwargs) | Deprecated: Class for Operators backed by Terra's `QuantumCircuit` module. | +| [`MatrixOp`](qiskit.opflow.primitive_ops.MatrixOp "qiskit.opflow.primitive_ops.MatrixOp")(\*args, \*\*kwargs) | Deprecated: Class for Operators represented by matrices, backed by Terra's `Operator` module. | +| [`PauliOp`](qiskit.opflow.primitive_ops.PauliOp "qiskit.opflow.primitive_ops.PauliOp")(\*args, \*\*kwargs) | Deprecated: Class for Operators backed by Terra's `Pauli` module. | +| [`PauliSumOp`](qiskit.opflow.primitive_ops.PauliSumOp "qiskit.opflow.primitive_ops.PauliSumOp")(\*args, \*\*kwargs) | Deprecated: Class for Operators backed by Terra's `SparsePauliOp` class. | +| [`TaperedPauliSumOp`](qiskit.opflow.primitive_ops.TaperedPauliSumOp "qiskit.opflow.primitive_ops.TaperedPauliSumOp")(\*args, \*\*kwargs) | Deprecated: Class for PauliSumOp after tapering | ### Symmetries | | | | --------------------------------------------------------------------------------------------------------------------------------------- | ------------------------- | -| [`Z2Symmetries`](qiskit.opflow.primitive_ops.Z2Symmetries "qiskit.opflow.primitive_ops.Z2Symmetries")(symmetries, sq\_paulis, sq\_list) | Deprecated: Z2 Symmetries | +| [`Z2Symmetries`](qiskit.opflow.primitive_ops.Z2Symmetries "qiskit.opflow.primitive_ops.Z2Symmetries")(symmetries, sq\_paulis, sq\_list) | Deprecated: Z2 Symmetries | diff --git a/docs/api/qiskit/qiskit.opflow.state_fns.CVaRMeasurement.md b/docs/api/qiskit/qiskit.opflow.state_fns.CVaRMeasurement.md index ee2f98bb5e..3e0b98e707 100644 --- a/docs/api/qiskit/qiskit.opflow.state_fns.CVaRMeasurement.md +++ b/docs/api/qiskit/qiskit.opflow.state_fns.CVaRMeasurement.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.state_fns.CVaRMeasurement -`qiskit.opflow.state_fns.CVaRMeasurement(*args, **kwargs)` +`qiskit.opflow.state_fns.CVaRMeasurement(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/state_fns/cvar_measurement.py "view source code") Bases: [`OperatorStateFn`](qiskit.opflow.state_fns.OperatorStateFn "qiskit.opflow.state_fns.operator_state_fn.OperatorStateFn") diff --git a/docs/api/qiskit/qiskit.opflow.state_fns.CircuitStateFn.md b/docs/api/qiskit/qiskit.opflow.state_fns.CircuitStateFn.md index 44a78260bc..25bda7a61c 100644 --- a/docs/api/qiskit/qiskit.opflow.state_fns.CircuitStateFn.md +++ b/docs/api/qiskit/qiskit.opflow.state_fns.CircuitStateFn.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.state_fns.CircuitStateFn -`qiskit.opflow.state_fns.CircuitStateFn(*args, **kwargs)` +`qiskit.opflow.state_fns.CircuitStateFn(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/state_fns/circuit_state_fn.py "view source code") Bases: [`StateFn`](qiskit.opflow.state_fns.StateFn "qiskit.opflow.state_fns.state_fn.StateFn") diff --git a/docs/api/qiskit/qiskit.opflow.state_fns.DictStateFn.md b/docs/api/qiskit/qiskit.opflow.state_fns.DictStateFn.md index 5a00547d61..5a8ce82cdf 100644 --- a/docs/api/qiskit/qiskit.opflow.state_fns.DictStateFn.md +++ b/docs/api/qiskit/qiskit.opflow.state_fns.DictStateFn.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.state_fns.DictStateFn -`qiskit.opflow.state_fns.DictStateFn(*args, **kwargs)` +`qiskit.opflow.state_fns.DictStateFn(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/state_fns/dict_state_fn.py "view source code") Bases: [`StateFn`](qiskit.opflow.state_fns.StateFn "qiskit.opflow.state_fns.state_fn.StateFn") diff --git a/docs/api/qiskit/qiskit.opflow.state_fns.OperatorStateFn.md b/docs/api/qiskit/qiskit.opflow.state_fns.OperatorStateFn.md index 5210a3bd1f..a6b9e73383 100644 --- a/docs/api/qiskit/qiskit.opflow.state_fns.OperatorStateFn.md +++ b/docs/api/qiskit/qiskit.opflow.state_fns.OperatorStateFn.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.state_fns.OperatorStateFn -`qiskit.opflow.state_fns.OperatorStateFn(*args, **kwargs)` +`qiskit.opflow.state_fns.OperatorStateFn(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/state_fns/operator_state_fn.py "view source code") Bases: [`StateFn`](qiskit.opflow.state_fns.StateFn "qiskit.opflow.state_fns.state_fn.StateFn") diff --git a/docs/api/qiskit/qiskit.opflow.state_fns.SparseVectorStateFn.md b/docs/api/qiskit/qiskit.opflow.state_fns.SparseVectorStateFn.md index 97dd1a2b30..5e39db48fc 100644 --- a/docs/api/qiskit/qiskit.opflow.state_fns.SparseVectorStateFn.md +++ b/docs/api/qiskit/qiskit.opflow.state_fns.SparseVectorStateFn.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.state_fns.SparseVectorStateFn -`qiskit.opflow.state_fns.SparseVectorStateFn(*args, **kwargs)` +`qiskit.opflow.state_fns.SparseVectorStateFn(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/state_fns/sparse_vector_state_fn.py "view source code") Bases: [`StateFn`](qiskit.opflow.state_fns.StateFn "qiskit.opflow.state_fns.state_fn.StateFn") diff --git a/docs/api/qiskit/qiskit.opflow.state_fns.StateFn.md b/docs/api/qiskit/qiskit.opflow.state_fns.StateFn.md index 41bd93de5f..8e055158a7 100644 --- a/docs/api/qiskit/qiskit.opflow.state_fns.StateFn.md +++ b/docs/api/qiskit/qiskit.opflow.state_fns.StateFn.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.state_fns.StateFn -`qiskit.opflow.state_fns.StateFn(primitive=None, coeff=1.0, is_measurement=False)` +`qiskit.opflow.state_fns.StateFn(primitive=None, coeff=1.0, is_measurement=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/state_fns/state_fn.py "view source code") Bases: [`OperatorBase`](qiskit.opflow.OperatorBase "qiskit.opflow.operator_base.OperatorBase") diff --git a/docs/api/qiskit/qiskit.opflow.state_fns.VectorStateFn.md b/docs/api/qiskit/qiskit.opflow.state_fns.VectorStateFn.md index 7c425ab2ee..1552f7f4c1 100644 --- a/docs/api/qiskit/qiskit.opflow.state_fns.VectorStateFn.md +++ b/docs/api/qiskit/qiskit.opflow.state_fns.VectorStateFn.md @@ -10,7 +10,7 @@ python_api_name: qiskit.opflow.state_fns.VectorStateFn -`qiskit.opflow.state_fns.VectorStateFn(*args, **kwargs)` +`qiskit.opflow.state_fns.VectorStateFn(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/opflow/state_fns/vector_state_fn.py "view source code") Bases: [`StateFn`](qiskit.opflow.state_fns.StateFn "qiskit.opflow.state_fns.state_fn.StateFn") diff --git a/docs/api/qiskit/qiskit.opflow.state_fns.md b/docs/api/qiskit/qiskit.opflow.state_fns.md index 25ed768904..17a36c8009 100644 --- a/docs/api/qiskit/qiskit.opflow.state_fns.md +++ b/docs/api/qiskit/qiskit.opflow.state_fns.md @@ -40,11 +40,11 @@ Measurements are defined to be functionals over StateFns, taking them to real va | | | | -------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [`StateFn`](qiskit.opflow.state_fns.StateFn "qiskit.opflow.state_fns.StateFn")(\[primitive, coeff, is\_measurement]) | Deprecated: A class for representing state functions and measurements. | -| [`CircuitStateFn`](qiskit.opflow.state_fns.CircuitStateFn "qiskit.opflow.state_fns.CircuitStateFn")(\*args, \*\*kwargs) | Deprecated: A class for state functions and measurements which are defined by the action of a QuantumCircuit starting from \|0⟩, and stored using Terra's `QuantumCircuit` class. | -| [`DictStateFn`](qiskit.opflow.state_fns.DictStateFn "qiskit.opflow.state_fns.DictStateFn")(\*args, \*\*kwargs) | Deprecated: A class for state functions and measurements which are defined by a lookup table, stored in a dict. | -| [`VectorStateFn`](qiskit.opflow.state_fns.VectorStateFn "qiskit.opflow.state_fns.VectorStateFn")(\*args, \*\*kwargs) | Deprecated: A class for state functions and measurements which are defined in vector representation, and stored using Terra's `Statevector` class. | -| [`SparseVectorStateFn`](qiskit.opflow.state_fns.SparseVectorStateFn "qiskit.opflow.state_fns.SparseVectorStateFn")(\*args, \*\*kwargs) | Deprecated: A class for sparse state functions and measurements in vector representation. | -| [`OperatorStateFn`](qiskit.opflow.state_fns.OperatorStateFn "qiskit.opflow.state_fns.OperatorStateFn")(\*args, \*\*kwargs) | Deprecated: A class for state functions and measurements which are defined by a density Operator, stored using an `OperatorBase`. | -| [`CVaRMeasurement`](qiskit.opflow.state_fns.CVaRMeasurement "qiskit.opflow.state_fns.CVaRMeasurement")(\*args, \*\*kwargs) | Deprecated: A specialized measurement class to compute CVaR expectation values. | +| [`StateFn`](qiskit.opflow.state_fns.StateFn "qiskit.opflow.state_fns.StateFn")(\[primitive, coeff, is\_measurement]) | Deprecated: A class for representing state functions and measurements. | +| [`CircuitStateFn`](qiskit.opflow.state_fns.CircuitStateFn "qiskit.opflow.state_fns.CircuitStateFn")(\*args, \*\*kwargs) | Deprecated: A class for state functions and measurements which are defined by the action of a QuantumCircuit starting from \|0⟩, and stored using Terra's `QuantumCircuit` class. | +| [`DictStateFn`](qiskit.opflow.state_fns.DictStateFn "qiskit.opflow.state_fns.DictStateFn")(\*args, \*\*kwargs) | Deprecated: A class for state functions and measurements which are defined by a lookup table, stored in a dict. | +| [`VectorStateFn`](qiskit.opflow.state_fns.VectorStateFn "qiskit.opflow.state_fns.VectorStateFn")(\*args, \*\*kwargs) | Deprecated: A class for state functions and measurements which are defined in vector representation, and stored using Terra's `Statevector` class. | +| [`SparseVectorStateFn`](qiskit.opflow.state_fns.SparseVectorStateFn "qiskit.opflow.state_fns.SparseVectorStateFn")(\*args, \*\*kwargs) | Deprecated: A class for sparse state functions and measurements in vector representation. | +| [`OperatorStateFn`](qiskit.opflow.state_fns.OperatorStateFn "qiskit.opflow.state_fns.OperatorStateFn")(\*args, \*\*kwargs) | Deprecated: A class for state functions and measurements which are defined by a density Operator, stored using an `OperatorBase`. | +| [`CVaRMeasurement`](qiskit.opflow.state_fns.CVaRMeasurement "qiskit.opflow.state_fns.CVaRMeasurement")(\*args, \*\*kwargs) | Deprecated: A specialized measurement class to compute CVaR expectation values. | diff --git a/docs/api/qiskit/qiskit.passmanager.BaseController.md b/docs/api/qiskit/qiskit.passmanager.BaseController.md index 580f22eecd..51192d98c3 100644 --- a/docs/api/qiskit/qiskit.passmanager.BaseController.md +++ b/docs/api/qiskit/qiskit.passmanager.BaseController.md @@ -10,7 +10,7 @@ python_api_name: qiskit.passmanager.BaseController -`qiskit.passmanager.BaseController(options=None)` +`qiskit.passmanager.BaseController(options=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/passmanager/base_tasks.py "view source code") Bases: `Task`, [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.passmanager.BasePassManager.md b/docs/api/qiskit/qiskit.passmanager.BasePassManager.md index 0a86858d3e..dcfc8e8557 100644 --- a/docs/api/qiskit/qiskit.passmanager.BasePassManager.md +++ b/docs/api/qiskit/qiskit.passmanager.BasePassManager.md @@ -10,7 +10,7 @@ python_api_name: qiskit.passmanager.BasePassManager -`qiskit.passmanager.BasePassManager(tasks=(), max_iteration=1000)` +`qiskit.passmanager.BasePassManager(tasks=(), max_iteration=1000)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/passmanager/passmanager.py "view source code") Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.passmanager.ConditionalController.md b/docs/api/qiskit/qiskit.passmanager.ConditionalController.md index 03cd742cfc..fb47a2473f 100644 --- a/docs/api/qiskit/qiskit.passmanager.ConditionalController.md +++ b/docs/api/qiskit/qiskit.passmanager.ConditionalController.md @@ -10,7 +10,7 @@ python_api_name: qiskit.passmanager.ConditionalController -`qiskit.passmanager.ConditionalController(tasks=(), condition=None, *, options=None)` +`qiskit.passmanager.ConditionalController(tasks=(), condition=None, *, options=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/passmanager/flow_controllers.py "view source code") Bases: [`BaseController`](qiskit.passmanager.BaseController "qiskit.passmanager.base_tasks.BaseController") diff --git a/docs/api/qiskit/qiskit.passmanager.DoWhileController.md b/docs/api/qiskit/qiskit.passmanager.DoWhileController.md index 4d827729f2..d49a880b10 100644 --- a/docs/api/qiskit/qiskit.passmanager.DoWhileController.md +++ b/docs/api/qiskit/qiskit.passmanager.DoWhileController.md @@ -10,7 +10,7 @@ python_api_name: qiskit.passmanager.DoWhileController -`qiskit.passmanager.DoWhileController(tasks=(), do_while=None, *, options=None)` +`qiskit.passmanager.DoWhileController(tasks=(), do_while=None, *, options=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/passmanager/flow_controllers.py "view source code") Bases: [`BaseController`](qiskit.passmanager.BaseController "qiskit.passmanager.base_tasks.BaseController") diff --git a/docs/api/qiskit/qiskit.passmanager.FlowController.md b/docs/api/qiskit/qiskit.passmanager.FlowController.md index 52a1c04e43..895e03c649 100644 --- a/docs/api/qiskit/qiskit.passmanager.FlowController.md +++ b/docs/api/qiskit/qiskit.passmanager.FlowController.md @@ -10,7 +10,7 @@ python_api_name: qiskit.passmanager.FlowController -`qiskit.passmanager.FlowController(options=None)` +`qiskit.passmanager.FlowController(options=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/passmanager/flow_controllers.py "view source code") Bases: [`BaseController`](qiskit.passmanager.BaseController "qiskit.passmanager.base_tasks.BaseController") diff --git a/docs/api/qiskit/qiskit.passmanager.FlowControllerLinear.md b/docs/api/qiskit/qiskit.passmanager.FlowControllerLinear.md index 084a177ccf..fa9fc62a6f 100644 --- a/docs/api/qiskit/qiskit.passmanager.FlowControllerLinear.md +++ b/docs/api/qiskit/qiskit.passmanager.FlowControllerLinear.md @@ -10,7 +10,7 @@ python_api_name: qiskit.passmanager.FlowControllerLinear -`qiskit.passmanager.FlowControllerLinear(tasks=(), *, options=None)` +`qiskit.passmanager.FlowControllerLinear(tasks=(), *, options=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/passmanager/flow_controllers.py "view source code") Bases: [`BaseController`](qiskit.passmanager.BaseController "qiskit.passmanager.base_tasks.BaseController") diff --git a/docs/api/qiskit/qiskit.passmanager.GenericPass.md b/docs/api/qiskit/qiskit.passmanager.GenericPass.md index 11c50f52a7..bd69b66f88 100644 --- a/docs/api/qiskit/qiskit.passmanager.GenericPass.md +++ b/docs/api/qiskit/qiskit.passmanager.GenericPass.md @@ -10,7 +10,7 @@ python_api_name: qiskit.passmanager.GenericPass -`qiskit.passmanager.GenericPass` +`qiskit.passmanager.GenericPass`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/passmanager/base_tasks.py "view source code") Bases: `Task`, [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.passmanager.PassManagerState.md b/docs/api/qiskit/qiskit.passmanager.PassManagerState.md index bcfe42551b..fd43363e51 100644 --- a/docs/api/qiskit/qiskit.passmanager.PassManagerState.md +++ b/docs/api/qiskit/qiskit.passmanager.PassManagerState.md @@ -10,7 +10,7 @@ python_api_name: qiskit.passmanager.PassManagerState -`qiskit.passmanager.PassManagerState(workflow_status, property_set)` +`qiskit.passmanager.PassManagerState(workflow_status, property_set)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/passmanager/compilation_status.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.passmanager.PropertySet.md b/docs/api/qiskit/qiskit.passmanager.PropertySet.md index a7c65bc0f7..cd1bd99ada 100644 --- a/docs/api/qiskit/qiskit.passmanager.PropertySet.md +++ b/docs/api/qiskit/qiskit.passmanager.PropertySet.md @@ -10,7 +10,7 @@ python_api_name: qiskit.passmanager.PropertySet -`qiskit.passmanager.PropertySet` +`qiskit.passmanager.PropertySet`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/passmanager/compilation_status.py "view source code") Bases: [`dict`](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.passmanager.WorkflowStatus.md b/docs/api/qiskit/qiskit.passmanager.WorkflowStatus.md index 11524dee57..986097f024 100644 --- a/docs/api/qiskit/qiskit.passmanager.WorkflowStatus.md +++ b/docs/api/qiskit/qiskit.passmanager.WorkflowStatus.md @@ -10,7 +10,7 @@ python_api_name: qiskit.passmanager.WorkflowStatus -`qiskit.passmanager.WorkflowStatus(count=0, completed_passes=, previous_run=RunState.FAIL)` +`qiskit.passmanager.WorkflowStatus(count=0, completed_passes=, previous_run=RunState.FAIL)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/passmanager/compilation_status.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.primitives.BackendEstimator.md b/docs/api/qiskit/qiskit.primitives.BackendEstimator.md index 89854e58e6..1d01649e1f 100644 --- a/docs/api/qiskit/qiskit.primitives.BackendEstimator.md +++ b/docs/api/qiskit/qiskit.primitives.BackendEstimator.md @@ -10,7 +10,7 @@ python_api_name: qiskit.primitives.BackendEstimator -`qiskit.primitives.BackendEstimator(backend, options=None, abelian_grouping=True, bound_pass_manager=None, skip_transpilation=False)` +`qiskit.primitives.BackendEstimator(backend, options=None, abelian_grouping=True, bound_pass_manager=None, skip_transpilation=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/primitives/backend_estimator.py "view source code") Bases: [`BaseEstimator`](qiskit.primitives.BaseEstimator "qiskit.primitives.base.base_estimator.BaseEstimator")\[`PrimitiveJob`\[[`EstimatorResult`](qiskit.primitives.EstimatorResult "qiskit.primitives.base.estimator_result.EstimatorResult")]] diff --git a/docs/api/qiskit/qiskit.primitives.BackendSampler.md b/docs/api/qiskit/qiskit.primitives.BackendSampler.md index 621a86ff0a..b8817a6b8a 100644 --- a/docs/api/qiskit/qiskit.primitives.BackendSampler.md +++ b/docs/api/qiskit/qiskit.primitives.BackendSampler.md @@ -10,7 +10,7 @@ python_api_name: qiskit.primitives.BackendSampler -`qiskit.primitives.BackendSampler(backend, options=None, bound_pass_manager=None, skip_transpilation=False)` +`qiskit.primitives.BackendSampler(backend, options=None, bound_pass_manager=None, skip_transpilation=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/primitives/backend_sampler.py "view source code") Bases: [`BaseSampler`](qiskit.primitives.BaseSampler "qiskit.primitives.base.base_sampler.BaseSampler")\[`PrimitiveJob`\[[`SamplerResult`](qiskit.primitives.SamplerResult "qiskit.primitives.base.sampler_result.SamplerResult")]] diff --git a/docs/api/qiskit/qiskit.primitives.BaseEstimator.md b/docs/api/qiskit/qiskit.primitives.BaseEstimator.md index 3ff4dfdb0a..8691685cad 100644 --- a/docs/api/qiskit/qiskit.primitives.BaseEstimator.md +++ b/docs/api/qiskit/qiskit.primitives.BaseEstimator.md @@ -10,7 +10,7 @@ python_api_name: qiskit.primitives.BaseEstimator -`qiskit.primitives.BaseEstimator(*, options=None)` +`qiskit.primitives.BaseEstimator(*, options=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/primitives/base/base_estimator.py "view source code") Bases: `BasePrimitive`, [`Generic`](https://docs.python.org/3/library/typing.html#typing.Generic "(in Python v3.12)")\[`T`] diff --git a/docs/api/qiskit/qiskit.primitives.BaseSampler.md b/docs/api/qiskit/qiskit.primitives.BaseSampler.md index d41bc9a079..baf32b4a1d 100644 --- a/docs/api/qiskit/qiskit.primitives.BaseSampler.md +++ b/docs/api/qiskit/qiskit.primitives.BaseSampler.md @@ -10,7 +10,7 @@ python_api_name: qiskit.primitives.BaseSampler -`qiskit.primitives.BaseSampler(*, options=None)` +`qiskit.primitives.BaseSampler(*, options=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/primitives/base/base_sampler.py "view source code") Bases: `BasePrimitive`, [`Generic`](https://docs.python.org/3/library/typing.html#typing.Generic "(in Python v3.12)")\[`T`] diff --git a/docs/api/qiskit/qiskit.primitives.Estimator.md b/docs/api/qiskit/qiskit.primitives.Estimator.md index e55cbc3652..cd198c5d9f 100644 --- a/docs/api/qiskit/qiskit.primitives.Estimator.md +++ b/docs/api/qiskit/qiskit.primitives.Estimator.md @@ -10,7 +10,7 @@ python_api_name: qiskit.primitives.Estimator -`qiskit.primitives.Estimator(*, options=None)` +`qiskit.primitives.Estimator(*, options=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/primitives/estimator.py "view source code") Bases: [`BaseEstimator`](qiskit.primitives.BaseEstimator "qiskit.primitives.base.base_estimator.BaseEstimator")\[`PrimitiveJob`\[[`EstimatorResult`](qiskit.primitives.EstimatorResult "qiskit.primitives.base.estimator_result.EstimatorResult")]] diff --git a/docs/api/qiskit/qiskit.primitives.EstimatorResult.md b/docs/api/qiskit/qiskit.primitives.EstimatorResult.md index 7235b68a82..784b435ca2 100644 --- a/docs/api/qiskit/qiskit.primitives.EstimatorResult.md +++ b/docs/api/qiskit/qiskit.primitives.EstimatorResult.md @@ -10,7 +10,7 @@ python_api_name: qiskit.primitives.EstimatorResult -`qiskit.primitives.EstimatorResult(values, metadata)` +`qiskit.primitives.EstimatorResult(values, metadata)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/primitives/base/estimator_result.py "view source code") Bases: `BasePrimitiveResult` diff --git a/docs/api/qiskit/qiskit.primitives.Sampler.md b/docs/api/qiskit/qiskit.primitives.Sampler.md index ce4e69782c..3ba25821c9 100644 --- a/docs/api/qiskit/qiskit.primitives.Sampler.md +++ b/docs/api/qiskit/qiskit.primitives.Sampler.md @@ -10,7 +10,7 @@ python_api_name: qiskit.primitives.Sampler -`qiskit.primitives.Sampler(*, options=None)` +`qiskit.primitives.Sampler(*, options=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/primitives/sampler.py "view source code") Bases: [`BaseSampler`](qiskit.primitives.BaseSampler "qiskit.primitives.base.base_sampler.BaseSampler")\[`PrimitiveJob`\[[`SamplerResult`](qiskit.primitives.SamplerResult "qiskit.primitives.base.sampler_result.SamplerResult")]] diff --git a/docs/api/qiskit/qiskit.primitives.SamplerResult.md b/docs/api/qiskit/qiskit.primitives.SamplerResult.md index 6896a68653..ac3ff6c983 100644 --- a/docs/api/qiskit/qiskit.primitives.SamplerResult.md +++ b/docs/api/qiskit/qiskit.primitives.SamplerResult.md @@ -10,7 +10,7 @@ python_api_name: qiskit.primitives.SamplerResult -`qiskit.primitives.SamplerResult(quasi_dists, metadata)` +`qiskit.primitives.SamplerResult(quasi_dists, metadata)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/primitives/base/sampler_result.py "view source code") Bases: `BasePrimitiveResult` diff --git a/docs/api/qiskit/qiskit.providers.Backend.md b/docs/api/qiskit/qiskit.providers.Backend.md index dfc9da53cc..62359cd80b 100644 --- a/docs/api/qiskit/qiskit.providers.Backend.md +++ b/docs/api/qiskit/qiskit.providers.Backend.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.Backend -`qiskit.providers.Backend` +`qiskit.providers.Backend`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/backend.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.providers.BackendV1.md b/docs/api/qiskit/qiskit.providers.BackendV1.md index 0bf3f8dd12..6b7c239eac 100644 --- a/docs/api/qiskit/qiskit.providers.BackendV1.md +++ b/docs/api/qiskit/qiskit.providers.BackendV1.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.BackendV1 -`qiskit.providers.BackendV1(configuration, provider=None, **fields)` +`qiskit.providers.BackendV1(configuration, provider=None, **fields)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/backend.py "view source code") Bases: [`Backend`](qiskit.providers.Backend "qiskit.providers.backend.Backend"), [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.providers.BackendV2.md b/docs/api/qiskit/qiskit.providers.BackendV2.md index 3bbc40e3a3..458f018067 100644 --- a/docs/api/qiskit/qiskit.providers.BackendV2.md +++ b/docs/api/qiskit/qiskit.providers.BackendV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.BackendV2 -`qiskit.providers.BackendV2(provider=None, name=None, description=None, online_date=None, backend_version=None, **fields)` +`qiskit.providers.BackendV2(provider=None, name=None, description=None, online_date=None, backend_version=None, **fields)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/backend.py "view source code") Bases: [`Backend`](qiskit.providers.Backend "qiskit.providers.backend.Backend"), [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.providers.BackendV2Converter.md b/docs/api/qiskit/qiskit.providers.BackendV2Converter.md index 57d294ce1f..45e6db9554 100644 --- a/docs/api/qiskit/qiskit.providers.BackendV2Converter.md +++ b/docs/api/qiskit/qiskit.providers.BackendV2Converter.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.BackendV2Converter -`qiskit.providers.BackendV2Converter(backend, name_mapping=None, add_delay=False, filter_faulty=False)` +`qiskit.providers.BackendV2Converter(backend, name_mapping=None, add_delay=False, filter_faulty=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/backend_compat.py "view source code") Bases: [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.backend.BackendV2") diff --git a/docs/api/qiskit/qiskit.providers.Job.md b/docs/api/qiskit/qiskit.providers.Job.md index e354ca1ee0..b5b6378e5c 100644 --- a/docs/api/qiskit/qiskit.providers.Job.md +++ b/docs/api/qiskit/qiskit.providers.Job.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.Job -`qiskit.providers.Job` +`qiskit.providers.Job`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/job.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.providers.JobStatus.md b/docs/api/qiskit/qiskit.providers.JobStatus.md index f033446d61..7c24556c8e 100644 --- a/docs/api/qiskit/qiskit.providers.JobStatus.md +++ b/docs/api/qiskit/qiskit.providers.JobStatus.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.JobStatus -`qiskit.providers.JobStatus(value)` +`qiskit.providers.JobStatus(value)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/jobstatus.py "view source code") Bases: [`Enum`](https://docs.python.org/3/library/enum.html#enum.Enum "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.providers.JobV1.md b/docs/api/qiskit/qiskit.providers.JobV1.md index 1d1c640817..1725d2f0fe 100644 --- a/docs/api/qiskit/qiskit.providers.JobV1.md +++ b/docs/api/qiskit/qiskit.providers.JobV1.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.JobV1 -`qiskit.providers.JobV1(backend, job_id, **kwargs)` +`qiskit.providers.JobV1(backend, job_id, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/job.py "view source code") Bases: [`Job`](qiskit.providers.Job "qiskit.providers.job.Job"), [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.providers.Options.md b/docs/api/qiskit/qiskit.providers.Options.md index 7dcb07cc8a..6d2487c564 100644 --- a/docs/api/qiskit/qiskit.providers.Options.md +++ b/docs/api/qiskit/qiskit.providers.Options.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.Options -`qiskit.providers.Options(**kwargs)` +`qiskit.providers.Options(**kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/options.py "view source code") Bases: [`Mapping`](https://docs.python.org/3/library/collections.abc.html#collections.abc.Mapping "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.providers.Provider.md b/docs/api/qiskit/qiskit.providers.Provider.md index 44b2586326..2032d2ce22 100644 --- a/docs/api/qiskit/qiskit.providers.Provider.md +++ b/docs/api/qiskit/qiskit.providers.Provider.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.Provider -`qiskit.providers.Provider` +`qiskit.providers.Provider`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/provider.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.providers.ProviderV1.md b/docs/api/qiskit/qiskit.providers.ProviderV1.md index e44a62ef23..3e5b2202af 100644 --- a/docs/api/qiskit/qiskit.providers.ProviderV1.md +++ b/docs/api/qiskit/qiskit.providers.ProviderV1.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.ProviderV1 -`qiskit.providers.ProviderV1` +`qiskit.providers.ProviderV1`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/provider.py "view source code") Bases: [`Provider`](qiskit.providers.Provider "qiskit.providers.provider.Provider"), [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.providers.QubitProperties.md b/docs/api/qiskit/qiskit.providers.QubitProperties.md index cb8634f1e9..cd9d488acb 100644 --- a/docs/api/qiskit/qiskit.providers.QubitProperties.md +++ b/docs/api/qiskit/qiskit.providers.QubitProperties.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.QubitProperties -`qiskit.providers.QubitProperties(t1=None, t2=None, frequency=None)` +`qiskit.providers.QubitProperties(t1=None, t2=None, frequency=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/backend.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.providers.basicaer.BasicAerError.md b/docs/api/qiskit/qiskit.providers.basicaer.BasicAerError.md index 27aa328b7d..e0bdd44dad 100644 --- a/docs/api/qiskit/qiskit.providers.basicaer.BasicAerError.md +++ b/docs/api/qiskit/qiskit.providers.basicaer.BasicAerError.md @@ -12,7 +12,7 @@ python_api_name: qiskit.providers.basicaer.BasicAerError -`qiskit.providers.basicaer.BasicAerError(*message)` +`qiskit.providers.basicaer.BasicAerError(*message)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/basicaer/exceptions.py "view source code") Base class for errors raised by Basic Aer. diff --git a/docs/api/qiskit/qiskit.providers.basicaer.BasicAerJob.md b/docs/api/qiskit/qiskit.providers.basicaer.BasicAerJob.md index 74a268f7f5..21edef3c74 100644 --- a/docs/api/qiskit/qiskit.providers.basicaer.BasicAerJob.md +++ b/docs/api/qiskit/qiskit.providers.basicaer.BasicAerJob.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.basicaer.BasicAerJob -`qiskit.providers.basicaer.BasicAerJob(backend, job_id, result)` +`qiskit.providers.basicaer.BasicAerJob(backend, job_id, result)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/basicaer/basicaerjob.py "view source code") Bases: [`JobV1`](qiskit.providers.JobV1 "qiskit.providers.job.JobV1") diff --git a/docs/api/qiskit/qiskit.providers.basicaer.BasicAerProvider.md b/docs/api/qiskit/qiskit.providers.basicaer.BasicAerProvider.md index 698fa001df..32fe7dbc5e 100644 --- a/docs/api/qiskit/qiskit.providers.basicaer.BasicAerProvider.md +++ b/docs/api/qiskit/qiskit.providers.basicaer.BasicAerProvider.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.basicaer.BasicAerProvider -`qiskit.providers.basicaer.BasicAerProvider` +`qiskit.providers.basicaer.BasicAerProvider`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/basicaer/basicaerprovider.py "view source code") Bases: [`ProviderV1`](qiskit.providers.ProviderV1 "qiskit.providers.provider.ProviderV1") diff --git a/docs/api/qiskit/qiskit.providers.basicaer.QasmSimulatorPy.md b/docs/api/qiskit/qiskit.providers.basicaer.QasmSimulatorPy.md index ef670a728a..aa6f214fbb 100644 --- a/docs/api/qiskit/qiskit.providers.basicaer.QasmSimulatorPy.md +++ b/docs/api/qiskit/qiskit.providers.basicaer.QasmSimulatorPy.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.basicaer.QasmSimulatorPy -`qiskit.providers.basicaer.QasmSimulatorPy(configuration=None, provider=None, **fields)` +`qiskit.providers.basicaer.QasmSimulatorPy(configuration=None, provider=None, **fields)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/basicaer/qasm_simulator.py "view source code") Bases: [`BackendV1`](qiskit.providers.BackendV1 "qiskit.providers.backend.BackendV1") @@ -68,7 +68,7 @@ default values set ### MAX\_QUBITS\_MEMORY -`= 28` +`= 29` diff --git a/docs/api/qiskit/qiskit.providers.basicaer.StatevectorSimulatorPy.md b/docs/api/qiskit/qiskit.providers.basicaer.StatevectorSimulatorPy.md index 52b3dd407d..aed3309fdc 100644 --- a/docs/api/qiskit/qiskit.providers.basicaer.StatevectorSimulatorPy.md +++ b/docs/api/qiskit/qiskit.providers.basicaer.StatevectorSimulatorPy.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.basicaer.StatevectorSimulatorPy -`qiskit.providers.basicaer.StatevectorSimulatorPy(configuration=None, provider=None, **fields)` +`qiskit.providers.basicaer.StatevectorSimulatorPy(configuration=None, provider=None, **fields)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/basicaer/statevector_simulator.py "view source code") Bases: [`QasmSimulatorPy`](qiskit.providers.basicaer.QasmSimulatorPy "qiskit.providers.basicaer.qasm_simulator.QasmSimulatorPy") @@ -68,7 +68,7 @@ default values set ### MAX\_QUBITS\_MEMORY -`= 28` +`= 29` diff --git a/docs/api/qiskit/qiskit.providers.basicaer.UnitarySimulatorPy.md b/docs/api/qiskit/qiskit.providers.basicaer.UnitarySimulatorPy.md index 9cca511804..3c1ba1d9bc 100644 --- a/docs/api/qiskit/qiskit.providers.basicaer.UnitarySimulatorPy.md +++ b/docs/api/qiskit/qiskit.providers.basicaer.UnitarySimulatorPy.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.basicaer.UnitarySimulatorPy -`qiskit.providers.basicaer.UnitarySimulatorPy(configuration=None, provider=None, **fields)` +`qiskit.providers.basicaer.UnitarySimulatorPy(configuration=None, provider=None, **fields)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/basicaer/unitary_simulator.py "view source code") Bases: [`BackendV1`](qiskit.providers.BackendV1 "qiskit.providers.backend.BackendV1") diff --git a/docs/api/qiskit/qiskit.providers.convert_to_target.md b/docs/api/qiskit/qiskit.providers.convert_to_target.md index 6adae777af..10a10f82a9 100644 --- a/docs/api/qiskit/qiskit.providers.convert_to_target.md +++ b/docs/api/qiskit/qiskit.providers.convert_to_target.md @@ -12,7 +12,7 @@ python_api_name: qiskit.providers.convert_to_target -`qiskit.providers.convert_to_target(configuration, properties=None, defaults=None, custom_name_mapping=None, add_delay=False, filter_faulty=False)` +`qiskit.providers.convert_to_target(configuration, properties=None, defaults=None, custom_name_mapping=None, add_delay=False, filter_faulty=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/backend_compat.py "view source code") Uses configuration, properties and pulse defaults to construct and return Target class. diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.ConfigurableFakeBackend.md b/docs/api/qiskit/qiskit.providers.fake_provider.ConfigurableFakeBackend.md index c8319daee4..7feb0cfea3 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.ConfigurableFakeBackend.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.ConfigurableFakeBackend.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.ConfigurableFakeBackend -`qiskit.providers.fake_provider.ConfigurableFakeBackend(name, n_qubits, version=None, coupling_map=None, basis_gates=None, qubit_t1=None, qubit_t2=None, qubit_frequency=None, qubit_readout_error=None, single_qubit_gates=None, dt=None, std=None, seed=None)` +`qiskit.providers.fake_provider.ConfigurableFakeBackend(name, n_qubits, version=None, coupling_map=None, basis_gates=None, qubit_t1=None, qubit_t2=None, qubit_frequency=None, qubit_readout_error=None, single_qubit_gates=None, dt=None, std=None, seed=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/utils/configurable_backend.py "view source code") Bases: [`FakeBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakeBackend "qiskit.providers.fake_provider.fake_backend.FakeBackend") diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.Fake1Q.md b/docs/api/qiskit/qiskit.providers.fake_provider.Fake1Q.md index 10764931dd..d0cb41658f 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.Fake1Q.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.Fake1Q.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.Fake1Q -`qiskit.providers.fake_provider.Fake1Q` +`qiskit.providers.fake_provider.Fake1Q`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/fake_1q.py "view source code") Bases: [`FakeBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakeBackend "qiskit.providers.fake_provider.fake_backend.FakeBackend") diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeAlmaden.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeAlmaden.md index 3c2181c989..ec5cee5cc6 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeAlmaden.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeAlmaden.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeAlmaden -`qiskit.providers.fake_provider.FakeAlmaden` +`qiskit.providers.fake_provider.FakeAlmaden`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/almaden/fake_almaden.py "view source code") Bases: [`FakeQasmBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakeQasmBackend "qiskit.providers.fake_provider.fake_qasm_backend.FakeQasmBackend") @@ -51,7 +51,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/almaden'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/almaden'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeAlmadenV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeAlmadenV2.md index 9e5efceb82..f0e46d7578 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeAlmadenV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeAlmadenV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeAlmadenV2 -`qiskit.providers.fake_provider.FakeAlmadenV2` +`qiskit.providers.fake_provider.FakeAlmadenV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/almaden/fake_almaden.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -58,7 +58,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/almaden'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/almaden'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeArmonk.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeArmonk.md index dc41e5a955..074541754b 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeArmonk.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeArmonk.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeArmonk -`qiskit.providers.fake_provider.FakeArmonk` +`qiskit.providers.fake_provider.FakeArmonk`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/armonk/fake_armonk.py "view source code") Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") @@ -51,7 +51,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/armonk'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/armonk'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeArmonkV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeArmonkV2.md index 780c5b4e27..b72f097d0f 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeArmonkV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeArmonkV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeArmonkV2 -`qiskit.providers.fake_provider.FakeArmonkV2` +`qiskit.providers.fake_provider.FakeArmonkV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/armonk/fake_armonk.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -52,7 +52,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/armonk'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/armonk'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeAthens.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeAthens.md index bd159a2cdb..051cdf2bca 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeAthens.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeAthens.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeAthens -`qiskit.providers.fake_provider.FakeAthens` +`qiskit.providers.fake_provider.FakeAthens`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/athens/fake_athens.py "view source code") Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") @@ -47,7 +47,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/athens'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/athens'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeAthensV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeAthensV2.md index dd5d52f3cd..eb463e89dc 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeAthensV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeAthensV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeAthensV2 -`qiskit.providers.fake_provider.FakeAthensV2` +`qiskit.providers.fake_provider.FakeAthensV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/athens/fake_athens.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/athens'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/athens'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeAuckland.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeAuckland.md index 92dfc174ca..09676b0ad7 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeAuckland.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeAuckland.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeAuckland -`qiskit.providers.fake_provider.FakeAuckland` +`qiskit.providers.fake_provider.FakeAuckland`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/auckland/fake_auckland.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/auckland'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/auckland'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeBackend5QV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeBackend5QV2.md index 8962981866..893dca820c 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeBackend5QV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeBackend5QV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeBackend5QV2 -`qiskit.providers.fake_provider.FakeBackend5QV2(bidirectional=True)` +`qiskit.providers.fake_provider.FakeBackend5QV2(bidirectional=True)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/fake_backend_v2.py "view source code") Bases: [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.backend.BackendV2") diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeBackendV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeBackendV2.md index 1369301670..68d06ee783 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeBackendV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeBackendV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeBackendV2 -`qiskit.providers.fake_provider.FakeBackendV2` +`qiskit.providers.fake_provider.FakeBackendV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/fake_backend_v2.py "view source code") Bases: [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.backend.BackendV2") diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeBelem.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeBelem.md index 88453078cc..dca51076a4 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeBelem.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeBelem.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeBelem -`qiskit.providers.fake_provider.FakeBelem` +`qiskit.providers.fake_provider.FakeBelem`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/belem/fake_belem.py "view source code") Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") @@ -47,7 +47,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/belem'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/belem'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeBelemV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeBelemV2.md index cd12663bf5..83ae063e28 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeBelemV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeBelemV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeBelemV2 -`qiskit.providers.fake_provider.FakeBelemV2` +`qiskit.providers.fake_provider.FakeBelemV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/belem/fake_belem.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/belem'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/belem'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeBoeblingen.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeBoeblingen.md index 79d158bef4..9b285c460e 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeBoeblingen.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeBoeblingen.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeBoeblingen -`qiskit.providers.fake_provider.FakeBoeblingen` +`qiskit.providers.fake_provider.FakeBoeblingen`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/boeblingen/fake_boeblingen.py "view source code") Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") @@ -57,7 +57,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/boeblingen'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/boeblingen'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeBoeblingenV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeBoeblingenV2.md index 0978edd702..e9dcb3cd1f 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeBoeblingenV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeBoeblingenV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeBoeblingenV2 -`qiskit.providers.fake_provider.FakeBoeblingenV2` +`qiskit.providers.fake_provider.FakeBoeblingenV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/boeblingen/fake_boeblingen.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -58,7 +58,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/boeblingen'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/boeblingen'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeBogota.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeBogota.md index b221cd5ac4..5155473994 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeBogota.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeBogota.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeBogota -`qiskit.providers.fake_provider.FakeBogota` +`qiskit.providers.fake_provider.FakeBogota`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/bogota/fake_bogota.py "view source code") Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") @@ -47,7 +47,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/bogota'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/bogota'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeBogotaV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeBogotaV2.md index 2a2402201a..2e55330100 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeBogotaV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeBogotaV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeBogotaV2 -`qiskit.providers.fake_provider.FakeBogotaV2` +`qiskit.providers.fake_provider.FakeBogotaV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/bogota/fake_bogota.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/bogota'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/bogota'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeBrooklyn.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeBrooklyn.md index 8ae0ec0780..5bca91c7fc 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeBrooklyn.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeBrooklyn.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeBrooklyn -`qiskit.providers.fake_provider.FakeBrooklyn` +`qiskit.providers.fake_provider.FakeBrooklyn`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/brooklyn/fake_brooklyn.py "view source code") Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") @@ -47,7 +47,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/brooklyn'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/brooklyn'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeBrooklynV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeBrooklynV2.md index 8069a434f2..fe08f6fe6c 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeBrooklynV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeBrooklynV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeBrooklynV2 -`qiskit.providers.fake_provider.FakeBrooklynV2` +`qiskit.providers.fake_provider.FakeBrooklynV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/brooklyn/fake_brooklyn.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/brooklyn'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/brooklyn'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeBurlington.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeBurlington.md index 56dd92ebb2..ebae3de772 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeBurlington.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeBurlington.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeBurlington -`qiskit.providers.fake_provider.FakeBurlington` +`qiskit.providers.fake_provider.FakeBurlington`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/burlington/fake_burlington.py "view source code") Bases: [`FakeQasmBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakeQasmBackend "qiskit.providers.fake_provider.fake_qasm_backend.FakeQasmBackend") @@ -47,7 +47,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/burlington'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/burlington'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeBurlingtonV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeBurlingtonV2.md index 9f0b1af91e..d2ac10f8fc 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeBurlingtonV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeBurlingtonV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeBurlingtonV2 -`qiskit.providers.fake_provider.FakeBurlingtonV2` +`qiskit.providers.fake_provider.FakeBurlingtonV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/burlington/fake_burlington.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -54,7 +54,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/burlington'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/burlington'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeCairo.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeCairo.md index 1851d1c539..adc0d2a71c 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeCairo.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeCairo.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeCairo -`qiskit.providers.fake_provider.FakeCairo` +`qiskit.providers.fake_provider.FakeCairo`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/cairo/fake_cairo.py "view source code") Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") @@ -47,7 +47,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/cairo'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/cairo'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeCairoV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeCairoV2.md index 47981f5575..05dc8b7569 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeCairoV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeCairoV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeCairoV2 -`qiskit.providers.fake_provider.FakeCairoV2` +`qiskit.providers.fake_provider.FakeCairoV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/cairo/fake_cairo.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/cairo'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/cairo'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeCambridge.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeCambridge.md index 78bceee2e6..8a515e0967 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeCambridge.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeCambridge.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeCambridge -`qiskit.providers.fake_provider.FakeCambridge` +`qiskit.providers.fake_provider.FakeCambridge`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/cambridge/fake_cambridge.py "view source code") Bases: [`FakeQasmBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakeQasmBackend "qiskit.providers.fake_provider.fake_qasm_backend.FakeQasmBackend") @@ -53,7 +53,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/cambridge'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/cambridge'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeCambridgeV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeCambridgeV2.md index fa70a0568b..051790bf9f 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeCambridgeV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeCambridgeV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeCambridgeV2 -`qiskit.providers.fake_provider.FakeCambridgeV2` +`qiskit.providers.fake_provider.FakeCambridgeV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/cambridge/fake_cambridge.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -60,7 +60,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/cambridge'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/cambridge'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeCasablanca.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeCasablanca.md index ad7c63b14e..712bd2ec8b 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeCasablanca.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeCasablanca.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeCasablanca -`qiskit.providers.fake_provider.FakeCasablanca` +`qiskit.providers.fake_provider.FakeCasablanca`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/casablanca/fake_casablanca.py "view source code") Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") @@ -47,7 +47,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/casablanca'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/casablanca'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeCasablancaV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeCasablancaV2.md index a614e4dd27..14c6b460b4 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeCasablancaV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeCasablancaV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeCasablancaV2 -`qiskit.providers.fake_provider.FakeCasablancaV2` +`qiskit.providers.fake_provider.FakeCasablancaV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/casablanca/fake_casablanca.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/casablanca'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/casablanca'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeEssex.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeEssex.md index 1b69c9cd4b..91bd0bd011 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeEssex.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeEssex.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeEssex -`qiskit.providers.fake_provider.FakeEssex` +`qiskit.providers.fake_provider.FakeEssex`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/essex/fake_essex.py "view source code") Bases: [`FakeQasmBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakeQasmBackend "qiskit.providers.fake_provider.fake_qasm_backend.FakeQasmBackend") @@ -49,7 +49,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/essex'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/essex'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeEssexV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeEssexV2.md index 671930edff..6711d7b03f 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeEssexV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeEssexV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeEssexV2 -`qiskit.providers.fake_provider.FakeEssexV2` +`qiskit.providers.fake_provider.FakeEssexV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/essex/fake_essex.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -56,7 +56,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/essex'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/essex'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeGeneva.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeGeneva.md index 41502989cd..a4d0b78411 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeGeneva.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeGeneva.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeGeneva -`qiskit.providers.fake_provider.FakeGeneva` +`qiskit.providers.fake_provider.FakeGeneva`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/geneva/fake_geneva.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/geneva'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/geneva'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeGuadalupe.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeGuadalupe.md index de9fd27d7f..93659eb223 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeGuadalupe.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeGuadalupe.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeGuadalupe -`qiskit.providers.fake_provider.FakeGuadalupe` +`qiskit.providers.fake_provider.FakeGuadalupe`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/guadalupe/fake_guadalupe.py "view source code") Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") @@ -47,7 +47,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/guadalupe'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/guadalupe'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeGuadalupeV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeGuadalupeV2.md index 6439a85ab8..a898513599 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeGuadalupeV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeGuadalupeV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeGuadalupeV2 -`qiskit.providers.fake_provider.FakeGuadalupeV2` +`qiskit.providers.fake_provider.FakeGuadalupeV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/guadalupe/fake_guadalupe.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/guadalupe'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/guadalupe'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeHanoi.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeHanoi.md index 2be3d55bfb..0cb629277a 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeHanoi.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeHanoi.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeHanoi -`qiskit.providers.fake_provider.FakeHanoi` +`qiskit.providers.fake_provider.FakeHanoi`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/hanoi/fake_hanoi.py "view source code") Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") @@ -47,7 +47,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/hanoi'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/hanoi'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeHanoiV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeHanoiV2.md index e2de9d49fe..ec9b3f8740 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeHanoiV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeHanoiV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeHanoiV2 -`qiskit.providers.fake_provider.FakeHanoiV2` +`qiskit.providers.fake_provider.FakeHanoiV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/hanoi/fake_hanoi.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/hanoi'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/hanoi'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeJakarta.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeJakarta.md index 8db6211e1a..498d4ced79 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeJakarta.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeJakarta.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeJakarta -`qiskit.providers.fake_provider.FakeJakarta` +`qiskit.providers.fake_provider.FakeJakarta`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/jakarta/fake_jakarta.py "view source code") Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") @@ -47,7 +47,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/jakarta'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/jakarta'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeJakartaV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeJakartaV2.md index caa227859a..cf99aac6e1 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeJakartaV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeJakartaV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeJakartaV2 -`qiskit.providers.fake_provider.FakeJakartaV2` +`qiskit.providers.fake_provider.FakeJakartaV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/jakarta/fake_jakarta.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/jakarta'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/jakarta'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeJohannesburg.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeJohannesburg.md index 2504f81bd4..8202576b3d 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeJohannesburg.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeJohannesburg.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeJohannesburg -`qiskit.providers.fake_provider.FakeJohannesburg` +`qiskit.providers.fake_provider.FakeJohannesburg`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/johannesburg/fake_johannesburg.py "view source code") Bases: [`FakeQasmBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakeQasmBackend "qiskit.providers.fake_provider.fake_qasm_backend.FakeQasmBackend") @@ -51,7 +51,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/johannesburg'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/johannesburg'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeJohannesburgV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeJohannesburgV2.md index dad33fc0a2..c54208c383 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeJohannesburgV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeJohannesburgV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeJohannesburgV2 -`qiskit.providers.fake_provider.FakeJohannesburgV2` +`qiskit.providers.fake_provider.FakeJohannesburgV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/johannesburg/fake_johannesburg.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -58,7 +58,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/johannesburg'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/johannesburg'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeKolkata.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeKolkata.md index 0eb2f744c7..18ae49759a 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeKolkata.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeKolkata.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeKolkata -`qiskit.providers.fake_provider.FakeKolkata` +`qiskit.providers.fake_provider.FakeKolkata`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/kolkata/fake_kolkata.py "view source code") Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") @@ -47,7 +47,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/kolkata'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/kolkata'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeKolkataV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeKolkataV2.md index 9000ff37cf..1e17f52653 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeKolkataV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeKolkataV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeKolkataV2 -`qiskit.providers.fake_provider.FakeKolkataV2` +`qiskit.providers.fake_provider.FakeKolkataV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/kolkata/fake_kolkata.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/kolkata'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/kolkata'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeLagos.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeLagos.md index d1f1c4f2d6..d62cdbc2f2 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeLagos.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeLagos.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeLagos -`qiskit.providers.fake_provider.FakeLagos` +`qiskit.providers.fake_provider.FakeLagos`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/lagos/fake_lagos.py "view source code") Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") @@ -47,7 +47,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/lagos'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/lagos'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeLagosV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeLagosV2.md index 21ed213556..7cb375a18e 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeLagosV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeLagosV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeLagosV2 -`qiskit.providers.fake_provider.FakeLagosV2` +`qiskit.providers.fake_provider.FakeLagosV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/lagos/fake_lagos.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/lagos'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/lagos'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeLima.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeLima.md index eaf570f6f5..4219d8cbe1 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeLima.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeLima.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeLima -`qiskit.providers.fake_provider.FakeLima` +`qiskit.providers.fake_provider.FakeLima`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/lima/fake_lima.py "view source code") Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") @@ -47,7 +47,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/lima'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/lima'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeLimaV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeLimaV2.md index ef80b88b4a..b312abdaa8 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeLimaV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeLimaV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeLimaV2 -`qiskit.providers.fake_provider.FakeLimaV2` +`qiskit.providers.fake_provider.FakeLimaV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/lima/fake_lima.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/lima'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/lima'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeLondon.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeLondon.md index df4052cc43..328e5527fc 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeLondon.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeLondon.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeLondon -`qiskit.providers.fake_provider.FakeLondon` +`qiskit.providers.fake_provider.FakeLondon`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/london/fake_london.py "view source code") Bases: [`FakeQasmBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakeQasmBackend "qiskit.providers.fake_provider.fake_qasm_backend.FakeQasmBackend") @@ -49,7 +49,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/london'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/london'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeLondonV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeLondonV2.md index 4deb0881e9..fe84c71198 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeLondonV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeLondonV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeLondonV2 -`qiskit.providers.fake_provider.FakeLondonV2` +`qiskit.providers.fake_provider.FakeLondonV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/london/fake_london.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -56,7 +56,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/london'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/london'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeManhattan.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeManhattan.md index 1860add16e..7423aaf37a 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeManhattan.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeManhattan.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeManhattan -`qiskit.providers.fake_provider.FakeManhattan` +`qiskit.providers.fake_provider.FakeManhattan`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/manhattan/fake_manhattan.py "view source code") Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") @@ -47,7 +47,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/manhattan'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/manhattan'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeManhattanV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeManhattanV2.md index 5844c2bc3e..946f45565c 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeManhattanV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeManhattanV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeManhattanV2 -`qiskit.providers.fake_provider.FakeManhattanV2` +`qiskit.providers.fake_provider.FakeManhattanV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/manhattan/fake_manhattan.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/manhattan'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/manhattan'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeManila.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeManila.md index 287ef3bab3..dfc950fb0b 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeManila.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeManila.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeManila -`qiskit.providers.fake_provider.FakeManila` +`qiskit.providers.fake_provider.FakeManila`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/manila/fake_manila.py "view source code") Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") @@ -47,7 +47,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/manila'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/manila'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeManilaV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeManilaV2.md index eef73d9865..de33a91285 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeManilaV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeManilaV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeManilaV2 -`qiskit.providers.fake_provider.FakeManilaV2` +`qiskit.providers.fake_provider.FakeManilaV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/manila/fake_manila.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/manila'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/manila'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeMelbourne.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeMelbourne.md index 1e0e24eacf..392dc4dc90 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeMelbourne.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeMelbourne.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeMelbourne -`qiskit.providers.fake_provider.FakeMelbourne` +`qiskit.providers.fake_provider.FakeMelbourne`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/melbourne/fake_melbourne.py "view source code") Bases: [`FakeBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakeBackend "qiskit.providers.fake_provider.fake_backend.FakeBackend") diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeMelbourneV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeMelbourneV2.md index 24a4615aba..026997dfdb 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeMelbourneV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeMelbourneV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeMelbourneV2 -`qiskit.providers.fake_provider.FakeMelbourneV2` +`qiskit.providers.fake_provider.FakeMelbourneV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/melbourne/fake_melbourne.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/melbourne'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/melbourne'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeMontreal.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeMontreal.md index 836729a04d..1115654c76 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeMontreal.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeMontreal.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeMontreal -`qiskit.providers.fake_provider.FakeMontreal` +`qiskit.providers.fake_provider.FakeMontreal`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/montreal/fake_montreal.py "view source code") Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") @@ -47,7 +47,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/montreal'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/montreal'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeMontrealV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeMontrealV2.md index 2463ae822a..571070bb2a 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeMontrealV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeMontrealV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeMontrealV2 -`qiskit.providers.fake_provider.FakeMontrealV2` +`qiskit.providers.fake_provider.FakeMontrealV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/montreal/fake_montreal.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/montreal'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/montreal'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeMumbai.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeMumbai.md index 26a05b2af4..608b591d75 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeMumbai.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeMumbai.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeMumbai -`qiskit.providers.fake_provider.FakeMumbai` +`qiskit.providers.fake_provider.FakeMumbai`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/mumbai/fake_mumbai.py "view source code") Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") @@ -47,7 +47,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/mumbai'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/mumbai'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeMumbaiFractionalCX.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeMumbaiFractionalCX.md index be43a99e4a..1a3d51c358 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeMumbaiFractionalCX.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeMumbaiFractionalCX.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeMumbaiFractionalCX -`qiskit.providers.fake_provider.FakeMumbaiFractionalCX` +`qiskit.providers.fake_provider.FakeMumbaiFractionalCX`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/fake_mumbai_v2.py "view source code") Bases: [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.backend.BackendV2") diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeMumbaiV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeMumbaiV2.md index fb01227784..083b013be6 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeMumbaiV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeMumbaiV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeMumbaiV2 -`qiskit.providers.fake_provider.FakeMumbaiV2` +`qiskit.providers.fake_provider.FakeMumbaiV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/mumbai/fake_mumbai.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/mumbai'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/mumbai'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeNairobi.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeNairobi.md index f022632aab..db921f147d 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeNairobi.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeNairobi.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeNairobi -`qiskit.providers.fake_provider.FakeNairobi` +`qiskit.providers.fake_provider.FakeNairobi`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/nairobi/fake_nairobi.py "view source code") Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") @@ -47,7 +47,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/nairobi'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/nairobi'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeNairobiV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeNairobiV2.md index 347757009c..4ddff4406e 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeNairobiV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeNairobiV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeNairobiV2 -`qiskit.providers.fake_provider.FakeNairobiV2` +`qiskit.providers.fake_provider.FakeNairobiV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/nairobi/fake_nairobi.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/nairobi'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/nairobi'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeOpenPulse2Q.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeOpenPulse2Q.md index 65c556d472..6571307a80 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeOpenPulse2Q.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeOpenPulse2Q.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse2Q -`qiskit.providers.fake_provider.FakeOpenPulse2Q` +`qiskit.providers.fake_provider.FakeOpenPulse2Q`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/fake_openpulse_2q.py "view source code") Bases: [`FakeBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakeBackend "qiskit.providers.fake_provider.fake_backend.FakeBackend") diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeOpenPulse3Q.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeOpenPulse3Q.md index 310d5cfe4f..e42d765685 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeOpenPulse3Q.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeOpenPulse3Q.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse3Q -`qiskit.providers.fake_provider.FakeOpenPulse3Q` +`qiskit.providers.fake_provider.FakeOpenPulse3Q`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/fake_openpulse_3q.py "view source code") Bases: [`FakeBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakeBackend "qiskit.providers.fake_provider.fake_backend.FakeBackend") diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeOslo.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeOslo.md index 92eb566702..f85bcef48e 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeOslo.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeOslo.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeOslo -`qiskit.providers.fake_provider.FakeOslo` +`qiskit.providers.fake_provider.FakeOslo`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/oslo/fake_oslo.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/oslo'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/oslo'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeOurense.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeOurense.md index d3c387495a..441c863962 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeOurense.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeOurense.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeOurense -`qiskit.providers.fake_provider.FakeOurense` +`qiskit.providers.fake_provider.FakeOurense`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/ourense/fake_ourense.py "view source code") Bases: [`FakeQasmBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakeQasmBackend "qiskit.providers.fake_provider.fake_qasm_backend.FakeQasmBackend") @@ -47,7 +47,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/ourense'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/ourense'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeOurenseV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeOurenseV2.md index bb816854a2..b7dbcea6c7 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeOurenseV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeOurenseV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeOurenseV2 -`qiskit.providers.fake_provider.FakeOurenseV2` +`qiskit.providers.fake_provider.FakeOurenseV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/ourense/fake_ourense.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -54,7 +54,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/ourense'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/ourense'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeParis.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeParis.md index 5f45d5bf34..eb071f4252 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeParis.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeParis.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeParis -`qiskit.providers.fake_provider.FakeParis` +`qiskit.providers.fake_provider.FakeParis`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/paris/fake_paris.py "view source code") Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") @@ -59,7 +59,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/paris'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/paris'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeParisV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeParisV2.md index 2af1317951..feaf81d363 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeParisV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeParisV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeParisV2 -`qiskit.providers.fake_provider.FakeParisV2` +`qiskit.providers.fake_provider.FakeParisV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/paris/fake_paris.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -60,7 +60,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/paris'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/paris'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakePerth.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakePerth.md index 71cbf46219..7c2afea78b 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakePerth.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakePerth.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakePerth -`qiskit.providers.fake_provider.FakePerth` +`qiskit.providers.fake_provider.FakePerth`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/perth/fake_perth.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/perth'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/perth'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakePoughkeepsie.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakePoughkeepsie.md index a1c0f8eb61..7cc30a04ef 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakePoughkeepsie.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakePoughkeepsie.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakePoughkeepsie -`qiskit.providers.fake_provider.FakePoughkeepsie` +`qiskit.providers.fake_provider.FakePoughkeepsie`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/poughkeepsie/fake_poughkeepsie.py "view source code") Bases: [`FakeBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakeBackend "qiskit.providers.fake_provider.fake_backend.FakeBackend") diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakePoughkeepsieV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakePoughkeepsieV2.md index 28d2f25506..174063cbbd 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakePoughkeepsieV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakePoughkeepsieV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakePoughkeepsieV2 -`qiskit.providers.fake_provider.FakePoughkeepsieV2` +`qiskit.providers.fake_provider.FakePoughkeepsieV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/poughkeepsie/fake_poughkeepsie.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/poughkeepsie'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/poughkeepsie'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakePrague.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakePrague.md index b0ac8c2682..1a371a50cb 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakePrague.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakePrague.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakePrague -`qiskit.providers.fake_provider.FakePrague` +`qiskit.providers.fake_provider.FakePrague`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/prague/fake_prague.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/prague'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/prague'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeProvider.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeProvider.md index 091b0eb463..a1036d8e7e 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeProvider.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeProvider.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeProvider -`qiskit.providers.fake_provider.FakeProvider` +`qiskit.providers.fake_provider.FakeProvider`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/fake_provider.py "view source code") Bases: [`ProviderV1`](qiskit.providers.ProviderV1 "qiskit.providers.provider.ProviderV1") diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeProviderForBackendV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeProviderForBackendV2.md index 58c63ebaa7..faab743e28 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeProviderForBackendV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeProviderForBackendV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeProviderForBackendV2 -`qiskit.providers.fake_provider.FakeProviderForBackendV2` +`qiskit.providers.fake_provider.FakeProviderForBackendV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/fake_provider.py "view source code") Bases: [`ProviderV1`](qiskit.providers.ProviderV1 "qiskit.providers.provider.ProviderV1") diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeQasmSimulator.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeQasmSimulator.md index a8cedead81..7d083dc6d6 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeQasmSimulator.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeQasmSimulator.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeQasmSimulator -`qiskit.providers.fake_provider.FakeQasmSimulator` +`qiskit.providers.fake_provider.FakeQasmSimulator`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/fake_qasm_simulator.py "view source code") Bases: [`FakeBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakeBackend "qiskit.providers.fake_provider.fake_backend.FakeBackend") diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeQuito.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeQuito.md index 5ce2228257..0f3ba5ea4a 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeQuito.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeQuito.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeQuito -`qiskit.providers.fake_provider.FakeQuito` +`qiskit.providers.fake_provider.FakeQuito`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/quito/fake_quito.py "view source code") Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") @@ -47,7 +47,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/quito'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/quito'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeQuitoV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeQuitoV2.md index d4f420072b..b580984e88 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeQuitoV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeQuitoV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeQuitoV2 -`qiskit.providers.fake_provider.FakeQuitoV2` +`qiskit.providers.fake_provider.FakeQuitoV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/quito/fake_quito.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/quito'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/quito'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeRochester.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeRochester.md index 1eb44de899..e69badac10 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeRochester.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeRochester.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeRochester -`qiskit.providers.fake_provider.FakeRochester` +`qiskit.providers.fake_provider.FakeRochester`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/rochester/fake_rochester.py "view source code") Bases: [`FakeQasmBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakeQasmBackend "qiskit.providers.fake_provider.fake_qasm_backend.FakeQasmBackend") @@ -41,7 +41,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/rochester'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/rochester'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeRochesterV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeRochesterV2.md index d2121233f5..a569e6a5cd 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeRochesterV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeRochesterV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeRochesterV2 -`qiskit.providers.fake_provider.FakeRochesterV2` +`qiskit.providers.fake_provider.FakeRochesterV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/rochester/fake_rochester.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/rochester'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/rochester'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeRome.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeRome.md index 6e3bf6f83a..1d95443956 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeRome.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeRome.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeRome -`qiskit.providers.fake_provider.FakeRome` +`qiskit.providers.fake_provider.FakeRome`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/rome/fake_rome.py "view source code") Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") @@ -47,7 +47,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/rome'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/rome'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeRomeV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeRomeV2.md index dd861267fa..1b259e43eb 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeRomeV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeRomeV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeRomeV2 -`qiskit.providers.fake_provider.FakeRomeV2` +`qiskit.providers.fake_provider.FakeRomeV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/rome/fake_rome.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/rome'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/rome'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeRueschlikon.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeRueschlikon.md index 8589a562da..6f8b982a52 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeRueschlikon.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeRueschlikon.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeRueschlikon -`qiskit.providers.fake_provider.FakeRueschlikon` +`qiskit.providers.fake_provider.FakeRueschlikon`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/rueschlikon/fake_rueschlikon.py "view source code") Bases: [`FakeBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakeBackend "qiskit.providers.fake_provider.fake_backend.FakeBackend") diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeSantiago.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeSantiago.md index 815c68a856..78c7b01300 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeSantiago.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeSantiago.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeSantiago -`qiskit.providers.fake_provider.FakeSantiago` +`qiskit.providers.fake_provider.FakeSantiago`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/santiago/fake_santiago.py "view source code") Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") @@ -47,7 +47,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/santiago'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/santiago'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeSantiagoV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeSantiagoV2.md index 764487f7ce..6524d234b4 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeSantiagoV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeSantiagoV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeSantiagoV2 -`qiskit.providers.fake_provider.FakeSantiagoV2` +`qiskit.providers.fake_provider.FakeSantiagoV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/santiago/fake_santiago.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/santiago'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/santiago'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeSherbrooke.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeSherbrooke.md index 3583adb85f..313be6aa2f 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeSherbrooke.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeSherbrooke.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeSherbrooke -`qiskit.providers.fake_provider.FakeSherbrooke` +`qiskit.providers.fake_provider.FakeSherbrooke`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/sherbrooke/fake_sherbrooke.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/sherbrooke'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/sherbrooke'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeSingapore.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeSingapore.md index ed2cb017ef..117864edaa 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeSingapore.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeSingapore.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeSingapore -`qiskit.providers.fake_provider.FakeSingapore` +`qiskit.providers.fake_provider.FakeSingapore`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/singapore/fake_singapore.py "view source code") Bases: [`FakeQasmBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakeQasmBackend "qiskit.providers.fake_provider.fake_qasm_backend.FakeQasmBackend") @@ -51,7 +51,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/singapore'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/singapore'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeSingaporeV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeSingaporeV2.md index 776c68d07f..fa5cacb050 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeSingaporeV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeSingaporeV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeSingaporeV2 -`qiskit.providers.fake_provider.FakeSingaporeV2` +`qiskit.providers.fake_provider.FakeSingaporeV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/singapore/fake_singapore.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -58,7 +58,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/singapore'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/singapore'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeSydney.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeSydney.md index 3f92bb2f46..a6640f46f9 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeSydney.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeSydney.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeSydney -`qiskit.providers.fake_provider.FakeSydney` +`qiskit.providers.fake_provider.FakeSydney`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/sydney/fake_sydney.py "view source code") Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") @@ -47,7 +47,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/sydney'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/sydney'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeSydneyV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeSydneyV2.md index a8344ecde8..79c7e87e50 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeSydneyV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeSydneyV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeSydneyV2 -`qiskit.providers.fake_provider.FakeSydneyV2` +`qiskit.providers.fake_provider.FakeSydneyV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/sydney/fake_sydney.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/sydney'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/sydney'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeTenerife.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeTenerife.md index 21f20d486e..e5c2e85880 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeTenerife.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeTenerife.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeTenerife -`qiskit.providers.fake_provider.FakeTenerife` +`qiskit.providers.fake_provider.FakeTenerife`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/tenerife/fake_tenerife.py "view source code") Bases: [`FakeBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakeBackend "qiskit.providers.fake_provider.fake_backend.FakeBackend") diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeTokyo.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeTokyo.md index e97fc82673..7ac18b4322 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeTokyo.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeTokyo.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeTokyo -`qiskit.providers.fake_provider.FakeTokyo` +`qiskit.providers.fake_provider.FakeTokyo`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/tokyo/fake_tokyo.py "view source code") Bases: [`FakeBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakeBackend "qiskit.providers.fake_provider.fake_backend.FakeBackend") diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeToronto.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeToronto.md index f37571e770..1d5cc449e1 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeToronto.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeToronto.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeToronto -`qiskit.providers.fake_provider.FakeToronto` +`qiskit.providers.fake_provider.FakeToronto`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/toronto/fake_toronto.py "view source code") Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") @@ -47,7 +47,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/toronto'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/toronto'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeTorontoV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeTorontoV2.md index ccb0ac3f38..d48c23a9f9 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeTorontoV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeTorontoV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeTorontoV2 -`qiskit.providers.fake_provider.FakeTorontoV2` +`qiskit.providers.fake_provider.FakeTorontoV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/toronto/fake_toronto.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/toronto'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/toronto'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeValencia.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeValencia.md index 6552988ed6..2df03e6f13 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeValencia.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeValencia.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeValencia -`qiskit.providers.fake_provider.FakeValencia` +`qiskit.providers.fake_provider.FakeValencia`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/valencia/fake_valencia.py "view source code") Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") @@ -47,7 +47,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/valencia'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/valencia'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeValenciaV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeValenciaV2.md index 929b78931c..d36ebf498e 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeValenciaV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeValenciaV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeValenciaV2 -`qiskit.providers.fake_provider.FakeValenciaV2` +`qiskit.providers.fake_provider.FakeValenciaV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/valencia/fake_valencia.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/valencia'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/valencia'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeVigo.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeVigo.md index 4d897cee34..21de4a495d 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeVigo.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeVigo.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeVigo -`qiskit.providers.fake_provider.FakeVigo` +`qiskit.providers.fake_provider.FakeVigo`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/vigo/fake_vigo.py "view source code") Bases: [`FakeQasmBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakeQasmBackend "qiskit.providers.fake_provider.fake_qasm_backend.FakeQasmBackend") @@ -47,7 +47,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/vigo'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/vigo'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeVigoV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeVigoV2.md index 209b0d21d0..388dfe997d 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeVigoV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeVigoV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeVigoV2 -`qiskit.providers.fake_provider.FakeVigoV2` +`qiskit.providers.fake_provider.FakeVigoV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/vigo/fake_vigo.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -54,7 +54,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/vigo'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/vigo'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeWashington.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeWashington.md index e87954f727..bbef8f5471 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeWashington.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeWashington.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeWashington -`qiskit.providers.fake_provider.FakeWashington` +`qiskit.providers.fake_provider.FakeWashington`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/washington/fake_washington.py "view source code") Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") @@ -47,7 +47,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/washington'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/washington'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeWashingtonV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeWashingtonV2.md index 4ad9f18b72..1ca09b3ea8 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeWashingtonV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeWashingtonV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeWashingtonV2 -`qiskit.providers.fake_provider.FakeWashingtonV2` +`qiskit.providers.fake_provider.FakeWashingtonV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/washington/fake_washington.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -48,7 +48,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/washington'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/washington'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeYorktown.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeYorktown.md index b6959048ff..8974cbb710 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeYorktown.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeYorktown.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeYorktown -`qiskit.providers.fake_provider.FakeYorktown` +`qiskit.providers.fake_provider.FakeYorktown`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/yorktown/fake_yorktown.py "view source code") Bases: [`FakeQasmBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakeQasmBackend "qiskit.providers.fake_provider.fake_qasm_backend.FakeQasmBackend") @@ -49,7 +49,7 @@ FakeBackend initializer. ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/yorktown'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/yorktown'` diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeYorktownV2.md b/docs/api/qiskit/qiskit.providers.fake_provider.FakeYorktownV2.md index 1c92820177..2f5c6d8e91 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeYorktownV2.md +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeYorktownV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.fake_provider.FakeYorktownV2 -`qiskit.providers.fake_provider.FakeYorktownV2` +`qiskit.providers.fake_provider.FakeYorktownV2`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/fake_provider/backends/yorktown/fake_yorktown.py "view source code") Bases: [`FakeBackendV2`](providers_fake_provider#qiskit.providers.fake_provider.fake_backend.FakeBackendV2 "qiskit.providers.fake_provider.fake_backend.FakeBackendV2") @@ -56,7 +56,7 @@ Return the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.Coup ### dirname -`= '/home/runner/work/qiskit/qiskit/.tox/docs/lib/python3.9/site-packages/qiskit/providers/fake_provider/backends/yorktown'` +`= '/home/runner/work/qiskit/qiskit/qiskit/providers/fake_provider/backends/yorktown'` diff --git a/docs/api/qiskit/qiskit.providers.models.BackendConfiguration.md b/docs/api/qiskit/qiskit.providers.models.BackendConfiguration.md index b0c552f920..aee46eb592 100644 --- a/docs/api/qiskit/qiskit.providers.models.BackendConfiguration.md +++ b/docs/api/qiskit/qiskit.providers.models.BackendConfiguration.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.models.BackendConfiguration -`qiskit.providers.models.BackendConfiguration(backend_name, backend_version, n_qubits, basis_gates, gates, local, simulator, conditional, open_pulse, memory, max_shots, coupling_map, supported_instructions=None, dynamic_reprate_enabled=False, rep_delay_range=None, default_rep_delay=None, max_experiments=None, sample_name=None, n_registers=None, register_map=None, configurable=None, credits_required=None, online_date=None, display_name=None, description=None, tags=None, dt=None, dtm=None, processor_type=None, parametric_pulses=None, **kwargs)` +`qiskit.providers.models.BackendConfiguration(backend_name, backend_version, n_qubits, basis_gates, gates, local, simulator, conditional, open_pulse, memory, max_shots, coupling_map, supported_instructions=None, dynamic_reprate_enabled=False, rep_delay_range=None, default_rep_delay=None, max_experiments=None, sample_name=None, n_registers=None, register_map=None, configurable=None, credits_required=None, online_date=None, display_name=None, description=None, tags=None, dt=None, dtm=None, processor_type=None, parametric_pulses=None, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/models/backendconfiguration.py "view source code") Bases: [`QasmBackendConfiguration`](qiskit.providers.models.QasmBackendConfiguration "qiskit.providers.models.backendconfiguration.QasmBackendConfiguration") diff --git a/docs/api/qiskit/qiskit.providers.models.BackendProperties.md b/docs/api/qiskit/qiskit.providers.models.BackendProperties.md index 78889521e1..df444b03bc 100644 --- a/docs/api/qiskit/qiskit.providers.models.BackendProperties.md +++ b/docs/api/qiskit/qiskit.providers.models.BackendProperties.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.models.BackendProperties -`qiskit.providers.models.BackendProperties(backend_name, backend_version, last_update_date, qubits, gates, general, **kwargs)` +`qiskit.providers.models.BackendProperties(backend_name, backend_version, last_update_date, qubits, gates, general, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/models/backendproperties.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.providers.models.BackendStatus.md b/docs/api/qiskit/qiskit.providers.models.BackendStatus.md index 16504a4bf1..dc14671bc9 100644 --- a/docs/api/qiskit/qiskit.providers.models.BackendStatus.md +++ b/docs/api/qiskit/qiskit.providers.models.BackendStatus.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.models.BackendStatus -`qiskit.providers.models.BackendStatus(backend_name, backend_version, operational, pending_jobs, status_msg)` +`qiskit.providers.models.BackendStatus(backend_name, backend_version, operational, pending_jobs, status_msg)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/models/backendstatus.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.providers.models.Command.md b/docs/api/qiskit/qiskit.providers.models.Command.md index ba61b29d4b..5f84446be4 100644 --- a/docs/api/qiskit/qiskit.providers.models.Command.md +++ b/docs/api/qiskit/qiskit.providers.models.Command.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.models.Command -`qiskit.providers.models.Command(name, qubits=None, sequence=None, **kwargs)` +`qiskit.providers.models.Command(name, qubits=None, sequence=None, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/models/pulsedefaults.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.providers.models.GateConfig.md b/docs/api/qiskit/qiskit.providers.models.GateConfig.md index 98ba5e0630..cab9e0b38c 100644 --- a/docs/api/qiskit/qiskit.providers.models.GateConfig.md +++ b/docs/api/qiskit/qiskit.providers.models.GateConfig.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.models.GateConfig -`qiskit.providers.models.GateConfig(name, parameters, qasm_def, coupling_map=None, latency_map=None, conditional=None, description=None)` +`qiskit.providers.models.GateConfig(name, parameters, qasm_def, coupling_map=None, latency_map=None, conditional=None, description=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/models/backendconfiguration.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.providers.models.GateProperties.md b/docs/api/qiskit/qiskit.providers.models.GateProperties.md index f2158d4893..2bab76171f 100644 --- a/docs/api/qiskit/qiskit.providers.models.GateProperties.md +++ b/docs/api/qiskit/qiskit.providers.models.GateProperties.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.models.GateProperties -`qiskit.providers.models.GateProperties(qubits, gate, parameters, **kwargs)` +`qiskit.providers.models.GateProperties(qubits, gate, parameters, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/models/backendproperties.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.providers.models.JobStatus.md b/docs/api/qiskit/qiskit.providers.models.JobStatus.md index 723e71c50a..8504dd913b 100644 --- a/docs/api/qiskit/qiskit.providers.models.JobStatus.md +++ b/docs/api/qiskit/qiskit.providers.models.JobStatus.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.models.JobStatus -`qiskit.providers.models.JobStatus(job_id, status, status_msg, **kwargs)` +`qiskit.providers.models.JobStatus(job_id, status, status_msg, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/models/jobstatus.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.providers.models.Nduv.md b/docs/api/qiskit/qiskit.providers.models.Nduv.md index 2da505dc10..854ca69e2c 100644 --- a/docs/api/qiskit/qiskit.providers.models.Nduv.md +++ b/docs/api/qiskit/qiskit.providers.models.Nduv.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.models.Nduv -`qiskit.providers.models.Nduv(date, name, unit, value)` +`qiskit.providers.models.Nduv(date, name, unit, value)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/models/backendproperties.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.providers.models.PulseBackendConfiguration.md b/docs/api/qiskit/qiskit.providers.models.PulseBackendConfiguration.md index 08637b3ddf..0d1b4d6999 100644 --- a/docs/api/qiskit/qiskit.providers.models.PulseBackendConfiguration.md +++ b/docs/api/qiskit/qiskit.providers.models.PulseBackendConfiguration.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.models.PulseBackendConfiguration -`qiskit.providers.models.PulseBackendConfiguration(backend_name, backend_version, n_qubits, basis_gates, gates, local, simulator, conditional, open_pulse, memory, max_shots, coupling_map, n_uchannels, u_channel_lo, meas_levels, qubit_lo_range, meas_lo_range, dt, dtm, rep_times, meas_kernels, discriminators, hamiltonian=None, channel_bandwidth=None, acquisition_latency=None, conditional_latency=None, meas_map=None, max_experiments=None, sample_name=None, n_registers=None, register_map=None, configurable=None, credits_required=None, online_date=None, display_name=None, description=None, tags=None, channels=None, **kwargs)` +`qiskit.providers.models.PulseBackendConfiguration(backend_name, backend_version, n_qubits, basis_gates, gates, local, simulator, conditional, open_pulse, memory, max_shots, coupling_map, n_uchannels, u_channel_lo, meas_levels, qubit_lo_range, meas_lo_range, dt, dtm, rep_times, meas_kernels, discriminators, hamiltonian=None, channel_bandwidth=None, acquisition_latency=None, conditional_latency=None, meas_map=None, max_experiments=None, sample_name=None, n_registers=None, register_map=None, configurable=None, credits_required=None, online_date=None, display_name=None, description=None, tags=None, channels=None, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/models/backendconfiguration.py "view source code") Bases: [`QasmBackendConfiguration`](qiskit.providers.models.QasmBackendConfiguration "qiskit.providers.models.backendconfiguration.QasmBackendConfiguration") diff --git a/docs/api/qiskit/qiskit.providers.models.PulseDefaults.md b/docs/api/qiskit/qiskit.providers.models.PulseDefaults.md index 99e7675bf7..f5107452ef 100644 --- a/docs/api/qiskit/qiskit.providers.models.PulseDefaults.md +++ b/docs/api/qiskit/qiskit.providers.models.PulseDefaults.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.models.PulseDefaults -`qiskit.providers.models.PulseDefaults(qubit_freq_est, meas_freq_est, buffer, pulse_library, cmd_def, meas_kernel=None, discriminator=None, **kwargs)` +`qiskit.providers.models.PulseDefaults(qubit_freq_est, meas_freq_est, buffer, pulse_library, cmd_def, meas_kernel=None, discriminator=None, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/models/pulsedefaults.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.providers.models.QasmBackendConfiguration.md b/docs/api/qiskit/qiskit.providers.models.QasmBackendConfiguration.md index 3b138ea46d..d97a6cabb3 100644 --- a/docs/api/qiskit/qiskit.providers.models.QasmBackendConfiguration.md +++ b/docs/api/qiskit/qiskit.providers.models.QasmBackendConfiguration.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.models.QasmBackendConfiguration -`qiskit.providers.models.QasmBackendConfiguration(backend_name, backend_version, n_qubits, basis_gates, gates, local, simulator, conditional, open_pulse, memory, max_shots, coupling_map, supported_instructions=None, dynamic_reprate_enabled=False, rep_delay_range=None, default_rep_delay=None, max_experiments=None, sample_name=None, n_registers=None, register_map=None, configurable=None, credits_required=None, online_date=None, display_name=None, description=None, tags=None, dt=None, dtm=None, processor_type=None, parametric_pulses=None, **kwargs)` +`qiskit.providers.models.QasmBackendConfiguration(backend_name, backend_version, n_qubits, basis_gates, gates, local, simulator, conditional, open_pulse, memory, max_shots, coupling_map, supported_instructions=None, dynamic_reprate_enabled=False, rep_delay_range=None, default_rep_delay=None, max_experiments=None, sample_name=None, n_registers=None, register_map=None, configurable=None, credits_required=None, online_date=None, display_name=None, description=None, tags=None, dt=None, dtm=None, processor_type=None, parametric_pulses=None, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/models/backendconfiguration.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.providers.models.UchannelLO.md b/docs/api/qiskit/qiskit.providers.models.UchannelLO.md index b84f60891d..31428649f9 100644 --- a/docs/api/qiskit/qiskit.providers.models.UchannelLO.md +++ b/docs/api/qiskit/qiskit.providers.models.UchannelLO.md @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.models.UchannelLO -`qiskit.providers.models.UchannelLO(q, scale)` +`qiskit.providers.models.UchannelLO(q, scale)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/providers/models/backendconfiguration.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.pulse.InstructionScheduleMap.md b/docs/api/qiskit/qiskit.pulse.InstructionScheduleMap.md index 1c6b8f5817..123d06b7f4 100644 --- a/docs/api/qiskit/qiskit.pulse.InstructionScheduleMap.md +++ b/docs/api/qiskit/qiskit.pulse.InstructionScheduleMap.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap -`qiskit.pulse.InstructionScheduleMap` +`qiskit.pulse.InstructionScheduleMap`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/instruction_schedule_map.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.pulse.Schedule.md b/docs/api/qiskit/qiskit.pulse.Schedule.md index 8d41baea2b..d4faac75e7 100644 --- a/docs/api/qiskit/qiskit.pulse.Schedule.md +++ b/docs/api/qiskit/qiskit.pulse.Schedule.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.Schedule -`qiskit.pulse.Schedule(*schedules, name=None, metadata=None)` +`qiskit.pulse.Schedule(*schedules, name=None, metadata=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/schedule.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.pulse.ScheduleBlock.md b/docs/api/qiskit/qiskit.pulse.ScheduleBlock.md index d39e892b13..4e1c191335 100644 --- a/docs/api/qiskit/qiskit.pulse.ScheduleBlock.md +++ b/docs/api/qiskit/qiskit.pulse.ScheduleBlock.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.ScheduleBlock -`qiskit.pulse.ScheduleBlock(name=None, metadata=None, alignment_context=None)` +`qiskit.pulse.ScheduleBlock(name=None, metadata=None, alignment_context=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/schedule.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.pulse.channels.AcquireChannel.md b/docs/api/qiskit/qiskit.pulse.channels.AcquireChannel.md index 8319ce2706..294e84a36a 100644 --- a/docs/api/qiskit/qiskit.pulse.channels.AcquireChannel.md +++ b/docs/api/qiskit/qiskit.pulse.channels.AcquireChannel.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.channels.AcquireChannel -`qiskit.pulse.channels.AcquireChannel(*args, **kwargs)` +`qiskit.pulse.channels.AcquireChannel(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/channels.py "view source code") Bases: [`Channel`](pulse#qiskit.pulse.channels.Channel "qiskit.pulse.channels.Channel") diff --git a/docs/api/qiskit/qiskit.pulse.channels.ControlChannel.md b/docs/api/qiskit/qiskit.pulse.channels.ControlChannel.md index 8a79239c1a..8d95ea0e19 100644 --- a/docs/api/qiskit/qiskit.pulse.channels.ControlChannel.md +++ b/docs/api/qiskit/qiskit.pulse.channels.ControlChannel.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.channels.ControlChannel -`qiskit.pulse.channels.ControlChannel(*args, **kwargs)` +`qiskit.pulse.channels.ControlChannel(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/channels.py "view source code") Bases: `PulseChannel` diff --git a/docs/api/qiskit/qiskit.pulse.channels.DriveChannel.md b/docs/api/qiskit/qiskit.pulse.channels.DriveChannel.md index e002c40e45..920937fe3b 100644 --- a/docs/api/qiskit/qiskit.pulse.channels.DriveChannel.md +++ b/docs/api/qiskit/qiskit.pulse.channels.DriveChannel.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.channels.DriveChannel -`qiskit.pulse.channels.DriveChannel(*args, **kwargs)` +`qiskit.pulse.channels.DriveChannel(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/channels.py "view source code") Bases: `PulseChannel` diff --git a/docs/api/qiskit/qiskit.pulse.channels.MeasureChannel.md b/docs/api/qiskit/qiskit.pulse.channels.MeasureChannel.md index 493704ec5a..8eb4bb86b7 100644 --- a/docs/api/qiskit/qiskit.pulse.channels.MeasureChannel.md +++ b/docs/api/qiskit/qiskit.pulse.channels.MeasureChannel.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.channels.MeasureChannel -`qiskit.pulse.channels.MeasureChannel(*args, **kwargs)` +`qiskit.pulse.channels.MeasureChannel(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/channels.py "view source code") Bases: `PulseChannel` diff --git a/docs/api/qiskit/qiskit.pulse.channels.MemorySlot.md b/docs/api/qiskit/qiskit.pulse.channels.MemorySlot.md index 04add67864..c1d32365da 100644 --- a/docs/api/qiskit/qiskit.pulse.channels.MemorySlot.md +++ b/docs/api/qiskit/qiskit.pulse.channels.MemorySlot.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.channels.MemorySlot -`qiskit.pulse.channels.MemorySlot(*args, **kwargs)` +`qiskit.pulse.channels.MemorySlot(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/channels.py "view source code") Bases: `ClassicalIOChannel` diff --git a/docs/api/qiskit/qiskit.pulse.channels.RegisterSlot.md b/docs/api/qiskit/qiskit.pulse.channels.RegisterSlot.md index 0a2ce5b8d8..5da418c9ec 100644 --- a/docs/api/qiskit/qiskit.pulse.channels.RegisterSlot.md +++ b/docs/api/qiskit/qiskit.pulse.channels.RegisterSlot.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.channels.RegisterSlot -`qiskit.pulse.channels.RegisterSlot(*args, **kwargs)` +`qiskit.pulse.channels.RegisterSlot(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/channels.py "view source code") Bases: `ClassicalIOChannel` diff --git a/docs/api/qiskit/qiskit.pulse.channels.SnapshotChannel.md b/docs/api/qiskit/qiskit.pulse.channels.SnapshotChannel.md index 1ad1ca8969..86a15e41b6 100644 --- a/docs/api/qiskit/qiskit.pulse.channels.SnapshotChannel.md +++ b/docs/api/qiskit/qiskit.pulse.channels.SnapshotChannel.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.channels.SnapshotChannel -`qiskit.pulse.channels.SnapshotChannel(*args, **kwargs)` +`qiskit.pulse.channels.SnapshotChannel(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/channels.py "view source code") Bases: `ClassicalIOChannel` diff --git a/docs/api/qiskit/qiskit.pulse.instructions.Acquire.md b/docs/api/qiskit/qiskit.pulse.instructions.Acquire.md index 3f87b20f4c..91d2280894 100644 --- a/docs/api/qiskit/qiskit.pulse.instructions.Acquire.md +++ b/docs/api/qiskit/qiskit.pulse.instructions.Acquire.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.instructions.Acquire -`qiskit.pulse.instructions.Acquire(duration, channel, mem_slot=None, reg_slot=None, kernel=None, discriminator=None, name=None)` +`qiskit.pulse.instructions.Acquire(duration, channel, mem_slot=None, reg_slot=None, kernel=None, discriminator=None, name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/instructions/acquire.py "view source code") Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") diff --git a/docs/api/qiskit/qiskit.pulse.instructions.Call.md b/docs/api/qiskit/qiskit.pulse.instructions.Call.md index 81368d9522..ddd7662da3 100644 --- a/docs/api/qiskit/qiskit.pulse.instructions.Call.md +++ b/docs/api/qiskit/qiskit.pulse.instructions.Call.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.instructions.Call -`qiskit.pulse.instructions.Call(subroutine, value_dict=None, name=None)` +`qiskit.pulse.instructions.Call(subroutine, value_dict=None, name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/instructions/call.py "view source code") Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") diff --git a/docs/api/qiskit/qiskit.pulse.instructions.Delay.md b/docs/api/qiskit/qiskit.pulse.instructions.Delay.md index c4d927dbe2..0be196930b 100644 --- a/docs/api/qiskit/qiskit.pulse.instructions.Delay.md +++ b/docs/api/qiskit/qiskit.pulse.instructions.Delay.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.instructions.Delay -`qiskit.pulse.instructions.Delay(duration, channel, name=None)` +`qiskit.pulse.instructions.Delay(duration, channel, name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/instructions/delay.py "view source code") Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") diff --git a/docs/api/qiskit/qiskit.pulse.instructions.Play.md b/docs/api/qiskit/qiskit.pulse.instructions.Play.md index 77907b1f96..9f4d9865aa 100644 --- a/docs/api/qiskit/qiskit.pulse.instructions.Play.md +++ b/docs/api/qiskit/qiskit.pulse.instructions.Play.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.instructions.Play -`qiskit.pulse.instructions.Play(pulse, channel, name=None)` +`qiskit.pulse.instructions.Play(pulse, channel, name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/instructions/play.py "view source code") Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") diff --git a/docs/api/qiskit/qiskit.pulse.instructions.Reference.md b/docs/api/qiskit/qiskit.pulse.instructions.Reference.md index a674333cfa..8d9fa4035f 100644 --- a/docs/api/qiskit/qiskit.pulse.instructions.Reference.md +++ b/docs/api/qiskit/qiskit.pulse.instructions.Reference.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.instructions.Reference -`qiskit.pulse.instructions.Reference(name, *extra_keys)` +`qiskit.pulse.instructions.Reference(name, *extra_keys)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/instructions/reference.py "view source code") Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") diff --git a/docs/api/qiskit/qiskit.pulse.instructions.RelativeBarrier.md b/docs/api/qiskit/qiskit.pulse.instructions.RelativeBarrier.md index a5ef783420..800675d2a0 100644 --- a/docs/api/qiskit/qiskit.pulse.instructions.RelativeBarrier.md +++ b/docs/api/qiskit/qiskit.pulse.instructions.RelativeBarrier.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.instructions.RelativeBarrier -`qiskit.pulse.instructions.RelativeBarrier(*channels, name=None)` +`qiskit.pulse.instructions.RelativeBarrier(*channels, name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/instructions/directives.py "view source code") Bases: `Directive` diff --git a/docs/api/qiskit/qiskit.pulse.instructions.SetFrequency.md b/docs/api/qiskit/qiskit.pulse.instructions.SetFrequency.md index 906279ab29..9205a3c959 100644 --- a/docs/api/qiskit/qiskit.pulse.instructions.SetFrequency.md +++ b/docs/api/qiskit/qiskit.pulse.instructions.SetFrequency.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.instructions.SetFrequency -`qiskit.pulse.instructions.SetFrequency(frequency, channel, name=None)` +`qiskit.pulse.instructions.SetFrequency(frequency, channel, name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/instructions/frequency.py "view source code") Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") @@ -18,6 +18,8 @@ Set the channel frequency. This instruction operates on `PulseChannel` s. A `Pul $$ Re[\exp(i 2\pi f jdt + \phi) d_j]. + + $$ Here, $f$ is the frequency of the channel. The instruction `SetFrequency` allows the user to set the value of $f$. All pulses that are played on a channel after SetFrequency has been called will have the corresponding frequency. diff --git a/docs/api/qiskit/qiskit.pulse.instructions.SetPhase.md b/docs/api/qiskit/qiskit.pulse.instructions.SetPhase.md index 3ceda396f3..f9a84acf06 100644 --- a/docs/api/qiskit/qiskit.pulse.instructions.SetPhase.md +++ b/docs/api/qiskit/qiskit.pulse.instructions.SetPhase.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.instructions.SetPhase -`qiskit.pulse.instructions.SetPhase(phase, channel, name=None)` +`qiskit.pulse.instructions.SetPhase(phase, channel, name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/instructions/phase.py "view source code") Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") diff --git a/docs/api/qiskit/qiskit.pulse.instructions.ShiftFrequency.md b/docs/api/qiskit/qiskit.pulse.instructions.ShiftFrequency.md index 366c3b9dfa..a3ceeb93f9 100644 --- a/docs/api/qiskit/qiskit.pulse.instructions.ShiftFrequency.md +++ b/docs/api/qiskit/qiskit.pulse.instructions.ShiftFrequency.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.instructions.ShiftFrequency -`qiskit.pulse.instructions.ShiftFrequency(frequency, channel, name=None)` +`qiskit.pulse.instructions.ShiftFrequency(frequency, channel, name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/instructions/frequency.py "view source code") Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") diff --git a/docs/api/qiskit/qiskit.pulse.instructions.ShiftPhase.md b/docs/api/qiskit/qiskit.pulse.instructions.ShiftPhase.md index 6a6f1513d2..d13dbb2a8f 100644 --- a/docs/api/qiskit/qiskit.pulse.instructions.ShiftPhase.md +++ b/docs/api/qiskit/qiskit.pulse.instructions.ShiftPhase.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.instructions.ShiftPhase -`qiskit.pulse.instructions.ShiftPhase(phase, channel, name=None)` +`qiskit.pulse.instructions.ShiftPhase(phase, channel, name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/instructions/phase.py "view source code") Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") @@ -20,6 +20,8 @@ In particular, a PulseChannel creates pulses of the form $$ Re[\exp(i 2\pi f jdt + \phi) d_j]. + + $$ The `ShiftPhase` instruction causes $\phi$ to be increased by the instruction’s `phase` operand. This will affect all pulses following on the same channel. diff --git a/docs/api/qiskit/qiskit.pulse.instructions.Snapshot.md b/docs/api/qiskit/qiskit.pulse.instructions.Snapshot.md index 202cbd5541..6beb5f574c 100644 --- a/docs/api/qiskit/qiskit.pulse.instructions.Snapshot.md +++ b/docs/api/qiskit/qiskit.pulse.instructions.Snapshot.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.instructions.Snapshot -`qiskit.pulse.instructions.Snapshot(label, snapshot_type='statevector', name=None)` +`qiskit.pulse.instructions.Snapshot(label, snapshot_type='statevector', name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/instructions/snapshot.py "view source code") Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") diff --git a/docs/api/qiskit/qiskit.pulse.instructions.TimeBlockade.md b/docs/api/qiskit/qiskit.pulse.instructions.TimeBlockade.md index 93bf3478f7..d2bccabc9b 100644 --- a/docs/api/qiskit/qiskit.pulse.instructions.TimeBlockade.md +++ b/docs/api/qiskit/qiskit.pulse.instructions.TimeBlockade.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.instructions.TimeBlockade -`qiskit.pulse.instructions.TimeBlockade(duration, channel, name=None)` +`qiskit.pulse.instructions.TimeBlockade(duration, channel, name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/instructions/directives.py "view source code") Bases: `Directive` diff --git a/docs/api/qiskit/qiskit.pulse.library.Constant_class.rst.md b/docs/api/qiskit/qiskit.pulse.library.Constant_class.rst.md index a6e4a1f285..ba664f2bfb 100644 --- a/docs/api/qiskit/qiskit.pulse.library.Constant_class.rst.md +++ b/docs/api/qiskit/qiskit.pulse.library.Constant_class.rst.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.Constant -`qiskit.pulse.library.Constant(duration, amp, angle=None, name=None, limit_amplitude=None)` +`qiskit.pulse.library.Constant(duration, amp, angle=None, name=None, limit_amplitude=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/library/symbolic_pulses.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.pulse.library.Cos_class.rst.md b/docs/api/qiskit/qiskit.pulse.library.Cos_class.rst.md index bddaf41a23..393f33676b 100644 --- a/docs/api/qiskit/qiskit.pulse.library.Cos_class.rst.md +++ b/docs/api/qiskit/qiskit.pulse.library.Cos_class.rst.md @@ -12,7 +12,7 @@ python_api_name: qiskit.pulse.library.Cos -`qiskit.pulse.library.Cos(duration, amp, phase, freq=None, angle=0.0, name=None, limit_amplitude=None)` +`qiskit.pulse.library.Cos(duration, amp, phase, freq=None, angle=0.0, name=None, limit_amplitude=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/library/symbolic_pulses.py "view source code") A cosine pulse. diff --git a/docs/api/qiskit/qiskit.pulse.library.Drag_class.rst.md b/docs/api/qiskit/qiskit.pulse.library.Drag_class.rst.md index 19dd489d38..8ceb238d69 100644 --- a/docs/api/qiskit/qiskit.pulse.library.Drag_class.rst.md +++ b/docs/api/qiskit/qiskit.pulse.library.Drag_class.rst.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.Drag -`qiskit.pulse.library.Drag(duration, amp, sigma, beta, angle=None, name=None, limit_amplitude=None)` +`qiskit.pulse.library.Drag(duration, amp, sigma, beta, angle=None, name=None, limit_amplitude=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/library/symbolic_pulses.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") @@ -19,10 +19,10 @@ The Derivative Removal by Adiabatic Gate (DRAG) pulse is a standard Gaussian pul It can be calibrated either to reduce the phase error due to virtual population of the $|2\rangle$ state during the pulse or to reduce the frequency spectrum of a standard Gaussian pulse near the $|1\rangle\leftrightarrow|2\rangle$ transition, reducing the chance of leakage to the $|2\rangle$ state. $$ -\begin{split}g(x) &= \exp\Bigl(-\frac12 \frac{(x - \text{duration}/2)^2}{\text{sigma}^2}\Bigr)\\ +g(x) &= \exp\Bigl(-\frac12 \frac{(x - \text{duration}/2)^2}{\text{sigma}^2}\Bigr)\\ g'(x) &= \text{A}\times\frac{g(x)-g(-1)}{1-g(-1)}\\ f(x) &= g'(x) \times \Bigl(1 + 1j \times \text{beta} \times \Bigl(-\frac{x - \text{duration}/2}{\text{sigma}^2}\Bigr) \Bigr), - \quad 0 \le x < \text{duration}\end{split} + \quad 0 \le x < \text{duration} $$ where $g(x)$ is a standard unlifted Gaussian waveform, $g'(x)$ is the lifted [`Gaussian`](qiskit.pulse.library.Gaussian_class.rst#qiskit.pulse.library.Gaussian "qiskit.pulse.library.Gaussian") waveform, and $\text{A} = \text{amp} \times \exp\left(i\times\text{angle}\right)$. diff --git a/docs/api/qiskit/qiskit.pulse.library.GaussianDeriv.md b/docs/api/qiskit/qiskit.pulse.library.GaussianDeriv.md index e7fcf08fec..aebc1f81da 100644 --- a/docs/api/qiskit/qiskit.pulse.library.GaussianDeriv.md +++ b/docs/api/qiskit/qiskit.pulse.library.GaussianDeriv.md @@ -12,7 +12,7 @@ python_api_name: qiskit.pulse.library.GaussianDeriv -`qiskit.pulse.library.GaussianDeriv(duration, amp, sigma, angle=0.0, name=None, limit_amplitude=None)` +`qiskit.pulse.library.GaussianDeriv(duration, amp, sigma, angle=0.0, name=None, limit_amplitude=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/library/symbolic_pulses.py "view source code") An unnormalized Gaussian derivative pulse. diff --git a/docs/api/qiskit/qiskit.pulse.library.GaussianSquare.md b/docs/api/qiskit/qiskit.pulse.library.GaussianSquare.md index 22f3f87155..621530913c 100644 --- a/docs/api/qiskit/qiskit.pulse.library.GaussianSquare.md +++ b/docs/api/qiskit/qiskit.pulse.library.GaussianSquare.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.GaussianSquare -`qiskit.pulse.library.GaussianSquare(duration, amp, sigma, width=None, angle=None, risefall_sigma_ratio=None, name=None, limit_amplitude=None)` +`qiskit.pulse.library.GaussianSquare(duration, amp, sigma, width=None, angle=None, risefall_sigma_ratio=None, name=None, limit_amplitude=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/library/symbolic_pulses.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") @@ -21,23 +21,25 @@ Exactly one of the `risefall_sigma_ratio` and `width` parameters has to be speci If `risefall_sigma_ratio` is not None and `width` is None: $$ -\begin{split}\text{risefall} &= \text{risefall_sigma_ratio} \times \text{sigma}\\ -\text{width} &= \text{duration} - 2 \times \text{risefall}\end{split} +\text{risefall} &= \text{risefall_sigma_ratio} \times \text{sigma}\\ +\text{width} &= \text{duration} - 2 \times \text{risefall} $$ If `width` is not None and `risefall_sigma_ratio` is None: $$ \text{risefall} = \frac{\text{duration} - \text{width}}{2} + + $$ In both cases, the lifted gaussian square pulse $f'(x)$ is defined as: $$ -\begin{split}f'(x) &= \begin{cases} \exp\biggl(-\frac12 \frac{(x - \text{risefall})^2}{\text{sigma}^2}\biggr) & x < \text{risefall}\\ +f'(x) &= \begin{cases} \exp\biggl(-\frac12 \frac{(x - \text{risefall})^2}{\text{sigma}^2}\biggr) & x < \text{risefall}\\ 1 & \text{risefall} \le x < \text{risefall} + \text{width}\\ \exp\biggl(-\frac12 \frac{{\bigl(x - (\text{risefall} + \text{width})\bigr)}^2} {\text{sigma}^2} \biggr) & \text{risefall} + \text{width} \le x \end{cases}\\ -f(x) &= \text{A} \times \frac{f'(x) - f'(-1)}{1-f'(-1)}, \quad 0 \le x < \text{duration}\end{split} +f(x) &= \text{A} \times \frac{f'(x) - f'(-1)}{1-f'(-1)}, \quad 0 \le x < \text{duration} $$ where $f'(x)$ is the gaussian square waveform without lifting or amplitude scaling, and $\text{A} = \text{amp} \times \exp\left(i\times\text{angle}\right)$. diff --git a/docs/api/qiskit/qiskit.pulse.library.GaussianSquareDrag.md b/docs/api/qiskit/qiskit.pulse.library.GaussianSquareDrag.md index 7203dd37df..fe5d584e2d 100644 --- a/docs/api/qiskit/qiskit.pulse.library.GaussianSquareDrag.md +++ b/docs/api/qiskit/qiskit.pulse.library.GaussianSquareDrag.md @@ -12,7 +12,7 @@ python_api_name: qiskit.pulse.library.GaussianSquareDrag -`qiskit.pulse.library.GaussianSquareDrag(duration, amp, sigma, beta, width=None, angle=0.0, risefall_sigma_ratio=None, name=None, limit_amplitude=None)` +`qiskit.pulse.library.GaussianSquareDrag(duration, amp, sigma, beta, width=None, angle=0.0, risefall_sigma_ratio=None, name=None, limit_amplitude=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/library/symbolic_pulses.py "view source code") A square pulse with a Drag shaped rise and fall @@ -23,21 +23,23 @@ Exactly one of the `risefall_sigma_ratio` and `width` parameters has to be speci If `risefall_sigma_ratio` is not `None` and `width` is `None`: $$ -\begin{split}\text{risefall} &= \text{risefall_sigma_ratio} \times \text{sigma}\\ -\text{width} &= \text{duration} - 2 \times \text{risefall}\end{split} +\text{risefall} &= \text{risefall_sigma_ratio} \times \text{sigma}\\ +\text{width} &= \text{duration} - 2 \times \text{risefall} $$ If `width` is not None and `risefall_sigma_ratio` is None: $$ \text{risefall} = \frac{\text{duration} - \text{width}}{2} + + $$ Gaussian $g(x, c, σ)$ and lifted gaussian $g'(x, c, σ)$ curves can be written as: $$ -\begin{split}g(x, c, σ) &= \exp\Bigl(-\frac12 \frac{(x - c)^2}{σ^2}\Bigr)\\ -g'(x, c, σ) &= \frac{g(x, c, σ)-g(-1, c, σ)}{1-g(-1, c, σ)}\end{split} +g(x, c, σ) &= \exp\Bigl(-\frac12 \frac{(x - c)^2}{σ^2}\Bigr)\\ +g'(x, c, σ) &= \frac{g(x, c, σ)-g(-1, c, σ)}{1-g(-1, c, σ)} $$ From these, the lifted DRAG curve $d'(x, c, σ, β)$ can be written as @@ -49,9 +51,9 @@ $$ The lifted gaussian square drag pulse $f'(x)$ is defined as: $$ -\begin{split}f'(x) &= \begin{cases} \text{A} \times d'(x, \text{risefall}, \text{sigma}, \text{beta}) & x < \text{risefall}\\ +f'(x) &= \begin{cases} \text{A} \times d'(x, \text{risefall}, \text{sigma}, \text{beta}) & x < \text{risefall}\\ \text{A} & \text{risefall} \le x < \text{risefall} + \text{width}\\ - \text{A} \times \times d'( x - (\text{risefall} + \text{width}), \text{risefall}, \text{sigma}, \text{beta} ) & \text{risefall} + \text{width} \le x \end{cases}\\\end{split} + \text{A} \times \times d'( x - (\text{risefall} + \text{width}), \text{risefall}, \text{sigma}, \text{beta} ) & \text{risefall} + \text{width} \le x \end{cases}\\ $$ where $\text{A} = \text{amp} \times \exp\left(i\times\text{angle}\right)$. diff --git a/docs/api/qiskit/qiskit.pulse.library.Gaussian_class.rst.md b/docs/api/qiskit/qiskit.pulse.library.Gaussian_class.rst.md index 63072202d9..9b52894a10 100644 --- a/docs/api/qiskit/qiskit.pulse.library.Gaussian_class.rst.md +++ b/docs/api/qiskit/qiskit.pulse.library.Gaussian_class.rst.md @@ -10,15 +10,15 @@ python_api_name: qiskit.pulse.library.Gaussian -`qiskit.pulse.library.Gaussian(duration, amp, sigma, angle=None, name=None, limit_amplitude=None)` +`qiskit.pulse.library.Gaussian(duration, amp, sigma, angle=None, name=None, limit_amplitude=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/library/symbolic_pulses.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A lifted and truncated pulse envelope shaped according to the Gaussian function whose mean is centered at the center of the pulse (duration / 2): $$ -\begin{split}f'(x) &= \exp\Bigl( -\frac12 \frac{{(x - \text{duration}/2)}^2}{\text{sigma}^2} \Bigr)\\ -f(x) &= \text{A} \times \frac{f'(x) - f'(-1)}{1-f'(-1)}, \quad 0 \le x < \text{duration}\end{split} +f'(x) &= \exp\Bigl( -\frac12 \frac{{(x - \text{duration}/2)}^2}{\text{sigma}^2} \Bigr)\\ +f(x) &= \text{A} \times \frac{f'(x) - f'(-1)}{1-f'(-1)}, \quad 0 \le x < \text{duration} $$ where $f'(x)$ is the gaussian waveform without lifting or amplitude scaling, and $\text{A} = \text{amp} \times \exp\left(i\times\text{angle}\right)$. diff --git a/docs/api/qiskit/qiskit.pulse.library.ParametricPulse.md b/docs/api/qiskit/qiskit.pulse.library.ParametricPulse.md index 192c9b7251..4eed5de5d6 100644 --- a/docs/api/qiskit/qiskit.pulse.library.ParametricPulse.md +++ b/docs/api/qiskit/qiskit.pulse.library.ParametricPulse.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.ParametricPulse -`qiskit.pulse.library.ParametricPulse(duration, name=None, limit_amplitude=None)` +`qiskit.pulse.library.ParametricPulse(duration, name=None, limit_amplitude=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/library/parametric_pulses.py "view source code") Bases: `Pulse` diff --git a/docs/api/qiskit/qiskit.pulse.library.Sawtooth_class.rst.md b/docs/api/qiskit/qiskit.pulse.library.Sawtooth_class.rst.md index 22fde23cec..9a0288b769 100644 --- a/docs/api/qiskit/qiskit.pulse.library.Sawtooth_class.rst.md +++ b/docs/api/qiskit/qiskit.pulse.library.Sawtooth_class.rst.md @@ -12,7 +12,7 @@ python_api_name: qiskit.pulse.library.Sawtooth -`qiskit.pulse.library.Sawtooth(duration, amp, phase, freq=None, angle=0.0, name=None, limit_amplitude=None)` +`qiskit.pulse.library.Sawtooth(duration, amp, phase, freq=None, angle=0.0, name=None, limit_amplitude=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/library/symbolic_pulses.py "view source code") A sawtooth pulse. diff --git a/docs/api/qiskit/qiskit.pulse.library.SechDeriv.md b/docs/api/qiskit/qiskit.pulse.library.SechDeriv.md index bfe1f36e1c..d96ffc46e4 100644 --- a/docs/api/qiskit/qiskit.pulse.library.SechDeriv.md +++ b/docs/api/qiskit/qiskit.pulse.library.SechDeriv.md @@ -12,7 +12,7 @@ python_api_name: qiskit.pulse.library.SechDeriv -`qiskit.pulse.library.SechDeriv(duration, amp, sigma, angle=0.0, name=None, limit_amplitude=None)` +`qiskit.pulse.library.SechDeriv(duration, amp, sigma, angle=0.0, name=None, limit_amplitude=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/library/symbolic_pulses.py "view source code") An unnormalized sech derivative pulse. diff --git a/docs/api/qiskit/qiskit.pulse.library.Sech_fun.rst.md b/docs/api/qiskit/qiskit.pulse.library.Sech_fun.rst.md index ad3bfb2bdd..318eff0d6a 100644 --- a/docs/api/qiskit/qiskit.pulse.library.Sech_fun.rst.md +++ b/docs/api/qiskit/qiskit.pulse.library.Sech_fun.rst.md @@ -12,7 +12,7 @@ python_api_name: qiskit.pulse.library.Sech -`qiskit.pulse.library.Sech(duration, amp, sigma, angle=0.0, name=None, zero_ends=True, limit_amplitude=None)` +`qiskit.pulse.library.Sech(duration, amp, sigma, angle=0.0, name=None, zero_ends=True, limit_amplitude=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/library/symbolic_pulses.py "view source code") An unnormalized sech pulse. diff --git a/docs/api/qiskit/qiskit.pulse.library.Sin_class.rst.md b/docs/api/qiskit/qiskit.pulse.library.Sin_class.rst.md index 1f1cfc5ec1..a51aede9f4 100644 --- a/docs/api/qiskit/qiskit.pulse.library.Sin_class.rst.md +++ b/docs/api/qiskit/qiskit.pulse.library.Sin_class.rst.md @@ -12,7 +12,7 @@ python_api_name: qiskit.pulse.library.Sin -`qiskit.pulse.library.Sin(duration, amp, phase, freq=None, angle=0.0, name=None, limit_amplitude=None)` +`qiskit.pulse.library.Sin(duration, amp, phase, freq=None, angle=0.0, name=None, limit_amplitude=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/library/symbolic_pulses.py "view source code") A sinusoidal pulse. diff --git a/docs/api/qiskit/qiskit.pulse.library.Square_fun.rst.md b/docs/api/qiskit/qiskit.pulse.library.Square_fun.rst.md index bc79e9532f..deda09d6cb 100644 --- a/docs/api/qiskit/qiskit.pulse.library.Square_fun.rst.md +++ b/docs/api/qiskit/qiskit.pulse.library.Square_fun.rst.md @@ -12,7 +12,7 @@ python_api_name: qiskit.pulse.library.Square -`qiskit.pulse.library.Square(duration, amp, phase, freq=None, angle=0.0, name=None, limit_amplitude=None)` +`qiskit.pulse.library.Square(duration, amp, phase, freq=None, angle=0.0, name=None, limit_amplitude=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/library/symbolic_pulses.py "view source code") A square wave pulse. diff --git a/docs/api/qiskit/qiskit.pulse.library.SymbolicPulse.md b/docs/api/qiskit/qiskit.pulse.library.SymbolicPulse.md index f0eca157ab..857d677910 100644 --- a/docs/api/qiskit/qiskit.pulse.library.SymbolicPulse.md +++ b/docs/api/qiskit/qiskit.pulse.library.SymbolicPulse.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.SymbolicPulse -`qiskit.pulse.library.SymbolicPulse(pulse_type, duration, parameters=None, name=None, limit_amplitude=None, envelope=None, constraints=None, valid_amp_conditions=None)` +`qiskit.pulse.library.SymbolicPulse(pulse_type, duration, parameters=None, name=None, limit_amplitude=None, envelope=None, constraints=None, valid_amp_conditions=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/library/symbolic_pulses.py "view source code") Bases: `Pulse` diff --git a/docs/api/qiskit/qiskit.pulse.library.Triangle_class.rst.md b/docs/api/qiskit/qiskit.pulse.library.Triangle_class.rst.md index b121e99305..0f9ec9e423 100644 --- a/docs/api/qiskit/qiskit.pulse.library.Triangle_class.rst.md +++ b/docs/api/qiskit/qiskit.pulse.library.Triangle_class.rst.md @@ -12,7 +12,7 @@ python_api_name: qiskit.pulse.library.Triangle -`qiskit.pulse.library.Triangle(duration, amp, phase, freq=None, angle=0.0, name=None, limit_amplitude=None)` +`qiskit.pulse.library.Triangle(duration, amp, phase, freq=None, angle=0.0, name=None, limit_amplitude=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/library/symbolic_pulses.py "view source code") A triangle wave pulse. diff --git a/docs/api/qiskit/qiskit.pulse.library.Waveform.md b/docs/api/qiskit/qiskit.pulse.library.Waveform.md index 8d393aa5b2..2fe1f492cb 100644 --- a/docs/api/qiskit/qiskit.pulse.library.Waveform.md +++ b/docs/api/qiskit/qiskit.pulse.library.Waveform.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.Waveform -`qiskit.pulse.library.Waveform(samples, name=None, epsilon=1e-07, limit_amplitude=None)` +`qiskit.pulse.library.Waveform(samples, name=None, epsilon=1e-07, limit_amplitude=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/library/waveform.py "view source code") Bases: `Pulse` diff --git a/docs/api/qiskit/qiskit.pulse.library.gaussian_square_echo.md b/docs/api/qiskit/qiskit.pulse.library.gaussian_square_echo.md index b0e421c2ce..794f569faf 100644 --- a/docs/api/qiskit/qiskit.pulse.library.gaussian_square_echo.md +++ b/docs/api/qiskit/qiskit.pulse.library.gaussian_square_echo.md @@ -12,15 +12,15 @@ python_api_name: qiskit.pulse.library.gaussian_square_echo -`qiskit.pulse.library.gaussian_square_echo(duration, amp, sigma, width=None, angle=0.0, active_amp=0.0, active_angle=0.0, risefall_sigma_ratio=None, name=None, limit_amplitude=None)` +`qiskit.pulse.library.gaussian_square_echo(duration, amp, sigma, width=None, angle=0.0, active_amp=0.0, active_angle=0.0, risefall_sigma_ratio=None, name=None, limit_amplitude=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/library/symbolic_pulses.py "view source code") An echoed Gaussian square pulse with an active tone overlaid on it. The Gaussian Square Echo pulse is composed of three pulses. First, a Gaussian Square pulse $f_{echo}(x)$ with amplitude `amp` and phase `angle` playing for half duration, followed by a second Gaussian Square pulse $-f_{echo}(x)$ with opposite amplitude and same phase playing for the rest of the duration. Third a Gaussian Square pulse $f_{active}(x)$ with amplitude `active_amp` and phase `active_angle` playing for the entire duration. The Gaussian Square Echo pulse $g_e()$ can be written as: $$ -\begin{split}g_e(x) &= \begin{cases} f_{\text{active}} + f_{\text{echo}}(x) & x < \frac{\text{duration}}{2}\\ - f_{\text{active}} - f_{\text{echo}}(x) & \frac{\text{duration}}{2} < x \end{cases}\\\end{split} +g_e(x) &= \begin{cases} f_{\text{active}} + f_{\text{echo}}(x) & x < \frac{\text{duration}}{2}\\ + f_{\text{active}} - f_{\text{echo}}(x) & \frac{\text{duration}}{2} < x \end{cases}\\ $$ One case where this pulse can be used is when implementing a direct CNOT gate with a cross-resonance superconducting qubit architecture. When applying this pulse to the target qubit, the active portion can be used to cancel IX terms from the cross-resonance drive while the echo portion can reduce the impact of a static ZZ coupling. @@ -30,14 +30,16 @@ Exactly one of the `risefall_sigma_ratio` and `width` parameters has to be speci If `risefall_sigma_ratio` is not `None` and `width` is `None`: $$ -\begin{split}\text{risefall} &= \text{risefall_sigma_ratio} \times \text{sigma}\\ -\text{width} &= \text{duration} - 2 \times \text{risefall}\end{split} +\text{risefall} &= \text{risefall_sigma_ratio} \times \text{sigma}\\ +\text{width} &= \text{duration} - 2 \times \text{risefall} $$ If `width` is not None and `risefall_sigma_ratio` is None: $$ \text{risefall} = \frac{\text{duration} - \text{width}}{2} + + $$ ## References diff --git a/docs/api/qiskit/qiskit.pulse.transforms.AlignEquispaced.md b/docs/api/qiskit/qiskit.pulse.transforms.AlignEquispaced.md index 491f0aef9c..8d0f30b3fd 100644 --- a/docs/api/qiskit/qiskit.pulse.transforms.AlignEquispaced.md +++ b/docs/api/qiskit/qiskit.pulse.transforms.AlignEquispaced.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.transforms.AlignEquispaced -`qiskit.pulse.transforms.AlignEquispaced(duration)` +`qiskit.pulse.transforms.AlignEquispaced(duration)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/transforms/alignments.py "view source code") Bases: [`AlignmentKind`](pulse#qiskit.pulse.transforms.AlignmentKind "qiskit.pulse.transforms.alignments.AlignmentKind") diff --git a/docs/api/qiskit/qiskit.pulse.transforms.AlignFunc.md b/docs/api/qiskit/qiskit.pulse.transforms.AlignFunc.md index bec8671c3c..e3d7acfd75 100644 --- a/docs/api/qiskit/qiskit.pulse.transforms.AlignFunc.md +++ b/docs/api/qiskit/qiskit.pulse.transforms.AlignFunc.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.transforms.AlignFunc -`qiskit.pulse.transforms.AlignFunc(duration, func)` +`qiskit.pulse.transforms.AlignFunc(duration, func)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/transforms/alignments.py "view source code") Bases: [`AlignmentKind`](pulse#qiskit.pulse.transforms.AlignmentKind "qiskit.pulse.transforms.alignments.AlignmentKind") diff --git a/docs/api/qiskit/qiskit.pulse.transforms.AlignLeft.md b/docs/api/qiskit/qiskit.pulse.transforms.AlignLeft.md index a6e3988902..edf9dff570 100644 --- a/docs/api/qiskit/qiskit.pulse.transforms.AlignLeft.md +++ b/docs/api/qiskit/qiskit.pulse.transforms.AlignLeft.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.transforms.AlignLeft -`qiskit.pulse.transforms.AlignLeft` +`qiskit.pulse.transforms.AlignLeft`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/transforms/alignments.py "view source code") Bases: [`AlignmentKind`](pulse#qiskit.pulse.transforms.AlignmentKind "qiskit.pulse.transforms.alignments.AlignmentKind") diff --git a/docs/api/qiskit/qiskit.pulse.transforms.AlignRight.md b/docs/api/qiskit/qiskit.pulse.transforms.AlignRight.md index 7a782c2929..dc8344d1e4 100644 --- a/docs/api/qiskit/qiskit.pulse.transforms.AlignRight.md +++ b/docs/api/qiskit/qiskit.pulse.transforms.AlignRight.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.transforms.AlignRight -`qiskit.pulse.transforms.AlignRight` +`qiskit.pulse.transforms.AlignRight`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/transforms/alignments.py "view source code") Bases: [`AlignmentKind`](pulse#qiskit.pulse.transforms.AlignmentKind "qiskit.pulse.transforms.alignments.AlignmentKind") diff --git a/docs/api/qiskit/qiskit.pulse.transforms.AlignSequential.md b/docs/api/qiskit/qiskit.pulse.transforms.AlignSequential.md index 3dd18a05b0..d52a096918 100644 --- a/docs/api/qiskit/qiskit.pulse.transforms.AlignSequential.md +++ b/docs/api/qiskit/qiskit.pulse.transforms.AlignSequential.md @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.transforms.AlignSequential -`qiskit.pulse.transforms.AlignSequential` +`qiskit.pulse.transforms.AlignSequential`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/pulse/transforms/alignments.py "view source code") Bases: [`AlignmentKind`](pulse#qiskit.pulse.transforms.AlignmentKind "qiskit.pulse.transforms.alignments.AlignmentKind") diff --git a/docs/api/qiskit/qiskit.qobj.GateCalibration.md b/docs/api/qiskit/qiskit.qobj.GateCalibration.md index 428c69c7b1..e7de138644 100644 --- a/docs/api/qiskit/qiskit.qobj.GateCalibration.md +++ b/docs/api/qiskit/qiskit.qobj.GateCalibration.md @@ -10,7 +10,7 @@ python_api_name: qiskit.qobj.GateCalibration -`qiskit.qobj.GateCalibration(name, qubits, params, instructions)` +`qiskit.qobj.GateCalibration(name, qubits, params, instructions)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qobj/qasm_qobj.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.qobj.PulseLibraryItem.md b/docs/api/qiskit/qiskit.qobj.PulseLibraryItem.md index d822b86abd..f47d1dc890 100644 --- a/docs/api/qiskit/qiskit.qobj.PulseLibraryItem.md +++ b/docs/api/qiskit/qiskit.qobj.PulseLibraryItem.md @@ -10,7 +10,7 @@ python_api_name: qiskit.qobj.PulseLibraryItem -`qiskit.qobj.PulseLibraryItem(name, samples)` +`qiskit.qobj.PulseLibraryItem(name, samples)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qobj/pulse_qobj.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.qobj.PulseQobj.md b/docs/api/qiskit/qiskit.qobj.PulseQobj.md index eef96647aa..d7764420ba 100644 --- a/docs/api/qiskit/qiskit.qobj.PulseQobj.md +++ b/docs/api/qiskit/qiskit.qobj.PulseQobj.md @@ -10,7 +10,7 @@ python_api_name: qiskit.qobj.PulseQobj -`qiskit.qobj.PulseQobj(qobj_id, config, experiments, header=None)` +`qiskit.qobj.PulseQobj(qobj_id, config, experiments, header=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qobj/pulse_qobj.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.qobj.PulseQobjConfig.md b/docs/api/qiskit/qiskit.qobj.PulseQobjConfig.md index 4455717336..904a326e2e 100644 --- a/docs/api/qiskit/qiskit.qobj.PulseQobjConfig.md +++ b/docs/api/qiskit/qiskit.qobj.PulseQobjConfig.md @@ -10,7 +10,7 @@ python_api_name: qiskit.qobj.PulseQobjConfig -`qiskit.qobj.PulseQobjConfig(meas_level, meas_return, pulse_library, qubit_lo_freq, meas_lo_freq, memory_slot_size=None, rep_time=None, rep_delay=None, shots=None, seed_simulator=None, memory_slots=None, **kwargs)` +`qiskit.qobj.PulseQobjConfig(meas_level, meas_return, pulse_library, qubit_lo_freq, meas_lo_freq, memory_slot_size=None, rep_time=None, rep_delay=None, shots=None, seed_simulator=None, memory_slots=None, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qobj/pulse_qobj.py "view source code") Bases: `QobjDictField` diff --git a/docs/api/qiskit/qiskit.qobj.PulseQobjExperiment.md b/docs/api/qiskit/qiskit.qobj.PulseQobjExperiment.md index ee60aab148..ca9aec4c7d 100644 --- a/docs/api/qiskit/qiskit.qobj.PulseQobjExperiment.md +++ b/docs/api/qiskit/qiskit.qobj.PulseQobjExperiment.md @@ -10,7 +10,7 @@ python_api_name: qiskit.qobj.PulseQobjExperiment -`qiskit.qobj.PulseQobjExperiment(instructions, config=None, header=None)` +`qiskit.qobj.PulseQobjExperiment(instructions, config=None, header=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qobj/pulse_qobj.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.qobj.PulseQobjExperimentConfig.md b/docs/api/qiskit/qiskit.qobj.PulseQobjExperimentConfig.md index 08ead83601..ae70efeff8 100644 --- a/docs/api/qiskit/qiskit.qobj.PulseQobjExperimentConfig.md +++ b/docs/api/qiskit/qiskit.qobj.PulseQobjExperimentConfig.md @@ -10,7 +10,7 @@ python_api_name: qiskit.qobj.PulseQobjExperimentConfig -`qiskit.qobj.PulseQobjExperimentConfig(qubit_lo_freq=None, meas_lo_freq=None, **kwargs)` +`qiskit.qobj.PulseQobjExperimentConfig(qubit_lo_freq=None, meas_lo_freq=None, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qobj/pulse_qobj.py "view source code") Bases: `QobjDictField` diff --git a/docs/api/qiskit/qiskit.qobj.PulseQobjInstruction.md b/docs/api/qiskit/qiskit.qobj.PulseQobjInstruction.md index 42490b33ab..57f5223e5a 100644 --- a/docs/api/qiskit/qiskit.qobj.PulseQobjInstruction.md +++ b/docs/api/qiskit/qiskit.qobj.PulseQobjInstruction.md @@ -10,7 +10,7 @@ python_api_name: qiskit.qobj.PulseQobjInstruction -`qiskit.qobj.PulseQobjInstruction(name, t0, ch=None, conditional=None, val=None, phase=None, duration=None, qubits=None, memory_slot=None, register_slot=None, kernels=None, discriminators=None, label=None, type=None, pulse_shape=None, parameters=None, frequency=None)` +`qiskit.qobj.PulseQobjInstruction(name, t0, ch=None, conditional=None, val=None, phase=None, duration=None, qubits=None, memory_slot=None, register_slot=None, kernels=None, discriminators=None, label=None, type=None, pulse_shape=None, parameters=None, frequency=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qobj/pulse_qobj.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.qobj.QasmExperimentCalibrations.md b/docs/api/qiskit/qiskit.qobj.QasmExperimentCalibrations.md index baba012555..5962f3cacb 100644 --- a/docs/api/qiskit/qiskit.qobj.QasmExperimentCalibrations.md +++ b/docs/api/qiskit/qiskit.qobj.QasmExperimentCalibrations.md @@ -10,7 +10,7 @@ python_api_name: qiskit.qobj.QasmExperimentCalibrations -`qiskit.qobj.QasmExperimentCalibrations(gates)` +`qiskit.qobj.QasmExperimentCalibrations(gates)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qobj/qasm_qobj.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.qobj.QasmQobj.md b/docs/api/qiskit/qiskit.qobj.QasmQobj.md index 76887fb7fc..0292444098 100644 --- a/docs/api/qiskit/qiskit.qobj.QasmQobj.md +++ b/docs/api/qiskit/qiskit.qobj.QasmQobj.md @@ -10,7 +10,7 @@ python_api_name: qiskit.qobj.QasmQobj -`qiskit.qobj.QasmQobj(qobj_id=None, config=None, experiments=None, header=None)` +`qiskit.qobj.QasmQobj(qobj_id=None, config=None, experiments=None, header=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qobj/qasm_qobj.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.qobj.QasmQobjConfig.md b/docs/api/qiskit/qiskit.qobj.QasmQobjConfig.md index 2ce17e286d..e9d7606215 100644 --- a/docs/api/qiskit/qiskit.qobj.QasmQobjConfig.md +++ b/docs/api/qiskit/qiskit.qobj.QasmQobjConfig.md @@ -10,7 +10,7 @@ python_api_name: qiskit.qobj.QasmQobjConfig -`qiskit.qobj.QasmQobjConfig(shots=None, seed_simulator=None, memory=None, parameter_binds=None, meas_level=None, meas_return=None, memory_slots=None, n_qubits=None, pulse_library=None, calibrations=None, rep_delay=None, qubit_lo_freq=None, meas_lo_freq=None, **kwargs)` +`qiskit.qobj.QasmQobjConfig(shots=None, seed_simulator=None, memory=None, parameter_binds=None, meas_level=None, meas_return=None, memory_slots=None, n_qubits=None, pulse_library=None, calibrations=None, rep_delay=None, qubit_lo_freq=None, meas_lo_freq=None, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qobj/qasm_qobj.py "view source code") Bases: [`SimpleNamespace`](https://docs.python.org/3/library/types.html#types.SimpleNamespace "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.qobj.QasmQobjExperiment.md b/docs/api/qiskit/qiskit.qobj.QasmQobjExperiment.md index 349de3fd06..fa16a4fb30 100644 --- a/docs/api/qiskit/qiskit.qobj.QasmQobjExperiment.md +++ b/docs/api/qiskit/qiskit.qobj.QasmQobjExperiment.md @@ -10,7 +10,7 @@ python_api_name: qiskit.qobj.QasmQobjExperiment -`qiskit.qobj.QasmQobjExperiment(config=None, header=None, instructions=None)` +`qiskit.qobj.QasmQobjExperiment(config=None, header=None, instructions=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qobj/qasm_qobj.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.qobj.QasmQobjExperimentConfig.md b/docs/api/qiskit/qiskit.qobj.QasmQobjExperimentConfig.md index 87daa997f4..4479d4a19a 100644 --- a/docs/api/qiskit/qiskit.qobj.QasmQobjExperimentConfig.md +++ b/docs/api/qiskit/qiskit.qobj.QasmQobjExperimentConfig.md @@ -10,7 +10,7 @@ python_api_name: qiskit.qobj.QasmQobjExperimentConfig -`qiskit.qobj.QasmQobjExperimentConfig(calibrations=None, qubit_lo_freq=None, meas_lo_freq=None, **kwargs)` +`qiskit.qobj.QasmQobjExperimentConfig(calibrations=None, qubit_lo_freq=None, meas_lo_freq=None, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qobj/qasm_qobj.py "view source code") Bases: `QobjDictField` diff --git a/docs/api/qiskit/qiskit.qobj.QasmQobjInstruction.md b/docs/api/qiskit/qiskit.qobj.QasmQobjInstruction.md index d4f396068a..53ee432742 100644 --- a/docs/api/qiskit/qiskit.qobj.QasmQobjInstruction.md +++ b/docs/api/qiskit/qiskit.qobj.QasmQobjInstruction.md @@ -10,7 +10,7 @@ python_api_name: qiskit.qobj.QasmQobjInstruction -`qiskit.qobj.QasmQobjInstruction(name, params=None, qubits=None, register=None, memory=None, condition=None, conditional=None, label=None, mask=None, relation=None, val=None, snapshot_type=None)` +`qiskit.qobj.QasmQobjInstruction(name, params=None, qubits=None, register=None, memory=None, condition=None, conditional=None, label=None, mask=None, relation=None, val=None, snapshot_type=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qobj/qasm_qobj.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.qobj.QobjExperimentHeader.md b/docs/api/qiskit/qiskit.qobj.QobjExperimentHeader.md index 7f01bba0de..c6171989fc 100644 --- a/docs/api/qiskit/qiskit.qobj.QobjExperimentHeader.md +++ b/docs/api/qiskit/qiskit.qobj.QobjExperimentHeader.md @@ -10,7 +10,7 @@ python_api_name: qiskit.qobj.QobjExperimentHeader -`qiskit.qobj.QobjExperimentHeader(**kwargs)` +`qiskit.qobj.QobjExperimentHeader(**kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qobj/common.py "view source code") Bases: [`QobjHeader`](qiskit.qobj.QobjHeader "qiskit.qobj.common.QobjHeader") diff --git a/docs/api/qiskit/qiskit.qobj.QobjHeader.md b/docs/api/qiskit/qiskit.qobj.QobjHeader.md index 8981d85cf6..e239fdf183 100644 --- a/docs/api/qiskit/qiskit.qobj.QobjHeader.md +++ b/docs/api/qiskit/qiskit.qobj.QobjHeader.md @@ -10,7 +10,7 @@ python_api_name: qiskit.qobj.QobjHeader -`qiskit.qobj.QobjHeader(**kwargs)` +`qiskit.qobj.QobjHeader(**kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qobj/common.py "view source code") Bases: `QobjDictField` diff --git a/docs/api/qiskit/qiskit.qobj.QobjMeasurementOption.md b/docs/api/qiskit/qiskit.qobj.QobjMeasurementOption.md index d0e6231e46..a0a8811031 100644 --- a/docs/api/qiskit/qiskit.qobj.QobjMeasurementOption.md +++ b/docs/api/qiskit/qiskit.qobj.QobjMeasurementOption.md @@ -10,7 +10,7 @@ python_api_name: qiskit.qobj.QobjMeasurementOption -`qiskit.qobj.QobjMeasurementOption(name, params=None)` +`qiskit.qobj.QobjMeasurementOption(name, params=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qobj/pulse_qobj.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.quantum_info.CNOTDihedral.md b/docs/api/qiskit/qiskit.quantum_info.CNOTDihedral.md index b81dc8a1b5..ed14d04adc 100644 --- a/docs/api/qiskit/qiskit.quantum_info.CNOTDihedral.md +++ b/docs/api/qiskit/qiskit.quantum_info.CNOTDihedral.md @@ -10,7 +10,7 @@ python_api_name: qiskit.quantum_info.CNOTDihedral -`qiskit.quantum_info.CNOTDihedral(data=None, num_qubits=None, validate=True)` +`qiskit.quantum_info.CNOTDihedral(data=None, num_qubits=None, validate=True)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/operators/dihedral/dihedral.py "view source code") Bases: `BaseOperator`, `AdjointMixin` diff --git a/docs/api/qiskit/qiskit.quantum_info.Chi.md b/docs/api/qiskit/qiskit.quantum_info.Chi.md index 41c1d43c3d..3ac3b80e39 100644 --- a/docs/api/qiskit/qiskit.quantum_info.Chi.md +++ b/docs/api/qiskit/qiskit.quantum_info.Chi.md @@ -10,7 +10,7 @@ python_api_name: qiskit.quantum_info.Chi -`qiskit.quantum_info.Chi(data, input_dims=None, output_dims=None)` +`qiskit.quantum_info.Chi(data, input_dims=None, output_dims=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/operators/channel/chi.py "view source code") Bases: `QuantumChannel` diff --git a/docs/api/qiskit/qiskit.quantum_info.Choi.md b/docs/api/qiskit/qiskit.quantum_info.Choi.md index 1850fbf8f5..12d7bcafef 100644 --- a/docs/api/qiskit/qiskit.quantum_info.Choi.md +++ b/docs/api/qiskit/qiskit.quantum_info.Choi.md @@ -10,7 +10,7 @@ python_api_name: qiskit.quantum_info.Choi -`qiskit.quantum_info.Choi(data, input_dims=None, output_dims=None)` +`qiskit.quantum_info.Choi(data, input_dims=None, output_dims=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/operators/channel/choi.py "view source code") Bases: `QuantumChannel` diff --git a/docs/api/qiskit/qiskit.quantum_info.Clifford.md b/docs/api/qiskit/qiskit.quantum_info.Clifford.md index 0370547b57..237643452b 100644 --- a/docs/api/qiskit/qiskit.quantum_info.Clifford.md +++ b/docs/api/qiskit/qiskit.quantum_info.Clifford.md @@ -10,7 +10,7 @@ python_api_name: qiskit.quantum_info.Clifford -`qiskit.quantum_info.Clifford(data, validate=True, copy=True)` +`qiskit.quantum_info.Clifford(data, validate=True, copy=True)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/operators/symplectic/clifford.py "view source code") Bases: `BaseOperator`, `AdjointMixin`, [`Operation`](qiskit.circuit.Operation "qiskit.circuit.operation.Operation") diff --git a/docs/api/qiskit/qiskit.quantum_info.DensityMatrix.md b/docs/api/qiskit/qiskit.quantum_info.DensityMatrix.md index 6370ab0399..892da03ebb 100644 --- a/docs/api/qiskit/qiskit.quantum_info.DensityMatrix.md +++ b/docs/api/qiskit/qiskit.quantum_info.DensityMatrix.md @@ -10,7 +10,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix -`qiskit.quantum_info.DensityMatrix(data, dims=None)` +`qiskit.quantum_info.DensityMatrix(data, dims=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/states/densitymatrix.py "view source code") Bases: `QuantumState`, `TolerancesMixin` diff --git a/docs/api/qiskit/qiskit.quantum_info.Kraus.md b/docs/api/qiskit/qiskit.quantum_info.Kraus.md index 03823f9f3b..6efb1f5fdc 100644 --- a/docs/api/qiskit/qiskit.quantum_info.Kraus.md +++ b/docs/api/qiskit/qiskit.quantum_info.Kraus.md @@ -10,7 +10,7 @@ python_api_name: qiskit.quantum_info.Kraus -`qiskit.quantum_info.Kraus(data, input_dims=None, output_dims=None)` +`qiskit.quantum_info.Kraus(data, input_dims=None, output_dims=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/operators/channel/kraus.py "view source code") Bases: `QuantumChannel` diff --git a/docs/api/qiskit/qiskit.quantum_info.OneQubitEulerDecomposer.md b/docs/api/qiskit/qiskit.quantum_info.OneQubitEulerDecomposer.md index cf35902eb7..822a936e21 100644 --- a/docs/api/qiskit/qiskit.quantum_info.OneQubitEulerDecomposer.md +++ b/docs/api/qiskit/qiskit.quantum_info.OneQubitEulerDecomposer.md @@ -10,7 +10,7 @@ python_api_name: qiskit.quantum_info.OneQubitEulerDecomposer -`qiskit.quantum_info.OneQubitEulerDecomposer(basis='U3', use_dag=False)` +`qiskit.quantum_info.OneQubitEulerDecomposer(basis='U3', use_dag=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/synthesis/one_qubit_decompose.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.quantum_info.Operator.md b/docs/api/qiskit/qiskit.quantum_info.Operator.md index 028c08404f..88ca8e4204 100644 --- a/docs/api/qiskit/qiskit.quantum_info.Operator.md +++ b/docs/api/qiskit/qiskit.quantum_info.Operator.md @@ -10,7 +10,7 @@ python_api_name: qiskit.quantum_info.Operator -`qiskit.quantum_info.Operator(data, input_dims=None, output_dims=None)` +`qiskit.quantum_info.Operator(data, input_dims=None, output_dims=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/operators/operator.py "view source code") Bases: `LinearOp` diff --git a/docs/api/qiskit/qiskit.quantum_info.PTM.md b/docs/api/qiskit/qiskit.quantum_info.PTM.md index 75fcc2ca5f..10b200b8c4 100644 --- a/docs/api/qiskit/qiskit.quantum_info.PTM.md +++ b/docs/api/qiskit/qiskit.quantum_info.PTM.md @@ -10,7 +10,7 @@ python_api_name: qiskit.quantum_info.PTM -`qiskit.quantum_info.PTM(data, input_dims=None, output_dims=None)` +`qiskit.quantum_info.PTM(data, input_dims=None, output_dims=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/operators/channel/ptm.py "view source code") Bases: `QuantumChannel` diff --git a/docs/api/qiskit/qiskit.quantum_info.Pauli.md b/docs/api/qiskit/qiskit.quantum_info.Pauli.md index d8ada13976..c551aaa2cc 100644 --- a/docs/api/qiskit/qiskit.quantum_info.Pauli.md +++ b/docs/api/qiskit/qiskit.quantum_info.Pauli.md @@ -10,7 +10,7 @@ python_api_name: qiskit.quantum_info.Pauli -`qiskit.quantum_info.Pauli(data=None)` +`qiskit.quantum_info.Pauli(data=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/operators/symplectic/pauli.py "view source code") Bases: `BasePauli` @@ -25,10 +25,10 @@ $$ where $q\in \mathbb{Z}_4$ and $P_i \in \{I, X, Y, Z\}$ are single-qubit Pauli matrices: $$ -\begin{split}I = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}, +I = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}, X = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}, Y = \begin{pmatrix} 0 & -i \\ i & 0 \end{pmatrix}, -Z = \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}.\end{split} +Z = \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}. $$ **Initialization** @@ -51,7 +51,7 @@ A Pauli object can be initialized in several ways: An $n$-qubit Pauli may be represented by a string consisting of $n$ characters from `['I', 'X', 'Y', 'Z']`, and optionally phase coefficient in $['', '-i', '-', 'i']$. For example: `XYZ` or `'-iZIZ'`. -In the string representation qubit-0 corresponds to the right-most Pauli character, and qubit-$(n-1)$ to the left-most Pauli character. For example `'XYZ'` represents $X\otimes Y \otimes Z$ with `'Z'` on qubit-0, `'Y'` on qubit-1, and `'X'` on qubit-3. +In the string representation qubit-0 corresponds to the right-most Pauli character, and qubit-$(n-1)$ to the left-most Pauli character. For example `'XYZ'` represents $X\otimes Y \otimes Z$ with `'Z'` on qubit-0, `'Y'` on qubit-1, and `'X'` on qubit-2. The string representation can be converted to a `Pauli` using the class initialization (`Pauli('-iXYZ')`). A `Pauli` object can be converted back to the string representation using the [`to_label()`](#qiskit.quantum_info.Pauli.to_label "qiskit.quantum_info.Pauli.to_label") method or `str(pauli)`. @@ -67,11 +67,11 @@ $$ P = (-i)^{q + z\cdot x} Z^z \cdot X^x. $$ -The $k`th qubit corresponds to the :math:`k`th entry in the :math:`z$ and $x$ arrays +The $k$-th qubit corresponds to the $k$-th entry in the $z$ and $x$ arrays $$ -\begin{split}P &= P_{n-1} \otimes ... \otimes P_{0} \\ -P_k &= (-i)^{z[k] * x[k]} Z^{z[k]}\cdot X^{x[k]}\end{split} +P &= P_{n-1} \otimes ... \otimes P_{0} \\ +P_k &= (-i)^{z[k] * x[k]} Z^{z[k]}\cdot X^{x[k]} $$ where `z[k] = P.z[k]`, `x[k] = P.x[k]` respectively. diff --git a/docs/api/qiskit/qiskit.quantum_info.PauliList.md b/docs/api/qiskit/qiskit.quantum_info.PauliList.md index 940e2bf1e0..963d5440eb 100644 --- a/docs/api/qiskit/qiskit.quantum_info.PauliList.md +++ b/docs/api/qiskit/qiskit.quantum_info.PauliList.md @@ -10,7 +10,7 @@ python_api_name: qiskit.quantum_info.PauliList -`qiskit.quantum_info.PauliList(data)` +`qiskit.quantum_info.PauliList(data)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/operators/symplectic/pauli_list.py "view source code") Bases: `BasePauli`, `LinearMixin`, `GroupMixin` diff --git a/docs/api/qiskit/qiskit.quantum_info.Quaternion.md b/docs/api/qiskit/qiskit.quantum_info.Quaternion.md index 7020f8b4bd..840477e816 100644 --- a/docs/api/qiskit/qiskit.quantum_info.Quaternion.md +++ b/docs/api/qiskit/qiskit.quantum_info.Quaternion.md @@ -10,7 +10,7 @@ python_api_name: qiskit.quantum_info.Quaternion -`qiskit.quantum_info.Quaternion(data)` +`qiskit.quantum_info.Quaternion(data)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/synthesis/quaternion.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.quantum_info.ScalarOp.md b/docs/api/qiskit/qiskit.quantum_info.ScalarOp.md index 098b506d26..c57a2a2e95 100644 --- a/docs/api/qiskit/qiskit.quantum_info.ScalarOp.md +++ b/docs/api/qiskit/qiskit.quantum_info.ScalarOp.md @@ -10,7 +10,7 @@ python_api_name: qiskit.quantum_info.ScalarOp -`qiskit.quantum_info.ScalarOp(dims=None, coeff=1)` +`qiskit.quantum_info.ScalarOp(dims=None, coeff=1)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/operators/scalar_op.py "view source code") Bases: `LinearOp` diff --git a/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp.md b/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp.md index befb6c1e40..dcfb8abfec 100644 --- a/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp.md +++ b/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp.md @@ -10,7 +10,7 @@ python_api_name: qiskit.quantum_info.SparsePauliOp -`qiskit.quantum_info.SparsePauliOp(data, coeffs=None, *, ignore_pauli_phase=False, copy=True)` +`qiskit.quantum_info.SparsePauliOp(data, coeffs=None, *, ignore_pauli_phase=False, copy=True)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/operators/symplectic/sparse_pauli_op.py "view source code") Bases: `LinearOp` diff --git a/docs/api/qiskit/qiskit.quantum_info.StabilizerState.md b/docs/api/qiskit/qiskit.quantum_info.StabilizerState.md index 3dc4e6471c..4e99caaf35 100644 --- a/docs/api/qiskit/qiskit.quantum_info.StabilizerState.md +++ b/docs/api/qiskit/qiskit.quantum_info.StabilizerState.md @@ -10,7 +10,7 @@ python_api_name: qiskit.quantum_info.StabilizerState -`qiskit.quantum_info.StabilizerState(data, validate=True)` +`qiskit.quantum_info.StabilizerState(data, validate=True)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/states/stabilizerstate.py "view source code") Bases: `QuantumState` diff --git a/docs/api/qiskit/qiskit.quantum_info.Statevector.md b/docs/api/qiskit/qiskit.quantum_info.Statevector.md index 4693fceeac..c7bfbaed81 100644 --- a/docs/api/qiskit/qiskit.quantum_info.Statevector.md +++ b/docs/api/qiskit/qiskit.quantum_info.Statevector.md @@ -10,7 +10,7 @@ python_api_name: qiskit.quantum_info.Statevector -`qiskit.quantum_info.Statevector(data, dims=None)` +`qiskit.quantum_info.Statevector(data, dims=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/states/statevector.py "view source code") Bases: `QuantumState`, `TolerancesMixin` diff --git a/docs/api/qiskit/qiskit.quantum_info.Stinespring.md b/docs/api/qiskit/qiskit.quantum_info.Stinespring.md index 4c0c985260..2a3b372d9e 100644 --- a/docs/api/qiskit/qiskit.quantum_info.Stinespring.md +++ b/docs/api/qiskit/qiskit.quantum_info.Stinespring.md @@ -10,7 +10,7 @@ python_api_name: qiskit.quantum_info.Stinespring -`qiskit.quantum_info.Stinespring(data, input_dims=None, output_dims=None)` +`qiskit.quantum_info.Stinespring(data, input_dims=None, output_dims=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/operators/channel/stinespring.py "view source code") Bases: `QuantumChannel` diff --git a/docs/api/qiskit/qiskit.quantum_info.SuperOp.md b/docs/api/qiskit/qiskit.quantum_info.SuperOp.md index 4fb80fffe3..dddd03b16c 100644 --- a/docs/api/qiskit/qiskit.quantum_info.SuperOp.md +++ b/docs/api/qiskit/qiskit.quantum_info.SuperOp.md @@ -10,7 +10,7 @@ python_api_name: qiskit.quantum_info.SuperOp -`qiskit.quantum_info.SuperOp(data, input_dims=None, output_dims=None)` +`qiskit.quantum_info.SuperOp(data, input_dims=None, output_dims=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/operators/channel/superop.py "view source code") Bases: `QuantumChannel` diff --git a/docs/api/qiskit/qiskit.quantum_info.TwoQubitBasisDecomposer.md b/docs/api/qiskit/qiskit.quantum_info.TwoQubitBasisDecomposer.md index 5a0ee2d034..1055f35b98 100644 --- a/docs/api/qiskit/qiskit.quantum_info.TwoQubitBasisDecomposer.md +++ b/docs/api/qiskit/qiskit.quantum_info.TwoQubitBasisDecomposer.md @@ -10,7 +10,7 @@ python_api_name: qiskit.quantum_info.TwoQubitBasisDecomposer -`qiskit.quantum_info.TwoQubitBasisDecomposer(gate, basis_fidelity=1.0, euler_basis='U', pulse_optimize=None)` +`qiskit.quantum_info.TwoQubitBasisDecomposer(gate, basis_fidelity=1.0, euler_basis='U', pulse_optimize=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/synthesis/two_qubit_decompose.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.quantum_info.XXDecomposer.md b/docs/api/qiskit/qiskit.quantum_info.XXDecomposer.md index af643082cf..ca50078df1 100644 --- a/docs/api/qiskit/qiskit.quantum_info.XXDecomposer.md +++ b/docs/api/qiskit/qiskit.quantum_info.XXDecomposer.md @@ -10,7 +10,7 @@ python_api_name: qiskit.quantum_info.XXDecomposer -`qiskit.quantum_info.XXDecomposer(basis_fidelity=1.0, euler_basis='U', embodiments=None, backup_optimizer=None)` +`qiskit.quantum_info.XXDecomposer(basis_fidelity=1.0, euler_basis='U', embodiments=None, backup_optimizer=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/synthesis/xx_decompose/decomposer.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.quantum_info.Z2Symmetries.md b/docs/api/qiskit/qiskit.quantum_info.Z2Symmetries.md index 7901da18f6..818f357954 100644 --- a/docs/api/qiskit/qiskit.quantum_info.Z2Symmetries.md +++ b/docs/api/qiskit/qiskit.quantum_info.Z2Symmetries.md @@ -10,7 +10,7 @@ python_api_name: qiskit.quantum_info.Z2Symmetries -`qiskit.quantum_info.Z2Symmetries(symmetries, sq_paulis, sq_list, tapering_values=None, *, tol=1e-14)` +`qiskit.quantum_info.Z2Symmetries(symmetries, sq_paulis, sq_list, tapering_values=None, *, tol=1e-14)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/analysis/z2_symmetries.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.quantum_info.pauli_basis.md b/docs/api/qiskit/qiskit.quantum_info.pauli_basis.md index cfcf6e5301..37e4b061a6 100644 --- a/docs/api/qiskit/qiskit.quantum_info.pauli_basis.md +++ b/docs/api/qiskit/qiskit.quantum_info.pauli_basis.md @@ -12,7 +12,7 @@ python_api_name: qiskit.quantum_info.pauli_basis -`qiskit.quantum_info.pauli_basis(num_qubits, weight=False)` +`qiskit.quantum_info.pauli_basis(num_qubits, weight=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/operators/symplectic/pauli_utils.py "view source code") Return the ordered PauliList for the n-qubit Pauli basis. diff --git a/docs/api/qiskit/qiskit.result.BaseReadoutMitigator.md b/docs/api/qiskit/qiskit.result.BaseReadoutMitigator.md index ea32bad76e..d4181a2fb6 100644 --- a/docs/api/qiskit/qiskit.result.BaseReadoutMitigator.md +++ b/docs/api/qiskit/qiskit.result.BaseReadoutMitigator.md @@ -10,7 +10,7 @@ python_api_name: qiskit.result.BaseReadoutMitigator -`qiskit.result.BaseReadoutMitigator` +`qiskit.result.BaseReadoutMitigator`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/result/mitigation/base_readout_mitigator.py "view source code") Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.result.CorrelatedReadoutMitigator.md b/docs/api/qiskit/qiskit.result.CorrelatedReadoutMitigator.md index 8ff61178ee..a901c387e7 100644 --- a/docs/api/qiskit/qiskit.result.CorrelatedReadoutMitigator.md +++ b/docs/api/qiskit/qiskit.result.CorrelatedReadoutMitigator.md @@ -10,7 +10,7 @@ python_api_name: qiskit.result.CorrelatedReadoutMitigator -`qiskit.result.CorrelatedReadoutMitigator(assignment_matrix, qubits=None)` +`qiskit.result.CorrelatedReadoutMitigator(assignment_matrix, qubits=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/result/mitigation/correlated_readout_mitigator.py "view source code") Bases: [`BaseReadoutMitigator`](qiskit.result.BaseReadoutMitigator "qiskit.result.mitigation.base_readout_mitigator.BaseReadoutMitigator") diff --git a/docs/api/qiskit/qiskit.result.Counts.md b/docs/api/qiskit/qiskit.result.Counts.md index 0650a7d24c..cbee1e5b79 100644 --- a/docs/api/qiskit/qiskit.result.Counts.md +++ b/docs/api/qiskit/qiskit.result.Counts.md @@ -10,7 +10,7 @@ python_api_name: qiskit.result.Counts -`qiskit.result.Counts(data, time_taken=None, creg_sizes=None, memory_slots=None)` +`qiskit.result.Counts(data, time_taken=None, creg_sizes=None, memory_slots=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/result/counts.py "view source code") Bases: [`dict`](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.result.LocalReadoutMitigator.md b/docs/api/qiskit/qiskit.result.LocalReadoutMitigator.md index 7ad2a4e530..6f302ac6b6 100644 --- a/docs/api/qiskit/qiskit.result.LocalReadoutMitigator.md +++ b/docs/api/qiskit/qiskit.result.LocalReadoutMitigator.md @@ -10,7 +10,7 @@ python_api_name: qiskit.result.LocalReadoutMitigator -`qiskit.result.LocalReadoutMitigator(assignment_matrices=None, qubits=None, backend=None)` +`qiskit.result.LocalReadoutMitigator(assignment_matrices=None, qubits=None, backend=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/result/mitigation/local_readout_mitigator.py "view source code") Bases: [`BaseReadoutMitigator`](qiskit.result.BaseReadoutMitigator "qiskit.result.mitigation.base_readout_mitigator.BaseReadoutMitigator") diff --git a/docs/api/qiskit/qiskit.result.ProbDistribution.md b/docs/api/qiskit/qiskit.result.ProbDistribution.md index 0dec87d2e7..929acfe462 100644 --- a/docs/api/qiskit/qiskit.result.ProbDistribution.md +++ b/docs/api/qiskit/qiskit.result.ProbDistribution.md @@ -10,7 +10,7 @@ python_api_name: qiskit.result.ProbDistribution -`qiskit.result.ProbDistribution(data, shots=None)` +`qiskit.result.ProbDistribution(data, shots=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/result/distributions/probability.py "view source code") Bases: [`dict`](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.result.QuasiDistribution.md b/docs/api/qiskit/qiskit.result.QuasiDistribution.md index 3550531e43..82f33fce58 100644 --- a/docs/api/qiskit/qiskit.result.QuasiDistribution.md +++ b/docs/api/qiskit/qiskit.result.QuasiDistribution.md @@ -10,7 +10,7 @@ python_api_name: qiskit.result.QuasiDistribution -`qiskit.result.QuasiDistribution(data, shots=None, stddev_upper_bound=None)` +`qiskit.result.QuasiDistribution(data, shots=None, stddev_upper_bound=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/result/distributions/quasi.py "view source code") Bases: [`dict`](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.result.Result.md b/docs/api/qiskit/qiskit.result.Result.md index 8ca2d0f4e2..645faf8b61 100644 --- a/docs/api/qiskit/qiskit.result.Result.md +++ b/docs/api/qiskit/qiskit.result.Result.md @@ -10,7 +10,7 @@ python_api_name: qiskit.result.Result -`qiskit.result.Result(backend_name, backend_version, qobj_id, job_id, success, results, date=None, status=None, header=None, **kwargs)` +`qiskit.result.Result(backend_name, backend_version, qobj_id, job_id, success, results, date=None, status=None, header=None, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/result/result.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.result.ResultError.md b/docs/api/qiskit/qiskit.result.ResultError.md index 2ecca733b8..8b3c6acd33 100644 --- a/docs/api/qiskit/qiskit.result.ResultError.md +++ b/docs/api/qiskit/qiskit.result.ResultError.md @@ -12,7 +12,7 @@ python_api_name: qiskit.result.ResultError -`qiskit.result.ResultError(error)` +`qiskit.result.ResultError(error)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/result/exceptions.py "view source code") Exceptions raised due to errors in result output. diff --git a/docs/api/qiskit/qiskit.synthesis.EvolutionSynthesis.md b/docs/api/qiskit/qiskit.synthesis.EvolutionSynthesis.md index 492e372046..16e1272dc3 100644 --- a/docs/api/qiskit/qiskit.synthesis.EvolutionSynthesis.md +++ b/docs/api/qiskit/qiskit.synthesis.EvolutionSynthesis.md @@ -10,7 +10,7 @@ python_api_name: qiskit.synthesis.EvolutionSynthesis -`qiskit.synthesis.EvolutionSynthesis` +`qiskit.synthesis.EvolutionSynthesis`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/synthesis/evolution/evolution_synthesis.py "view source code") Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.synthesis.LieTrotter.md b/docs/api/qiskit/qiskit.synthesis.LieTrotter.md index c1d1de4dec..e5f9cd934a 100644 --- a/docs/api/qiskit/qiskit.synthesis.LieTrotter.md +++ b/docs/api/qiskit/qiskit.synthesis.LieTrotter.md @@ -10,7 +10,7 @@ python_api_name: qiskit.synthesis.LieTrotter -`qiskit.synthesis.LieTrotter(reps=1, insert_barriers=False, cx_structure='chain', atomic_evolution=None)` +`qiskit.synthesis.LieTrotter(reps=1, insert_barriers=False, cx_structure='chain', atomic_evolution=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/synthesis/evolution/lie_trotter.py "view source code") Bases: [`ProductFormula`](qiskit.synthesis.ProductFormula "qiskit.synthesis.evolution.product_formula.ProductFormula") diff --git a/docs/api/qiskit/qiskit.synthesis.MatrixExponential.md b/docs/api/qiskit/qiskit.synthesis.MatrixExponential.md index 6d0a2218c3..27a627d5a2 100644 --- a/docs/api/qiskit/qiskit.synthesis.MatrixExponential.md +++ b/docs/api/qiskit/qiskit.synthesis.MatrixExponential.md @@ -10,7 +10,7 @@ python_api_name: qiskit.synthesis.MatrixExponential -`qiskit.synthesis.MatrixExponential` +`qiskit.synthesis.MatrixExponential`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/synthesis/evolution/matrix_synthesis.py "view source code") Bases: [`EvolutionSynthesis`](qiskit.synthesis.EvolutionSynthesis "qiskit.synthesis.evolution.evolution_synthesis.EvolutionSynthesis") diff --git a/docs/api/qiskit/qiskit.synthesis.ProductFormula.md b/docs/api/qiskit/qiskit.synthesis.ProductFormula.md index 963a5bae35..364747686b 100644 --- a/docs/api/qiskit/qiskit.synthesis.ProductFormula.md +++ b/docs/api/qiskit/qiskit.synthesis.ProductFormula.md @@ -10,7 +10,7 @@ python_api_name: qiskit.synthesis.ProductFormula -`qiskit.synthesis.ProductFormula(order, reps=1, insert_barriers=False, cx_structure='chain', atomic_evolution=None)` +`qiskit.synthesis.ProductFormula(order, reps=1, insert_barriers=False, cx_structure='chain', atomic_evolution=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/synthesis/evolution/product_formula.py "view source code") Bases: [`EvolutionSynthesis`](qiskit.synthesis.EvolutionSynthesis "qiskit.synthesis.evolution.evolution_synthesis.EvolutionSynthesis") diff --git a/docs/api/qiskit/qiskit.synthesis.QDrift.md b/docs/api/qiskit/qiskit.synthesis.QDrift.md index 0552ab2d11..bad44fe449 100644 --- a/docs/api/qiskit/qiskit.synthesis.QDrift.md +++ b/docs/api/qiskit/qiskit.synthesis.QDrift.md @@ -10,7 +10,7 @@ python_api_name: qiskit.synthesis.QDrift -`qiskit.synthesis.QDrift(reps=1, insert_barriers=False, cx_structure='chain', atomic_evolution=None, seed=None)` +`qiskit.synthesis.QDrift(reps=1, insert_barriers=False, cx_structure='chain', atomic_evolution=None, seed=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/synthesis/evolution/qdrift.py "view source code") Bases: [`ProductFormula`](qiskit.synthesis.ProductFormula "qiskit.synthesis.evolution.product_formula.ProductFormula") diff --git a/docs/api/qiskit/qiskit.synthesis.SolovayKitaevDecomposition.md b/docs/api/qiskit/qiskit.synthesis.SolovayKitaevDecomposition.md index cdbdabfc99..ba3b1b4d75 100644 --- a/docs/api/qiskit/qiskit.synthesis.SolovayKitaevDecomposition.md +++ b/docs/api/qiskit/qiskit.synthesis.SolovayKitaevDecomposition.md @@ -10,7 +10,7 @@ python_api_name: qiskit.synthesis.SolovayKitaevDecomposition -`qiskit.synthesis.SolovayKitaevDecomposition(basic_approximations=None)` +`qiskit.synthesis.SolovayKitaevDecomposition(basic_approximations=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/synthesis/discrete_basis/solovay_kitaev.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.synthesis.SuzukiTrotter.md b/docs/api/qiskit/qiskit.synthesis.SuzukiTrotter.md index fd9c376fba..d284322d7b 100644 --- a/docs/api/qiskit/qiskit.synthesis.SuzukiTrotter.md +++ b/docs/api/qiskit/qiskit.synthesis.SuzukiTrotter.md @@ -10,7 +10,7 @@ python_api_name: qiskit.synthesis.SuzukiTrotter -`qiskit.synthesis.SuzukiTrotter(order=2, reps=1, insert_barriers=False, cx_structure='chain', atomic_evolution=None)` +`qiskit.synthesis.SuzukiTrotter(order=2, reps=1, insert_barriers=False, cx_structure='chain', atomic_evolution=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/synthesis/evolution/suzuki_trotter.py "view source code") Bases: [`ProductFormula`](qiskit.synthesis.ProductFormula "qiskit.synthesis.evolution.product_formula.ProductFormula") diff --git a/docs/api/qiskit/qiskit.transpiler.AnalysisPass.md b/docs/api/qiskit/qiskit.transpiler.AnalysisPass.md index 727dd02bf8..eadff3bace 100644 --- a/docs/api/qiskit/qiskit.transpiler.AnalysisPass.md +++ b/docs/api/qiskit/qiskit.transpiler.AnalysisPass.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.AnalysisPass -`qiskit.transpiler.AnalysisPass(*args, **kwargs)` +`qiskit.transpiler.AnalysisPass(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/basepasses.py "view source code") Bases: `BasePass` diff --git a/docs/api/qiskit/qiskit.transpiler.CouplingMap.md b/docs/api/qiskit/qiskit.transpiler.CouplingMap.md index 2aef0e3267..6d44ef192c 100644 --- a/docs/api/qiskit/qiskit.transpiler.CouplingMap.md +++ b/docs/api/qiskit/qiskit.transpiler.CouplingMap.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.CouplingMap -`qiskit.transpiler.CouplingMap(couplinglist=None, description=None)` +`qiskit.transpiler.CouplingMap(couplinglist=None, description=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/coupling.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.transpiler.FencedDAGCircuit.md b/docs/api/qiskit/qiskit.transpiler.FencedDAGCircuit.md index a520419511..3955f48413 100644 --- a/docs/api/qiskit/qiskit.transpiler.FencedDAGCircuit.md +++ b/docs/api/qiskit/qiskit.transpiler.FencedDAGCircuit.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.FencedDAGCircuit -`qiskit.transpiler.FencedDAGCircuit(dag_circuit_instance)` +`qiskit.transpiler.FencedDAGCircuit(dag_circuit_instance)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/fencedobjs.py "view source code") Bases: `FencedObject` diff --git a/docs/api/qiskit/qiskit.transpiler.FencedPropertySet.md b/docs/api/qiskit/qiskit.transpiler.FencedPropertySet.md index eb02993cfa..81d6a218bc 100644 --- a/docs/api/qiskit/qiskit.transpiler.FencedPropertySet.md +++ b/docs/api/qiskit/qiskit.transpiler.FencedPropertySet.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.FencedPropertySet -`qiskit.transpiler.FencedPropertySet(property_set_instance)` +`qiskit.transpiler.FencedPropertySet(property_set_instance)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/fencedobjs.py "view source code") Bases: `FencedObject` diff --git a/docs/api/qiskit/qiskit.transpiler.InstructionDurations.md b/docs/api/qiskit/qiskit.transpiler.InstructionDurations.md index 1b2c6d4b01..f704bc6bac 100644 --- a/docs/api/qiskit/qiskit.transpiler.InstructionDurations.md +++ b/docs/api/qiskit/qiskit.transpiler.InstructionDurations.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.InstructionDurations -`qiskit.transpiler.InstructionDurations(instruction_durations=None, dt=None)` +`qiskit.transpiler.InstructionDurations(instruction_durations=None, dt=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/instruction_durations.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.transpiler.InstructionProperties.md b/docs/api/qiskit/qiskit.transpiler.InstructionProperties.md index c9585ca418..2510ec84c2 100644 --- a/docs/api/qiskit/qiskit.transpiler.InstructionProperties.md +++ b/docs/api/qiskit/qiskit.transpiler.InstructionProperties.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.InstructionProperties -`qiskit.transpiler.InstructionProperties(duration=None, error=None, calibration=None)` +`qiskit.transpiler.InstructionProperties(duration=None, error=None, calibration=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/target.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.transpiler.Layout.md b/docs/api/qiskit/qiskit.transpiler.Layout.md index 690b56c9ec..dd7a93c9f5 100644 --- a/docs/api/qiskit/qiskit.transpiler.Layout.md +++ b/docs/api/qiskit/qiskit.transpiler.Layout.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.Layout -`qiskit.transpiler.Layout(input_dict=None)` +`qiskit.transpiler.Layout(input_dict=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/layout.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.transpiler.PassManager.md b/docs/api/qiskit/qiskit.transpiler.PassManager.md index e62333bb02..6b76d1631e 100644 --- a/docs/api/qiskit/qiskit.transpiler.PassManager.md +++ b/docs/api/qiskit/qiskit.transpiler.PassManager.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.PassManager -`qiskit.transpiler.PassManager(passes=(), max_iteration=1000)` +`qiskit.transpiler.PassManager(passes=(), max_iteration=1000)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passmanager.py "view source code") Bases: [`BasePassManager`](qiskit.passmanager.BasePassManager "qiskit.passmanager.passmanager.BasePassManager") diff --git a/docs/api/qiskit/qiskit.transpiler.PassManagerConfig.md b/docs/api/qiskit/qiskit.transpiler.PassManagerConfig.md index 627a3e4df3..7ebbf67143 100644 --- a/docs/api/qiskit/qiskit.transpiler.PassManagerConfig.md +++ b/docs/api/qiskit/qiskit.transpiler.PassManagerConfig.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.PassManagerConfig -`qiskit.transpiler.PassManagerConfig(initial_layout=None, basis_gates=None, inst_map=None, coupling_map=None, layout_method=None, routing_method=None, translation_method=None, scheduling_method=None, instruction_durations=None, backend_properties=None, approximation_degree=None, seed_transpiler=None, timing_constraints=None, unitary_synthesis_method='default', unitary_synthesis_plugin_config=None, target=None, hls_config=None, init_method=None, optimization_method=None)` +`qiskit.transpiler.PassManagerConfig(initial_layout=None, basis_gates=None, inst_map=None, coupling_map=None, layout_method=None, routing_method=None, translation_method=None, scheduling_method=None, instruction_durations=None, backend_properties=None, approximation_degree=None, seed_transpiler=None, timing_constraints=None, unitary_synthesis_method='default', unitary_synthesis_plugin_config=None, target=None, hls_config=None, init_method=None, optimization_method=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passmanager_config.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.transpiler.StagedPassManager.md b/docs/api/qiskit/qiskit.transpiler.StagedPassManager.md index 1cf5c45f75..01539ef49f 100644 --- a/docs/api/qiskit/qiskit.transpiler.StagedPassManager.md +++ b/docs/api/qiskit/qiskit.transpiler.StagedPassManager.md @@ -10,22 +10,22 @@ python_api_name: qiskit.transpiler.StagedPassManager -`qiskit.transpiler.StagedPassManager(stages=None, **kwargs)` +`qiskit.transpiler.StagedPassManager(stages=None, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passmanager.py "view source code") Bases: [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.passmanager.PassManager") -A Pass manager pipeline built up of individual stages +A pass manager pipeline built from individual stages. This class enables building a compilation pipeline out of fixed stages. Each `StagedPassManager` defines a list of stages which are executed in a fixed order, and each stage is defined as a standalone [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") instance. There are also `pre_` and `post_` stages for each defined stage. This enables easily composing and replacing different stages and also adding hook points to enable programmatic modifications to a pipeline. When using a staged pass manager you are not able to modify the individual passes and are only able to modify stages. -By default instances of `StagedPassManager` define a typical full compilation pipeline from an abstract virtual circuit to one that is optimized and capable of running on the specified backend. The default pre-defined stages are: +By default, instances of `StagedPassManager` define a typical full compilation pipeline from an abstract virtual circuit to one that is optimized and capable of running on the specified backend. The default pre-defined stages are: -1. `init` - any initial passes that are run before we start embedding the circuit to the backend -2. `layout` - This stage runs layout and maps the virtual qubits in the circuit to the physical qubits on a backend -3. `routing` - This stage runs after a layout has been run and will insert any necessary gates to move the qubit states around until it can be run on backend’s coupling map. -4. `translation` - Perform the basis gate translation, in other words translate the gates in the circuit to the target backend’s basis set -5. `optimization` - The main optimization loop, this will typically run in a loop trying to optimize the circuit until a condition (such as fixed depth) is reached. -6. `scheduling` - Any hardware aware scheduling passes +1. `init` - Initial passes to run before embedding the circuit to the backend. +2. `layout` - Maps the virtual qubits in the circuit to the physical qubits on the backend. +3. `routing` - Inserts gates as needed to move the qubit states around until the circuit can be run with the chosen layout on the backend’s coupling map. +4. `translation` - Translates the gates in the circuit to the target backend’s basis gate set. +5. `optimization` - Optimizes the circuit to reduce the cost of executing it. These passes will typically run in a loop until a convergence criteria is met. For example, the convergence criteria might be that the circuit depth does not decrease in successive iterations. +6. `scheduling` - Hardware-aware passes that schedule the operations in the circuit. For backwards compatibility the relative positioning of these default stages will remain stable moving forward. However, new stages may be added to the default stage list in between current stages. For example, in a future release a new phase, something like `logical_optimization`, could be added immediately after the existing `init` stage in the default stage list. This would preserve compatibility for pre-existing `StagedPassManager` users as the relative positions of the stage are preserved so the behavior will not change between releases. diff --git a/docs/api/qiskit/qiskit.transpiler.Target.md b/docs/api/qiskit/qiskit.transpiler.Target.md index ec3616764b..efba322d4e 100644 --- a/docs/api/qiskit/qiskit.transpiler.Target.md +++ b/docs/api/qiskit/qiskit.transpiler.Target.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.Target -`qiskit.transpiler.Target(description=None, num_qubits=0, dt=None, granularity=1, min_length=1, pulse_alignment=1, acquire_alignment=1, qubit_properties=None, concurrent_measurements=None)` +`qiskit.transpiler.Target(description=None, num_qubits=0, dt=None, granularity=1, min_length=1, pulse_alignment=1, acquire_alignment=1, qubit_properties=None, concurrent_measurements=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/target.py "view source code") Bases: [`Mapping`](https://docs.python.org/3/library/collections.abc.html#collections.abc.Mapping "(in Python v3.12)") @@ -39,7 +39,7 @@ cx_props = { gmap.add_instruction(CXGate(), cx_props) ``` -Each instruction in the Target is indexed by a unique string name that uniquely identifies that instance of an [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") object in the Target. There is a 1:1 mapping between a name and an [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") instance in the target and each name must be unique. By default the name is the [`name`](qiskit.circuit.Instruction#name "qiskit.circuit.Instruction.name") attribute of the instruction, but can be set to anything. This lets a single target have multiple instances of the same instruction class with different parameters. For example, if a backend target has two instances of an [`RXGate`](qiskit.circuit.library.RXGate "qiskit.circuit.library.RXGate") one is parameterized over any theta while the other is tuned up for a theta of pi/6 you can add these by doing something like: +Each instruction in the `Target` is indexed by a unique string name that uniquely identifies that instance of an [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") object in the Target. There is a 1:1 mapping between a name and an [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") instance in the target and each name must be unique. By default, the name is the [`name`](qiskit.circuit.Instruction#name "qiskit.circuit.Instruction.name") attribute of the instruction, but can be set to anything. This lets a single target have multiple instances of the same instruction class with different parameters. For example, if a backend target has two instances of an [`RXGate`](qiskit.circuit.library.RXGate "qiskit.circuit.library.RXGate") one is parameterized over any theta while the other is tuned up for a theta of pi/6 you can add these by doing something like: ```python import math @@ -70,7 +70,7 @@ Then in the `target` object accessing by `rx_30` will get the fixed angle [`RXGa This class only supports additions of gates, qargs, and qubits. If you need to remove one of these the best option is to iterate over an existing object and create a new subset (or use one of the methods to do this). The object internally caches different views and these would potentially be invalidated by removals. -Create a new Target object +Create a new `Target` object `qiskit.transpiler.target.Target.__init__()`’s argument `aquire_alignment` is deprecated as of qiskit-terra 0.23.0. It will be removed no earlier than 3 months after the release date. Instead, use the argument `acquire_alignment`, which behaves identically. @@ -86,10 +86,11 @@ Create a new Target object * **pulse\_alignment** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – An integer value representing a time resolution of gate instruction starting time. Gate instruction should start at time which is a multiple of the alignment value. * **acquire\_alignment** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – An integer value representing a time resolution of measure instruction starting time. Measure instruction should start at time which is a multiple of the alignment value. * **qubit\_properties** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")) – A list of [`QubitProperties`](qiskit.providers.QubitProperties "qiskit.providers.QubitProperties") objects defining the characteristics of each qubit on the target device. If specified the length of this list must match the number of qubits in the target, where the index in the list matches the qubit number the properties are defined for. If some qubits don’t have properties available you can set that entry to `None` -* **concurrent\_measurements** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")) – A list of sets of qubits that must be measured together. This must be provided as a nested list like \[\[0, 1], \[2, 3, 4]]. -* **ValueError** – If both `num_qubits` and `qubit_properties` are both -* **of** (*defined and the value of num\_qubits differs from the length*) – -* **qubit\_properties.** – +* **concurrent\_measurements** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")) – A list of sets of qubits that must be measured together. This must be provided as a nested list like `[[0, 1], [2, 3, 4]]`. + +**Raises** + +[**ValueError**](https://docs.python.org/3/library/exceptions.html#ValueError "(in Python v3.12)") – If both `num_qubits` and `qubit_properties` are both defined and the value of `num_qubits` differs from the length of `qubit_properties`. ## Attributes @@ -181,7 +182,7 @@ The set of qargs in the target. Add a new instruction to the [`Target`](#qiskit.transpiler.Target "qiskit.transpiler.Target") -As `Target` objects are strictly additive this is the primary method for modifying a `Target`. Typically you will use this to fully populate a `Target` before using it in [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2"). For example: +As `Target` objects are strictly additive this is the primary method for modifying a `Target`. Typically, you will use this to fully populate a `Target` before using it in [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2"). For example: ```python from qiskit.circuit.library import CXGate @@ -205,9 +206,9 @@ Will add a [`CXGate`](qiskit.circuit.library.CXGate "qiskit.circuit.library.CXGa **Parameters** -* **instruction** ([*qiskit.circuit.Instruction*](qiskit.circuit.Instruction "qiskit.circuit.Instruction")) – The operation object to add to the map. If it’s paramerterized any value of the parameter can be set. Optionally for variable width instructions (such as control flow operations such as `ForLoop` or `MCXGate`) you can specify the class. If the class is specified than the `name` argument must be specified. When a class is used the gate is treated as global and not having any properties set. -* **properties** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)")) – A dictionary of qarg entries to an [`InstructionProperties`](qiskit.transpiler.InstructionProperties "qiskit.transpiler.InstructionProperties") object for that instruction implementation on the backend. Properties are optional for any instruction implementation, if there are no [`InstructionProperties`](qiskit.transpiler.InstructionProperties "qiskit.transpiler.InstructionProperties") available for the backend the value can be None. If there are no constraints on the instruction (as in a noisless/ideal simulation) this can be set to `{None, None}` which will indicate it runs on all qubits (or all available permutations of qubits for multi-qubit gates). The first `None` indicates it applies to all qubits and the second `None` indicates there are no [`InstructionProperties`](qiskit.transpiler.InstructionProperties "qiskit.transpiler.InstructionProperties") for the instruction. By default, if properties is not set it is equivalent to passing `{None: None}`. -* **name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – An optional name to use for identifying the instruction. If not specified the [`name`](qiskit.circuit.Instruction#name "qiskit.circuit.Instruction.name") attribute of `gate` will be used. All gates in the `Target` need unique names. Backends can differentiate between different parameterizations of a single gate by providing a unique name for each (e.g. “rx30”, “rx60”, \`”rx90”\`\` similar to the example in the documentation for the [`Target`](#qiskit.transpiler.Target "qiskit.transpiler.Target") class). +* **instruction** ([*qiskit.circuit.Instruction*](qiskit.circuit.Instruction "qiskit.circuit.Instruction")) – The operation object to add to the map. If it’s parameterized any value of the parameter can be set. Optionally for variable width instructions (such as control flow operations such as `ForLoop` or `MCXGate`) you can specify the class. If the class is specified than the `name` argument must be specified. When a class is used the gate is treated as global and not having any properties set. +* **properties** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)")) – A dictionary of qarg entries to an [`InstructionProperties`](qiskit.transpiler.InstructionProperties "qiskit.transpiler.InstructionProperties") object for that instruction implementation on the backend. Properties are optional for any instruction implementation, if there are no [`InstructionProperties`](qiskit.transpiler.InstructionProperties "qiskit.transpiler.InstructionProperties") available for the backend the value can be None. If there are no constraints on the instruction (as in a noiseless/ideal simulation) this can be set to `{None, None}` which will indicate it runs on all qubits (or all available permutations of qubits for multi-qubit gates). The first `None` indicates it applies to all qubits and the second `None` indicates there are no [`InstructionProperties`](qiskit.transpiler.InstructionProperties "qiskit.transpiler.InstructionProperties") for the instruction. By default, if properties is not set it is equivalent to passing `{None: None}`. +* **name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – An optional name to use for identifying the instruction. If not specified the [`name`](qiskit.circuit.Instruction#name "qiskit.circuit.Instruction.name") attribute of `gate` will be used. All gates in the `Target` need unique names. Backends can differentiate between different parameterization of a single gate by providing a unique name for each (e.g. “rx30”, “rx60”, \`”rx90”\`\` similar to the example in the documentation for the [`Target`](#qiskit.transpiler.Target "qiskit.transpiler.Target") class). **Raises** @@ -226,8 +227,8 @@ If there is a mix of two qubit operations that have a connectivity constraint an **Parameters** -* **two\_q\_gate** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – An optional gate name for a two qubit gate in the Target to generate the coupling map for. If specified the output coupling map will only have edges between qubits where this gate is present. -* **filter\_idle\_qubits** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – If set to `True` the output [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap") will remove any qubits that don’t have any operations defined in the target. Note that using this argument will result in an output [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap") object which has holes in its indices which might differ from the assumptions of the class. The typical use case of this argument is to be paired with with [`CouplingMap.connected_components()`](qiskit.transpiler.CouplingMap#connected_components "qiskit.transpiler.CouplingMap.connected_components") which will handle the holes as expected. +* **two\_q\_gate** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – An optional gate name for a two qubit gate in the `Target` to generate the coupling map for. If specified the output coupling map will only have edges between qubits where this gate is present. +* **filter\_idle\_qubits** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – If set to `True` the output [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap") will remove any qubits that don’t have any operations defined in the target. Note that using this argument will result in an output [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap") object which has holes in its indices which might differ from the assumptions of the class. The typical use case of this argument is to be paired with [`CouplingMap.connected_components()`](qiskit.transpiler.CouplingMap#connected_components "qiskit.transpiler.CouplingMap.connected_components") which will handle the holes as expected. **Returns** @@ -242,7 +243,7 @@ for this target. If there are no connectivity constraints in the target this wil **Raises** * [**ValueError**](https://docs.python.org/3/library/exceptions.html#ValueError "(in Python v3.12)") – If a non-two qubit gate is passed in for `two_q_gate`. -* [**IndexError**](https://docs.python.org/3/library/exceptions.html#IndexError "(in Python v3.12)") – If an Instruction not in the Target is passed in for `two_q_gate`. +* [**IndexError**](https://docs.python.org/3/library/exceptions.html#IndexError "(in Python v3.12)") – If an Instruction not in the `Target` is passed in for `two_q_gate`. ### durations @@ -276,16 +277,16 @@ This constructor will use the input from `basis_gates`, `num_qubits`, and `coupl **Parameters** -* **basis\_gates** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")*]*) – The list of basis gate names for the backend. For the target to be created these names must either be in the output from :func:\~.get\_standard\_gate\_name\_mapping\` or present in the specified `custom_name_mapping` argument. +* **basis\_gates** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")*]*) – The list of basis gate names for the backend. For the target to be created these names must either be in the output from `get_standard_gate_name_mapping()` or present in the specified `custom_name_mapping` argument. * **num\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *| None*) – The number of qubits supported on the backend. * **coupling\_map** ([*CouplingMap*](qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap") *| None*) – The coupling map representing connectivity constraints on the backend. If specified all gates from `basis_gates` will be supported on all qubits (or pairs of qubits). -* **inst\_map** ([*InstructionScheduleMap*](qiskit.pulse.InstructionScheduleMap "qiskit.pulse.InstructionScheduleMap") *| None*) – The instruction schedule map representing the pulse [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") definitions for each instruction. If this is specified `coupling_map` must be specified. The `coupling_map` is used as the source of truth for connectivity and if `inst_map` is used the schedule is looked up based on the instuctions from the pair of `basis_gates` and `coupling_map`. If you want to define a custom gate for a particular qubit or qubit pair, you can manually build [`Target`](#qiskit.transpiler.Target "qiskit.transpiler.Target"). +* **inst\_map** ([*InstructionScheduleMap*](qiskit.pulse.InstructionScheduleMap "qiskit.pulse.InstructionScheduleMap") *| None*) – The instruction schedule map representing the pulse [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") definitions for each instruction. If this is specified `coupling_map` must be specified. The `coupling_map` is used as the source of truth for connectivity and if `inst_map` is used the schedule is looked up based on the instructions from the pair of `basis_gates` and `coupling_map`. If you want to define a custom gate for a particular qubit or qubit pair, you can manually build [`Target`](#qiskit.transpiler.Target "qiskit.transpiler.Target"). * **backend\_properties** ([*BackendProperties*](qiskit.providers.models.BackendProperties "qiskit.providers.models.BackendProperties") *| None*) – The [`BackendProperties`](qiskit.providers.models.BackendProperties "qiskit.providers.models.BackendProperties") object which is used for instruction properties and qubit properties. If specified and instruction properties are intended to be used then the `coupling_map` argument must be specified. This is only used to lookup error rates and durations (unless `instruction_durations` is specified which would take precedence) for instructions specified via `coupling_map` and `basis_gates`. * **instruction\_durations** ([*InstructionDurations*](qiskit.transpiler.InstructionDurations "qiskit.transpiler.InstructionDurations") *| None*) – Optional instruction durations for instructions. If specified it will take priority for setting the `duration` field in the [`InstructionProperties`](qiskit.transpiler.InstructionProperties "qiskit.transpiler.InstructionProperties") objects for the instructions in the target. -* **concurrent\_measurements** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")) – A list of sets of qubits that must be measured together. This must be provided as a nested list like \[\[0, 1], \[2, 3, 4]]. +* **concurrent\_measurements** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")) – A list of sets of qubits that must be measured together. This must be provided as a nested list like `[[0, 1], [2, 3, 4]]`. * **dt** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)") *| None*) – The system time resolution of input signals in seconds * **timing\_constraints** (*TimingConstraints | None*) – Optional timing constraints to include in the [`Target`](#qiskit.transpiler.Target "qiskit.transpiler.Target") -* **custom\_name\_mapping** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)")*\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")*, Any] | None*) – An optional dictionary that maps custom gate/operation names in `basis_gates` to an [`Operation`](qiskit.circuit.Operation "qiskit.circuit.Operation") object representing that gate/operation. By default most standard gates names are mapped to the standard gate object from [`qiskit.circuit.library`](circuit_library#module-qiskit.circuit.library "qiskit.circuit.library") this only needs to be specified if the input `basis_gates` defines gates in names outside that set. +* **custom\_name\_mapping** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)")*\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")*, Any] | None*) – An optional dictionary that maps custom gate/operation names in `basis_gates` to an [`Operation`](qiskit.circuit.Operation "qiskit.circuit.Operation") object representing that gate/operation. By default, most standard gates names are mapped to the standard gate object from [`qiskit.circuit.library`](circuit_library#module-qiskit.circuit.library "qiskit.circuit.library") this only needs to be specified if the input `basis_gates` defines gates in names outside that set. **Returns** @@ -340,11 +341,11 @@ Calibrated pulse schedule of corresponding instruction. Return the non-global operation names for the target -The non-global operations are those in the target which don’t apply on all qubits (for single qubit operations) or all multiqubit qargs (for multi-qubit operations). +The non-global operations are those in the target which don’t apply on all qubits (for single qubit operations) or all multi-qubit qargs (for multi-qubit operations). **Parameters** -**strict\_direction** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – If set to `True` the multi-qubit operations considered as non-global respect the strict direction (or order of qubits in the qargs is signifcant). For example, if `cx` is defined on `(0, 1)` and `ecr` is defined over `(1, 0)` by default neither would be considered non-global, but if `strict_direction` is set `True` both `cx` and `ecr` would be returned. +**strict\_direction** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – If set to `True` the multi-qubit operations considered as non-global respect the strict direction (or order of qubits in the qargs is significant). For example, if `cx` is defined on `(0, 1)` and `ecr` is defined over `(1, 0)` by default neither would be considered non-global, but if `strict_direction` is set `True` both `cx` and `ecr` would be returned. **Returns** @@ -445,7 +446,7 @@ Return whether the instruction (operation + qubits) is supported by the target * **qargs** ([*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")) – The tuple of qubit indices for the instruction. If this is not specified then this method will return `True` if the specified operation is supported on any qubits. The typical application will always have this set (otherwise it’s the same as just checking if the target contains the operation). Normally you would not set this argument if you wanted to check more generally that the target supports an operation with the `parameters` on any qubits. -* **operation\_class** ([*Type*](circuit_classical#qiskit.circuit.classical.types.Type "qiskit.circuit.classical.types.Type")*\[*[*qiskit.circuit.Instruction*](qiskit.circuit.Instruction "qiskit.circuit.Instruction")*]*) – The operation class to check whether the target supports a particular operation by class rather than by name. This lookup is more expensive as it needs to iterate over all operations in the target instead of just a single lookup. If this is specified it will supersede the `operation_name` argument. The typical use case for this operation is to check whether a specific variant of an operation is supported on the backend. For example, if you wanted to check whether a [`RXGate`](qiskit.circuit.library.RXGate "qiskit.circuit.library.RXGate") was supported on a specific qubit with a fixed angle. That fixed angle variant will typically have a name different than the object’s [`name`](qiskit.circuit.Instruction#name "qiskit.circuit.Instruction.name") attribute (`"rx"`) in the target. This can be used to check if any instances of the class are available in such a case. +* **operation\_class** ([*Type*](circuit_classical#qiskit.circuit.classical.types.Type "qiskit.circuit.classical.types.Type")*\[*[*qiskit.circuit.Instruction*](qiskit.circuit.Instruction "qiskit.circuit.Instruction")*]*) – The operation class to check whether the target supports a particular operation by class rather than by name. This lookup is more expensive as it needs to iterate over all operations in the target instead of just a single lookup. If this is specified it will supersede the `operation_name` argument. The typical use case for this operation is to check whether a specific variant of an operation is supported on the backend. For example, if you wanted to check whether a [`RXGate`](qiskit.circuit.library.RXGate "qiskit.circuit.library.RXGate") was supported on a specific qubit with a fixed angle. That fixed angle variant will typically have a name different from the object’s [`name`](qiskit.circuit.Instruction#name "qiskit.circuit.Instruction.name") attribute (`"rx"`) in the target. This can be used to check if any instances of the class are available in such a case. * **parameters** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")) – @@ -456,7 +457,7 @@ Return whether the instruction (operation + qubits) is supported by the target target.instruction_supported("rx", (0,), parameters=parameters) ``` - will return `True` if an [`RXGate`](qiskit.circuit.library.RXGate "qiskit.circuit.library.RXGate") is suporrted on qubit 0 that will accept any parameter. If you need to check for a fixed numeric value parameter this argument is typically paired with the `operation_class` argument. For example: + will return `True` if an [`RXGate`](qiskit.circuit.library.RXGate "qiskit.circuit.library.RXGate") is supported on qubit 0 that will accept any parameter. If you need to check for a fixed numeric value parameter this argument is typically paired with the `operation_class` argument. For example: ```python target.instruction_supported("rx", (0,), RXGate, parameters=[pi / 4]) @@ -514,11 +515,11 @@ Get the operation names for a specified qargs tuple **Parameters** -**qargs** ([*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")) – A qargs tuple of the qubits to get the gates that apply to it. For example, `(0,)` will return the set of all instructions that apply to qubit 0. If set to `None` this will return the names for any globally defined operations in the target. +**qargs** ([*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")) – A `qargs` tuple of the qubits to get the gates that apply to it. For example, `(0,)` will return the set of all instructions that apply to qubit 0. If set to `None` this will return the names for any globally defined operations in the target. **Returns** -The set of operation names that apply to the specified qargs\`. +The set of operation names that apply to the specified `qargs`. **Return type** @@ -526,7 +527,7 @@ The set of operation names that apply to the specified qargs\`. **Raises** -[**KeyError**](https://docs.python.org/3/library/exceptions.html#KeyError "(in Python v3.12)") – If qargs is not in target +[**KeyError**](https://docs.python.org/3/library/exceptions.html#KeyError "(in Python v3.12)") – If `qargs` is not in target ### operations\_for\_qargs @@ -582,7 +583,7 @@ Get an `TimingConstraints` object from the target **Returns** -The timing constraints represented in the Target +The timing constraints represented in the `Target` **Return type** diff --git a/docs/api/qiskit/qiskit.transpiler.TransformationPass.md b/docs/api/qiskit/qiskit.transpiler.TransformationPass.md index d78c2f7718..c816ce6995 100644 --- a/docs/api/qiskit/qiskit.transpiler.TransformationPass.md +++ b/docs/api/qiskit/qiskit.transpiler.TransformationPass.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.TransformationPass -`qiskit.transpiler.TransformationPass(*args, **kwargs)` +`qiskit.transpiler.TransformationPass(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/basepasses.py "view source code") Bases: `BasePass` diff --git a/docs/api/qiskit/qiskit.transpiler.TranspileLayout.md b/docs/api/qiskit/qiskit.transpiler.TranspileLayout.md index e62c4dfd0b..8bb078b4da 100644 --- a/docs/api/qiskit/qiskit.transpiler.TranspileLayout.md +++ b/docs/api/qiskit/qiskit.transpiler.TranspileLayout.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.TranspileLayout -`qiskit.transpiler.TranspileLayout(initial_layout, input_qubit_mapping, final_layout=None, _input_qubit_count=None, _output_qubit_list=None)` +`qiskit.transpiler.TranspileLayout(initial_layout, input_qubit_mapping, final_layout=None, _input_qubit_count=None, _output_qubit_list=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/layout.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.ALAPSchedule.md b/docs/api/qiskit/qiskit.transpiler.passes.ALAPSchedule.md index be4d84e9d2..98575e60fe 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.ALAPSchedule.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.ALAPSchedule.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.ALAPSchedule -`qiskit.transpiler.passes.ALAPSchedule(*args, **kwargs)` +`qiskit.transpiler.passes.ALAPSchedule(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/scheduling/alap.py "view source code") Bases: `BaseSchedulerTransform` diff --git a/docs/api/qiskit/qiskit.transpiler.passes.ALAPScheduleAnalysis.md b/docs/api/qiskit/qiskit.transpiler.passes.ALAPScheduleAnalysis.md index b92235ddd1..2f3b31ff56 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.ALAPScheduleAnalysis.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.ALAPScheduleAnalysis.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.ALAPScheduleAnalysis -`qiskit.transpiler.passes.ALAPScheduleAnalysis(*args, **kwargs)` +`qiskit.transpiler.passes.ALAPScheduleAnalysis(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/scheduling/scheduling/alap.py "view source code") Bases: `BaseScheduler` diff --git a/docs/api/qiskit/qiskit.transpiler.passes.ASAPSchedule.md b/docs/api/qiskit/qiskit.transpiler.passes.ASAPSchedule.md index 002ad350fa..b348f7fbbb 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.ASAPSchedule.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.ASAPSchedule.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.ASAPSchedule -`qiskit.transpiler.passes.ASAPSchedule(*args, **kwargs)` +`qiskit.transpiler.passes.ASAPSchedule(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/scheduling/asap.py "view source code") Bases: `BaseSchedulerTransform` diff --git a/docs/api/qiskit/qiskit.transpiler.passes.ASAPScheduleAnalysis.md b/docs/api/qiskit/qiskit.transpiler.passes.ASAPScheduleAnalysis.md index e160e4347d..6447e0ec5b 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.ASAPScheduleAnalysis.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.ASAPScheduleAnalysis.md @@ -10,11 +10,11 @@ python_api_name: qiskit.transpiler.passes.ASAPScheduleAnalysis -`qiskit.transpiler.passes.ASAPScheduleAnalysis(*args, **kwargs)` +`qiskit.transpiler.passes.ASAPScheduleAnalysis(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/scheduling/scheduling/asap.py "view source code") Bases: `BaseScheduler` -ASAP Scheduling pass, which schedules the start time of instructions as early as possible.. +ASAP Scheduling pass, which schedules the start time of instructions as early as possible. See the [Scheduling Stage](transpiler#scheduling-stage) section in the [`qiskit.transpiler`](transpiler#module-qiskit.transpiler "qiskit.transpiler") module documentation for the detailed behavior of the control flow operation, i.e. `c_if`. diff --git a/docs/api/qiskit/qiskit.transpiler.passes.AlignMeasures.md b/docs/api/qiskit/qiskit.transpiler.passes.AlignMeasures.md index 0bcd7d24c2..dff9bb745c 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.AlignMeasures.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.AlignMeasures.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.AlignMeasures -`qiskit.transpiler.passes.AlignMeasures(*args, **kwargs)` +`qiskit.transpiler.passes.AlignMeasures(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/scheduling/alignments/align_measures.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.ApplyLayout.md b/docs/api/qiskit/qiskit.transpiler.passes.ApplyLayout.md index d01faebc55..d320ee6e8b 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.ApplyLayout.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.ApplyLayout.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.ApplyLayout -`qiskit.transpiler.passes.ApplyLayout(*args, **kwargs)` +`qiskit.transpiler.passes.ApplyLayout(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/layout/apply_layout.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") @@ -80,7 +80,7 @@ Name of the pass. `run(dag)` -Run the ApplyLayout pass on dag. +Run the ApplyLayout pass on `dag`. **Parameters** @@ -96,7 +96,7 @@ A mapped DAG (with physical qubits). **Raises** -[**TranspilerError**](transpiler#qiskit.transpiler.TranspilerError "qiskit.transpiler.TranspilerError") – if no layout is found in property\_set or no full physical qubits. +[**TranspilerError**](transpiler#qiskit.transpiler.TranspilerError "qiskit.transpiler.TranspilerError") – if no layout is found in `property_set` or no full physical qubits. ### update\_status diff --git a/docs/api/qiskit/qiskit.transpiler.passes.BarrierBeforeFinalMeasurements.md b/docs/api/qiskit/qiskit.transpiler.passes.BarrierBeforeFinalMeasurements.md index af0e65c7ca..22cd1c709f 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.BarrierBeforeFinalMeasurements.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.BarrierBeforeFinalMeasurements.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.BarrierBeforeFinalMeasurements -`qiskit.transpiler.passes.BarrierBeforeFinalMeasurements(*args, **kwargs)` +`qiskit.transpiler.passes.BarrierBeforeFinalMeasurements(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/utils/barrier_before_final_measurements.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.BasicSwap.md b/docs/api/qiskit/qiskit.transpiler.passes.BasicSwap.md index c69d4fe924..67e8e6e068 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.BasicSwap.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.BasicSwap.md @@ -10,11 +10,11 @@ python_api_name: qiskit.transpiler.passes.BasicSwap -`qiskit.transpiler.passes.BasicSwap(*args, **kwargs)` +`qiskit.transpiler.passes.BasicSwap(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/routing/basic_swap.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") -Map (with minimum effort) a DAGCircuit onto a coupling\_map adding swap gates. +Map (with minimum effort) a DAGCircuit onto a `coupling_map` adding swap gates. The basic mapper is a minimum effort to insert swap gates to map the DAG onto a coupling map. When a cx is not in the coupling map possibilities, it inserts one or more swaps in front to make it compatible. @@ -23,7 +23,7 @@ BasicSwap initializer. **Parameters** * **coupling\_map** (*Union\[*[*CouplingMap*](qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap")*,* [*Target*](qiskit.transpiler.Target "qiskit.transpiler.Target")*]*) – Directed graph represented a coupling map. -* **fake\_run** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – if true, it only pretend to do routing, i.e., no swap is effectively added. +* **fake\_run** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – if true, it will only pretend to do routing, i.e., no swap is effectively added. ## Attributes diff --git a/docs/api/qiskit/qiskit.transpiler.passes.BasisTranslator.md b/docs/api/qiskit/qiskit.transpiler.passes.BasisTranslator.md index 13b8a0386a..722ded5488 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.BasisTranslator.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.BasisTranslator.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.BasisTranslator -`qiskit.transpiler.passes.BasisTranslator(*args, **kwargs)` +`qiskit.transpiler.passes.BasisTranslator(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/basis/basis_translator.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.CSPLayout.md b/docs/api/qiskit/qiskit.transpiler.passes.CSPLayout.md index 93d6a94fd0..063f1891b1 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.CSPLayout.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.CSPLayout.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.CSPLayout -`qiskit.transpiler.passes.CSPLayout(*args, **kwargs)` +`qiskit.transpiler.passes.CSPLayout(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/layout/csp_layout.py "view source code") Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.CXCancellation.md b/docs/api/qiskit/qiskit.transpiler.passes.CXCancellation.md index 50167edd64..0cf88adf3c 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.CXCancellation.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.CXCancellation.md @@ -10,11 +10,11 @@ python_api_name: qiskit.transpiler.passes.CXCancellation -`qiskit.transpiler.passes.CXCancellation(*args, **kwargs)` +`qiskit.transpiler.passes.CXCancellation(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/optimization/cx_cancellation.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") -Cancel back-to-back cx gates in dag. +Cancel back-to-back `cx` gates in dag. ## Attributes diff --git a/docs/api/qiskit/qiskit.transpiler.passes.CheckGateDirection.md b/docs/api/qiskit/qiskit.transpiler.passes.CheckGateDirection.md index d259a0ba17..1fbf535abf 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.CheckGateDirection.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.CheckGateDirection.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.CheckGateDirection -`qiskit.transpiler.passes.CheckGateDirection(*args, **kwargs)` +`qiskit.transpiler.passes.CheckGateDirection(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/utils/check_gate_direction.py "view source code") Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.CheckMap.md b/docs/api/qiskit/qiskit.transpiler.passes.CheckMap.md index 4c7c083061..f143891086 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.CheckMap.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.CheckMap.md @@ -10,13 +10,13 @@ python_api_name: qiskit.transpiler.passes.CheckMap -`qiskit.transpiler.passes.CheckMap(*args, **kwargs)` +`qiskit.transpiler.passes.CheckMap(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/utils/check_map.py "view source code") Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Check if a DAG circuit is already mapped to a coupling map. -Check if a DAGCircuit is mapped to coupling\_map by checking that all 2-qubit interactions are laid out to be on adjacent qubits in the global coupling map of the device, setting the property set field (either specified with `property_set_field` or the default `is_swap_mapped`) to `True` or `False` accordingly. Note this does not validate directionality of the connectivity between qubits. If you need to check gates are implemented in a native direction for a target use the [`CheckGateDirection`](qiskit.transpiler.passes.CheckGateDirection "qiskit.transpiler.passes.CheckGateDirection") pass instead. +Check if a DAGCircuit is mapped to `coupling_map` by checking that all 2-qubit interactions are laid out to be on adjacent qubits in the global coupling map of the device, setting the property set field (either specified with `property_set_field` or the default `is_swap_mapped`) to `True` or `False` accordingly. Note this does not validate directionality of the connectivity between qubits. If you need to check gates are implemented in a native direction for a target use the [`CheckGateDirection`](qiskit.transpiler.passes.CheckGateDirection "qiskit.transpiler.passes.CheckGateDirection") pass instead. CheckMap initializer. diff --git a/docs/api/qiskit/qiskit.transpiler.passes.Collect1qRuns.md b/docs/api/qiskit/qiskit.transpiler.passes.Collect1qRuns.md index c0fa39b995..cf789b0327 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.Collect1qRuns.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.Collect1qRuns.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.Collect1qRuns -`qiskit.transpiler.passes.Collect1qRuns(*args, **kwargs)` +`qiskit.transpiler.passes.Collect1qRuns(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/optimization/collect_1q_runs.py "view source code") Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.Collect2qBlocks.md b/docs/api/qiskit/qiskit.transpiler.passes.Collect2qBlocks.md index d562674889..efecf531ec 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.Collect2qBlocks.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.Collect2qBlocks.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.Collect2qBlocks -`qiskit.transpiler.passes.Collect2qBlocks(*args, **kwargs)` +`qiskit.transpiler.passes.Collect2qBlocks(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/optimization/collect_2q_blocks.py "view source code") Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.CollectCliffords.md b/docs/api/qiskit/qiskit.transpiler.passes.CollectCliffords.md index 49e7f1eb86..0203ca681d 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.CollectCliffords.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.CollectCliffords.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.CollectCliffords -`qiskit.transpiler.passes.CollectCliffords(*args, **kwargs)` +`qiskit.transpiler.passes.CollectCliffords(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/optimization/collect_cliffords.py "view source code") Bases: `CollectAndCollapse` diff --git a/docs/api/qiskit/qiskit.transpiler.passes.CollectLinearFunctions.md b/docs/api/qiskit/qiskit.transpiler.passes.CollectLinearFunctions.md index cb2549b639..0e700255c1 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.CollectLinearFunctions.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.CollectLinearFunctions.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.CollectLinearFunctions -`qiskit.transpiler.passes.CollectLinearFunctions(*args, **kwargs)` +`qiskit.transpiler.passes.CollectLinearFunctions(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/optimization/collect_linear_functions.py "view source code") Bases: `CollectAndCollapse` diff --git a/docs/api/qiskit/qiskit.transpiler.passes.CollectMultiQBlocks.md b/docs/api/qiskit/qiskit.transpiler.passes.CollectMultiQBlocks.md index 43f604c8fe..77d59cc6a6 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.CollectMultiQBlocks.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.CollectMultiQBlocks.md @@ -10,19 +10,19 @@ python_api_name: qiskit.transpiler.passes.CollectMultiQBlocks -`qiskit.transpiler.passes.CollectMultiQBlocks(*args, **kwargs)` +`qiskit.transpiler.passes.CollectMultiQBlocks(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/optimization/collect_multiqubit_blocks.py "view source code") Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") -Collect sequences of uninterrupted gates acting on groups of qubits. max\_block\_size specifies the maximum number of qubits that can be acted upon by any single group of gates +Collect sequences of uninterrupted gates acting on groups of qubits. `max_block_size` specifies the maximum number of qubits that can be acted upon by any single group of gates -Traverse the DAG and find blocks of gates that act consecutively on groups of qubits. Write the blocks to propert\_set as a list of blocks of the form: +Traverse the DAG and find blocks of gates that act consecutively on groups of qubits. Write the blocks to `property_set` as a list of blocks of the form: ```python [[g0, g1, g2], [g4, g5]] ``` -Blocks are reported in a valid topological order. Further, the gates within each block are also reported in topological order Some gates may not be present in any block (e.g. if the number of operands is greater than max\_block\_size) +Blocks are reported in a valid topological order. Further, the gates within each block are also reported in topological order Some gates may not be present in any block (e.g. if the number of operands is greater than `max_block_size`) A Disjoint Set Union data structure (DSU) is used to maintain blocks as gates are processed. This data structure points each qubit to a set at all times and the sets correspond to current blocks. These change over time and the data structure allows these changes to be done quickly. diff --git a/docs/api/qiskit/qiskit.transpiler.passes.CommutationAnalysis.md b/docs/api/qiskit/qiskit.transpiler.passes.CommutationAnalysis.md index cd32112e68..9578e3592f 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.CommutationAnalysis.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.CommutationAnalysis.md @@ -10,13 +10,13 @@ python_api_name: qiskit.transpiler.passes.CommutationAnalysis -`qiskit.transpiler.passes.CommutationAnalysis(*args, **kwargs)` +`qiskit.transpiler.passes.CommutationAnalysis(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/optimization/commutation_analysis.py "view source code") Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Analysis pass to find commutation relations between DAG nodes. -Property\_set\[‘commutation\_set’] is a dictionary that describes the commutation relations on a given wire, all the gates on a wire are grouped into a set of gates that commute. +`property_set['commutation_set']` is a dictionary that describes the commutation relations on a given wire, all the gates on a wire are grouped into a set of gates that commute. ## Attributes @@ -80,7 +80,7 @@ Name of the pass. Run the CommutationAnalysis pass on dag. -Run the pass on the DAG, and write the discovered commutation relations into the property\_set. +Run the pass on the DAG, and write the discovered commutation relations into the `property_set`. ### update\_status diff --git a/docs/api/qiskit/qiskit.transpiler.passes.CommutativeCancellation.md b/docs/api/qiskit/qiskit.transpiler.passes.CommutativeCancellation.md index 716db92374..e191679bc4 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.CommutativeCancellation.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.CommutativeCancellation.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.CommutativeCancellation -`qiskit.transpiler.passes.CommutativeCancellation(*args, **kwargs)` +`qiskit.transpiler.passes.CommutativeCancellation(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/optimization/commutative_cancellation.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") @@ -27,7 +27,7 @@ CommutativeCancellation initializer. **Parameters** * **basis\_gates** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")*]*) – Basis gates to consider, e.g. `['u3', 'cx']`. For the effects of this pass, the basis is the set intersection between the `basis_gates` parameter and the gates in the dag. -* **target** ([*Target*](qiskit.transpiler.Target "qiskit.transpiler.Target")) – The [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") representing the target backend, if both `basis_gates` and this are specified then this argument will take precedence and `basis_gates` will be ignored. +* **target** ([*Target*](qiskit.transpiler.Target "qiskit.transpiler.Target")) – The [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") representing the target backend, if both `basis_gates` and `target` are specified then this argument will take precedence and `basis_gates` will be ignored. ## Attributes diff --git a/docs/api/qiskit/qiskit.transpiler.passes.CommutativeInverseCancellation.md b/docs/api/qiskit/qiskit.transpiler.passes.CommutativeInverseCancellation.md index de6ea512a2..8691919d93 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.CommutativeInverseCancellation.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.CommutativeInverseCancellation.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.CommutativeInverseCancellation -`qiskit.transpiler.passes.CommutativeInverseCancellation(*args, **kwargs)` +`qiskit.transpiler.passes.CommutativeInverseCancellation(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/optimization/commutative_inverse_cancellation.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.Commuting2qGateRouter.md b/docs/api/qiskit/qiskit.transpiler.passes.Commuting2qGateRouter.md index fe3954aa0c..e1e4f055e7 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.Commuting2qGateRouter.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.Commuting2qGateRouter.md @@ -10,13 +10,13 @@ python_api_name: qiskit.transpiler.passes.Commuting2qGateRouter -`qiskit.transpiler.passes.Commuting2qGateRouter(*args, **kwargs)` +`qiskit.transpiler.passes.Commuting2qGateRouter(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/routing/commuting_2q_gate_routing/commuting_2q_gate_router.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") A class to swap route one or more commuting gates to the coupling map. -This pass routes blocks of commuting two-qubit gates encapsulated as `Commuting2qBlock` instructions. This pass will not apply to other instructions. The mapping to the coupling map is done using swap strategies, see `SwapStrategy`. The swap strategy should suit the problem and the coupling map. This transpiler pass should ideally be executed before the quantum circuit is enlarged with any idle ancilla qubits. Otherwise we may swap qubits outside of the portion of the chip we want to use. Therefore, the swap strategy and its associated coupling map do not represent physical qubits. Instead, they represent an intermediate mapping that corresponds to the physical qubits once the initial layout is applied. The example below shows how to map a four qubit [`PauliEvolutionGate`](qiskit.circuit.library.PauliEvolutionGate "qiskit.circuit.library.PauliEvolutionGate") to qubits 0, 1, 3, and 4 of the five qubit device with the coupling map +This pass routes blocks of commuting two-qubit gates encapsulated as `Commuting2qBlock` instructions. This pass will not apply to other instructions. The mapping to the coupling map is done using swap strategies, see `SwapStrategy`. The swap strategy should suit the problem and the coupling map. This transpiler pass should ideally be executed before the quantum circuit is enlarged with any idle ancilla qubits. Otherwise, we may swap qubits outside the portion of the chip we want to use. Therefore, the swap strategy and its associated coupling map do not represent physical qubits. Instead, they represent an intermediate mapping that corresponds to the physical qubits once the initial layout is applied. The example below shows how to map a four qubit [`PauliEvolutionGate`](qiskit.circuit.library.PauliEvolutionGate "qiskit.circuit.library.PauliEvolutionGate") to qubits 0, 1, 3, and 4 of the five qubit device with the coupling map ```python 0 -- 1 -- 2 @@ -75,7 +75,7 @@ This pass manager relies on the `current_layout` which corresponds to the qubit **Parameters** -* **swap\_strategy** – An instance of a `SwapStrategy` that holds the swap layers that are used, and the order in which to apply them, to map the instruction to the hardware. If this field is not given if should be contained in the property set of the pass. This allows other passes to determine the most appropriate swap strategy at run-time. +* **swap\_strategy** – An instance of a `SwapStrategy` that holds the swap layers that are used, and the order in which to apply them, to map the instruction to the hardware. If this field is not given, it should be contained in the property set of the pass. This allows other passes to determine the most appropriate swap strategy at run-time. * **edge\_coloring** – An optional edge coloring of the coupling map (I.e. no two edges that share a node have the same color). If the edge coloring is given then the commuting gates that can be simultaneously applied given the current qubit permutation are grouped according to the edge coloring and applied according to this edge coloring. Here, a color is an int which is used as the index to define and access the groups of commuting gates that can be applied simultaneously. If the edge coloring is not given then the sets will be built-up using a greedy algorithm. The edge coloring is useful to position gates such as `RZZGate`s next to swap gates to exploit CX cancellations. ## Attributes diff --git a/docs/api/qiskit/qiskit.transpiler.passes.ConsolidateBlocks.md b/docs/api/qiskit/qiskit.transpiler.passes.ConsolidateBlocks.md index eb9a37f887..41517cc73f 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.ConsolidateBlocks.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.ConsolidateBlocks.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.ConsolidateBlocks -`qiskit.transpiler.passes.ConsolidateBlocks(*args, **kwargs)` +`qiskit.transpiler.passes.ConsolidateBlocks(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/optimization/consolidate_blocks.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") @@ -24,14 +24,14 @@ This pass assumes that the ‘blocks\_list’ property that it reads is given su ConsolidateBlocks initializer. -If kak\_basis\_gate is not None it will be used as the basis gate for KAK decomposition. Otherwise, if basis\_gates is not None a basis gate will be chosen from this list. Otherwise the basis gate will be CXGate. +If `kak_basis_gate` is not `None` it will be used as the basis gate for KAK decomposition. Otherwise, if `basis_gates` is not `None` a basis gate will be chosen from this list. Otherwise, the basis gate will be [`CXGate`](qiskit.circuit.library.CXGate "qiskit.circuit.library.CXGate"). **Parameters** * **kak\_basis\_gate** ([*Gate*](qiskit.circuit.Gate "qiskit.circuit.Gate")) – Basis gate for KAK decomposition. * **force\_consolidate** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – Force block consolidation. * **basis\_gates** (*List(*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")*)*) – Basis gates from which to choose a KAK gate. -* **approximation\_degree** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – a float between \[0.0, 1.0]. Lower approximates more. +* **approximation\_degree** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – a float between $\[0.0, 1.0]\$. Lower approximates more. * **target** ([*Target*](qiskit.transpiler.Target "qiskit.transpiler.Target")) – The target object for the compilation target backend. ## Attributes diff --git a/docs/api/qiskit/qiskit.transpiler.passes.ConstrainedReschedule.md b/docs/api/qiskit/qiskit.transpiler.passes.ConstrainedReschedule.md index 115af39def..7d1c9a76e0 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.ConstrainedReschedule.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.ConstrainedReschedule.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.ConstrainedReschedule -`qiskit.transpiler.passes.ConstrainedReschedule(*args, **kwargs)` +`qiskit.transpiler.passes.ConstrainedReschedule(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/scheduling/alignments/reschedule.py "view source code") Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.ContainsInstruction.md b/docs/api/qiskit/qiskit.transpiler.passes.ContainsInstruction.md index 38d0d75fb1..42af8403f3 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.ContainsInstruction.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.ContainsInstruction.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.ContainsInstruction -`qiskit.transpiler.passes.ContainsInstruction(*args, **kwargs)` +`qiskit.transpiler.passes.ContainsInstruction(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/utils/contains_instruction.py "view source code") Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.ConvertConditionsToIfOps.md b/docs/api/qiskit/qiskit.transpiler.passes.ConvertConditionsToIfOps.md index 90887b9902..4c2957a3a7 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.ConvertConditionsToIfOps.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.ConvertConditionsToIfOps.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.ConvertConditionsToIfOps -`qiskit.transpiler.passes.ConvertConditionsToIfOps(*args, **kwargs)` +`qiskit.transpiler.passes.ConvertConditionsToIfOps(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/utils/convert_conditions_to_if_ops.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.CountOps.md b/docs/api/qiskit/qiskit.transpiler.passes.CountOps.md index f0bac24c1b..1ce0b210b6 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.CountOps.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.CountOps.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.CountOps -`qiskit.transpiler.passes.CountOps(*args, **kwargs)` +`qiskit.transpiler.passes.CountOps(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/analysis/count_ops.py "view source code") Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.CountOpsLongestPath.md b/docs/api/qiskit/qiskit.transpiler.passes.CountOpsLongestPath.md index 0f3b8beffe..84faa921af 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.CountOpsLongestPath.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.CountOpsLongestPath.md @@ -10,11 +10,11 @@ python_api_name: qiskit.transpiler.passes.CountOpsLongestPath -`qiskit.transpiler.passes.CountOpsLongestPath(*args, **kwargs)` +`qiskit.transpiler.passes.CountOpsLongestPath(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/analysis/count_ops_longest_path.py "view source code") Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") -Count the operations on the longest path in a DAGcircuit. +Count the operations on the longest path in a [`DAGCircuit`](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit"). The result is saved in `property_set['count_ops_longest_path']` as an integer. diff --git a/docs/api/qiskit/qiskit.transpiler.passes.CrosstalkAdaptiveSchedule.md b/docs/api/qiskit/qiskit.transpiler.passes.CrosstalkAdaptiveSchedule.md index 77f343b588..9b554814f0 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.CrosstalkAdaptiveSchedule.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.CrosstalkAdaptiveSchedule.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.CrosstalkAdaptiveSchedule -`qiskit.transpiler.passes.CrosstalkAdaptiveSchedule(*args, **kwargs)` +`qiskit.transpiler.passes.CrosstalkAdaptiveSchedule(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/optimization/crosstalk_adaptive_schedule.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") @@ -40,7 +40,7 @@ CrosstalkAdaptiveSchedule initializer. * **measured\_qubits** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")) – a list of qubits that will be measured in a particular circuit. This arg need not be specified for circuits which already include measure gates. The arg is useful when a subsequent module such as state\_tomography\_circuits inserts the measure gates. If CrosstalkAdaptiveSchedule is made aware of those measurements, it is included in the optimization. -* **target** ([*Target*](qiskit.transpiler.Target "qiskit.transpiler.Target")) – A target representing the target backend, if both `backend_prop` and this are specified then this argument will take precedence and `coupling_map` will be ignored. +* **target** ([*Target*](qiskit.transpiler.Target "qiskit.transpiler.Target")) – A target representing the target backend, if both `backend_prop` and `target` are specified then this argument will take precedence and `coupling_map` will be ignored. **Raises** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.DAGFixedPoint.md b/docs/api/qiskit/qiskit.transpiler.passes.DAGFixedPoint.md index 83a27fbdc6..4696b1134b 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.DAGFixedPoint.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.DAGFixedPoint.md @@ -10,13 +10,13 @@ python_api_name: qiskit.transpiler.passes.DAGFixedPoint -`qiskit.transpiler.passes.DAGFixedPoint(*args, **kwargs)` +`qiskit.transpiler.passes.DAGFixedPoint(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/utils/dag_fixed_point.py "view source code") Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Check if the DAG has reached a fixed point. -A dummy analysis pass that checks if the DAG a fixed point (the DAG is not modified anymore). The results is saved in `property_set['dag_fixed_point']` as a boolean. +A dummy analysis pass that checks if the DAG a fixed point (the DAG is not modified anymore). The result is saved in `property_set['dag_fixed_point']` as a boolean. ## Attributes diff --git a/docs/api/qiskit/qiskit.transpiler.passes.DAGLongestPath.md b/docs/api/qiskit/qiskit.transpiler.passes.DAGLongestPath.md index d83edb3cab..7158d789da 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.DAGLongestPath.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.DAGLongestPath.md @@ -10,11 +10,11 @@ python_api_name: qiskit.transpiler.passes.DAGLongestPath -`qiskit.transpiler.passes.DAGLongestPath(*args, **kwargs)` +`qiskit.transpiler.passes.DAGLongestPath(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/analysis/dag_longest_path.py "view source code") Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") -Return the longest path in a DAGcircuit as a list of DAGOpNodes, DAGInNodes, and DAGOutNodes. +Return the longest path in a [`DAGCircuit`](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit") as a list of [`DAGOpNode`](qiskit.dagcircuit.DAGOpNode "qiskit.dagcircuit.DAGOpNode")s, [`DAGInNode`](qiskit.dagcircuit.DAGInNode "qiskit.dagcircuit.DAGInNode")s, and [`DAGOutNode`](qiskit.dagcircuit.DAGOutNode "qiskit.dagcircuit.DAGOutNode")s. ## Attributes diff --git a/docs/api/qiskit/qiskit.transpiler.passes.Decompose.md b/docs/api/qiskit/qiskit.transpiler.passes.Decompose.md index 6abb2a880d..9534c1c41c 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.Decompose.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.Decompose.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.Decompose -`qiskit.transpiler.passes.Decompose(*args, **kwargs)` +`qiskit.transpiler.passes.Decompose(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/basis/decompose.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.DenseLayout.md b/docs/api/qiskit/qiskit.transpiler.passes.DenseLayout.md index 0c7bb01a2f..e7331be806 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.DenseLayout.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.DenseLayout.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.DenseLayout -`qiskit.transpiler.passes.DenseLayout(*args, **kwargs)` +`qiskit.transpiler.passes.DenseLayout(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/layout/dense_layout.py "view source code") Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") @@ -19,7 +19,7 @@ Choose a Layout by finding the most connected subset of qubits. This pass associates a physical qubit (int) to each virtual qubit of the circuit (Qubit). - Even though a ‘layout’ is not strictly a property of the DAG, in the transpiler architecture it is best passed around between passes by being set in property\_set. + Even though a `'layout'` is not strictly a property of the DAG, in the transpiler architecture it is best passed around between passes by being set in `property_set`. DenseLayout initializer. diff --git a/docs/api/qiskit/qiskit.transpiler.passes.Depth.md b/docs/api/qiskit/qiskit.transpiler.passes.Depth.md index ac19d17a02..9b4a84f4f9 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.Depth.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.Depth.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.Depth -`qiskit.transpiler.passes.Depth(*args, **kwargs)` +`qiskit.transpiler.passes.Depth(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/analysis/depth.py "view source code") Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.DynamicalDecoupling.md b/docs/api/qiskit/qiskit.transpiler.passes.DynamicalDecoupling.md index 6dea18aef9..c24b2ed8de 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.DynamicalDecoupling.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.DynamicalDecoupling.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.DynamicalDecoupling -`qiskit.transpiler.passes.DynamicalDecoupling(*args, **kwargs)` +`qiskit.transpiler.passes.DynamicalDecoupling(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/scheduling/dynamical_decoupling.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.EchoRZXWeylDecomposition.md b/docs/api/qiskit/qiskit.transpiler.passes.EchoRZXWeylDecomposition.md index 7a3efd94ca..1cf0b315f8 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.EchoRZXWeylDecomposition.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.EchoRZXWeylDecomposition.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.EchoRZXWeylDecomposition -`qiskit.transpiler.passes.EchoRZXWeylDecomposition(*args, **kwargs)` +`qiskit.transpiler.passes.EchoRZXWeylDecomposition(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/optimization/echo_rzx_weyl_decomposition.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") @@ -23,7 +23,7 @@ EchoRZXWeylDecomposition pass. **Parameters** * **instruction\_schedule\_map** ([*InstructionScheduleMap*](qiskit.pulse.InstructionScheduleMap "qiskit.pulse.InstructionScheduleMap")) – the mapping from circuit [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") names and arguments to [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule")s. -* **target** ([*Target*](qiskit.transpiler.Target "qiskit.transpiler.Target")) – The [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") representing the target backend, if both `instruction_schedule_map` and this are specified then this argument will take precedence and `instruction_schedule_map` will be ignored. +* **target** ([*Target*](qiskit.transpiler.Target "qiskit.transpiler.Target")) – The [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") representing the target backend, if both `instruction_schedule_map` and `target` are specified then this argument will take precedence and `instruction_schedule_map` will be ignored. ## Attributes diff --git a/docs/api/qiskit/qiskit.transpiler.passes.EnlargeWithAncilla.md b/docs/api/qiskit/qiskit.transpiler.passes.EnlargeWithAncilla.md index f9d91c3476..1e9efa7b3d 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.EnlargeWithAncilla.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.EnlargeWithAncilla.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.EnlargeWithAncilla -`qiskit.transpiler.passes.EnlargeWithAncilla(*args, **kwargs)` +`qiskit.transpiler.passes.EnlargeWithAncilla(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/layout/enlarge_with_ancilla.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") @@ -94,7 +94,7 @@ An extended DAG. **Raises** -[**TranspilerError**](transpiler#qiskit.transpiler.TranspilerError "qiskit.transpiler.TranspilerError") – If there is not layout in the property set or not set at init time. +[**TranspilerError**](transpiler#qiskit.transpiler.TranspilerError "qiskit.transpiler.TranspilerError") – If there is no layout in the property set or not set at init time. ### update\_status diff --git a/docs/api/qiskit/qiskit.transpiler.passes.FixedPoint.md b/docs/api/qiskit/qiskit.transpiler.passes.FixedPoint.md index 24264d8d0e..45a3a71163 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.FixedPoint.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.FixedPoint.md @@ -10,13 +10,13 @@ python_api_name: qiskit.transpiler.passes.FixedPoint -`qiskit.transpiler.passes.FixedPoint(*args, **kwargs)` +`qiskit.transpiler.passes.FixedPoint(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/utils/fixed_point.py "view source code") Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Check if a property reached a fixed point. -A dummy analysis pass that checks if a property reached a fixed point. The results is saved in `property_set['_fixed_point']` as a boolean. +A dummy analysis pass that checks if a property reached a fixed point. The result is saved in `property_set['_fixed_point']` as a boolean. FixedPoint initializer. diff --git a/docs/api/qiskit/qiskit.transpiler.passes.FullAncillaAllocation.md b/docs/api/qiskit/qiskit.transpiler.passes.FullAncillaAllocation.md index fde587689f..d947e7c32d 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.FullAncillaAllocation.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.FullAncillaAllocation.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.FullAncillaAllocation -`qiskit.transpiler.passes.FullAncillaAllocation(*args, **kwargs)` +`qiskit.transpiler.passes.FullAncillaAllocation(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/layout/full_ancilla_allocation.py "view source code") Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") @@ -137,5 +137,5 @@ Updated pass manager state. `static validate_layout(layout_qubits, dag_qubits)` -Checks if all the qregs in layout\_qregs already exist in dag\_qregs. Otherwise, raise. +Checks if all the qregs in `layout_qregs` already exist in `dag_qregs`. Otherwise, raise. diff --git a/docs/api/qiskit/qiskit.transpiler.passes.GateDirection.md b/docs/api/qiskit/qiskit.transpiler.passes.GateDirection.md index 38c8cd0db0..6259fd0c60 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.GateDirection.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.GateDirection.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.GateDirection -`qiskit.transpiler.passes.GateDirection(*args, **kwargs)` +`qiskit.transpiler.passes.GateDirection(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/utils/gate_direction.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.GatesInBasis.md b/docs/api/qiskit/qiskit.transpiler.passes.GatesInBasis.md index 96e6a4f867..5851a01a3c 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.GatesInBasis.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.GatesInBasis.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.GatesInBasis -`qiskit.transpiler.passes.GatesInBasis(*args, **kwargs)` +`qiskit.transpiler.passes.GatesInBasis(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/utils/gates_basis.py "view source code") Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.HighLevelSynthesis.md b/docs/api/qiskit/qiskit.transpiler.passes.HighLevelSynthesis.md index 717302041f..9c286af8d3 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.HighLevelSynthesis.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.HighLevelSynthesis.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.HighLevelSynthesis -`qiskit.transpiler.passes.HighLevelSynthesis(*args, **kwargs)` +`qiskit.transpiler.passes.HighLevelSynthesis(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/synthesis/high_level_synthesis.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.HoareOptimizer.md b/docs/api/qiskit/qiskit.transpiler.passes.HoareOptimizer.md index c3570f2960..3f68357801 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.HoareOptimizer.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.HoareOptimizer.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.HoareOptimizer -`qiskit.transpiler.passes.HoareOptimizer(*args, **kwargs)` +`qiskit.transpiler.passes.HoareOptimizer(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/optimization/hoare_opt.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.InstructionDurationCheck.md b/docs/api/qiskit/qiskit.transpiler.passes.InstructionDurationCheck.md index 669b9f5fc5..af2e2322b0 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.InstructionDurationCheck.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.InstructionDurationCheck.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.InstructionDurationCheck -`qiskit.transpiler.passes.InstructionDurationCheck(*args, **kwargs)` +`qiskit.transpiler.passes.InstructionDurationCheck(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/scheduling/alignments/check_durations.py "view source code") Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.InverseCancellation.md b/docs/api/qiskit/qiskit.transpiler.passes.InverseCancellation.md index c313c88027..49eaebe069 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.InverseCancellation.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.InverseCancellation.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.InverseCancellation -`qiskit.transpiler.passes.InverseCancellation(*args, **kwargs)` +`qiskit.transpiler.passes.InverseCancellation(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/optimization/inverse_cancellation.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") @@ -20,11 +20,11 @@ Initialize InverseCancellation pass. **Parameters** -**gates\_to\_cancel** – list of gates to cancel +**gates\_to\_cancel** – List describing the gates to cancel. Each element of the list is either a single gate or a pair of gates. If a single gate, then it should be self-inverse. If a pair of gates, then the gates in the pair should be inverses of each other. **Raises** -[**TranspilerError**](transpiler#qiskit.transpiler.TranspilerError "qiskit.transpiler.TranspilerError") – Initialization raises an error when the input is not a self-inverse gate or a two-tuple of inverse gates. +[**TranspilerError**](transpiler#qiskit.transpiler.TranspilerError "qiskit.transpiler.TranspilerError") – Input is not a self-inverse gate or a pair of inverse gates. ## Attributes diff --git a/docs/api/qiskit/qiskit.transpiler.passes.Layout2qDistance.md b/docs/api/qiskit/qiskit.transpiler.passes.Layout2qDistance.md index 9a62e0529b..bfbcaf73e2 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.Layout2qDistance.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.Layout2qDistance.md @@ -10,13 +10,13 @@ python_api_name: qiskit.transpiler.passes.Layout2qDistance -`qiskit.transpiler.passes.Layout2qDistance(*args, **kwargs)` +`qiskit.transpiler.passes.Layout2qDistance(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/layout/layout_2q_distance.py "view source code") Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Evaluate how good the layout selection was. -Saves in property\_set\[‘layout\_score’] (or the property name in property\_name) the sum of distances for each circuit CX. The lower the number, the better the selection. Therefore, 0 is a perfect layout selection. No CX direction is considered. +Saves in `property_set['layout_score']` (or the property name in property\_name) the sum of distances for each circuit CX. The lower the number, the better the selection. Therefore, 0 is a perfect layout selection. No CX direction is considered. Layout2qDistance initializer. diff --git a/docs/api/qiskit/qiskit.transpiler.passes.LinearFunctionsSynthesis.md b/docs/api/qiskit/qiskit.transpiler.passes.LinearFunctionsSynthesis.md index ac741b7bb2..f1e7ba92ed 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.LinearFunctionsSynthesis.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.LinearFunctionsSynthesis.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.LinearFunctionsSynthesis -`qiskit.transpiler.passes.LinearFunctionsSynthesis(*args, **kwargs)` +`qiskit.transpiler.passes.LinearFunctionsSynthesis(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/synthesis/linear_functions_synthesis.py "view source code") Bases: [`HighLevelSynthesis`](qiskit.transpiler.passes.HighLevelSynthesis "qiskit.transpiler.passes.synthesis.high_level_synthesis.HighLevelSynthesis") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.LinearFunctionsToPermutations.md b/docs/api/qiskit/qiskit.transpiler.passes.LinearFunctionsToPermutations.md index cc91a47853..3e84894e1b 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.LinearFunctionsToPermutations.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.LinearFunctionsToPermutations.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.LinearFunctionsToPermutations -`qiskit.transpiler.passes.LinearFunctionsToPermutations(*args, **kwargs)` +`qiskit.transpiler.passes.LinearFunctionsToPermutations(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/synthesis/linear_functions_synthesis.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.LookaheadSwap.md b/docs/api/qiskit/qiskit.transpiler.passes.LookaheadSwap.md index 095e121f36..0cc44469d2 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.LookaheadSwap.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.LookaheadSwap.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.LookaheadSwap -`qiskit.transpiler.passes.LookaheadSwap(*args, **kwargs)` +`qiskit.transpiler.passes.LookaheadSwap(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/routing/lookahead_swap.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") @@ -39,7 +39,7 @@ LookaheadSwap initializer. * **coupling\_map** (*Union\[*[*CouplingMap*](qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap")*,* [*Target*](qiskit.transpiler.Target "qiskit.transpiler.Target")*]*) – CouplingMap of the target backend. * **search\_depth** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – lookahead tree depth when ranking best SWAP options. * **search\_width** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – lookahead tree width when ranking best SWAP options. -* **fake\_run** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – if true, it only pretend to do routing, i.e., no swap is effectively added. +* **fake\_run** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – if true, it will only pretend to do routing, i.e., no swap is effectively added. ## Attributes diff --git a/docs/api/qiskit/qiskit.transpiler.passes.MergeAdjacentBarriers.md b/docs/api/qiskit/qiskit.transpiler.passes.MergeAdjacentBarriers.md index 435eabb0e9..98829bb5d3 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.MergeAdjacentBarriers.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.MergeAdjacentBarriers.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.MergeAdjacentBarriers -`qiskit.transpiler.passes.MergeAdjacentBarriers(*args, **kwargs)` +`qiskit.transpiler.passes.MergeAdjacentBarriers(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/utils/merge_adjacent_barriers.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.MinimumPoint.md b/docs/api/qiskit/qiskit.transpiler.passes.MinimumPoint.md index 3ddd22c022..e738f2e122 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.MinimumPoint.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.MinimumPoint.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.MinimumPoint -`qiskit.transpiler.passes.MinimumPoint(*args, **kwargs)` +`qiskit.transpiler.passes.MinimumPoint(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/utils/minimum_point.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") @@ -22,7 +22,7 @@ This pass will track the state of fields in the property set over its past execu Fields used by this pass in the property set are (all relative to the `prefix` argument): -* `{prefix}_minimum_point_state` - Used to track the state of the minimpoint search +* `{prefix}_minimum_point_state` - Used to track the state of the minimum point search * **`{prefix}_minimum_point` - This value gets set to `True` when either a fixed point** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.NoiseAdaptiveLayout.md b/docs/api/qiskit/qiskit.transpiler.passes.NoiseAdaptiveLayout.md index 570c00a693..1902e31af1 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.NoiseAdaptiveLayout.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.NoiseAdaptiveLayout.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.NoiseAdaptiveLayout -`qiskit.transpiler.passes.NoiseAdaptiveLayout(*args, **kwargs)` +`qiskit.transpiler.passes.NoiseAdaptiveLayout(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/layout/noise_adaptive_layout.py "view source code") Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.NormalizeRXAngle.md b/docs/api/qiskit/qiskit.transpiler.passes.NormalizeRXAngle.md index e6779f44ec..a5542c190a 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.NormalizeRXAngle.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.NormalizeRXAngle.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.NormalizeRXAngle -`qiskit.transpiler.passes.NormalizeRXAngle(*args, **kwargs)` +`qiskit.transpiler.passes.NormalizeRXAngle(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/optimization/normalize_rx_angle.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") @@ -36,7 +36,7 @@ NormalizeRXAngle initializer. **Parameters** * **target** ([*Target*](qiskit.transpiler.Target "qiskit.transpiler.Target")) – The [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") representing the target backend. If the target contains SX and X calibrations, this pass will replace the corresponding RX gates with SX and X gates. -* **resolution\_in\_radian** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – Resolution for RX rotation angle quantization. If set to zero, this pass won’t modify the rotation angles in the given DAG. (=Provides aribitary-angle RX) +* **resolution\_in\_radian** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – Resolution for RX rotation angle quantization. If set to zero, this pass won’t modify the rotation angles in the given DAG. (=Provides arbitrary-angle RX) ## Attributes diff --git a/docs/api/qiskit/qiskit.transpiler.passes.NumTensorFactors.md b/docs/api/qiskit/qiskit.transpiler.passes.NumTensorFactors.md index 20c92dd58a..8a387c663a 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.NumTensorFactors.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.NumTensorFactors.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.NumTensorFactors -`qiskit.transpiler.passes.NumTensorFactors(*args, **kwargs)` +`qiskit.transpiler.passes.NumTensorFactors(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/analysis/num_tensor_factors.py "view source code") Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.Optimize1qGates.md b/docs/api/qiskit/qiskit.transpiler.passes.Optimize1qGates.md index 870aed1ecc..003f8b8da4 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.Optimize1qGates.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.Optimize1qGates.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGates -`qiskit.transpiler.passes.Optimize1qGates(*args, **kwargs)` +`qiskit.transpiler.passes.Optimize1qGates(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/optimization/optimize_1q_gates.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") @@ -22,7 +22,7 @@ Optimize1qGates initializer. * **basis** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")*]*) – Basis gates to consider, e.g. \[‘u3’, ‘cx’]. For the effects of this pass, the basis is the set intersection between the basis parameter and the set \{‘u1’,’u2’,’u3’, ‘u’, ‘p’}. * **eps** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – EPS to check against -* **target** ([*Target*](qiskit.transpiler.Target "qiskit.transpiler.Target")) – The [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") representing the target backend, if both `basis` and this are specified then this argument will take precedence and `basis` will be ignored. +* **target** ([*Target*](qiskit.transpiler.Target "qiskit.transpiler.Target")) – The [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") representing the target backend, if both `basis` and `target` are specified then this argument will take precedence and `basis` will be ignored. ## Attributes @@ -114,7 +114,7 @@ the optimized DAG. **Raises** -[**TranspilerError**](transpiler#qiskit.transpiler.TranspilerError "qiskit.transpiler.TranspilerError") – if YZY and ZYZ angles do not give same rotation matrix. +[**TranspilerError**](transpiler#qiskit.transpiler.TranspilerError "qiskit.transpiler.TranspilerError") – if `YZY` and `ZYZ` angles do not give same rotation matrix. ### update\_status diff --git a/docs/api/qiskit/qiskit.transpiler.passes.Optimize1qGatesDecomposition.md b/docs/api/qiskit/qiskit.transpiler.passes.Optimize1qGatesDecomposition.md index a792ef8df1..6d4e217d45 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.Optimize1qGatesDecomposition.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.Optimize1qGatesDecomposition.md @@ -10,16 +10,16 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGatesDecomposition -`qiskit.transpiler.passes.Optimize1qGatesDecomposition(*args, **kwargs)` +`qiskit.transpiler.passes.Optimize1qGatesDecomposition(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/optimization/optimize_1q_decomposition.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Optimize chains of single-qubit gates by combining them into a single gate. -**The decision to replace the original chain with a new resynthesis depends on:** +**The decision to replace the original chain with a new re-synthesis depends on:** * whether the original chain was out of basis: replace -* whether the original chain was in basis but resynthesis is lower error: replace +* whether the original chain was in basis but re-synthesis is lower error: replace * whether the original chain contains a pulse gate: do not replace * whether the original chain amounts to identity: replace with null diff --git a/docs/api/qiskit/qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation.md b/docs/api/qiskit/qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation.md index e234822e65..b4df3c16ca 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation.md @@ -10,13 +10,13 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation -`qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation(*args, **kwargs)` +`qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/optimization/optimize_1q_commutation.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") -Optimizes 1Q gate strings interrupted by 2Q gates by commuting the components and re- synthesizing the results. The commutation rules are stored in commutation\_table. +Optimizes 1Q gate strings interrupted by 2Q gates by commuting the components and resynthesizing the results. The commutation rules are stored in `commutation_table`. -**NOTE: In addition to those mentioned in commutation\_table, this pass has some limitations:** +**NOTE: In addition to those mentioned in `commutation_table`, this pass has some limitations:** * Does not handle multiple commutations in a row without intermediate progress. * Can only commute into positions where there are pre-existing runs. diff --git a/docs/api/qiskit/qiskit.transpiler.passes.OptimizeCliffords.md b/docs/api/qiskit/qiskit.transpiler.passes.OptimizeCliffords.md index ff33d0d645..577cddd0f9 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.OptimizeCliffords.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.OptimizeCliffords.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.OptimizeCliffords -`qiskit.transpiler.passes.OptimizeCliffords(*args, **kwargs)` +`qiskit.transpiler.passes.OptimizeCliffords(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/optimization/optimize_cliffords.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.PadDelay.md b/docs/api/qiskit/qiskit.transpiler.passes.PadDelay.md index 47c8aadbf8..a174ad9b10 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.PadDelay.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.PadDelay.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.PadDelay -`qiskit.transpiler.passes.PadDelay(*args, **kwargs)` +`qiskit.transpiler.passes.PadDelay(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/scheduling/padding/pad_delay.py "view source code") Bases: `BasePadding` @@ -46,7 +46,7 @@ Create new padding delay pass. **Parameters** * **fill\_very\_end** – Set `True` to fill the end of circuit with delay. -* **target** – The [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") representing the target backend. If it supplied and it does not support delay instruction on a qubit, padding passes do not pad any idle time of the qubit. +* **target** – The [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") representing the target backend. If it is supplied and does not support delay instruction on a qubit, padding passes do not pad any idle time of the qubit. ## Attributes diff --git a/docs/api/qiskit/qiskit.transpiler.passes.PadDynamicalDecoupling.md b/docs/api/qiskit/qiskit.transpiler.passes.PadDynamicalDecoupling.md index e9a31c62ac..defe9a8b1c 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.PadDynamicalDecoupling.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.PadDynamicalDecoupling.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.PadDynamicalDecoupling -`qiskit.transpiler.passes.PadDynamicalDecoupling(*args, **kwargs)` +`qiskit.transpiler.passes.PadDynamicalDecoupling(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/scheduling/padding/dynamical_decoupling.py "view source code") Bases: `BasePadding` @@ -18,7 +18,7 @@ Dynamical decoupling insertion pass. This pass works on a scheduled, physical circuit. It scans the circuit for idle periods of time (i.e. those containing delay instructions) and inserts a DD sequence of gates in those spots. These gates amount to the identity, so do not alter the logical action of the circuit, but have the effect of mitigating decoherence in those idle periods. -As a special case, the pass allows a length-1 sequence (e.g. \[XGate()]). In this case the DD insertion happens only when the gate inverse can be absorbed into a neighboring gate in the circuit (so we would still be replacing Delay with something that is equivalent to the identity). This can be used, for instance, as a Hahn echo. +As a special case, the pass allows a length-1 sequence (e.g. `[XGate()]`). In this case the DD insertion happens only when the gate inverse can be absorbed into a neighboring gate in the circuit (so we would still be replacing Delay with something that is equivalent to the identity). This can be used, for instance, as a Hahn echo. This pass ensures that the inserted sequence preserves the circuit exactly (including global phase). diff --git a/docs/api/qiskit/qiskit.transpiler.passes.PulseGates.md b/docs/api/qiskit/qiskit.transpiler.passes.PulseGates.md index 041512b745..edac44d83e 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.PulseGates.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.PulseGates.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.PulseGates -`qiskit.transpiler.passes.PulseGates(*args, **kwargs)` +`qiskit.transpiler.passes.PulseGates(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/calibration/pulse_gate.py "view source code") Bases: `CalibrationBuilder` @@ -33,7 +33,7 @@ Create new pass. **Parameters** * **inst\_map** – Instruction schedule map that user may override. -* **target** – The [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") representing the target backend, if both `inst_map` and this are specified then it updates instructions in the `target` with `inst_map`. +* **target** – The [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") representing the target backend, if both `inst_map` and `target` are specified then it updates instructions in the `target` with `inst_map`. ## Attributes diff --git a/docs/api/qiskit/qiskit.transpiler.passes.RXCalibrationBuilder.md b/docs/api/qiskit/qiskit.transpiler.passes.RXCalibrationBuilder.md index a8b16c1ad6..d0b3a48a5f 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.RXCalibrationBuilder.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.RXCalibrationBuilder.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.RXCalibrationBuilder -`qiskit.transpiler.passes.RXCalibrationBuilder(*args, **kwargs)` +`qiskit.transpiler.passes.RXCalibrationBuilder(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/calibration/rx_builder.py "view source code") Bases: `CalibrationBuilder` diff --git a/docs/api/qiskit/qiskit.transpiler.passes.RZXCalibrationBuilder.md b/docs/api/qiskit/qiskit.transpiler.passes.RZXCalibrationBuilder.md index 3a8edcfe16..588f5a341b 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.RZXCalibrationBuilder.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.RZXCalibrationBuilder.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilder -`qiskit.transpiler.passes.RZXCalibrationBuilder(*args, **kwargs)` +`qiskit.transpiler.passes.RZXCalibrationBuilder(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/calibration/rzx_builder.py "view source code") Bases: `CalibrationBuilder` diff --git a/docs/api/qiskit/qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho.md b/docs/api/qiskit/qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho.md index 0c1468cdc1..7388811512 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho -`qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho(*args, **kwargs)` +`qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/calibration/rzx_builder.py "view source code") Bases: [`RZXCalibrationBuilder`](qiskit.transpiler.passes.RZXCalibrationBuilder "qiskit.transpiler.passes.calibration.rzx_builder.RZXCalibrationBuilder") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.RemoveBarriers.md b/docs/api/qiskit/qiskit.transpiler.passes.RemoveBarriers.md index 72995fed9f..175024c1c9 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.RemoveBarriers.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.RemoveBarriers.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.RemoveBarriers -`qiskit.transpiler.passes.RemoveBarriers(*args, **kwargs)` +`qiskit.transpiler.passes.RemoveBarriers(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/utils/remove_barriers.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.RemoveDiagonalGatesBeforeMeasure.md b/docs/api/qiskit/qiskit.transpiler.passes.RemoveDiagonalGatesBeforeMeasure.md index 74dcc83b24..b53c796eaa 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.RemoveDiagonalGatesBeforeMeasure.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.RemoveDiagonalGatesBeforeMeasure.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.RemoveDiagonalGatesBeforeMeasure -`qiskit.transpiler.passes.RemoveDiagonalGatesBeforeMeasure(*args, **kwargs)` +`qiskit.transpiler.passes.RemoveDiagonalGatesBeforeMeasure(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/optimization/remove_diagonal_gates_before_measure.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.RemoveFinalMeasurements.md b/docs/api/qiskit/qiskit.transpiler.passes.RemoveFinalMeasurements.md index 2e3c99080b..ada8ca68f8 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.RemoveFinalMeasurements.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.RemoveFinalMeasurements.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.RemoveFinalMeasurements -`qiskit.transpiler.passes.RemoveFinalMeasurements(*args, **kwargs)` +`qiskit.transpiler.passes.RemoveFinalMeasurements(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/utils/remove_final_measurements.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") @@ -18,7 +18,7 @@ Remove final measurements and barriers at the end of a circuit. This pass removes final barriers and final measurements, as well as all unused classical registers and bits they are connected to. Measurements and barriers are considered final if they are followed by no other operations (aside from other measurements or barriers.) -Classical registers are removed iff they reference at least one bit that has become unused by the circuit as a result of the operation, and all of their other bits are also unused. Seperately, classical bits are removed iff they have become unused by the circuit as a result of the operation, or they appear in a removed classical register, but do not appear in a classical register that will remain. +Classical registers are removed iff they reference at least one bit that has become unused by the circuit as a result of the operation, and all of their other bits are also unused. Separately, classical bits are removed iff they have become unused by the circuit as a result of the operation, or they appear in a removed classical register, but do not appear in a classical register that will remain. ## Attributes diff --git a/docs/api/qiskit/qiskit.transpiler.passes.RemoveResetInZeroState.md b/docs/api/qiskit/qiskit.transpiler.passes.RemoveResetInZeroState.md index a083f10a6d..d459270700 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.RemoveResetInZeroState.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.RemoveResetInZeroState.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.RemoveResetInZeroState -`qiskit.transpiler.passes.RemoveResetInZeroState(*args, **kwargs)` +`qiskit.transpiler.passes.RemoveResetInZeroState(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/optimization/remove_reset_in_zero_state.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.ResetAfterMeasureSimplification.md b/docs/api/qiskit/qiskit.transpiler.passes.ResetAfterMeasureSimplification.md index 04ce8bfbb1..466d7a5a6c 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.ResetAfterMeasureSimplification.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.ResetAfterMeasureSimplification.md @@ -10,13 +10,13 @@ python_api_name: qiskit.transpiler.passes.ResetAfterMeasureSimplification -`qiskit.transpiler.passes.ResetAfterMeasureSimplification(*args, **kwargs)` +`qiskit.transpiler.passes.ResetAfterMeasureSimplification(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/optimization/reset_after_measure_simplification.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") This pass replaces reset after measure with a conditional X gate. -This optimization is suitable for use on IBM Quantum systems where the reset operation is performed by a measurement followed by a conditional x-gate. It might not be desireable on other backends if reset is implemented differently. +This optimization is suitable for use on IBM Quantum systems where the reset operation is performed by a measurement followed by a conditional x-gate. It might not be desirable on other backends if reset is implemented differently. ## Attributes diff --git a/docs/api/qiskit/qiskit.transpiler.passes.SabreLayout.md b/docs/api/qiskit/qiskit.transpiler.passes.SabreLayout.md index 6169409a78..4129bc5434 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.SabreLayout.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.SabreLayout.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.SabreLayout -`qiskit.transpiler.passes.SabreLayout(*args, **kwargs)` +`qiskit.transpiler.passes.SabreLayout(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/layout/sabre_layout.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") @@ -20,7 +20,7 @@ Starting with a random initial Layout, the algorithm does a full routing of the This method exploits the reversibility of quantum circuits, and tries to include global circuit information in the choice of initial\_layout. -By default this pass will run both layout and routing and will transform the circuit so that the layout is applied to the input dag (meaning that the output circuit will have ancilla qubits allocated for unused qubits on the coupling map and the qubits will be reordered to match the mapped physical qubits) and then routing will be applied (inserting `AnalysisPass` objects and just find an initial layout and set that on the property set. This is done because by default the pass will run parallel seed trials with different random seeds for selecting the random initial layout and then selecting the routed output which results in the least number of swap gates needed. +By default, this pass will run both layout and routing and will transform the circuit so that the layout is applied to the input dag (meaning that the output circuit will have ancilla qubits allocated for unused qubits on the coupling map and the qubits will be reordered to match the mapped physical qubits) and then routing will be applied (inserting `AnalysisPass` objects and just find an initial layout and set that on the property set. This is done because by default the pass will run parallel seed trials with different random seeds for selecting the random initial layout and then selecting the routed output which results in the least number of swap gates needed. You can use the `routing_pass` argument to have this pass operate as a typical layout pass. When specified this will use the specified routing pass to select an initial layout only and will not run multiple seed trials. @@ -98,7 +98,7 @@ int **param skip\_routing** -If this is set `True` and `routing_pass` is not used then routing will not be applied to the output circuit. Only the layout will be returned in the property set. This is a tradeoff to run custom routing with multiple layout trials, as using this option will cause SabreLayout to run the routing stage internally but not use that result. +If this is set `True` and `routing_pass` is not used then routing will not be applied to the output circuit. Only the layout will be set in the property set. This is a tradeoff to run custom routing with multiple layout trials, as using this option will cause SabreLayout to run the routing stage internally but not use that result. **type skip\_routing** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.SabrePreLayout.md b/docs/api/qiskit/qiskit.transpiler.passes.SabrePreLayout.md index 937252425b..f3fb11cb26 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.SabrePreLayout.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.SabrePreLayout.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.SabrePreLayout -`qiskit.transpiler.passes.SabrePreLayout(*args, **kwargs)` +`qiskit.transpiler.passes.SabrePreLayout(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/layout/sabre_pre_layout.py "view source code") Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.SabreSwap.md b/docs/api/qiskit/qiskit.transpiler.passes.SabreSwap.md index 2f9ef6faee..3fd0f38b69 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.SabreSwap.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.SabreSwap.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.SabreSwap -`qiskit.transpiler.passes.SabreSwap(*args, **kwargs)` +`qiskit.transpiler.passes.SabreSwap(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/routing/sabre_swap.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") @@ -70,10 +70,10 @@ Additional Information: > This is the same as ‘lookahead’, but the whole cost is multiplied by a decay factor. This increases the cost if the SWAP that generated the trial layout was recently used (i.e. it penalizes increase in depth). > > $$ -> \begin{split}H_{decay} = max(decay(SWAP.q_1), decay(SWAP.q_2)) { +> H_{decay} = max(decay(SWAP.q_1), decay(SWAP.q_2)) { > \frac{1}{\left|{F}\right|} \sum_{gate \in F} D[\pi(gate.q_1)][\pi(gate.q2)]\\ > + W *\frac{1}{\left|{E}\right|} \sum_{gate \in E} D[\pi(gate.q_1)][\pi(gate.q2)] -> }\end{split} +> } > $$ ## Attributes diff --git a/docs/api/qiskit/qiskit.transpiler.passes.SetIOLatency.md b/docs/api/qiskit/qiskit.transpiler.passes.SetIOLatency.md index ece16a3ae9..415ce8ec0c 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.SetIOLatency.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.SetIOLatency.md @@ -10,13 +10,13 @@ python_api_name: qiskit.transpiler.passes.SetIOLatency -`qiskit.transpiler.passes.SetIOLatency(*args, **kwargs)` +`qiskit.transpiler.passes.SetIOLatency(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/scheduling/scheduling/set_io_latency.py "view source code") Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Set IOLatency information to the input circuit. -The `clbit_write_latency` and `conditional_latency` are added to the property set of pass manager. These information can be shared among the passes that perform scheduling on instructions acting on classical registers. +The `clbit_write_latency` and `conditional_latency` are added to the property set of pass manager. This information can be shared among the passes that perform scheduling on instructions acting on classical registers. Once these latencies are added to the property set, this information is also copied to the output circuit object as protected attributes, so that it can be utilized outside the transpilation, for example, the timeline visualization can use latency to accurately show time occupation by instructions on the classical registers. diff --git a/docs/api/qiskit/qiskit.transpiler.passes.SetLayout.md b/docs/api/qiskit/qiskit.transpiler.passes.SetLayout.md index 94eb76fe42..8d3e15b2db 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.SetLayout.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.SetLayout.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.SetLayout -`qiskit.transpiler.passes.SetLayout(*args, **kwargs)` +`qiskit.transpiler.passes.SetLayout(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/layout/set_layout.py "view source code") Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.Size.md b/docs/api/qiskit/qiskit.transpiler.passes.Size.md index 99898df3de..86de98b655 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.Size.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.Size.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.Size -`qiskit.transpiler.passes.Size(*args, **kwargs)` +`qiskit.transpiler.passes.Size(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/analysis/size.py "view source code") Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.SolovayKitaev.md b/docs/api/qiskit/qiskit.transpiler.passes.SolovayKitaev.md index 1374ebff8e..8ae1146a6c 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.SolovayKitaev.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.SolovayKitaev.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.SolovayKitaev -`qiskit.transpiler.passes.SolovayKitaev(*args, **kwargs)` +`qiskit.transpiler.passes.SolovayKitaev(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/synthesis/solovay_kitaev_synthesis.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.SolovayKitaevSynthesis.md b/docs/api/qiskit/qiskit.transpiler.passes.SolovayKitaevSynthesis.md index 106c80a821..9ecb61a5af 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.SolovayKitaevSynthesis.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.SolovayKitaevSynthesis.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.SolovayKitaevSynthesis -`qiskit.transpiler.passes.SolovayKitaevSynthesis` +`qiskit.transpiler.passes.SolovayKitaevSynthesis`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/synthesis/solovay_kitaev_synthesis.py "view source code") Bases: [`UnitarySynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.StochasticSwap.md b/docs/api/qiskit/qiskit.transpiler.passes.StochasticSwap.md index b05a477e54..1ae519aa74 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.StochasticSwap.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.StochasticSwap.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.StochasticSwap -`qiskit.transpiler.passes.StochasticSwap(*args, **kwargs)` +`qiskit.transpiler.passes.StochasticSwap(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/routing/stochastic_swap.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") @@ -34,7 +34,7 @@ If these are not satisfied, the behavior is undefined. * **coupling\_map** (*Union\[*[*CouplingMap*](qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap")*,* [*Target*](qiskit.transpiler.Target "qiskit.transpiler.Target")*]*) – Directed graph representing a coupling map. * **trials** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – maximum number of iterations to attempt * **seed** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – seed for random number generator -* **fake\_run** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – if true, it only pretend to do routing, i.e., no swap is effectively added. +* **fake\_run** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – if true, it will only pretend to do routing, i.e., no swap is effectively added. * **initial\_layout** ([*Layout*](qiskit.transpiler.Layout "qiskit.transpiler.Layout")) – starting layout at beginning of pass. ## Attributes diff --git a/docs/api/qiskit/qiskit.transpiler.passes.TemplateOptimization.md b/docs/api/qiskit/qiskit.transpiler.passes.TemplateOptimization.md index 0a3abb36b0..67de417a75 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.TemplateOptimization.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.TemplateOptimization.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.TemplateOptimization -`qiskit.transpiler.passes.TemplateOptimization(*args, **kwargs)` +`qiskit.transpiler.passes.TemplateOptimization(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/optimization/template_optimization.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") @@ -19,8 +19,8 @@ Class for the template optimization pass. **Parameters** * **template\_list** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")*()]*) – list of the different template circuit to apply. -* **heuristics\_backward\_param** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – \[length, survivor] Those are the parameters for applying heuristics on the backward part of the algorithm. This part of the algorithm creates a tree of matching scenario. This tree grows exponentially. The heuristics evaluates which scenarios have the longest match and keep only those. The length is the interval in the tree for cutting it and survivor is the number of scenarios that are kept. We advice to use l=3 and s=1 to have serious time advantage. We remind that the heuristics implies losing a part of the maximal matches. Check reference for more details. -* **heuristics\_qubits\_param** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – \[length] The heuristics for the qubit choice make guesses from the dag dependency of the circuit in order to limit the number of qubit configurations to explore. The length is the number of successors or not predecessors that will be explored in the dag dependency of the circuit, each qubits of the nodes are added to the set of authorized qubits. We advice to use length=1. Check reference for more details. +* **heuristics\_backward\_param** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – \[length, survivor] Those are the parameters for applying heuristics on the backward part of the algorithm. This part of the algorithm creates a tree of matching scenario. This tree grows exponentially. The heuristics evaluate which scenarios have the longest match and keep only those. The length is the interval in the tree for cutting it and survivor is the number of scenarios that are kept. We advise to use l=3 and s=1 to have serious time advantage. We remind that the heuristics implies losing a part of the maximal matches. Check reference for more details. +* **heuristics\_qubits\_param** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – \[length] The heuristics for the qubit choice make guesses from the dag dependency of the circuit in order to limit the number of qubit configurations to explore. The length is the number of successors or not predecessors that will be explored in the dag dependency of the circuit, each qubits of the nodes are added to the set of authorized qubits. We advise to use length=1. Check reference for more details. * **user\_cost\_dict** (*Dict\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")*,* [*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – quantum cost dictionary passed to TemplateSubstitution to configure its behavior. This will override any default values if None is not given. The key is the name of the gate and the value its quantum cost. ## Attributes diff --git a/docs/api/qiskit/qiskit.transpiler.passes.TimeUnitConversion.md b/docs/api/qiskit/qiskit.transpiler.passes.TimeUnitConversion.md index a894e85874..104d94ef30 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.TimeUnitConversion.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.TimeUnitConversion.md @@ -10,26 +10,26 @@ python_api_name: qiskit.transpiler.passes.TimeUnitConversion -`qiskit.transpiler.passes.TimeUnitConversion(*args, **kwargs)` +`qiskit.transpiler.passes.TimeUnitConversion(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/scheduling/time_unit_conversion.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Choose a time unit to be used in the following time-aware passes, and make all circuit time units consistent with that. -This pass will add a .duration metadata to each op whose duration is known, which will be used by subsequent scheduling passes for scheduling. +This pass will add a [`Instruction.duration`](qiskit.circuit.Instruction#duration "qiskit.circuit.Instruction.duration") metadata to each op whose duration is known which will be used by subsequent scheduling passes for scheduling. -If dt (dt in seconds) is known to transpiler, the unit ‘dt’ is chosen. Otherwise, the unit to be selected depends on what units are used in delays and instruction durations: +If `dt` (in seconds) is known to transpiler, the unit `'dt'` is chosen. Otherwise, the unit to be selected depends on what units are used in delays and instruction durations: -* ‘s’: if they are all in SI units. -* ‘dt’: if they are all in the unit ‘dt’. -* raise error: if they are a mix of SI units and ‘dt’. +* `'s'`: if they are all in SI units. +* `'dt'`: if they are all in the unit `'dt'`. +* raise error: if they are a mix of SI units and `'dt'`. TimeUnitAnalysis initializer. **Parameters** * **inst\_durations** ([*InstructionDurations*](qiskit.transpiler.InstructionDurations "qiskit.transpiler.InstructionDurations")) – A dictionary of durations of instructions. -* **target** – The [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") representing the target backend, if both `inst_durations` and this are specified then this argument will take precedence and `inst_durations` will be ignored. +* **target** – The [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") representing the target backend, if both `inst_durations` and `target` are specified then this argument will take precedence and `inst_durations` will be ignored. ## Attributes diff --git a/docs/api/qiskit/qiskit.transpiler.passes.TranslateParameterizedGates.md b/docs/api/qiskit/qiskit.transpiler.passes.TranslateParameterizedGates.md index 1567332585..39c5384b8f 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.TranslateParameterizedGates.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.TranslateParameterizedGates.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.TranslateParameterizedGates -`qiskit.transpiler.passes.TranslateParameterizedGates(*args, **kwargs)` +`qiskit.transpiler.passes.TranslateParameterizedGates(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/basis/translate_parameterized.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.TrivialLayout.md b/docs/api/qiskit/qiskit.transpiler.passes.TrivialLayout.md index 7470d36c4e..f21b8537a3 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.TrivialLayout.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.TrivialLayout.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.TrivialLayout -`qiskit.transpiler.passes.TrivialLayout(*args, **kwargs)` +`qiskit.transpiler.passes.TrivialLayout(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/layout/trivial_layout.py "view source code") Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.UnitarySynthesis.md b/docs/api/qiskit/qiskit.transpiler.passes.UnitarySynthesis.md index 05861a7d5b..70f870c0e1 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.UnitarySynthesis.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.UnitarySynthesis.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.UnitarySynthesis -`qiskit.transpiler.passes.UnitarySynthesis(*args, **kwargs)` +`qiskit.transpiler.passes.UnitarySynthesis(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/synthesis/unitary_synthesis.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.Unroll3qOrMore.md b/docs/api/qiskit/qiskit.transpiler.passes.Unroll3qOrMore.md index f454a02c85..175c4550d0 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.Unroll3qOrMore.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.Unroll3qOrMore.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.Unroll3qOrMore -`qiskit.transpiler.passes.Unroll3qOrMore(*args, **kwargs)` +`qiskit.transpiler.passes.Unroll3qOrMore(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/basis/unroll_3q_or_more.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") @@ -20,7 +20,7 @@ Initialize the Unroll3qOrMore pass **Parameters** -* **target** ([*Target*](qiskit.transpiler.Target "qiskit.transpiler.Target")) – The target object representing the compilation target. If specified any multiqubit instructions in the circuit when the pass is run that are supported by the target device will be left in place. If both this and `basis_gates` are specified only the target will be checked. +* **target** ([*Target*](qiskit.transpiler.Target "qiskit.transpiler.Target")) – The target object representing the compilation target. If specified any multi-qubit instructions in the circuit when the pass is run that are supported by the target device will be left in place. If both this and `basis_gates` are specified only the target will be checked. * **basis\_gates** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")) – A list of basis gate names that the target device supports. If specified any gate names in the circuit which are present in this list will not be unrolled. If both this and `target` are specified only the target will be used for checking which gates are supported. ## Attributes diff --git a/docs/api/qiskit/qiskit.transpiler.passes.UnrollCustomDefinitions.md b/docs/api/qiskit/qiskit.transpiler.passes.UnrollCustomDefinitions.md index 2193a96bcd..6d66e39858 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.UnrollCustomDefinitions.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.UnrollCustomDefinitions.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.UnrollCustomDefinitions -`qiskit.transpiler.passes.UnrollCustomDefinitions(*args, **kwargs)` +`qiskit.transpiler.passes.UnrollCustomDefinitions(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/basis/unroll_custom_definitions.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") @@ -22,7 +22,7 @@ Unrolls instructions with custom definitions. * **equivalence\_library** ([*EquivalenceLibrary*](qiskit.circuit.EquivalenceLibrary "qiskit.circuit.EquivalenceLibrary")) – The equivalence library which will be used by the BasisTranslator pass. (Instructions in this library will not be unrolled by this pass.) -* **basis\_gates** (*Optional\[*[*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")*]]*) – Target basis names to unroll to, e.g. \[‘u3’, ‘cx’]. Ignored if `target` is also specified. +* **basis\_gates** (*Optional\[*[*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")*]]*) – Target basis names to unroll to, e.g. `['u3', 'cx']`. Ignored if `target` is also specified. * **target** (*Optional\[*[*Target*](qiskit.transpiler.Target "qiskit.transpiler.Target")*]*) – diff --git a/docs/api/qiskit/qiskit.transpiler.passes.UnrollForLoops.md b/docs/api/qiskit/qiskit.transpiler.passes.UnrollForLoops.md index 50de7019e3..50801ebe0c 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.UnrollForLoops.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.UnrollForLoops.md @@ -10,13 +10,13 @@ python_api_name: qiskit.transpiler.passes.UnrollForLoops -`qiskit.transpiler.passes.UnrollForLoops(*args, **kwargs)` +`qiskit.transpiler.passes.UnrollForLoops(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/utils/unroll_forloops.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") `UnrollForLoops` transpilation pass unrolls for-loops when possible. -Things like for x in \{0, 3, 4} \{rx(x) qr\[1];} will turn into rx(0) qr\[1]; rx(3) qr\[1]; rx(4) qr\[1];. +Things like `for x in {0, 3, 4} {rx(x) qr[1];}` will turn into `rx(0) qr[1]; rx(3) qr[1]; rx(4) qr[1];`. The `UnrollForLoops` unrolls only one level of block depth. No inner loop will be considered by `max_target_depth`. @@ -86,7 +86,7 @@ Name of the pass. `run(dag)` -Run the UnrollForLoops pass on dag. +Run the UnrollForLoops pass on `dag`. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.Unroller.md b/docs/api/qiskit/qiskit.transpiler.passes.Unroller.md index 6d868e9cc0..1aa56be966 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.Unroller.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.Unroller.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.Unroller -`qiskit.transpiler.passes.Unroller(*args, **kwargs)` +`qiskit.transpiler.passes.Unroller(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/basis/unroller.py "view source code") Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.VF2Layout.md b/docs/api/qiskit/qiskit.transpiler.passes.VF2Layout.md index 13c9db5aae..0ae039a6e7 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.VF2Layout.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.VF2Layout.md @@ -10,11 +10,11 @@ python_api_name: qiskit.transpiler.passes.VF2Layout -`qiskit.transpiler.passes.VF2Layout(*args, **kwargs)` +`qiskit.transpiler.passes.VF2Layout(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/layout/vf2_layout.py "view source code") Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") -A pass for choosing a Layout of a circuit onto a Coupling graph, as a a subgraph isomorphism problem, solved by VF2++. +A pass for choosing a Layout of a circuit onto a Coupling graph, as a subgraph isomorphism problem, solved by VF2++. If a solution is found that means there is a “perfect layout” and that no further swap mapping or routing is needed. If a solution is found the layout will be set in the property set as `property_set['layout']`. However, if no solution is found, no `property_set['layout']` is set. The stopping reason is set in `property_set['VF2Layout_stop_reason']` in all the cases and will be one of the values enumerated in `VF2LayoutStopReason` which has the following values: @@ -22,7 +22,7 @@ If a solution is found that means there is a “perfect layout” and that no fu > * `"nonexistent solution"`: If no perfect layout was found. > * `">2q gates in basis"`: If VF2Layout can’t work with basis -By default this pass will construct a heuristic scoring map based on the the error rates in the provided `target` (or `properties` if `target` is not provided). However, analysis passes can be run prior to this pass and set `vf2_avg_error_map` in the property set with a `ErrorMap` instance. If a value is `NaN` that is treated as an ideal edge For example if an error map is created as: +By default, this pass will construct a heuristic scoring map based on the error rates in the provided `target` (or `properties` if `target` is not provided). However, analysis passes can be run prior to this pass and set `vf2_avg_error_map` in the property set with a `ErrorMap` instance. If a value is `NaN` that is treated as an ideal edge For example if an error map is created as: ```python from qiskit.transpiler.passes.layout.vf2_utils import ErrorMap diff --git a/docs/api/qiskit/qiskit.transpiler.passes.VF2PostLayout.md b/docs/api/qiskit/qiskit.transpiler.passes.VF2PostLayout.md index dac143ce15..293c33c0cb 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.VF2PostLayout.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.VF2PostLayout.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.VF2PostLayout -`qiskit.transpiler.passes.VF2PostLayout(*args, **kwargs)` +`qiskit.transpiler.passes.VF2PostLayout(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/layout/vf2_post_layout.py "view source code") Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") @@ -24,7 +24,7 @@ If a solution is found that means there is a lower error layout available for th > * `"nonexistent solution"`: If no solution was found. > * `">2q gates in basis"`: If VF2PostLayout can’t work with basis -By default this pass will construct a heuristic scoring map based on the the error rates in the provided `target` (or `properties` if `target` is not provided). However, analysis passes can be run prior to this pass and set `vf2_avg_error_map` in the property set with a `ErrorMap` instance. If a value is `NaN` that is treated as an ideal edge For example if an error map is created as: +By default, this pass will construct a heuristic scoring map based on the error rates in the provided `target` (or `properties` if `target` is not provided). However, analysis passes can be run prior to this pass and set `vf2_avg_error_map` in the property set with a `ErrorMap` instance. If a value is `NaN` that is treated as an ideal edge For example if an error map is created as: ```python from qiskit.transpiler.passes.layout.vf2_utils import ErrorMap diff --git a/docs/api/qiskit/qiskit.transpiler.passes.ValidatePulseGates.md b/docs/api/qiskit/qiskit.transpiler.passes.ValidatePulseGates.md index baa72aacf0..8f239a146a 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.ValidatePulseGates.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.ValidatePulseGates.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.ValidatePulseGates -`qiskit.transpiler.passes.ValidatePulseGates(*args, **kwargs)` +`qiskit.transpiler.passes.ValidatePulseGates(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/scheduling/alignments/pulse_gate_validation.py "view source code") Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") @@ -20,7 +20,7 @@ This is a control electronics aware analysis pass. Quantum gates (instructions) are often implemented with shaped analog stimulus signals. These signals may be digitally stored in the waveform memory of the control electronics and converted into analog voltage signals by electronic components known as digital to analog converters (DAC). -In Qiskit SDK, we can define the pulse-level implementation of custom quantum gate instructions, as a [pulse gate](https://qiskit.org/documentation/tutorials/circuits_advanced/05_pulse_gates.html), thus user gates should satisfy all waveform memory constraints imposed by the backend. +In Qiskit SDK, we can define the pulse-level implementation of custom quantum gate instructions, as a [pulse gate](https://docs.quantum-computing.ibm.com/build/pulse), thus user gates should satisfy all waveform memory constraints imposed by the backend. This pass validates all attached calibration entries and raises `TranspilerError` to kill the transpilation process if any invalid calibration entry is found. This pass saves users from waiting until job execution time to get an invalid pulse error from the backend control electronics. diff --git a/docs/api/qiskit/qiskit.transpiler.passes.Width.md b/docs/api/qiskit/qiskit.transpiler.passes.Width.md index 37040c9896..ef8d06a9df 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.Width.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.Width.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.Width -`qiskit.transpiler.passes.Width(*args, **kwargs)` +`qiskit.transpiler.passes.Width(*args, **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/analysis/width.py "view source code") Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin.md b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin.md index 3049c0b82d..32d0beb833 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlu -`qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin` +`qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/synthesis/plugin.py "view source code") Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPluginManager.md b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPluginManager.md index 58794b7b80..4a61d2aeb0 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPluginManager.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPluginManager.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlu -`qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPluginManager` +`qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPluginManager`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/synthesis/plugin.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin.md b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin.md index f88191d4ba..d7e59f6c52 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugi -`qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin` +`qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/synthesis/plugin.py "view source code") Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPluginManager.md b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPluginManager.md index a774ee7b1b..bbbdf419a4 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPluginManager.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPluginManager.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugi -`qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPluginManager` +`qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPluginManager`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/synthesis/plugin.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.unitary_synthesis_plugin_names.md b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.unitary_synthesis_plugin_names.md index e0d362ddef..ab2c85c404 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.unitary_synthesis_plugin_names.md +++ b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.unitary_synthesis_plugin_names.md @@ -12,7 +12,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.plugin.unitary_synthesis_plu -`qiskit.transpiler.passes.synthesis.plugin.unitary_synthesis_plugin_names()` +`qiskit.transpiler.passes.synthesis.plugin.unitary_synthesis_plugin_names()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/passes/synthesis/plugin.py "view source code") Return a list of installed unitary synthesis plugin names diff --git a/docs/api/qiskit/qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePlugin.md b/docs/api/qiskit/qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePlugin.md index 68b2eb49f2..5d851b2df1 100644 --- a/docs/api/qiskit/qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePlugin.md +++ b/docs/api/qiskit/qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePlugin.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePl -`qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePlugin` +`qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePlugin`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/preset_passmanagers/plugin.py "view source code") Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePluginManager.md b/docs/api/qiskit/qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePluginManager.md index c15e891f4c..da676f4458 100644 --- a/docs/api/qiskit/qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePluginManager.md +++ b/docs/api/qiskit/qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePluginManager.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePl -`qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePluginManager` +`qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePluginManager`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/preset_passmanagers/plugin.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.AQC.md b/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.AQC.md index d0f1ee8176..dadcc1891e 100644 --- a/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.AQC.md +++ b/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.AQC.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.synthesis.aqc.AQC -`qiskit.transpiler.synthesis.aqc.AQC(optimizer=None, seed=None)` +`qiskit.transpiler.synthesis.aqc.AQC(optimizer=None, seed=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/synthesis/aqc/aqc.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.AQCSynthesisPlugin.md b/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.AQCSynthesisPlugin.md index 2f4532fa66..7e56c138be 100644 --- a/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.AQCSynthesisPlugin.md +++ b/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.AQCSynthesisPlugin.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.synthesis.aqc.AQCSynthesisPlugin -`qiskit.transpiler.synthesis.aqc.AQCSynthesisPlugin` +`qiskit.transpiler.synthesis.aqc.AQCSynthesisPlugin`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/synthesis/aqc/aqc_plugin.py "view source code") Bases: [`UnitarySynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin") diff --git a/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.ApproximateCircuit.md b/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.ApproximateCircuit.md index 7eaa48fb6b..6f46b343ec 100644 --- a/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.ApproximateCircuit.md +++ b/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.ApproximateCircuit.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.synthesis.aqc.ApproximateCircuit -`qiskit.transpiler.synthesis.aqc.ApproximateCircuit(num_qubits, name=None)` +`qiskit.transpiler.synthesis.aqc.ApproximateCircuit(num_qubits, name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/synthesis/aqc/approximate.py "view source code") Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit"), [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.ApproximatingObjective.md b/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.ApproximatingObjective.md index a7d72423f2..71ba4c7285 100644 --- a/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.ApproximatingObjective.md +++ b/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.ApproximatingObjective.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.synthesis.aqc.ApproximatingObjective -`qiskit.transpiler.synthesis.aqc.ApproximatingObjective` +`qiskit.transpiler.synthesis.aqc.ApproximatingObjective`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/synthesis/aqc/approximate.py "view source code") Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.CNOTUnitCircuit.md b/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.CNOTUnitCircuit.md index ccb6fd52b9..4a14ed1d03 100644 --- a/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.CNOTUnitCircuit.md +++ b/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.CNOTUnitCircuit.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.synthesis.aqc.CNOTUnitCircuit -`qiskit.transpiler.synthesis.aqc.CNOTUnitCircuit(num_qubits, cnots, tol=0.0, name=None)` +`qiskit.transpiler.synthesis.aqc.CNOTUnitCircuit(num_qubits, cnots, tol=0.0, name=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/synthesis/aqc/cnot_unit_circuit.py "view source code") Bases: [`ApproximateCircuit`](qiskit.transpiler.synthesis.aqc.ApproximateCircuit "qiskit.transpiler.synthesis.aqc.approximate.ApproximateCircuit") diff --git a/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.CNOTUnitObjective.md b/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.CNOTUnitObjective.md index 8e653e584c..ecc72d0969 100644 --- a/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.CNOTUnitObjective.md +++ b/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.CNOTUnitObjective.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.synthesis.aqc.CNOTUnitObjective -`qiskit.transpiler.synthesis.aqc.CNOTUnitObjective(num_qubits, cnots)` +`qiskit.transpiler.synthesis.aqc.CNOTUnitObjective(num_qubits, cnots)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/synthesis/aqc/cnot_unit_objective.py "view source code") Bases: [`ApproximatingObjective`](qiskit.transpiler.synthesis.aqc.ApproximatingObjective "qiskit.transpiler.synthesis.aqc.approximate.ApproximatingObjective"), [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.DefaultCNOTUnitObjective.md b/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.DefaultCNOTUnitObjective.md index a6d1f0df87..61decbe1cb 100644 --- a/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.DefaultCNOTUnitObjective.md +++ b/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.DefaultCNOTUnitObjective.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.synthesis.aqc.DefaultCNOTUnitObjective -`qiskit.transpiler.synthesis.aqc.DefaultCNOTUnitObjective(num_qubits, cnots)` +`qiskit.transpiler.synthesis.aqc.DefaultCNOTUnitObjective(num_qubits, cnots)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/synthesis/aqc/cnot_unit_objective.py "view source code") Bases: [`CNOTUnitObjective`](qiskit.transpiler.synthesis.aqc.CNOTUnitObjective "qiskit.transpiler.synthesis.aqc.cnot_unit_objective.CNOTUnitObjective") diff --git a/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.FastCNOTUnitObjective.md b/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.FastCNOTUnitObjective.md index 0ca58cc79a..f035b48f47 100644 --- a/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.FastCNOTUnitObjective.md +++ b/docs/api/qiskit/qiskit.transpiler.synthesis.aqc.FastCNOTUnitObjective.md @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.synthesis.aqc.FastCNOTUnitObjective -`qiskit.transpiler.synthesis.aqc.FastCNOTUnitObjective(num_qubits, cnots)` +`qiskit.transpiler.synthesis.aqc.FastCNOTUnitObjective(num_qubits, cnots)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/synthesis/aqc/fast_gradient/fast_gradient.py "view source code") Bases: [`CNOTUnitObjective`](qiskit.transpiler.synthesis.aqc.CNOTUnitObjective "qiskit.transpiler.synthesis.aqc.cnot_unit_objective.CNOTUnitObjective") diff --git a/docs/api/qiskit/qiskit.utils.QuantumInstance.md b/docs/api/qiskit/qiskit.utils.QuantumInstance.md index b1cad179bf..6fa86d4b23 100644 --- a/docs/api/qiskit/qiskit.utils.QuantumInstance.md +++ b/docs/api/qiskit/qiskit.utils.QuantumInstance.md @@ -10,7 +10,7 @@ python_api_name: qiskit.utils.QuantumInstance -`qiskit.utils.QuantumInstance(backend, shots=None, seed_simulator=None, basis_gates=None, coupling_map=None, initial_layout=None, pass_manager=None, bound_pass_manager=None, seed_transpiler=None, optimization_level=None, backend_options=None, noise_model=None, timeout=None, wait=5.0, skip_qobj_validation=True, measurement_error_mitigation_cls=None, cals_matrix_refresh_period=30, measurement_error_mitigation_shots=None, job_callback=None, mit_pattern=None, max_job_retries=50)` +`qiskit.utils.QuantumInstance(backend, shots=None, seed_simulator=None, basis_gates=None, coupling_map=None, initial_layout=None, pass_manager=None, bound_pass_manager=None, seed_transpiler=None, optimization_level=None, backend_options=None, noise_model=None, timeout=None, wait=5.0, skip_qobj_validation=True, measurement_error_mitigation_cls=None, cals_matrix_refresh_period=30, measurement_error_mitigation_shots=None, job_callback=None, mit_pattern=None, max_job_retries=50)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/utils/quantum_instance.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.utils.mitigation.CompleteMeasFitter.md b/docs/api/qiskit/qiskit.utils.mitigation.CompleteMeasFitter.md index 52fb6e71df..bef75b9f59 100644 --- a/docs/api/qiskit/qiskit.utils.mitigation.CompleteMeasFitter.md +++ b/docs/api/qiskit/qiskit.utils.mitigation.CompleteMeasFitter.md @@ -10,7 +10,7 @@ python_api_name: qiskit.utils.mitigation.CompleteMeasFitter -`qiskit.utils.mitigation.CompleteMeasFitter(results, state_labels, qubit_list=None, circlabel='')` +`qiskit.utils.mitigation.CompleteMeasFitter(results, state_labels, qubit_list=None, circlabel='')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/utils/mitigation/fitters.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.utils.mitigation.TensoredMeasFitter.md b/docs/api/qiskit/qiskit.utils.mitigation.TensoredMeasFitter.md index 8cf3d6cc87..d980868491 100644 --- a/docs/api/qiskit/qiskit.utils.mitigation.TensoredMeasFitter.md +++ b/docs/api/qiskit/qiskit.utils.mitigation.TensoredMeasFitter.md @@ -10,7 +10,7 @@ python_api_name: qiskit.utils.mitigation.TensoredMeasFitter -`qiskit.utils.mitigation.TensoredMeasFitter(results, mit_pattern, substate_labels_list=None, circlabel='')` +`qiskit.utils.mitigation.TensoredMeasFitter(results, mit_pattern, substate_labels_list=None, circlabel='')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/utils/mitigation/fitters.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.visualization.array_to_latex.md b/docs/api/qiskit/qiskit.visualization.array_to_latex.md index 5d0d603a9c..d20b3720d0 100644 --- a/docs/api/qiskit/qiskit.visualization.array_to_latex.md +++ b/docs/api/qiskit/qiskit.visualization.array_to_latex.md @@ -12,7 +12,7 @@ python_api_name: qiskit.visualization.array_to_latex -`qiskit.visualization.array_to_latex(array, precision=10, prefix='', source=False, max_size=8)` +`qiskit.visualization.array_to_latex(array, precision=10, prefix='', source=False, max_size=8)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/visualization/array.py "view source code") Latex representation of a complex numpy array (with dimension 1 or 2) diff --git a/docs/api/qiskit/qiskit.visualization.circuit_drawer.md b/docs/api/qiskit/qiskit.visualization.circuit_drawer.md index e63161b748..bc36a259ce 100644 --- a/docs/api/qiskit/qiskit.visualization.circuit_drawer.md +++ b/docs/api/qiskit/qiskit.visualization.circuit_drawer.md @@ -12,7 +12,7 @@ python_api_name: qiskit.visualization.circuit_drawer -`qiskit.visualization.circuit_drawer(circuit, scale=None, filename=None, style=None, output=None, interactive=False, plot_barriers=True, reverse_bits=None, justify=None, vertical_compression='medium', idle_wires=True, with_layout=True, fold=None, ax=None, initial_state=False, cregbundle=None, wire_order=None, expr_len=30)` +`qiskit.visualization.circuit_drawer(circuit, scale=None, filename=None, style=None, output=None, interactive=False, plot_barriers=True, reverse_bits=None, justify=None, vertical_compression='medium', idle_wires=True, with_layout=True, fold=None, ax=None, initial_state=False, cregbundle=None, wire_order=None, expr_len=30)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/visualization/circuit/circuit_visualization.py "view source code") Draw the quantum circuit. Use the output parameter to choose the drawing format: @@ -43,7 +43,7 @@ Draw the quantum circuit. Use the output parameter to choose the drawing format: * **idle\_wires** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – include idle wires (wires with no circuit elements) in output visualization. Default is True. * **with\_layout** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – include layout information, with labels on the physical layout. Default is True. * **fold** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – sets pagination. It can be disabled using -1. In text, sets the length of the lines. This is useful when the drawing does not fit in the console. If None (default), it will try to guess the console width using `shutil.get_terminal_size()`. However, if running in jupyter, the default line length is set to 80 characters. In mpl, it is the number of (visual) layers before folding. Default is 25. -* **ax** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.1)")) – Only used by the mpl backend. An optional Axes object to be used for the visualization output. If none is specified, a new matplotlib Figure will be created and used. Additionally, if specified there will be no returned Figure since it is redundant. +* **ax** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.2)")) – Only used by the mpl backend. An optional Axes object to be used for the visualization output. If none is specified, a new matplotlib Figure will be created and used. Additionally, if specified there will be no returned Figure since it is redundant. * **initial\_state** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – Optional. Adds `|0>` in the beginning of the wire. Default is False. * **cregbundle** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – Optional. If set True, bundle classical registers into a single wire. Default is true if possible, and false if a block instruction needs to access an individual bit from a register. * **wire\_order** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")) – Optional. A list of integers used to reorder the display of the bits. The list must have an entry for every bit with the bits in the range 0 to (num\_qubits + num\_clbits). diff --git a/docs/api/qiskit/qiskit.visualization.dag_drawer.md b/docs/api/qiskit/qiskit.visualization.dag_drawer.md index 43268e536d..1aad2eb1a6 100644 --- a/docs/api/qiskit/qiskit.visualization.dag_drawer.md +++ b/docs/api/qiskit/qiskit.visualization.dag_drawer.md @@ -12,7 +12,7 @@ python_api_name: qiskit.visualization.dag_drawer -`qiskit.visualization.dag_drawer(dag, scale=0.7, filename=None, style='color')` +`qiskit.visualization.dag_drawer(dag, scale=0.7, filename=None, style='color')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/visualization/dag_visualization.py "view source code") Plot the directed acyclic graph (dag) to represent operation dependencies in a quantum circuit. diff --git a/docs/api/qiskit/qiskit.visualization.pass_manager_drawer.md b/docs/api/qiskit/qiskit.visualization.pass_manager_drawer.md index c4652e1bfe..8699659c48 100644 --- a/docs/api/qiskit/qiskit.visualization.pass_manager_drawer.md +++ b/docs/api/qiskit/qiskit.visualization.pass_manager_drawer.md @@ -12,7 +12,7 @@ python_api_name: qiskit.visualization.pass_manager_drawer -`qiskit.visualization.pass_manager_drawer(pass_manager, filename=None, style=None, raw=False)` +`qiskit.visualization.pass_manager_drawer(pass_manager, filename=None, style=None, raw=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/visualization/pass_manager_visualization.py "view source code") Draws the pass manager. diff --git a/docs/api/qiskit/qiskit.visualization.plot_bloch_multivector.md b/docs/api/qiskit/qiskit.visualization.plot_bloch_multivector.md index 600d77c3ab..39b18bfd40 100644 --- a/docs/api/qiskit/qiskit.visualization.plot_bloch_multivector.md +++ b/docs/api/qiskit/qiskit.visualization.plot_bloch_multivector.md @@ -12,7 +12,7 @@ python_api_name: qiskit.visualization.plot_bloch_multivector -`qiskit.visualization.plot_bloch_multivector(state, title='', figsize=None, *, reverse_bits=False, filename=None, font_size=None, title_font_size=None, title_pad=1)` +`qiskit.visualization.plot_bloch_multivector(state, title='', figsize=None, *, reverse_bits=False, filename=None, font_size=None, title_font_size=None, title_pad=1)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/visualization/state_visualization.py "view source code") Plot a Bloch sphere for each qubit. @@ -34,7 +34,7 @@ A matplotlib figure instance. **Return type** -[`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.1)") +[`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.2)") **Raises** diff --git a/docs/api/qiskit/qiskit.visualization.plot_bloch_vector.md b/docs/api/qiskit/qiskit.visualization.plot_bloch_vector.md index e15f59140a..d9df3e6165 100644 --- a/docs/api/qiskit/qiskit.visualization.plot_bloch_vector.md +++ b/docs/api/qiskit/qiskit.visualization.plot_bloch_vector.md @@ -12,7 +12,7 @@ python_api_name: qiskit.visualization.plot_bloch_vector -`qiskit.visualization.plot_bloch_vector(bloch, title='', ax=None, figsize=None, coord_type='cartesian', font_size=None)` +`qiskit.visualization.plot_bloch_vector(bloch, title='', ax=None, figsize=None, coord_type='cartesian', font_size=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/visualization/state_visualization.py "view source code") Plot the Bloch sphere. @@ -22,7 +22,7 @@ Plot a Bloch sphere with the specified coordinates, that can be given in both ca * **bloch** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[double]*) – array of three elements where \[\, \, \] (Cartesian) or \[\, \, \] (spherical in radians) \ is inclination angle from +z direction \ is azimuth from +x direction * **title** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – a string that represents the plot title -* **ax** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.1)")) – An Axes to use for rendering the bloch sphere +* **ax** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.2)")) – An Axes to use for rendering the bloch sphere * **figsize** ([*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")) – Figure size in inches. Has no effect is passing `ax`. * **coord\_type** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – a string that specifies coordinate type for bloch (Cartesian or spherical), default is Cartesian * **font\_size** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – Font size. @@ -33,7 +33,7 @@ A matplotlib figure instance if `ax = None`. **Return type** -[`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.1)") +[`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.2)") **Raises** diff --git a/docs/api/qiskit/qiskit.visualization.plot_circuit_layout.md b/docs/api/qiskit/qiskit.visualization.plot_circuit_layout.md index 3de503f9a3..44a87edcb5 100644 --- a/docs/api/qiskit/qiskit.visualization.plot_circuit_layout.md +++ b/docs/api/qiskit/qiskit.visualization.plot_circuit_layout.md @@ -12,7 +12,7 @@ python_api_name: qiskit.visualization.plot_circuit_layout -`qiskit.visualization.plot_circuit_layout(circuit, backend, view='virtual', qubit_coordinates=None)` +`qiskit.visualization.plot_circuit_layout(circuit, backend, view='virtual', qubit_coordinates=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/visualization/gate_map.py "view source code") Plot the layout of a circuit transpiled for a given target backend. diff --git a/docs/api/qiskit/qiskit.visualization.plot_coupling_map.md b/docs/api/qiskit/qiskit.visualization.plot_coupling_map.md index a14d3e9d90..6de9b2d6b8 100644 --- a/docs/api/qiskit/qiskit.visualization.plot_coupling_map.md +++ b/docs/api/qiskit/qiskit.visualization.plot_coupling_map.md @@ -12,7 +12,7 @@ python_api_name: qiskit.visualization.plot_coupling_map -`qiskit.visualization.plot_coupling_map(num_qubits, qubit_coordinates, coupling_map, figsize=None, plot_directed=False, label_qubits=True, qubit_size=None, line_width=4, font_size=None, qubit_color=None, qubit_labels=None, line_color=None, font_color='white', ax=None, filename=None)` +`qiskit.visualization.plot_coupling_map(num_qubits, qubit_coordinates, coupling_map, figsize=None, plot_directed=False, label_qubits=True, qubit_size=None, line_width=4, font_size=None, qubit_color=None, qubit_labels=None, line_color=None, font_color='white', ax=None, filename=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/visualization/gate_map.py "view source code") Plots an arbitrary coupling map of qubits (embedded in a plane). diff --git a/docs/api/qiskit/qiskit.visualization.plot_distribution.md b/docs/api/qiskit/qiskit.visualization.plot_distribution.md index b2e2558a04..91ee393a38 100644 --- a/docs/api/qiskit/qiskit.visualization.plot_distribution.md +++ b/docs/api/qiskit/qiskit.visualization.plot_distribution.md @@ -12,7 +12,7 @@ python_api_name: qiskit.visualization.plot_distribution -`qiskit.visualization.plot_distribution(data, figsize=(7, 5), color=None, number_to_keep=None, sort='asc', target_string=None, legend=None, bar_labels=True, title=None, ax=None, filename=None)` +`qiskit.visualization.plot_distribution(data, figsize=(7, 5), color=None, number_to_keep=None, sort='asc', target_string=None, legend=None, bar_labels=True, title=None, ax=None, filename=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/visualization/counts_visualization.py "view source code") Plot a distribution from input sampled data. @@ -27,7 +27,7 @@ Plot a distribution from input sampled data. * **legend** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")) – A list of strings to use for labels of the data. The number of entries must match the length of data (if data is a list or 1 if it’s a dict) * **bar\_labels** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – Label each bar in histogram with probability value. * **title** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – A string to use for the plot title -* **ax** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.1)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. Additionally, if specified there will be no returned Figure since it is redundant. +* **ax** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.2)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. Additionally, if specified there will be no returned Figure since it is redundant. * **filename** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – file path to save image to. **Returns** diff --git a/docs/api/qiskit/qiskit.visualization.plot_error_map.md b/docs/api/qiskit/qiskit.visualization.plot_error_map.md index 30f8556473..8a94a2f00e 100644 --- a/docs/api/qiskit/qiskit.visualization.plot_error_map.md +++ b/docs/api/qiskit/qiskit.visualization.plot_error_map.md @@ -12,7 +12,7 @@ python_api_name: qiskit.visualization.plot_error_map -`qiskit.visualization.plot_error_map(backend, figsize=(15, 12), show_title=True, qubit_coordinates=None)` +`qiskit.visualization.plot_error_map(backend, figsize=(15, 12), show_title=True, qubit_coordinates=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/visualization/gate_map.py "view source code") Plots the error map of a given backend. diff --git a/docs/api/qiskit/qiskit.visualization.plot_gate_map.md b/docs/api/qiskit/qiskit.visualization.plot_gate_map.md index c4d5b7e5e2..55ba1a9f97 100644 --- a/docs/api/qiskit/qiskit.visualization.plot_gate_map.md +++ b/docs/api/qiskit/qiskit.visualization.plot_gate_map.md @@ -12,7 +12,7 @@ python_api_name: qiskit.visualization.plot_gate_map -`qiskit.visualization.plot_gate_map(backend, figsize=None, plot_directed=False, label_qubits=True, qubit_size=None, line_width=4, font_size=None, qubit_color=None, qubit_labels=None, line_color=None, font_color='white', ax=None, filename=None, qubit_coordinates=None)` +`qiskit.visualization.plot_gate_map(backend, figsize=None, plot_directed=False, label_qubits=True, qubit_size=None, line_width=4, font_size=None, qubit_color=None, qubit_labels=None, line_color=None, font_color='white', ax=None, filename=None, qubit_coordinates=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/visualization/gate_map.py "view source code") Plots the gate map of a device. diff --git a/docs/api/qiskit/qiskit.visualization.plot_histogram.md b/docs/api/qiskit/qiskit.visualization.plot_histogram.md index f02e42b21a..bbc6be5251 100644 --- a/docs/api/qiskit/qiskit.visualization.plot_histogram.md +++ b/docs/api/qiskit/qiskit.visualization.plot_histogram.md @@ -12,7 +12,7 @@ python_api_name: qiskit.visualization.plot_histogram -`qiskit.visualization.plot_histogram(data, figsize=(7, 5), color=None, number_to_keep=None, sort='asc', target_string=None, legend=None, bar_labels=True, title=None, ax=None, filename=None)` +`qiskit.visualization.plot_histogram(data, figsize=(7, 5), color=None, number_to_keep=None, sort='asc', target_string=None, legend=None, bar_labels=True, title=None, ax=None, filename=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/visualization/counts_visualization.py "view source code") Plot a histogram of input counts data. @@ -31,7 +31,7 @@ Plot a histogram of input counts data. * **legend** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")) – A list of strings to use for labels of the data. The number of entries must match the length of data (if data is a list or 1 if it’s a dict) * **bar\_labels** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – Label each bar in histogram with counts value. * **title** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – A string to use for the plot title -* **ax** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.1)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. Additionally, if specified there will be no returned Figure since it is redundant. +* **ax** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.2)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. Additionally, if specified there will be no returned Figure since it is redundant. * **filename** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – file path to save image to. **Returns** diff --git a/docs/api/qiskit/qiskit.visualization.plot_state_city.md b/docs/api/qiskit/qiskit.visualization.plot_state_city.md index 078537375d..7571608422 100644 --- a/docs/api/qiskit/qiskit.visualization.plot_state_city.md +++ b/docs/api/qiskit/qiskit.visualization.plot_state_city.md @@ -12,7 +12,7 @@ python_api_name: qiskit.visualization.plot_state_city -`qiskit.visualization.plot_state_city(state, title='', figsize=None, color=None, alpha=1, ax_real=None, ax_imag=None, *, filename=None)` +`qiskit.visualization.plot_state_city(state, title='', figsize=None, color=None, alpha=1, ax_real=None, ax_imag=None, *, filename=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/visualization/state_visualization.py "view source code") Plot the cityscape of quantum state. @@ -25,8 +25,8 @@ Plot two 3d bar graphs (two dimensional) of the real and imaginary part of the d * **figsize** ([*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")) – Figure size in inches. * **color** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")) – A list of len=2 giving colors for real and imaginary components of matrix elements. * **alpha** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – Transparency value for bars -* **ax\_real** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.1)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. If this is specified without an ax\_imag only the real component plot will be generated. Additionally, if specified there will be no returned Figure since it is redundant. -* **ax\_imag** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.1)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. If this is specified without an ax\_real only the imaginary component plot will be generated. Additionally, if specified there will be no returned Figure since it is redundant. +* **ax\_real** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.2)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. If this is specified without an ax\_imag only the real component plot will be generated. Additionally, if specified there will be no returned Figure since it is redundant. +* **ax\_imag** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.2)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. If this is specified without an ax\_real only the imaginary component plot will be generated. Additionally, if specified there will be no returned Figure since it is redundant. **Returns** @@ -34,7 +34,7 @@ The matplotlib.Figure of the visualization if the `ax_real` and `ax_imag` kwargs **Return type** -[`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.1)") +[`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.2)") **Raises** diff --git a/docs/api/qiskit/qiskit.visualization.plot_state_hinton.md b/docs/api/qiskit/qiskit.visualization.plot_state_hinton.md index 362e9bcc79..3039665a10 100644 --- a/docs/api/qiskit/qiskit.visualization.plot_state_hinton.md +++ b/docs/api/qiskit/qiskit.visualization.plot_state_hinton.md @@ -12,7 +12,7 @@ python_api_name: qiskit.visualization.plot_state_hinton -`qiskit.visualization.plot_state_hinton(state, title='', figsize=None, ax_real=None, ax_imag=None, *, filename=None)` +`qiskit.visualization.plot_state_hinton(state, title='', figsize=None, ax_real=None, ax_imag=None, *, filename=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/visualization/state_visualization.py "view source code") Plot a hinton diagram for the density matrix of a quantum state. @@ -24,8 +24,8 @@ The hinton diagram represents the values of a matrix using squares, whose size i * **title** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – a string that represents the plot title * **figsize** ([*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")) – Figure size in inches. * **filename** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – file path to save image to. -* **ax\_real** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.1)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. If this is specified without an ax\_imag only the real component plot will be generated. Additionally, if specified there will be no returned Figure since it is redundant. -* **ax\_imag** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.1)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. If this is specified without an ax\_imag only the real component plot will be generated. Additionally, if specified there will be no returned Figure since it is redundant. +* **ax\_real** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.2)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. If this is specified without an ax\_imag only the real component plot will be generated. Additionally, if specified there will be no returned Figure since it is redundant. +* **ax\_imag** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.2)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. If this is specified without an ax\_imag only the real component plot will be generated. Additionally, if specified there will be no returned Figure since it is redundant. **Returns** @@ -33,7 +33,7 @@ The matplotlib.Figure of the visualization if neither ax\_real or ax\_imag is se **Return type** -[`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.1)") +[`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.2)") **Raises** diff --git a/docs/api/qiskit/qiskit.visualization.plot_state_paulivec.md b/docs/api/qiskit/qiskit.visualization.plot_state_paulivec.md index 13c6e08be7..7eeafde31e 100644 --- a/docs/api/qiskit/qiskit.visualization.plot_state_paulivec.md +++ b/docs/api/qiskit/qiskit.visualization.plot_state_paulivec.md @@ -12,7 +12,7 @@ python_api_name: qiskit.visualization.plot_state_paulivec -`qiskit.visualization.plot_state_paulivec(state, title='', figsize=None, color=None, ax=None, *, filename=None)` +`qiskit.visualization.plot_state_paulivec(state, title='', figsize=None, color=None, ax=None, *, filename=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/visualization/state_visualization.py "view source code") Plot the Pauli-vector representation of a quantum state as bar graph. @@ -31,7 +31,7 @@ This function plots the coefficients $\mathrm{Tr}(\sigma\rho)$ as bar graph. * **title** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – a string that represents the plot title * **figsize** ([*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")) – Figure size in inches. * **color** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)") *or*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – Color of the coefficient value bars. -* **ax** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.1)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. Additionally, if specified there will be no returned Figure since it is redundant. +* **ax** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.2)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. Additionally, if specified there will be no returned Figure since it is redundant. **Returns** @@ -39,7 +39,7 @@ The matplotlib.Figure of the visualization if the `ax` kwarg is not set **Return type** -[`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.1)") +[`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.2)") **Raises** diff --git a/docs/api/qiskit/qiskit.visualization.plot_state_qsphere.md b/docs/api/qiskit/qiskit.visualization.plot_state_qsphere.md index ec8de18755..26faec1518 100644 --- a/docs/api/qiskit/qiskit.visualization.plot_state_qsphere.md +++ b/docs/api/qiskit/qiskit.visualization.plot_state_qsphere.md @@ -12,7 +12,7 @@ python_api_name: qiskit.visualization.plot_state_qsphere -`qiskit.visualization.plot_state_qsphere(state, figsize=None, ax=None, show_state_labels=True, show_state_phases=False, use_degrees=False, *, filename=None)` +`qiskit.visualization.plot_state_qsphere(state, figsize=None, ax=None, show_state_labels=True, show_state_phases=False, use_degrees=False, *, filename=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/visualization/state_visualization.py "view source code") Plot the qsphere representation of a quantum state. Here, the size of the points is proportional to the probability of the corresponding term in the state and the color represents the phase. @@ -20,7 +20,7 @@ Plot the qsphere representation of a quantum state. Here, the size of the points * **state** ([*Statevector*](qiskit.quantum_info.Statevector "qiskit.quantum_info.Statevector") *or*[*DensityMatrix*](qiskit.quantum_info.DensityMatrix "qiskit.quantum_info.DensityMatrix") *or ndarray*) – an N-qubit quantum state. * **figsize** ([*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")) – Figure size in inches. -* **ax** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.1)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. Additionally, if specified there will be no returned Figure since it is redundant. +* **ax** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.2)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. Additionally, if specified there will be no returned Figure since it is redundant. * **show\_state\_labels** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – An optional boolean indicating whether to show labels for each basis state. * **show\_state\_phases** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – An optional boolean indicating whether to show the phase for each basis state. * **use\_degrees** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – An optional boolean indicating whether to use radians or degrees for the phase values in the plot. @@ -31,7 +31,7 @@ A matplotlib figure instance if the `ax` kwarg is not set **Return type** -[`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.1)") +[`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.2)") **Raises** diff --git a/docs/api/qiskit/qiskit.visualization.pulse.IQXDebugging.md b/docs/api/qiskit/qiskit.visualization.pulse.IQXDebugging.md index 0fdcc4d919..52703719c9 100644 --- a/docs/api/qiskit/qiskit.visualization.pulse.IQXDebugging.md +++ b/docs/api/qiskit/qiskit.visualization.pulse.IQXDebugging.md @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.pulse.IQXDebugging -`qiskit.visualization.pulse.IQXDebugging(**kwargs)` +`qiskit.visualization.pulse.IQXDebugging(**kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/visualization/pulse_v2/stylesheet.py "view source code") Bases: [`dict`](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.visualization.pulse.IQXSimple.md b/docs/api/qiskit/qiskit.visualization.pulse.IQXSimple.md index 151fd049ab..9dfe01b6c8 100644 --- a/docs/api/qiskit/qiskit.visualization.pulse.IQXSimple.md +++ b/docs/api/qiskit/qiskit.visualization.pulse.IQXSimple.md @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.pulse.IQXSimple -`qiskit.visualization.pulse.IQXSimple(**kwargs)` +`qiskit.visualization.pulse.IQXSimple(**kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/visualization/pulse_v2/stylesheet.py "view source code") Bases: [`dict`](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.visualization.pulse.IQXStandard.md b/docs/api/qiskit/qiskit.visualization.pulse.IQXStandard.md index d357ddbcfc..44fe10a690 100644 --- a/docs/api/qiskit/qiskit.visualization.pulse.IQXStandard.md +++ b/docs/api/qiskit/qiskit.visualization.pulse.IQXStandard.md @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.pulse.IQXStandard -`qiskit.visualization.pulse.IQXStandard(**kwargs)` +`qiskit.visualization.pulse.IQXStandard(**kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/visualization/pulse_v2/stylesheet.py "view source code") Bases: [`dict`](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.visualization.qcstyle.DefaultStyle.md b/docs/api/qiskit/qiskit.visualization.qcstyle.DefaultStyle.md index 9de6795790..e8b1d4b47e 100644 --- a/docs/api/qiskit/qiskit.visualization.qcstyle.DefaultStyle.md +++ b/docs/api/qiskit/qiskit.visualization.qcstyle.DefaultStyle.md @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.qcstyle.DefaultStyle -`qiskit.visualization.qcstyle.DefaultStyle` +`qiskit.visualization.qcstyle.DefaultStyle`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/visualization/circuit/qcstyle.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") diff --git a/docs/api/qiskit/qiskit.visualization.visualize_transition.md b/docs/api/qiskit/qiskit.visualization.visualize_transition.md index 224f08abca..4e1d038eac 100644 --- a/docs/api/qiskit/qiskit.visualization.visualize_transition.md +++ b/docs/api/qiskit/qiskit.visualization.visualize_transition.md @@ -12,7 +12,7 @@ python_api_name: qiskit.visualization.visualize_transition -`qiskit.visualization.visualize_transition(circuit, trace=False, saveas=None, fpg=100, spg=2)` +`qiskit.visualization.visualize_transition(circuit, trace=False, saveas=None, fpg=100, spg=2)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/visualization/transition_visualization.py "view source code") Creates animation showing transitions between states of a single qubit by applying quantum gates. diff --git a/docs/api/qiskit/qobj.md b/docs/api/qiskit/qobj.md index cb06897e1a..8f12c528eb 100644 --- a/docs/api/qiskit/qobj.md +++ b/docs/api/qiskit/qobj.md @@ -29,23 +29,23 @@ python_api_name: qiskit.qobj | | | | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | -| [`QasmQobj`](qiskit.qobj.QasmQobj "qiskit.qobj.QasmQobj")(\[qobj\_id, config, experiments, header]) | An OpenQASM 2 Qobj. | -| [`QasmQobjInstruction`](qiskit.qobj.QasmQobjInstruction "qiskit.qobj.QasmQobjInstruction")(name\[, params, qubits, ...]) | A class representing a single instruction in an QasmQobj Experiment. | -| [`QasmQobjExperimentConfig`](qiskit.qobj.QasmQobjExperimentConfig "qiskit.qobj.QasmQobjExperimentConfig")(\[calibrations, ...]) | Configuration for a single OpenQASM 2 experiment in the qobj. | -| [`QasmQobjExperiment`](qiskit.qobj.QasmQobjExperiment "qiskit.qobj.QasmQobjExperiment")(\[config, header, ...]) | An OpenQASM 2 Qobj Experiment. | -| [`QasmQobjConfig`](qiskit.qobj.QasmQobjConfig "qiskit.qobj.QasmQobjConfig")(\[shots, seed\_simulator, ...]) | A configuration for an OpenQASM 2 Qobj. | +| [`QasmQobj`](qiskit.qobj.QasmQobj "qiskit.qobj.QasmQobj")(\[qobj\_id, config, experiments, header]) | An OpenQASM 2 Qobj. | +| [`QasmQobjInstruction`](qiskit.qobj.QasmQobjInstruction "qiskit.qobj.QasmQobjInstruction")(name\[, params, qubits, ...]) | A class representing a single instruction in an QasmQobj Experiment. | +| [`QasmQobjExperimentConfig`](qiskit.qobj.QasmQobjExperimentConfig "qiskit.qobj.QasmQobjExperimentConfig")(\[calibrations, ...]) | Configuration for a single OpenQASM 2 experiment in the qobj. | +| [`QasmQobjExperiment`](qiskit.qobj.QasmQobjExperiment "qiskit.qobj.QasmQobjExperiment")(\[config, header, ...]) | An OpenQASM 2 Qobj Experiment. | +| [`QasmQobjConfig`](qiskit.qobj.QasmQobjConfig "qiskit.qobj.QasmQobjConfig")(\[shots, seed\_simulator, ...]) | A configuration for an OpenQASM 2 Qobj. | | [`QasmExperimentCalibrations`](qiskit.qobj.QasmExperimentCalibrations "qiskit.qobj.QasmExperimentCalibrations")(gates) | A container for any calibrations data. | -| [`GateCalibration`](qiskit.qobj.GateCalibration "qiskit.qobj.GateCalibration")(name, qubits, params, ...) | Each calibration specifies a unique gate by name, qubits and params, and contains the Pulse instructions to implement it. | +| [`GateCalibration`](qiskit.qobj.GateCalibration "qiskit.qobj.GateCalibration")(name, qubits, params, ...) | Each calibration specifies a unique gate by name, qubits and params, and contains the Pulse instructions to implement it. | ## Pulse | | | | ------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- | -| [`PulseQobj`](qiskit.qobj.PulseQobj "qiskit.qobj.PulseQobj")(qobj\_id, config, experiments\[, header]) | A Pulse Qobj. | -| [`PulseQobjInstruction`](qiskit.qobj.PulseQobjInstruction "qiskit.qobj.PulseQobjInstruction")(name, t0\[, ch, ...]) | A class representing a single instruction in an PulseQobj Experiment. | -| [`PulseQobjExperimentConfig`](qiskit.qobj.PulseQobjExperimentConfig "qiskit.qobj.PulseQobjExperimentConfig")(\[qubit\_lo\_freq, ...]) | A config for a single Pulse experiment in the qobj. | -| [`PulseQobjExperiment`](qiskit.qobj.PulseQobjExperiment "qiskit.qobj.PulseQobjExperiment")(instructions\[, config, ...]) | A Pulse Qobj Experiment. | -| [`PulseQobjConfig`](qiskit.qobj.PulseQobjConfig "qiskit.qobj.PulseQobjConfig")(meas\_level, meas\_return, ...) | A configuration for a Pulse Qobj. | -| [`QobjMeasurementOption`](qiskit.qobj.QobjMeasurementOption "qiskit.qobj.QobjMeasurementOption")(name\[, params]) | An individual measurement option. | -| [`PulseLibraryItem`](qiskit.qobj.PulseLibraryItem "qiskit.qobj.PulseLibraryItem")(name, samples) | An item in a pulse library. | +| [`PulseQobj`](qiskit.qobj.PulseQobj "qiskit.qobj.PulseQobj")(qobj\_id, config, experiments\[, header]) | A Pulse Qobj. | +| [`PulseQobjInstruction`](qiskit.qobj.PulseQobjInstruction "qiskit.qobj.PulseQobjInstruction")(name, t0\[, ch, ...]) | A class representing a single instruction in an PulseQobj Experiment. | +| [`PulseQobjExperimentConfig`](qiskit.qobj.PulseQobjExperimentConfig "qiskit.qobj.PulseQobjExperimentConfig")(\[qubit\_lo\_freq, ...]) | A config for a single Pulse experiment in the qobj. | +| [`PulseQobjExperiment`](qiskit.qobj.PulseQobjExperiment "qiskit.qobj.PulseQobjExperiment")(instructions\[, config, ...]) | A Pulse Qobj Experiment. | +| [`PulseQobjConfig`](qiskit.qobj.PulseQobjConfig "qiskit.qobj.PulseQobjConfig")(meas\_level, meas\_return, ...) | A configuration for a Pulse Qobj. | +| [`QobjMeasurementOption`](qiskit.qobj.QobjMeasurementOption "qiskit.qobj.QobjMeasurementOption")(name\[, params]) | An individual measurement option. | +| [`PulseLibraryItem`](qiskit.qobj.PulseLibraryItem "qiskit.qobj.PulseLibraryItem")(name, samples) | An item in a pulse library. | diff --git a/docs/api/qiskit/qpy.md b/docs/api/qiskit/qpy.md index b7e14c1bdc..5bcb9482ea 100644 --- a/docs/api/qiskit/qpy.md +++ b/docs/api/qiskit/qpy.md @@ -57,7 +57,7 @@ and then loading that file will return a list with all the circuits -`qiskit.qpy.load(file_obj, metadata_deserializer=None)` +`qiskit.qpy.load(file_obj, metadata_deserializer=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qpy/interface.py "view source code") Load a QPY binary file @@ -102,7 +102,7 @@ The list of Qiskit programs contained in the QPY data. A list is always returned -`qiskit.qpy.dump(programs, file_obj, metadata_serializer=None, use_symengine=False)` +`qiskit.qpy.dump(programs, file_obj, metadata_serializer=None, use_symengine=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qpy/interface.py "view source code") Write QPY binary data to a file @@ -154,7 +154,7 @@ These functions will raise a custom subclass of [`QiskitError`](exceptions#qiski -`qiskit.qpy.QpyError(*message)` +`qiskit.qpy.QpyError(*message)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/qpy/exceptions.py "view source code") Errors raised by the qpy module. @@ -439,7 +439,7 @@ The only change compared to [Version 5](#qpy-version-5) is the addition of class Version 5 changes from [Version 4](#qpy-version-4) by adding support for `ScheduleBlock` and changing two payloads the INSTRUCTION metadata payload and the CUSTOM\_INSTRUCTION block. These now have new fields to better account for [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate") objects in a circuit. In addition, new payload MAP\_ITEM is defined to implement the [MAPPING](#qpy-mapping) block. -With the support of `ScheduleBlock`, now [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") can be serialized together with [`calibrations`](qiskit.circuit.QuantumCircuit#calibrations "qiskit.circuit.QuantumCircuit.calibrations"), or [Pulse Gates](https://qiskit.org/documentation/tutorials/circuits_advanced/05_pulse_gates.html). In QPY version 5 and above, [CIRCUIT\_CALIBRATIONS](#qpy-circuit-calibrations) payload is packed after the [INSTRUCTIONS](#qpy-instructions) block. +With the support of `ScheduleBlock`, now [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") can be serialized together with [`calibrations`](qiskit.circuit.QuantumCircuit#calibrations "qiskit.circuit.QuantumCircuit.calibrations"), or [Pulse Gates](https://docs.quantum-computing.ibm.com/build/pulse). In QPY version 5 and above, [CIRCUIT\_CALIBRATIONS](#qpy-circuit-calibrations) payload is packed after the [INSTRUCTIONS](#qpy-instructions) block. In QPY version 5 and above, diff --git a/docs/api/qiskit/quantum_info.md b/docs/api/qiskit/quantum_info.md index 2c48c9c406..68204a153c 100644 --- a/docs/api/qiskit/quantum_info.md +++ b/docs/api/qiskit/quantum_info.md @@ -24,14 +24,14 @@ python_api_name: qiskit.quantum_info | | | | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | -| [`Operator`](qiskit.quantum_info.Operator "qiskit.quantum_info.Operator")(data\[, input\_dims, output\_dims]) | Matrix operator class | +| [`Operator`](qiskit.quantum_info.Operator "qiskit.quantum_info.Operator")(data\[, input\_dims, output\_dims]) | Matrix operator class | | [`Pauli`](qiskit.quantum_info.Pauli "qiskit.quantum_info.Pauli")(\[data]) | N-qubit Pauli operator. | -| [`Clifford`](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford")(data\[, validate, copy]) | An N-qubit unitary operator from the Clifford group. | -| [`ScalarOp`](qiskit.quantum_info.ScalarOp "qiskit.quantum_info.ScalarOp")(\[dims, coeff]) | Scalar identity operator class. | -| [`SparsePauliOp`](qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp")(data\[, coeffs, ...]) | Sparse N-qubit operator in a Pauli basis representation. | -| [`CNOTDihedral`](qiskit.quantum_info.CNOTDihedral "qiskit.quantum_info.CNOTDihedral")(\[data, num\_qubits, validate]) | An N-qubit operator from the CNOT-Dihedral group. | +| [`Clifford`](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford")(data\[, validate, copy]) | An N-qubit unitary operator from the Clifford group. | +| [`ScalarOp`](qiskit.quantum_info.ScalarOp "qiskit.quantum_info.ScalarOp")(\[dims, coeff]) | Scalar identity operator class. | +| [`SparsePauliOp`](qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp")(data\[, coeffs, ...]) | Sparse N-qubit operator in a Pauli basis representation. | +| [`CNOTDihedral`](qiskit.quantum_info.CNOTDihedral "qiskit.quantum_info.CNOTDihedral")(\[data, num\_qubits, validate]) | An N-qubit operator from the CNOT-Dihedral group. | | [`PauliList`](qiskit.quantum_info.PauliList "qiskit.quantum_info.PauliList")(data) | List of N-qubit Pauli operators. | -| [`pauli_basis`](qiskit.quantum_info.pauli_basis "qiskit.quantum_info.pauli_basis")(num\_qubits\[, weight]) | Return the ordered PauliList for the n-qubit Pauli basis. | +| [`pauli_basis`](qiskit.quantum_info.pauli_basis "qiskit.quantum_info.pauli_basis")(num\_qubits\[, weight]) | Return the ordered PauliList for the n-qubit Pauli basis. | @@ -39,36 +39,38 @@ python_api_name: qiskit.quantum_info | | | | ----------------------------------------------------------------------------------------------------------------- | ---------------------- | -| [`Statevector`](qiskit.quantum_info.Statevector "qiskit.quantum_info.Statevector")(data\[, dims]) | Statevector class | -| [`DensityMatrix`](qiskit.quantum_info.DensityMatrix "qiskit.quantum_info.DensityMatrix")(data\[, dims]) | DensityMatrix class | -| [`StabilizerState`](qiskit.quantum_info.StabilizerState "qiskit.quantum_info.StabilizerState")(data\[, validate]) | StabilizerState class. | +| [`Statevector`](qiskit.quantum_info.Statevector "qiskit.quantum_info.Statevector")(data\[, dims]) | Statevector class | +| [`DensityMatrix`](qiskit.quantum_info.DensityMatrix "qiskit.quantum_info.DensityMatrix")(data\[, dims]) | DensityMatrix class | +| [`StabilizerState`](qiskit.quantum_info.StabilizerState "qiskit.quantum_info.StabilizerState")(data\[, validate]) | StabilizerState class. | ## Channels | | | | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | -| [`Choi`](qiskit.quantum_info.Choi "qiskit.quantum_info.Choi")(data\[, input\_dims, output\_dims]) | Choi-matrix representation of a Quantum Channel. | -| [`SuperOp`](qiskit.quantum_info.SuperOp "qiskit.quantum_info.SuperOp")(data\[, input\_dims, output\_dims]) | Superoperator representation of a quantum channel. | -| [`Kraus`](qiskit.quantum_info.Kraus "qiskit.quantum_info.Kraus")(data\[, input\_dims, output\_dims]) | Kraus representation of a quantum channel. | -| [`Stinespring`](qiskit.quantum_info.Stinespring "qiskit.quantum_info.Stinespring")(data\[, input\_dims, output\_dims]) | Stinespring representation of a quantum channel. | -| [`Chi`](qiskit.quantum_info.Chi "qiskit.quantum_info.Chi")(data\[, input\_dims, output\_dims]) | Pauli basis Chi-matrix representation of a quantum channel. | -| [`PTM`](qiskit.quantum_info.PTM "qiskit.quantum_info.PTM")(data\[, input\_dims, output\_dims]) | Pauli Transfer Matrix (PTM) representation of a Quantum Channel. | +| [`Choi`](qiskit.quantum_info.Choi "qiskit.quantum_info.Choi")(data\[, input\_dims, output\_dims]) | Choi-matrix representation of a Quantum Channel. | +| [`SuperOp`](qiskit.quantum_info.SuperOp "qiskit.quantum_info.SuperOp")(data\[, input\_dims, output\_dims]) | Superoperator representation of a quantum channel. | +| [`Kraus`](qiskit.quantum_info.Kraus "qiskit.quantum_info.Kraus")(data\[, input\_dims, output\_dims]) | Kraus representation of a quantum channel. | +| [`Stinespring`](qiskit.quantum_info.Stinespring "qiskit.quantum_info.Stinespring")(data\[, input\_dims, output\_dims]) | Stinespring representation of a quantum channel. | +| [`Chi`](qiskit.quantum_info.Chi "qiskit.quantum_info.Chi")(data\[, input\_dims, output\_dims]) | Pauli basis Chi-matrix representation of a quantum channel. | +| [`PTM`](qiskit.quantum_info.PTM "qiskit.quantum_info.PTM")(data\[, input\_dims, output\_dims]) | Pauli Transfer Matrix (PTM) representation of a Quantum Channel. | ## Measures -`qiskit.quantum_info.average_gate_fidelity(channel, target=None, require_cp=True, require_tp=False)` +`qiskit.quantum_info.average_gate_fidelity(channel, target=None, require_cp=True, require_tp=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/operators/measures.py "view source code") Return the average gate fidelity of a noisy quantum channel. The average gate fidelity $F_{\text{ave}}$ is given by $$ -\begin{split}F_{\text{ave}}(\mathcal{E}, U) +F_{\text{ave}}(\mathcal{E}, U) &= \int d\psi \langle\psi|U^\dagger \mathcal{E}(|\psi\rangle\!\langle\psi|)U|\psi\rangle \\ - &= \frac{d F_{\text{pro}}(\mathcal{E}, U) + 1}{d + 1}\end{split} + &= \frac{d F_{\text{pro}}(\mathcal{E}, U) + 1}{d + 1} + + $$ where $F_{\text{pro}}(\mathcal{E}, U)$ is the [`process_fidelity()`](#qiskit.quantum_info.process_fidelity "qiskit.quantum_info.process_fidelity") of the input quantum *channel* $\mathcal{E}$ with a *target* unitary $U$, and $d$ is the dimension of the *channel*. @@ -94,7 +96,7 @@ The average gate fidelity $F_{\text{ave}}$. -`qiskit.quantum_info.process_fidelity(channel, target=None, require_cp=True, require_tp=True)` +`qiskit.quantum_info.process_fidelity(channel, target=None, require_cp=True, require_tp=True)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/operators/measures.py "view source code") Return the process fidelity of a noisy quantum channel. @@ -103,6 +105,8 @@ The process fidelity $F_{\text{pro}}(\mathcal{E}, \mathcal{F})$ between two quan $$ F_{\text{pro}}(\mathcal{E}, \mathcal{F}) = F(\rho_{\mathcal{E}}, \rho_{\mathcal{F}}) + + $$ where $F$ is the [`state_fidelity()`](#qiskit.quantum_info.state_fidelity "qiskit.quantum_info.state_fidelity"), $\rho_{\mathcal{E}} = \Lambda_{\mathcal{E}} / d$ is the normalized [`Choi`](qiskit.quantum_info.Choi "qiskit.quantum_info.Choi") matrix for the channel $\mathcal{E}$, and $d$ is the input dimension of $\mathcal{E}$. @@ -112,6 +116,8 @@ When the target channel is unitary this is equivalent to $$ F_{\text{pro}}(\mathcal{E}, U) = \frac{Tr[S_U^\dagger S_{\mathcal{E}}]}{d^2} + + $$ where $S_{\mathcal{E}}, S_{U}$ are the [`SuperOp`](qiskit.quantum_info.SuperOp "qiskit.quantum_info.SuperOp") matrices for the *input* quantum channel $\mathcal{E}$ and *target* unitary $U$ respectively, and $d$ is the input dimension of the channel. @@ -137,7 +143,7 @@ The process fidelity $F_{\text{pro}}$. -`qiskit.quantum_info.gate_error(channel, target=None, require_cp=True, require_tp=False)` +`qiskit.quantum_info.gate_error(channel, target=None, require_cp=True, require_tp=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/operators/measures.py "view source code") Return the gate error of a noisy quantum channel. @@ -145,6 +151,8 @@ The gate error $E$ is given by the average gate infidelity $$ E(\mathcal{E}, U) = 1 - F_{\text{ave}}(\mathcal{E}, U) + + $$ where $F_{\text{ave}}(\mathcal{E}, U)$ is the [`average_gate_fidelity()`](#qiskit.quantum_info.average_gate_fidelity "qiskit.quantum_info.average_gate_fidelity") of the input quantum *channel* $\mathcal{E}$ with a *target* unitary $U$. @@ -170,7 +178,7 @@ The average gate error $E$. -`qiskit.quantum_info.diamond_norm(choi, solver='SCS', **kwargs)` +`qiskit.quantum_info.diamond_norm(choi, solver='SCS', **kwargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/operators/measures.py "view source code") Return the diamond norm of the input quantum channel object. @@ -208,7 +216,7 @@ J. Watrous. “Simpler semidefinite programs for completely bounded norms”, ar -`qiskit.quantum_info.state_fidelity(state1, state2, validate=True)` +`qiskit.quantum_info.state_fidelity(state1, state2, validate=True)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/states/measures.py "view source code") Return the state fidelity between two quantum states. @@ -216,6 +224,8 @@ The state fidelity $F$ for density matrix input states $\rho_1, \rho_2$ is given $$ F(\rho_1, \rho_2) = Tr[\sqrt{\sqrt{\rho_1}\rho_2\sqrt{\rho_1}}]^2. + + $$ If one of the states is a pure state this simplifies to $F(\rho_1, \rho_2) = \langle\psi_1|\rho_2|\psi_1\rangle$, where $\rho_1 = |\psi_1\rangle\!\langle\psi_1|$. @@ -240,7 +250,7 @@ The state fidelity $F(\rho_1, \rho_2)$. -`qiskit.quantum_info.purity(state, validate=True)` +`qiskit.quantum_info.purity(state, validate=True)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/states/measures.py "view source code") Calculate the purity of a quantum state. @@ -269,7 +279,7 @@ the purity $Tr[\rho^2]$. -`qiskit.quantum_info.concurrence(state)` +`qiskit.quantum_info.concurrence(state)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/states/measures.py "view source code") Calculate the concurrence of a quantum state. @@ -309,7 +319,7 @@ The concurrence. -`qiskit.quantum_info.entropy(state, base=2)` +`qiskit.quantum_info.entropy(state, base=2)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/states/measures.py "view source code") Calculate the von-Neumann entropy of a quantum state. @@ -338,7 +348,7 @@ The von-Neumann entropy S(rho). -`qiskit.quantum_info.entanglement_of_formation(state)` +`qiskit.quantum_info.entanglement_of_formation(state)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/states/measures.py "view source code") Calculate the entanglement of formation of quantum state. @@ -364,7 +374,7 @@ The entanglement of formation. -`qiskit.quantum_info.mutual_information(state, base=2)` +`qiskit.quantum_info.mutual_information(state, base=2)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/states/measures.py "view source code") Calculate the mutual information of a bipartite state. @@ -398,7 +408,7 @@ The mutual information $I(\rho_{AB})$. -`qiskit.quantum_info.partial_trace(state, qargs)` +`qiskit.quantum_info.partial_trace(state, qargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/states/utils.py "view source code") Return reduced density matrix by tracing out part of quantum state. @@ -423,7 +433,7 @@ The reduced density matrix. -`qiskit.quantum_info.schmidt_decomposition(state, qargs)` +`qiskit.quantum_info.schmidt_decomposition(state, qargs)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/states/utils.py "view source code") Return the Schmidt Decomposition of a pure quantum state. @@ -432,6 +442,8 @@ For an arbitrary bipartite state: $$ |\psi\rangle_{AB} = \sum_{i,j} c_{ij} |x_i\rangle_A \otimes |y_j\rangle_B, + + $$ its Schmidt Decomposition is given by the single-index sum over k: @@ -439,6 +451,8 @@ its Schmidt Decomposition is given by the single-index sum over k: $$ |\psi\rangle_{AB} = \sum_{k} \lambda_{k} |u_k\rangle_A \otimes |v_k\rangle_B + + $$ where $|u_k\rangle_A$ and $|v_k\rangle_B$ are an orthonormal set of vectors in their respective spaces $A$ and $B$, and the Schmidt coefficients $\lambda_k$ are positive real values. @@ -467,7 +481,7 @@ list of tuples `(s, u, v)`, where `s` (float) are the Schmidt coefficients $\lam -`qiskit.quantum_info.shannon_entropy(pvec, base=2)` +`qiskit.quantum_info.shannon_entropy(pvec, base=2)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/states/utils.py "view source code") Compute the Shannon entropy of a probability vector. @@ -494,7 +508,7 @@ The Shannon entropy H(pvec). -`qiskit.quantum_info.commutator(a, b)` +`qiskit.quantum_info.commutator(a, b)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/operators/utils/commutator.py "view source code") Compute commutator of a and b. @@ -517,7 +531,7 @@ The commutator -`qiskit.quantum_info.anti_commutator(a, b)` +`qiskit.quantum_info.anti_commutator(a, b)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/operators/utils/anti_commutator.py "view source code") Compute anti-commutator of a and b. @@ -540,7 +554,7 @@ The anti-commutator -`qiskit.quantum_info.double_commutator(a, b, c, *, commutator=True)` +`qiskit.quantum_info.double_commutator(a, b, c, *, commutator=True)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/operators/utils/double_commutator.py "view source code") Compute symmetric double commutator of a, b and c. @@ -558,6 +572,8 @@ If commutator is False, it returns $$ \lbrace[A, B], C\rbrace/2 + \lbrace A, [B, C]\rbrace/2 = (2ABC - 2CBA - BAC + CAB - ACB + BCA)/2. + + $$ **Parameters** @@ -585,7 +601,7 @@ Methods of Molecular Quantum Mechanics. 2nd Edition, Academic Press, 1992. ISBN -`qiskit.quantum_info.random_statevector(dims, seed=None)` +`qiskit.quantum_info.random_statevector(dims, seed=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/states/random.py "view source code") Generator a random Statevector. @@ -610,7 +626,7 @@ K. Zyczkowski and H. Sommers (2001), “Induced measures in the space of mixed q -`qiskit.quantum_info.random_density_matrix(dims, rank=None, method='Hilbert-Schmidt', seed=None)` +`qiskit.quantum_info.random_density_matrix(dims, rank=None, method='Hilbert-Schmidt', seed=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/states/random.py "view source code") Generator a random DensityMatrix. @@ -635,7 +651,7 @@ the random density matrix. -`qiskit.quantum_info.random_unitary(dims, seed=None)` +`qiskit.quantum_info.random_unitary(dims, seed=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/operators/random.py "view source code") Return a random unitary Operator. @@ -656,7 +672,7 @@ a unitary operator. -`qiskit.quantum_info.random_hermitian(dims, traceless=False, seed=None)` +`qiskit.quantum_info.random_hermitian(dims, traceless=False, seed=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/operators/random.py "view source code") Return a random hermitian Operator. @@ -678,7 +694,7 @@ a Hermitian operator. -`qiskit.quantum_info.random_pauli(num_qubits, group_phase=False, seed=None)` +`qiskit.quantum_info.random_pauli(num_qubits, group_phase=False, seed=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/operators/symplectic/random.py "view source code") Return a random Pauli. @@ -698,7 +714,7 @@ a random Pauli -`qiskit.quantum_info.random_clifford(num_qubits, seed=None)` +`qiskit.quantum_info.random_clifford(num_qubits, seed=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/operators/symplectic/random.py "view source code") Return a random Clifford operator. @@ -723,7 +739,7 @@ a random Clifford operator. -`qiskit.quantum_info.random_quantum_channel(input_dims=None, output_dims=None, rank=None, seed=None)` +`qiskit.quantum_info.random_quantum_channel(input_dims=None, output_dims=None, rank=None, seed=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/operators/random.py "view source code") Return a random CPTP quantum channel. @@ -750,7 +766,7 @@ a quantum channel operator. -`qiskit.quantum_info.random_cnotdihedral(num_qubits, seed=None)` +`qiskit.quantum_info.random_cnotdihedral(num_qubits, seed=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/operators/dihedral/random.py "view source code") Return a random CNOTDihedral element. @@ -769,7 +785,7 @@ a random CNOTDihedral element. -`qiskit.quantum_info.random_pauli_list(num_qubits, size=1, seed=None, phase=True)` +`qiskit.quantum_info.random_pauli_list(num_qubits, size=1, seed=None, phase=True)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/operators/symplectic/random.py "view source code") Return a random PauliList. @@ -792,7 +808,7 @@ a random PauliList. -`qiskit.quantum_info.hellinger_distance(dist_p, dist_q)` +`qiskit.quantum_info.hellinger_distance(dist_p, dist_q)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/analysis/distance.py "view source code") Computes the Hellinger distance between two counts distributions. @@ -815,7 +831,7 @@ Distance -`qiskit.quantum_info.hellinger_fidelity(dist_p, dist_q)` +`qiskit.quantum_info.hellinger_fidelity(dist_p, dist_q)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/analysis/distance.py "view source code") Computes the Hellinger fidelity between two counts distributions. @@ -863,16 +879,16 @@ hellinger_fidelity(res1.get_counts(), res2.get_counts()) | | | | ----------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| [`Z2Symmetries`](qiskit.quantum_info.Z2Symmetries "qiskit.quantum_info.Z2Symmetries")(symmetries, sq\_paulis, sq\_list) | The \$Z\_2\$ symmetry converter identifies symmetries from the problem hamiltonian and uses them to provide a tapered - more efficient - representation of operators as Paulis for this problem. | +| [`Z2Symmetries`](qiskit.quantum_info.Z2Symmetries "qiskit.quantum_info.Z2Symmetries")(symmetries, sq\_paulis, sq\_list) | The \$Z\_2\$ symmetry converter identifies symmetries from the problem hamiltonian and uses them to provide a tapered - more efficient - representation of operators as Paulis for this problem. | ## Synthesis | | | | ------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [`OneQubitEulerDecomposer`](qiskit.quantum_info.OneQubitEulerDecomposer "qiskit.quantum_info.OneQubitEulerDecomposer")(\[basis, use\_dag]) | A class for decomposing 1-qubit unitaries into Euler angle rotations. | -| [`TwoQubitBasisDecomposer`](qiskit.quantum_info.TwoQubitBasisDecomposer "qiskit.quantum_info.TwoQubitBasisDecomposer")(gate\[, ...]) | A class for decomposing 2-qubit unitaries into minimal number of uses of a 2-qubit basis gate. | +| [`OneQubitEulerDecomposer`](qiskit.quantum_info.OneQubitEulerDecomposer "qiskit.quantum_info.OneQubitEulerDecomposer")(\[basis, use\_dag]) | A class for decomposing 1-qubit unitaries into Euler angle rotations. | +| [`TwoQubitBasisDecomposer`](qiskit.quantum_info.TwoQubitBasisDecomposer "qiskit.quantum_info.TwoQubitBasisDecomposer")(gate\[, ...]) | A class for decomposing 2-qubit unitaries into minimal number of uses of a 2-qubit basis gate. | | [`Quaternion`](qiskit.quantum_info.Quaternion "qiskit.quantum_info.Quaternion")(data) | A class representing a Quaternion. | -| [`XXDecomposer`](qiskit.quantum_info.XXDecomposer "qiskit.quantum_info.XXDecomposer")(\[basis\_fidelity, euler\_basis, ...]) | A class for optimal decomposition of 2-qubit unitaries into 2-qubit basis gates of XX type (i.e., each locally equivalent to CAN(alpha, 0, 0) for a possibly varying alpha). | +| [`XXDecomposer`](qiskit.quantum_info.XXDecomposer "qiskit.quantum_info.XXDecomposer")(\[basis\_fidelity, euler\_basis, ...]) | A class for optimal decomposition of 2-qubit unitaries into 2-qubit basis gates of XX type (i.e., each locally equivalent to CAN(alpha, 0, 0) for a possibly varying alpha). | @@ -884,7 +900,7 @@ hellinger_fidelity(res1.get_counts(), res2.get_counts()) -`qiskit.quantum_info.decompose_clifford(clifford, method=None)` +`qiskit.quantum_info.decompose_clifford(clifford, method=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/quantum_info/synthesis/clifford_decompose.py "view source code") DEPRECATED: Decompose a Clifford operator into a QuantumCircuit. diff --git a/docs/api/qiskit/release-notes/0.45.md b/docs/api/qiskit/release-notes/0.45.md index a3193ed273..c6c84f8f01 100644 --- a/docs/api/qiskit/release-notes/0.45.md +++ b/docs/api/qiskit/release-notes/0.45.md @@ -16,60 +16,132 @@ This page contains the release notes for Qiskit 0.45, the first release after th -## 0.45.0 +## 0.45.1-18 + + + +### Bug Fixes + +* Calling [`copy()`](/api/qiskit/qiskit.circuit.QuantumCircuit#copy "qiskit.circuit.QuantumCircuit.copy") or [`copy_empty_like()`](/api/qiskit/qiskit.circuit.QuantumCircuit#copy_empty_like "qiskit.circuit.QuantumCircuit.copy_empty_like") on a :class:¬.BlueprintCircuit\` will now correctly propagate the [`global_phase`](/api/qiskit/qiskit.circuit.QuantumCircuit#global_phase "qiskit.circuit.QuantumCircuit.global_phase") to the copy. Previously, the global phase would always be zero after the copy. + +* Fixed an issue in the `mpl` circuit drawer where the text would print beyond the end of the box for a [`SwitchCaseOp`](/api/qiskit/qiskit.circuit.SwitchCaseOp "qiskit.circuit.SwitchCaseOp") if the default case was empty. + +* The qubit-argument broadcasting of [`QuantumCircuit.delay()`](/api/qiskit/qiskit.circuit.QuantumCircuit#delay "qiskit.circuit.QuantumCircuit.delay") now correctly produces individual [`Delay`](/api/qiskit/qiskit.circuit.Delay "qiskit.circuit.Delay") instructions for each qubit, as intended. Previously, when given certain iterables (such as [`set`](https://docs.python.org/3/library/stdtypes.html#set "(in Python v3.12)")s), it would instead silently produce an invalid circuit that might fail in unusual locations. - +* Fixed an issue with the [`Optimize1qGatesDecomposition`](/api/qiskit/qiskit.transpiler.passes.Optimize1qGatesDecomposition "qiskit.transpiler.passes.Optimize1qGatesDecomposition") transpiler pass where it would potentially resynthesize a single ideal (meaning the error rate is `0.0`) gate which was present in the [`Target`](/api/qiskit/qiskit.transpiler.Target "qiskit.transpiler.Target"). This is now fixed so the pass [`Optimize1qGatesDecomposition`](/api/qiskit/qiskit.transpiler.passes.Optimize1qGatesDecomposition "qiskit.transpiler.passes.Optimize1qGatesDecomposition") will defer to the circuit’s gate if the error rate (which includes number of gates) are the same. Fixed [#10568](https://github.com/Qiskit/qiskit/issues/10568) + +* Fixed an issue with the `OptimizeSwapBeforeMeasure` pass where it would incorrectly optimize circuits involving swap and measure instructions. This commit fixes the bug by changing DAGCircuit.successors to DAGCircuit.descendants. Also, added a couple of extra tests to ensure that the bug is fixed. For example: + + ```python + from qiskit import QuantumCircuit + from qiskit.transpiler.passes import OptimizeSwapBeforeMeasure + pass_ = OptimizeSwapBeforeMeasure() + qc = QuantumCircuit(2, 1) + qc.swap(0, 1) + qc.measure(0, 0) + qc.measure(0, 0) + print(qc.draw()) + print(pass_(qc).draw()) + ``` + + would previously print: + + ```python + ┌─┐┌─┐ + q_0: ─X─┤M├┤M├ + │ └╥┘└╥┘ + q_1: ─X──╫──╫─ + ║ ║ + c: 1/════╩══╩═ + 0 0 + ┌─┐ + q_0: ┤M├─── + └╥┘┌─┐ + q_1: ─╫─┤M├ + ║ └╥┘ + c: 1/═╩══╩═ + 0 0 + ``` + + and now the second ciruit is correctly optimized to: + + ```python + q_0: ────── + ┌─┐┌─┐ + q_1: ┤M├┤M├ + └╥┘└╥┘ + c: 1/═╩══╩═ + 0 0 + ``` + +* Fix a bug in the [`StabilizerState`](/api/qiskit/qiskit.quantum_info.StabilizerState "qiskit.quantum_info.StabilizerState") string representation. + + + + + +## 0.45.1 + + ### Prelude -Qiskit 0.45.0 is the last feature release before 1.0. It prepares the ground for the API changes we are planning for our first major version release, including many removals of previously deprecated functionality as well as a series of new deprecations. +Qiskit Terra 0.45.1 is a small patch release, fixing several bugs found in the 0.45 release series. It is also the first release to have official support for Python 3.12. The 0.45.1 release supports Python 3.8, 3.9, 3.10, 3.11, and 3.12. - - If your project depends on Qiskit, it may rely on functionality that will no longer be supported in Qiskit 1.0. For this reason, we recommend that you proactively cap your supported version to `<1.0`. - + -Some feature highlights of Qiskit 0.45.0 are: +### New Features -* Starting in this release, all unparametrized gates in the Qiskit standard circuit library are now **singletons**. By default, these gates share a single instance in memory, so once a gate of a specific type, let’s say [`XGate`](/api/qiskit/qiskit.circuit.library.XGate "qiskit.circuit.library.XGate"), is instantiated, any subsequent instances of [`XGate`](/api/qiskit/qiskit.circuit.library.XGate "qiskit.circuit.library.XGate") will be a reference to the first one. This results in a reduced memory usage and construction overhead when using multiple gates of the same type in a circuit. To realize this feature, new base classes have been introduced: [`SingletonInstruction`](/api/qiskit/circuit_singleton#qiskit.circuit.singleton.SingletonInstruction "qiskit.circuit.singleton.SingletonInstruction") and [`SingletonGate`](/api/qiskit/circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate"). See feature notes for more details. -* We have added a new **generic pass manager interface** that can be found in the new [`qiskit.passmanager`](/api/qiskit/passmanager#module-qiskit.passmanager "qiskit.passmanager") module. This is a generalization of the pass manager that was used to build the Qiskit transpiler, and it introduces a generic framework to enable users to create new pass managers that use different intermediate representations (IRs). The module includes a generic pass manager base class, flow controllers, and the necessary infrastructure to manage the execution of pass manager tasks. The new interface was used to rebuild the existing pass manager in the [`qiskit.transpiler`](/api/qiskit/transpiler#module-qiskit.transpiler "qiskit.transpiler") module, cleaning up technical debt in the code, and improving usability and performance. See feature and upgrade notes for more details. -* 0.45.0 allows users to better interact with the **layout permutations** performed by the transpiler. The data contained in the [`TranspileLayout`](/api/qiskit/qiskit.transpiler.TranspileLayout "qiskit.transpiler.TranspileLayout") class is now more accessible through a series of new methods and attributes. And a new [`SparsePauliOp.apply_layout()`](/api/qiskit/qiskit.quantum_info.SparsePauliOp#apply_layout "qiskit.quantum_info.SparsePauliOp.apply_layout") method allows to apply a specific layout permutation to a [`SparsePauliOp`](/api/qiskit/qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp") observable that was built for an input circuit to the transpiler. See feature notes for more details. -* Finally, we have introduced **annotated operations** with the new [`AnnotatedOperation`](/api/qiskit/qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") class, which allows to formulate complex circuit instructions as a base instruction with a set of modifiers. For example, instead of a specific operation type that implements the controlled inverse of a [`RXGate`](/api/qiskit/qiskit.circuit.library.RXGate "qiskit.circuit.library.RXGate"), we can now use an annotated [`RXGate`](/api/qiskit/qiskit.circuit.library.RXGate "qiskit.circuit.library.RXGate") with inverse and control attributes. See feature notes for more details. +* Added support for using Qiskit with Python 3.12. As of this release Qiskit supports running with Python versions 3.8, 3.9, 3.10, 3.11, and 3.12. - + + + ### Bug Fixes -* The use of the (deprecated) `Optimizer` class on [`AQC`](/api/qiskit/qiskit.transpiler.synthesis.aqc.AQC "qiskit.transpiler.synthesis.aqc.AQC") did not have a non-deprecated alternative path, which should have been introduced in Qiskit 0.44. It now accepts a callable that implements the [`Minimizer`](/api/qiskit/qiskit.algorithms.optimizers.Minimizer "qiskit.algorithms.optimizers.Minimizer") protocol, as explicitly stated in the deprecation warning. The callable can look like the following example: +* [`QuantumCircuit.barrier()`](/api/qiskit/qiskit.circuit.QuantumCircuit#barrier "qiskit.circuit.QuantumCircuit.barrier") will now generate correct output when given a [`set`](https://docs.python.org/3/library/stdtypes.html#set "(in Python v3.12)") as one of its inputs. Previously, it would append an invalid operation onto the circuit, though in practice this usually would not cause observable problems. Fixed [#11208](https://github.com/Qiskit/qiskit/issues/11208) - > ```python - > from scipy.optimize import minimize - > from qiskit.transpiler.synthesis.aqc.aqc import AQC - > - > optimizer = partial(minimize, args=(), method="L-BFGS-B", options={"maxiter": 200}) - > aqc = AQC(optimizer=optimizer) - > ``` +* The property [`Instruction.condition_bits`](/api/qiskit/qiskit.circuit.Instruction#condition_bits "qiskit.circuit.Instruction.condition_bits") will now correctly handle runtime classical expressions ([`qiskit.circuit.classical`](/api/qiskit/circuit_classical#module-qiskit.circuit.classical "qiskit.circuit.classical")). -* Fixed an issue with the [`Barrier`](/api/qiskit/qiskit.circuit.library.Barrier "qiskit.circuit.library.Barrier") class. When adding a [`Barrier`](/api/qiskit/qiskit.circuit.library.Barrier "qiskit.circuit.library.Barrier") instance to a [`QuantumCircuit`](/api/qiskit/qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") with the [`QuantumCircuit.append()`](/api/qiskit/qiskit.circuit.QuantumCircuit#append "qiskit.circuit.QuantumCircuit.append") method previously there was no validation that the size of the barrier matched the qargs specified. +* Fixed the [`hash()`](https://docs.python.org/3/library/functions.html#hash "(in Python v3.12)") of Qiskit Pulse `Channel` objects (such as [`DriveChannel`](/api/qiskit/qiskit.pulse.channels.DriveChannel "qiskit.pulse.channels.DriveChannel")) in cases where the channel was transferred from one Python process to another that used a different hash seed. -* The `BlockCollapser` transpiler pass will now correctly handle circuits that contain more than one condition on the same classical register. +* Conditioned custom gates imported from OpenQASM 2 will now correctly retain their conditions when pickled and deep-copied. Previously, any conditional custom gate (defined by a `gate` statement in an OpenQASM 2 file) would lose its condition when copied or pickled. -* `BlueprintCircuit` subclasses will now behave correctly when the semi-public method `QuantumCircuit._append()` is used with the blueprint in an unbuilt state, *i.e.* the circuit will be built before attempting the append. +* Fixed QPY deserialization of the [`StatePreparation`](/api/qiskit/qiskit.circuit.library.StatePreparation "qiskit.circuit.library.StatePreparation") and [`Initialize`](/api/qiskit/qiskit.circuit.library.Initialize "qiskit.circuit.library.Initialize") circuit instructions with string and integer parameters (as opposed to an explicit statevector, which was already working). Fixed [#11158](https://github.com/Qiskit/qiskit/issues/11158). -* Adjusted zoom, fontsize, and margins in [`plot_state_city()`](/api/qiskit/qiskit.visualization.plot_state_city "qiskit.visualization.plot_state_city") to fit the plot better for more figure sizes. Corrected the Z-ordering behavior of bars and the zero-amplitude plane, and corrected display of negative real value bars. +* Fixed a bug in [`SabreLayout`](/api/qiskit/qiskit.transpiler.passes.SabreLayout "qiskit.transpiler.passes.SabreLayout") where it would fail to add the register information to the [`Layout`](/api/qiskit/qiskit.transpiler.Layout "qiskit.transpiler.Layout") object used for [`TranspileLayout.initial_layout`](/api/qiskit/qiskit.transpiler.TranspileLayout#initial_layout "qiskit.transpiler.TranspileLayout.initial_layout"). This affected circuit visualization with [`QuantumCircuit.draw()`](/api/qiskit/qiskit.circuit.QuantumCircuit#draw "qiskit.circuit.QuantumCircuit.draw") and [`circuit_drawer()`](/api/qiskit/qiskit.visualization.circuit_drawer "qiskit.visualization.circuit_drawer") after transpilation which would show a virtual qubit label of the form `Qubit[QuantumRegister(6, 'q', 0)]` rather than the expected virtual qubit label using the register name (e.g. `q0`). Fixed [#11038](https://github.com/Qiskit/qiskit/issues/11038) - +* Fixed an issue with [`qpy.dump()`](/api/qiskit/qpy#qiskit.qpy.dump "qiskit.qpy.dump") which would cause the function to potentially ignore the value of `use_symengine` when serializing a [`ScheduleBlock`](/api/qiskit/qiskit.pulse.ScheduleBlock "qiskit.pulse.ScheduleBlock") object. This would result in an invalid QPY payload being generated as it would report it was using symengine for symbolic expressions but actually contain sympy serialized data. -### Other Notes +* Fixed a bug which caused [`UnitaryOverlap`](/api/qiskit/qiskit.circuit.library.UnitaryOverlap "qiskit.circuit.library.UnitaryOverlap") to error upon initialization if given an input circuit containing a barrier. -* Modified the behavior of the [`VF2Layout`](/api/qiskit/qiskit.transpiler.passes.VF2Layout "qiskit.transpiler.passes.VF2Layout") and [`VF2PostLayout`](/api/qiskit/qiskit.transpiler.passes.VF2PostLayout "qiskit.transpiler.passes.VF2PostLayout") transpiler passes, which would previously run their internal scoring using multithreading if the input circuits were sufficiently large. The multithreading usage has now been removed from the passes, as it was shown to cause a performance regression instead of an improvement like originally intended. + + + + +## 0.45.0 - + - + + +### Prelude + +Qiskit 0.45.0 is the last feature release before 1.0. It prepares the ground for the API changes we are planning for our first major version release, including many removals of previously deprecated functionality as well as a series of new deprecations. + + + If your project depends on Qiskit, it may rely on functionality that will no longer be supported in Qiskit 1.0. For this reason, we recommend that you proactively cap your supported version to `<1.0`. + -## 0.45.0rc1 +Some feature highlights of Qiskit 0.45.0 are: - +* Starting in this release, all unparametrized gates in the Qiskit standard circuit library are now **singletons**. By default, these gates share a single instance in memory, so once a gate of a specific type, let’s say [`XGate`](/api/qiskit/qiskit.circuit.library.XGate "qiskit.circuit.library.XGate"), is instantiated, any subsequent instances of [`XGate`](/api/qiskit/qiskit.circuit.library.XGate "qiskit.circuit.library.XGate") will be a reference to the first one. This results in a reduced memory usage and construction overhead when using multiple gates of the same type in a circuit. To realize this feature, new base classes have been introduced: [`SingletonInstruction`](/api/qiskit/circuit_singleton#qiskit.circuit.singleton.SingletonInstruction "qiskit.circuit.singleton.SingletonInstruction") and [`SingletonGate`](/api/qiskit/circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate"). See feature notes for more details. +* We have added a new **generic pass manager interface** that can be found in the new [`qiskit.passmanager`](/api/qiskit/passmanager#module-qiskit.passmanager "qiskit.passmanager") module. This is a generalization of the pass manager that was used to build the Qiskit transpiler, and it introduces a generic framework to enable users to create new pass managers that use different intermediate representations (IRs). The module includes a generic pass manager base class, flow controllers, and the necessary infrastructure to manage the execution of pass manager tasks. The new interface was used to rebuild the existing pass manager in the [`qiskit.transpiler`](/api/qiskit/transpiler#module-qiskit.transpiler "qiskit.transpiler") module, cleaning up technical debt in the code, and improving usability and performance. See feature and upgrade notes for more details. +* 0.45.0 allows users to better interact with the **layout permutations** performed by the transpiler. The data contained in the [`TranspileLayout`](/api/qiskit/qiskit.transpiler.TranspileLayout "qiskit.transpiler.TranspileLayout") class is now more accessible through a series of new methods and attributes. And a new [`SparsePauliOp.apply_layout()`](/api/qiskit/qiskit.quantum_info.SparsePauliOp#apply_layout "qiskit.quantum_info.SparsePauliOp.apply_layout") method allows to apply a specific layout permutation to a [`SparsePauliOp`](/api/qiskit/qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp") observable that was built for an input circuit to the transpiler. See feature notes for more details. +* Finally, we have introduced **annotated operations** with the new [`AnnotatedOperation`](/api/qiskit/qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") class, which allows to formulate complex circuit instructions as a base instruction with a set of modifiers. For example, instead of a specific operation type that implements the controlled inverse of a [`RXGate`](/api/qiskit/qiskit.circuit.library.RXGate "qiskit.circuit.library.RXGate"), we can now use an annotated [`RXGate`](/api/qiskit/qiskit.circuit.library.RXGate "qiskit.circuit.library.RXGate") with inverse and control attributes. See feature notes for more details. + + ### Circuits Features @@ -171,7 +243,7 @@ Some feature highlights of Qiskit 0.45.0 are: * Added the [`UnitaryOverlap`](/api/qiskit/qiskit.circuit.library.UnitaryOverlap "qiskit.circuit.library.UnitaryOverlap") circuit to the Qiskit circuit library. It can be used to compute the fidelity of states generated by unitaries by looking at the probability of the output distribution in the all-zeros state or, equivalently, by computing the expectation value of the projector onto the all-zeros state. This is useful in applications such as machine learning, and computing excited states in quantum chemistry, to name a few. - + ### Pulse Features @@ -191,7 +263,7 @@ Some feature highlights of Qiskit 0.45.0 are: Since [`BackendV2`](/api/qiskit/qiskit.providers.BackendV2 "qiskit.providers.BackendV2") was not supported by the [`schedule()`](/api/qiskit/compiler#qiskit.compiler.schedule "qiskit.compiler.schedule") function, this caused the `schedule()` method to error out when the `backend` argument was supplied with an instance of [`BackendV2`](/api/qiskit/qiskit.providers.BackendV2 "qiskit.providers.BackendV2"). Refer to [#10837](https://github.com/Qiskit/qiskit/issues/10837) for more information. - + ### OpenQASM Features @@ -208,7 +280,7 @@ Some feature highlights of Qiskit 0.45.0 are: The new functions stem from the same code as [`QuantumCircuit.qasm()`](/api/qiskit/qiskit.circuit.QuantumCircuit#qasm "qiskit.circuit.QuantumCircuit.qasm"), which will slowly be phased out and replaced with the new paths, to provide a more coherent interface when compared to the OpenQASM 3 ([`qiskit.qasm3`](/api/qiskit/qasm3#module-qiskit.qasm3 "qiskit.qasm3")) and QPY ([`qiskit.qpy`](/api/qiskit/qpy#module-qiskit.qpy "qiskit.qpy")) modules. This is particularly important since the method name [`qasm()`](/api/qiskit/qiskit.circuit.QuantumCircuit#qasm "qiskit.circuit.QuantumCircuit.qasm") gave no indication of the OpenQASM version, and since it was originally added, Qiskit has gained several serialisation modules that could easily become confused. - + ### QPY Features @@ -235,7 +307,7 @@ Some feature highlights of Qiskit 0.45.0 are: new_qc = qpy.load(fd)[0] ``` - + ### Quantum Information Features @@ -265,12 +337,14 @@ Some feature highlights of Qiskit 0.45.0 are: where an input circuit is transpiled locally before it’s passed to `run`. Transpilation expands the original circuit from 2 to 7 qubits (the size of `backend`) and permutes its layout, which is then applied to `H1` using [`apply_layout()`](/api/qiskit/qiskit.quantum_info.SparsePauliOp#apply_layout "qiskit.quantum_info.SparsePauliOp.apply_layout") to reflect the transformations performed by [`transpile()`](/api/qiskit/compiler#qiskit.compiler.transpile "qiskit.compiler.transpile"). - + ### Transpiler Features * The [`HighLevelSynthesis`](/api/qiskit/qiskit.transpiler.passes.HighLevelSynthesis "qiskit.transpiler.passes.HighLevelSynthesis") class is extended to synthesize circuits with objects of type [`AnnotatedOperation`](/api/qiskit/qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation"). +* A new [`qiskit.passmanager`](/api/qiskit/passmanager#module-qiskit.passmanager "qiskit.passmanager") module has been added to the Qiskit library. This module implements a generic pass manager and flow controllers, and provides infrastructure to manage execution of pass manager tasks. The module provides base classes for passes ([`GenericPass`](/api/qiskit/qiskit.passmanager.GenericPass "qiskit.passmanager.GenericPass")) and flow controllers ([`BaseController`](/api/qiskit/qiskit.passmanager.BaseController "qiskit.passmanager.BaseController")), as well as a new interface class, `passmanager.Task`, to manage the execution of the pass manager (see the `Task.execute()` method). These new classes follow the composite pattern, as flow controllers are collections of passes, and a controller can be recursively nested into the task pipeline. It must also be noted the base classes are not not aware of the input and output object types, and they must be subclassed for a particular program type to optimize. This unified design reduces the complexity of the conventional pass manager, and no longer requires the use of classes such as the `RunningPassManager` to handle the execution logic dispatch and task structure renormalization. The [`qiskit.transpiler`](/api/qiskit/transpiler#module-qiskit.transpiler "qiskit.transpiler") module has been reorganized to rebuild the existing pass managers based off of the generic pass manager. See upgrade notes for more details. + * Added a new analysis [`SabrePreLayout`](/api/qiskit/qiskit.transpiler.passes.SabrePreLayout "qiskit.transpiler.passes.SabrePreLayout") pass that creates a starting layout for [`SabreLayout`](/api/qiskit/qiskit.transpiler.passes.SabreLayout "qiskit.transpiler.passes.SabreLayout"), writing the layout into the property set value `sabre_starting_layouts`. The pass works by augmenting the coupling map with more and more “extra” edges until [`VF2Layout`](/api/qiskit/qiskit.transpiler.passes.VF2Layout "qiskit.transpiler.passes.VF2Layout") succeeds to find a perfect graph isomorphism. More precisely, the augmented coupling map contains edges between nodes that are within a given distance `d` in the original coupling map, and the value of `d` is increased until an isomorphism is found. The pass also optionally minimizes the number of extra edges involved in the layout until a local minimum is found. This involves removing extra edges and calling [`VF2Layout`](/api/qiskit/qiskit.transpiler.passes.VF2Layout "qiskit.transpiler.passes.VF2Layout") to check if an isomorphism still exists. @@ -405,7 +479,7 @@ Some feature highlights of Qiskit 0.45.0 are: }) ``` - + ### Visualization Features @@ -421,7 +495,7 @@ Some feature highlights of Qiskit 0.45.0 are: ![\_images/release\_notes-1.png](/images/api/qiskit/release_notes-1.png) - + ### Misc. Features @@ -442,7 +516,7 @@ Some feature highlights of Qiskit 0.45.0 are: * [`Parameter`](/api/qiskit/qiskit.circuit.Parameter "qiskit.circuit.Parameter") now has an advanced-usage keyword argument `uuid` in its constructor, which can be used to make the [`Parameter`](/api/qiskit/qiskit.circuit.Parameter "qiskit.circuit.Parameter") compare equal to another of the same name. This should not typically be used by users, and is most useful for custom serialisation and deserialisation. - + ### Circuits Upgrade Notes @@ -498,7 +572,7 @@ Some feature highlights of Qiskit 0.45.0 are: * The definition of [`UnitaryGate`](/api/qiskit/qiskit.circuit.library.UnitaryGate "qiskit.circuit.library.UnitaryGate") for single qubit unitaries is now in terms of [`UGate`](/api/qiskit/qiskit.circuit.library.UGate "qiskit.circuit.library.UGate") instead of the legacy [`U3Gate`](/api/qiskit/qiskit.circuit.library.U3Gate "qiskit.circuit.library.U3Gate") class. - + ### Providers Upgrade Notes @@ -532,7 +606,7 @@ Some feature highlights of Qiskit 0.45.0 are: All these were deprecated since 0.22 (released on October 13, 2022) and now they are removed. - + ### Pulse Upgrade Notes @@ -540,13 +614,13 @@ Some feature highlights of Qiskit 0.45.0 are: * The methods `to_dict` in the classes [`pulse.transforms.AlignmentKind`](/api/qiskit/pulse#qiskit.pulse.transforms.AlignmentKind "qiskit.pulse.transforms.AlignmentKind"), [`pulse.transforms.AlignEquispaced`](/api/qiskit/qiskit.pulse.transforms.AlignEquispaced "qiskit.pulse.transforms.AlignEquispaced"), and [`pulse.transforms.AlignFunc`](/api/qiskit/qiskit.pulse.transforms.AlignFunc "qiskit.pulse.transforms.AlignFunc") are removed. They were deprecatedin Qiskit 0.37 (with Terra 0.21), released on June 2022. - + ### QPY Upgrade Notes * The use of the keyword `circuits` for the first positional argument in the function [`qiskit.qpy.dump()`](/api/qiskit/qpy#qiskit.qpy.dump "qiskit.qpy.dump") is removed as its usage was deprecated in Qiskit 0.37 (with Terra 0.21), released on June 2022. Instead, use the keyword `programs` can be used instead (or just pass the argument in positionally), which behaves identically. - + ### Quantum Information Upgrade Notes @@ -562,16 +636,28 @@ Some feature highlights of Qiskit 0.45.0 are: * Importing from `qiskit.quantum_info.operators.pauli` is not allowed anymore, as it was deprecated in Qiskit Terra 0.21 (released on June, 2022). Import directly from `qiskit.quantum_info` instead. - + ### Synthesis Upgrade Notes * The parameter `order` in [`synthesis.SuzukiTrotter`](/api/qiskit/qiskit.synthesis.SuzukiTrotter "qiskit.synthesis.SuzukiTrotter") constructor raises an exception instead of deprecation warning when set in an odd number. Suzuki product formulae are symmetric and therefore only defined for even orders. - + ### Transpiler Upgrade Notes +* As a consequence of the pass manager refactoring efforts, existing flow controllers: [`FlowControllerLinear`](/api/qiskit/qiskit.passmanager.FlowControllerLinear "qiskit.passmanager.FlowControllerLinear"), [`ConditionalController`](/api/qiskit/qiskit.passmanager.ConditionalController "qiskit.passmanager.ConditionalController"), and [`DoWhileController`](/api/qiskit/qiskit.passmanager.DoWhileController "qiskit.passmanager.DoWhileController") are now subclasses of the [`BaseController`](/api/qiskit/qiskit.passmanager.BaseController "qiskit.passmanager.BaseController"). Note that these controllers have dropped the implementation of the [`__iter__()`](https://docs.python.org/3/reference/datamodel.html#object.__iter__ "(in Python v3.12)") method. They are now only iterable in the context of a flow-controller execution, which threads the compilation state through after each inner task is executed. + +* The functionalitly of the `RunningPassManager` class has been superseded by the new pass manager framework ([`BasePassManager`](/api/qiskit/qiskit.passmanager.BasePassManager "qiskit.passmanager.BasePassManager") and [`BaseController`](/api/qiskit/qiskit.passmanager.BaseController "qiskit.passmanager.BaseController")). The running pass manager is now a stateless flow controller (essentially, an alias of [`FlowControllerLinear`](/api/qiskit/qiskit.passmanager.FlowControllerLinear "qiskit.passmanager.FlowControllerLinear")), as the pass manager is responsible for the construction of task pipeline, while the controller is responsible for the execution of associated tasks. Subclassing the `RunningPassManager` is no longer recommended, and this class will be completely replaced with the flow controller in future releases. + +* A new class, [`WorkflowStatus`](/api/qiskit/qiskit.passmanager.WorkflowStatus "qiskit.passmanager.WorkflowStatus"), has been introduced to track the status of the pass manager workflow. This portable object is created when the pass manager is run, and handed over to the underlying tasks. Such status was previously managed by the `RunningPassManager` with instance variables. + +* The transpiler-specific [`transpiler.PassManager`](/api/qiskit/qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") (used in [`transpile()`](/api/qiskit/compiler#qiskit.compiler.transpile "qiskit.compiler.transpile")) is now a subclass of [`passmanager.BasePassManager`](/api/qiskit/qiskit.passmanager.BasePassManager "qiskit.passmanager.BasePassManager"). However, this class hierarchy change doesn’t introduce any breaking change to the public-facing API. + +* Exceptions raised during pass-manager execution now inherit from the newly introduced [`PassManagerError`](/api/qiskit/passmanager#qiskit.passmanager.PassManagerError "qiskit.passmanager.PassManagerError"). A generic failure of the pass-manager machinery will raise [`PassManagerError`](/api/qiskit/passmanager#qiskit.passmanager.PassManagerError "qiskit.passmanager.PassManagerError") for general pass managers, but the transpiler-specific `transpile.PassManager` will currently wrap this in its specific [`TranspilerError`](/api/qiskit/transpiler#qiskit.transpiler.TranspilerError "qiskit.transpiler.TranspilerError") for backwards compatibility. This wrapping will be removed in the future. + +* The use of `FencedObject` in the pass manager framework has been removed. This wrapper class cannot protect mutable object attributes from modification, and this should not be an issue for properly implemented code. Analysis passes should not modify an input IR, controllers should not update the property set, and so forth. It’s the pass manager developer’s responsibility to ensure that the pass is not modifying object attributes, + * The plugin name `default` is reserved for the [plugin stages](/api/qiskit/transpiler_plugins#stage-table) `init`, `layout`, `optimization`, and `scheduling`. These stages previously did not reserve this plugin name, but the `default` name is now used to represent Qiskit’s built-in default method for these stages. If you were using these names for plugins on these stages these will conflict with Qiskit’s usage and you should rename your plugin. * Disabled the use of the [`RemoveResetInZeroState`](/api/qiskit/qiskit.transpiler.passes.RemoveResetInZeroState "qiskit.transpiler.passes.RemoveResetInZeroState") class in the preset passmanagers. Previously, when [`transpile()`](/api/qiskit/compiler#qiskit.compiler.transpile "qiskit.compiler.transpile") or [`generate_preset_pass_manager()`](/api/qiskit/transpiler_preset#qiskit.transpiler.preset_passmanagers.generate_preset_pass_manager "qiskit.transpiler.preset_passmanagers.generate_preset_pass_manager") was run with `optimization_level` at level 1, 2, or 3, it would run [`RemoveResetInZeroState`](/api/qiskit/qiskit.transpiler.passes.RemoveResetInZeroState "qiskit.transpiler.passes.RemoveResetInZeroState"). However, this pass prohibited the notion of arbitrary initial states unless explicitly set to zeros with resets. If you need to run the pass as part of your compilation pipeline, you can run something like: @@ -596,7 +682,7 @@ Some feature highlights of Qiskit 0.45.0 are: * In [`transpiler.CouplingMap`](/api/qiskit/qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap") method `subgraph` is removed as deprecated in 0.20. `reduce()` can be used in place of method `subgraph`. - + ### Visualization Upgrade Notes @@ -606,7 +692,7 @@ Some feature highlights of Qiskit 0.45.0 are: * The visualization functions: [`plot_gate_map()`](/api/qiskit/qiskit.visualization.plot_gate_map "qiskit.visualization.plot_gate_map"), [`plot_coupling_map()`](/api/qiskit/qiskit.visualization.plot_coupling_map "qiskit.visualization.plot_coupling_map"). [`plot_error_map()`](/api/qiskit/qiskit.visualization.plot_error_map "qiskit.visualization.plot_error_map"), and [`plot_circuit_layout()`](/api/qiskit/qiskit.visualization.plot_circuit_layout "qiskit.visualization.plot_circuit_layout") now depend on [graphviz](https://graphviz.org/) being installed to function. This change was necessary to enable visualizing backends with larger numbers of qubits. This additional external requirement is in addition to the existing optional dependencies these functions previously required. You find details on how to install graphviz here: [https://graphviz.org/download/](https://graphviz.org/download/) - + ### Misc. Upgrade Notes @@ -624,13 +710,13 @@ Some feature highlights of Qiskit 0.45.0 are: * Building Qiskit from source now requires a Rust compiler compatible with language version 1.64. This has been increased from the previous minimum supported Rust version of 1.61 for building earlier versions of Qiskit. - + ### Algorithms Deprecations * The algorithm utils in `qiskit.utils.validation` and `qiskit.utils.algorithm_globals` are now deprecated and will be removed in no less than 3 months from the release date. These utils were introduced with the `qiskit.algorithms` module to support legacy and primitive-based algorithm workflows. Now that `qiskit.algorithms` is deprecated and the primitive-based algorithms codebase has been migrated to a standalone [library](https://github.com/qiskit-community/qiskit-algorithms), these utils are no longer used in the context of Qiskit. If your application allows it, we recommend that you migrate your code to use [qiskit\_algorithms](https://github.com/qiskit-community/qiskit-algorithms), where you will be able to import the relevant utilities in `algorithm_globals` and `validation` from `qiskit_algorithms.utils`. Please note that legacy functionality has not been migrated to the new package. - + ### Circuits Deprecations @@ -686,10 +772,29 @@ Some feature highlights of Qiskit 0.45.0 are: * The little-used [`QuantumCircuit`](/api/qiskit/qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") class data attributes [`header`](/api/qiskit/qiskit.circuit.QuantumCircuit#header "qiskit.circuit.QuantumCircuit.header") and [`extension_lib`](/api/qiskit/qiskit.circuit.QuantumCircuit#extension_lib "qiskit.circuit.QuantumCircuit.extension_lib") are deprecated and scheduled for removal. These respectively held strings of the OpenQASM 2.0 version header statement and `qelib1.inc` include statement. No alternative will be provided; these were mostly intended as internal details. - + ### Transpiler Deprecations +* The flow controller factory method [`FlowController.controller_factory()`](/api/qiskit/qiskit.passmanager.FlowController#controller_factory "qiskit.passmanager.FlowController.controller_factory") is deprecated along with [`FlowController.add_flow_controller()`](/api/qiskit/qiskit.passmanager.FlowController#add_flow_controller "qiskit.passmanager.FlowController.add_flow_controller") and [`FlowController.remove_flow_controller()`](/api/qiskit/qiskit.passmanager.FlowController#remove_flow_controller "qiskit.passmanager.FlowController.remove_flow_controller"). In the future, task construction with keyword arguments in the [`BasePassManager.append()`](/api/qiskit/qiskit.passmanager.BasePassManager#append "qiskit.passmanager.BasePassManager.append") method will also be deprecated. Controllers must be explicitly instantiated and appended to the pass manager. For example, the previously used conventional syntax + + ```python + pm.append([task1, task2], condition=lambda x: x["value1"] > 10) + ``` + + must be replaced with + + ```python + controller = ConditionalController([task1, task2], condition=lambda x: x["value1"] > 10) + pm.append(controller) + ``` + + The latter allows more precise control on the order of controllers especially when multiple keyword arguments are specified together, and allows for the construction of general flow controllers that may have more than one pipeline or do not take a single simple conditional function in their constructors. + +* The [`FlowControllerLinear.append()`](/api/qiskit/qiskit.passmanager.FlowControllerLinear#append "qiskit.passmanager.FlowControllerLinear.append"), [`DoWhileController.append()`](/api/qiskit/qiskit.passmanager.DoWhileController#append "qiskit.passmanager.DoWhileController.append"), and [`ConditionalController.append()`](/api/qiskit/qiskit.passmanager.ConditionalController#append "qiskit.passmanager.ConditionalController.append") methods are all deprecated immediately. The construction of the pass manager task pipeline is now the role of [`BasePassManager`](/api/qiskit/qiskit.passmanager.BasePassManager "qiskit.passmanager.BasePassManager"), and individual flow controllers do not need to this method. For a flow controller, all the passes should be specificed in one go directly to the constructor. + +* The general attribute and variable name `passes` is replaced with `tasks` all over the [`qiskit.passmanager`](/api/qiskit/passmanager#module-qiskit.passmanager "qiskit.passmanager") module. Note that a task must indicate a union of pass and controller, and the singular form pass conflicts with the Python keyword. In this sense, the use of tasks is much preferable. + * The [`Unroller`](/api/qiskit/qiskit.transpiler.passes.Unroller "qiskit.transpiler.passes.Unroller") transpiler pass has been deprecated and will be removed in a future release. The [`Unroller`](/api/qiskit/qiskit.transpiler.passes.Unroller "qiskit.transpiler.passes.Unroller") has been superseded by the [`BasisTranslator`](/api/qiskit/qiskit.transpiler.passes.BasisTranslator "qiskit.transpiler.passes.BasisTranslator") which provides a similar set of functionality but offers it in a more general manner so that you’re able to translate a circuit to any universal basis set. The [`Unroller`](/api/qiskit/qiskit.transpiler.passes.Unroller "qiskit.transpiler.passes.Unroller") class only works in situations where the circuit’s gate definitions are recursively defined in terms of the target basis; for Qiskit’s standard library gates this means [`UGate`](/api/qiskit/qiskit.circuit.library.UGate "qiskit.circuit.library.UGate") and [`CXGate`](/api/qiskit/qiskit.circuit.library.CXGate "qiskit.circuit.library.CXGate"). If you are using the [`Unroller`](/api/qiskit/qiskit.transpiler.passes.Unroller "qiskit.transpiler.passes.Unroller") pass it can be replaced by using a custom pass manager of the form: ```python @@ -708,7 +813,7 @@ Some feature highlights of Qiskit 0.45.0 are: * The use of the value `"unroller"` for the `translation_method` keyword argument on the [`transpile()`](/api/qiskit/compiler#qiskit.compiler.transpile "qiskit.compiler.transpile") and [`generate_preset_pass_manager()`](/api/qiskit/transpiler_preset#qiskit.transpiler.preset_passmanagers.generate_preset_pass_manager "qiskit.transpiler.preset_passmanagers.generate_preset_pass_manager") has been deprecated. This translation stage plugin will be removed from Qiskit in a future release as it has been superseded by the default `"translator"` method which will work similarly to the `"unroller"` plugin but support a broader set of target backends. - + ### Visualization Deprecations @@ -741,9 +846,9 @@ Some feature highlights of Qiskit 0.45.0 are: This behaviour was previously intended to be deprecated in Qiskit 0.37, but due to a bug in the warning, it was not displayed to users until now. The behaviour will be removed in Qiskit 1.0. - + - + ### Bug Fixes @@ -802,9 +907,25 @@ Some feature highlights of Qiskit 0.45.0 are: * Added support to allow `SparsePauliOp` default initialization passing an empty iterable to the static methods [`from_list()`](/api/qiskit/qiskit.quantum_info.SparsePauliOp#from_list "qiskit.quantum_info.SparsePauliOp.from_list") and [`from_sparse_list()`](/api/qiskit/qiskit.quantum_info.SparsePauliOp#from_sparse_list "qiskit.quantum_info.SparsePauliOp.from_sparse_list"). Fixed [#10159](https://github.com/Qiskit/qiskit-terra/issues/10159). - +* The use of the (deprecated) `Optimizer` class on [`AQC`](/api/qiskit/qiskit.transpiler.synthesis.aqc.AQC "qiskit.transpiler.synthesis.aqc.AQC") did not have a non-deprecated alternative path, which should have been introduced in Qiskit 0.44. It now accepts a callable that implements the [`Minimizer`](/api/qiskit/qiskit.algorithms.optimizers.Minimizer "qiskit.algorithms.optimizers.Minimizer") protocol, as explicitly stated in the deprecation warning. The callable can look like the following example: - + > ```python + > from scipy.optimize import minimize + > from qiskit.transpiler.synthesis.aqc.aqc import AQC + > + > optimizer = partial(minimize, args=(), method="L-BFGS-B", options={"maxiter": 200}) + > aqc = AQC(optimizer=optimizer) + > ``` + +* Fixed an issue with the [`Barrier`](/api/qiskit/qiskit.circuit.library.Barrier "qiskit.circuit.library.Barrier") class. When adding a [`Barrier`](/api/qiskit/qiskit.circuit.library.Barrier "qiskit.circuit.library.Barrier") instance to a [`QuantumCircuit`](/api/qiskit/qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") with the [`QuantumCircuit.append()`](/api/qiskit/qiskit.circuit.QuantumCircuit#append "qiskit.circuit.QuantumCircuit.append") method previously there was no validation that the size of the barrier matched the qargs specified. + +* The `BlockCollapser` transpiler pass will now correctly handle circuits that contain more than one condition on the same classical register. + +* `BlueprintCircuit` subclasses will now behave correctly when the semi-public method `QuantumCircuit._append()` is used with the blueprint in an unbuilt state, *i.e.* the circuit will be built before attempting the append. + +* Adjusted zoom, fontsize, and margins in [`plot_state_city()`](/api/qiskit/qiskit.visualization.plot_state_city "qiskit.visualization.plot_state_city") to fit the plot better for more figure sizes. Corrected the Z-ordering behavior of bars and the zero-amplitude plane, and corrected display of negative real value bars. + + ### Other Notes @@ -812,6 +933,5 @@ Some feature highlights of Qiskit 0.45.0 are: We cannot prevent your package manager from resolving to older versions of Qiskit (which do not have the same pin but are still likely to be incompatible) if you forcibly try to install Qiskit alongside Numpy 2, before we have released a compatible version. - +* Modified the behavior of the [`VF2Layout`](/api/qiskit/qiskit.transpiler.passes.VF2Layout "qiskit.transpiler.passes.VF2Layout") and [`VF2PostLayout`](/api/qiskit/qiskit.transpiler.passes.VF2PostLayout "qiskit.transpiler.passes.VF2PostLayout") transpiler passes, which would previously run their internal scoring using multithreading if the input circuits were sufficiently large. The multithreading usage has now been removed from the passes, as it was shown to cause a performance regression instead of an improvement like originally intended. - diff --git a/docs/api/qiskit/result.md b/docs/api/qiskit/result.md index 5584d1838e..94e1391410 100644 --- a/docs/api/qiskit/result.md +++ b/docs/api/qiskit/result.md @@ -20,13 +20,13 @@ python_api_name: qiskit.result | | | | ----------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- | -| [`Result`](qiskit.result.Result "qiskit.result.Result")(backend\_name, backend\_version, ...\[, ...]) | Model for Results. | +| [`Result`](qiskit.result.Result "qiskit.result.Result")(backend\_name, backend\_version, ...\[, ...]) | Model for Results. | | [`ResultError`](qiskit.result.ResultError "qiskit.result.ResultError")(error) | Exceptions raised due to errors in result output. | -| [`Counts`](qiskit.result.Counts "qiskit.result.Counts")(data\[, time\_taken, creg\_sizes, ...]) | A class to store a counts result from a circuit execution. | +| [`Counts`](qiskit.result.Counts "qiskit.result.Counts")(data\[, time\_taken, creg\_sizes, ...]) | A class to store a counts result from a circuit execution. | -`qiskit.result.marginal_counts(result, indices=None, inplace=False, format_marginal=False, marginalize_memory=True)` +`qiskit.result.marginal_counts(result, indices=None, inplace=False, format_marginal=False, marginalize_memory=True)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/result/utils.py "view source code") Marginalize counts from an experiment over some indices of interest. @@ -54,7 +54,7 @@ the observed counts, marginalized to only account for frequency of observations -`qiskit.result.marginal_distribution(counts, indices=None, format_marginal=False)` +`qiskit.result.marginal_distribution(counts, indices=None, format_marginal=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/result/utils.py "view source code") Marginalize counts from an experiment over some indices of interest. @@ -81,7 +81,7 @@ A marginalized dictionary -`qiskit.result.marginal_memory(memory, indices=None, int_return=False, hex_return=False, avg_data=False, parallel_threshold=1000)` +`qiskit.result.marginal_memory(memory, indices=None, int_return=False, hex_return=False, avg_data=False, parallel_threshold=1000)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/result/utils.py "view source code") Marginalize shot memory @@ -112,14 +112,14 @@ marginal\_memory | | | | ------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- | -| [`ProbDistribution`](qiskit.result.ProbDistribution "qiskit.result.ProbDistribution")(data\[, shots]) | A generic dict-like class for probability distributions. | -| [`QuasiDistribution`](qiskit.result.QuasiDistribution "qiskit.result.QuasiDistribution")(data\[, shots, ...]) | A dict-like class for representing quasi-probabilities. | +| [`ProbDistribution`](qiskit.result.ProbDistribution "qiskit.result.ProbDistribution")(data\[, shots]) | A generic dict-like class for probability distributions. | +| [`QuasiDistribution`](qiskit.result.QuasiDistribution "qiskit.result.QuasiDistribution")(data\[, shots, ...]) | A dict-like class for representing quasi-probabilities. | ## Expectation values -`qiskit.result.sampled_expectation_value(dist, oper)` +`qiskit.result.sampled_expectation_value(dist, oper)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/result/sampled_expval.py "view source code") Computes expectation value from a sampled distribution @@ -148,5 +148,5 @@ The expectation value | --------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- | | [`BaseReadoutMitigator`](qiskit.result.BaseReadoutMitigator "qiskit.result.BaseReadoutMitigator")() | Base readout error mitigator class. | | [`CorrelatedReadoutMitigator`](qiskit.result.CorrelatedReadoutMitigator "qiskit.result.CorrelatedReadoutMitigator")(assignment\_matrix) | N-qubit readout error mitigator. | -| [`LocalReadoutMitigator`](qiskit.result.LocalReadoutMitigator "qiskit.result.LocalReadoutMitigator")(\[assignment\_matrices, ...]) | 1-qubit tensor product readout error mitigator. | +| [`LocalReadoutMitigator`](qiskit.result.LocalReadoutMitigator "qiskit.result.LocalReadoutMitigator")(\[assignment\_matrices, ...]) | 1-qubit tensor product readout error mitigator. | diff --git a/docs/api/qiskit/scheduler.md b/docs/api/qiskit/scheduler.md index 2555a40903..1ac9729171 100644 --- a/docs/api/qiskit/scheduler.md +++ b/docs/api/qiskit/scheduler.md @@ -22,7 +22,7 @@ A circuit scheduler compiles a circuit program to a pulse program. -`qiskit.scheduler.ScheduleConfig(inst_map, meas_map, dt)` +`qiskit.scheduler.ScheduleConfig(inst_map, meas_map, dt)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/scheduler/config.py "view source code") Configuration for pulse scheduling. @@ -36,7 +36,7 @@ Container for information needed to schedule a QuantumCircuit into a pulse Sched -`qiskit.scheduler.schedule_circuit.schedule_circuit(circuit, schedule_config, method=None, backend=None)` +`qiskit.scheduler.schedule_circuit.schedule_circuit(circuit, schedule_config, method=None, backend=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/scheduler/schedule_circuit.py "view source code") Basic scheduling pass from a circuit to a pulse Schedule, using the backend. If no method is specified, then a basic, as late as possible scheduling pass is performed, i.e. pulses are scheduled to occur as late as possible. @@ -70,7 +70,7 @@ Pulse scheduling methods. -`qiskit.scheduler.methods.as_soon_as_possible(circuit, schedule_config, backend=None)` +`qiskit.scheduler.methods.as_soon_as_possible(circuit, schedule_config, backend=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/scheduler/methods/basic.py "view source code") Return the pulse Schedule which implements the input circuit using an “as soon as possible” (asap) scheduling policy. @@ -92,7 +92,7 @@ A schedule corresponding to the input `circuit` with pulses occurring as early a -`qiskit.scheduler.methods.as_late_as_possible(circuit, schedule_config, backend=None)` +`qiskit.scheduler.methods.as_late_as_possible(circuit, schedule_config, backend=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/scheduler/methods/basic.py "view source code") Return the pulse Schedule which implements the input circuit using an “as late as possible” (alap) scheduling policy. diff --git a/docs/api/qiskit/synthesis.md b/docs/api/qiskit/synthesis.md index dfdb47ae25..16a568d4c7 100644 --- a/docs/api/qiskit/synthesis.md +++ b/docs/api/qiskit/synthesis.md @@ -25,17 +25,17 @@ python_api_name: qiskit.synthesis | | | | ---------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | | [`EvolutionSynthesis`](qiskit.synthesis.EvolutionSynthesis "qiskit.synthesis.EvolutionSynthesis")() | Interface for evolution synthesis algorithms. | -| [`ProductFormula`](qiskit.synthesis.ProductFormula "qiskit.synthesis.ProductFormula")(order\[, reps, ...]) | Product formula base class for the decomposition of non-commuting operator exponentials. | -| [`LieTrotter`](qiskit.synthesis.LieTrotter "qiskit.synthesis.LieTrotter")(\[reps, insert\_barriers, ...]) | The Lie-Trotter product formula. | -| [`SuzukiTrotter`](qiskit.synthesis.SuzukiTrotter "qiskit.synthesis.SuzukiTrotter")(\[order, reps, ...]) | The (higher order) Suzuki-Trotter product formula. | +| [`ProductFormula`](qiskit.synthesis.ProductFormula "qiskit.synthesis.ProductFormula")(order\[, reps, ...]) | Product formula base class for the decomposition of non-commuting operator exponentials. | +| [`LieTrotter`](qiskit.synthesis.LieTrotter "qiskit.synthesis.LieTrotter")(\[reps, insert\_barriers, ...]) | The Lie-Trotter product formula. | +| [`SuzukiTrotter`](qiskit.synthesis.SuzukiTrotter "qiskit.synthesis.SuzukiTrotter")(\[order, reps, ...]) | The (higher order) Suzuki-Trotter product formula. | | [`MatrixExponential`](qiskit.synthesis.MatrixExponential "qiskit.synthesis.MatrixExponential")() | Exact operator evolution via matrix exponentiation and unitary synthesis. | -| [`QDrift`](qiskit.synthesis.QDrift "qiskit.synthesis.QDrift")(\[reps, insert\_barriers, ...]) | The QDrift Trotterization method, which selects each each term in the Trotterization randomly, with a probability proportional to its weight. | +| [`QDrift`](qiskit.synthesis.QDrift "qiskit.synthesis.QDrift")(\[reps, insert\_barriers, ...]) | The QDrift Trotterization method, which selects each each term in the Trotterization randomly, with a probability proportional to its weight. | ## Linear Function Synthesis -`qiskit.synthesis.synth_cnot_count_full_pmh(state, section_size=2)` +`qiskit.synthesis.synth_cnot_count_full_pmh(state, section_size=2)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/synthesis/linear/cnot_synth.py "view source code") Synthesize linear reversible circuits for all-to-all architecture using Patel, Markov and Hayes method. @@ -64,7 +64,7 @@ a CX-only circuit implementing the linear transformation. -`qiskit.synthesis.synth_cnot_depth_line_kms(mat)` +`qiskit.synthesis.synth_cnot_depth_line_kms(mat)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/synthesis/linear/linear_depth_lnn.py "view source code") Synthesize linear reversible circuit for linear nearest-neighbor architectures using Kutin, Moulton, Smithline method. @@ -94,7 +94,7 @@ the synthesized quantum circuit. -`qiskit.synthesis.synth_cz_depth_line_mr(mat)` +`qiskit.synthesis.synth_cz_depth_line_mr(mat)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/synthesis/linear_phase/cz_depth_lnn.py "view source code") Synthesis of a CZ circuit for linear nearest neighbour (LNN) connectivity, based on Maslov and Roetteler. @@ -118,7 +118,7 @@ a circuit implementation of the CZ circuit of depth 2\*n+2 for LNN connectivity. -`qiskit.synthesis.synth_cx_cz_depth_line_my(mat_x, mat_z)` +`qiskit.synthesis.synth_cx_cz_depth_line_my(mat_x, mat_z)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/synthesis/linear_phase/cx_cz_depth_lnn.py "view source code") Joint synthesis of a -CZ-CX- circuit for linear nearest neighbour (LNN) connectivity, with 2-qubit depth at most 5n, based on Maslov and Yang. This method computes the CZ circuit inside the CX circuit via phase gate insertions. @@ -144,7 +144,7 @@ a circuit implementation of a CX circuit following a CZ circuit, denoted as a -C -`qiskit.synthesis.synth_permutation_depth_lnn_kms(pattern)` +`qiskit.synthesis.synth_permutation_depth_lnn_kms(pattern)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/synthesis/permutation/permutation_lnn.py "view source code") Synthesize a permutation circuit for a linear nearest-neighbor architecture using the Kutin, Moulton, Smithline method. @@ -164,7 +164,7 @@ the synthesized quantum circuit. -`qiskit.synthesis.synth_permutation_basic(pattern)` +`qiskit.synthesis.synth_permutation_basic(pattern)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/synthesis/permutation/permutation_full.py "view source code") Synthesize a permutation circuit for a fully-connected architecture using sorting. @@ -184,7 +184,7 @@ the synthesized quantum circuit. -`qiskit.synthesis.synth_permutation_acg(pattern)` +`qiskit.synthesis.synth_permutation_acg(pattern)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/synthesis/permutation/permutation_full.py "view source code") Synthesize a permutation circuit for a fully-connected architecture using the Alon, Chung, Graham method. @@ -208,7 +208,7 @@ the synthesized quantum circuit. -`qiskit.synthesis.synth_clifford_full(clifford, method=None)` +`qiskit.synthesis.synth_clifford_full(clifford, method=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/synthesis/clifford/clifford_decompose_full.py "view source code") Decompose a Clifford operator into a QuantumCircuit. @@ -235,7 +235,7 @@ a circuit implementation of the Clifford. -`qiskit.synthesis.synth_clifford_ag(clifford)` +`qiskit.synthesis.synth_clifford_ag(clifford)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/synthesis/clifford/clifford_decompose_ag.py "view source code") Decompose a Clifford operator into a QuantumCircuit based on Aaronson-Gottesman method. @@ -257,7 +257,7 @@ a circuit implementation of the Clifford. -`qiskit.synthesis.synth_clifford_bm(clifford)` +`qiskit.synthesis.synth_clifford_bm(clifford)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/synthesis/clifford/clifford_decompose_bm.py "view source code") Optimal CX-cost decomposition of a Clifford operator on 2-qubits or 3-qubits into a QuantumCircuit based on Bravyi-Maslov method. @@ -283,7 +283,7 @@ a circuit implementation of the Clifford. -`qiskit.synthesis.synth_clifford_greedy(clifford)` +`qiskit.synthesis.synth_clifford_greedy(clifford)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/synthesis/clifford/clifford_decompose_greedy.py "view source code") Decompose a Clifford operator into a QuantumCircuit based on the greedy Clifford compiler that is described in Appendix A of Bravyi, Hu, Maslov and Shaydulin. @@ -311,7 +311,7 @@ a circuit implementation of the Clifford. -`qiskit.synthesis.synth_clifford_layers(cliff, cx_synth_func=, cz_synth_func=, cx_cz_synth_func=None, cz_func_reverse_qubits=False, validate=False)` +`qiskit.synthesis.synth_clifford_layers(cliff, cx_synth_func=, cz_synth_func=, cx_cz_synth_func=None, cz_func_reverse_qubits=False, validate=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/synthesis/clifford/clifford_decompose_layers.py "view source code") Synthesis of a Clifford into layers, it provides a similar decomposition to the synthesis described in Lemma 8 of Bravyi and Maslov. @@ -356,7 +356,7 @@ a circuit implementation of the Clifford. -`qiskit.synthesis.synth_clifford_depth_lnn(cliff)` +`qiskit.synthesis.synth_clifford_depth_lnn(cliff)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/synthesis/clifford/clifford_decompose_layers.py "view source code") Synthesis of a Clifford into layers for linear-nearest neighbour connectivity. @@ -384,7 +384,7 @@ a circuit implementation of the Clifford. -`qiskit.synthesis.synth_cnotdihedral_full(elem)` +`qiskit.synthesis.synth_cnotdihedral_full(elem)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/synthesis/cnotdihedral/cnotdihedral_decompose_full.py "view source code") Decompose a CNOTDihedral element into a QuantumCircuit. For N \<= 2 qubits this is based on optimal CX cost decomposition from reference \[1]. For N > 2 qubits this is done using the general non-optimal compilation routine from reference \[2]. @@ -407,7 +407,7 @@ a circuit implementation of the CNOTDihedral element. -`qiskit.synthesis.synth_cnotdihedral_two_qubits(elem)` +`qiskit.synthesis.synth_cnotdihedral_two_qubits(elem)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/synthesis/cnotdihedral/cnotdihedral_decompose_two_qubits.py "view source code") Decompose a CNOTDihedral element on a single qubit and two qubits into a QuantumCircuit. This decomposition has an optimal number of CX gates. @@ -433,7 +433,7 @@ a circuit implementation of the CNOTDihedral element. -`qiskit.synthesis.synth_cnotdihedral_general(elem)` +`qiskit.synthesis.synth_cnotdihedral_general(elem)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/synthesis/cnotdihedral/cnotdihedral_decompose_general.py "view source code") Decompose a CNOTDihedral element into a QuantumCircuit. @@ -463,7 +463,7 @@ a circuit implementation of the CNOTDihedral element. -`qiskit.synthesis.synth_stabilizer_layers(stab, cz_synth_func=, cz_func_reverse_qubits=False, validate=False)` +`qiskit.synthesis.synth_stabilizer_layers(stab, cz_synth_func=, cz_func_reverse_qubits=False, validate=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/synthesis/stabilizer/stabilizer_decompose.py "view source code") Synthesis of a stabilizer state into layers. @@ -510,7 +510,7 @@ a circuit implementation of the stabilizer state. -`qiskit.synthesis.synth_stabilizer_depth_lnn(stab)` +`qiskit.synthesis.synth_stabilizer_depth_lnn(stab)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/synthesis/stabilizer/stabilizer_decompose.py "view source code") Synthesis of an n-qubit stabilizer state for linear-nearest neighbour connectivity, in 2-qubit depth 2\*n+2 and two distinct CX layers, using CX and phase gates (S, Sdg or Z). @@ -539,7 +539,7 @@ a circuit implementation of the stabilizer state. -`qiskit.synthesis.generate_basic_approximations(basis_gates, depth, filename=None)` +`qiskit.synthesis.generate_basic_approximations(basis_gates, depth, filename=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/synthesis/discrete_basis/generate_basis_approximations.py "view source code") Generates a list of `GateSequence``s with the gates in ``basic_gates`. diff --git a/docs/api/qiskit/synthesis_aqc.md b/docs/api/qiskit/synthesis_aqc.md index 55090ac6be..2154aa27bc 100644 --- a/docs/api/qiskit/synthesis_aqc.md +++ b/docs/api/qiskit/synthesis_aqc.md @@ -26,14 +26,14 @@ The main public interface of this module is reached by passing `unitary_synthesi | | | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -| [`AQC`](qiskit.transpiler.synthesis.aqc.AQC "qiskit.transpiler.synthesis.aqc.AQC")(\[optimizer, seed]) | A generic implementation of the Approximate Quantum Compiler. | +| [`AQC`](qiskit.transpiler.synthesis.aqc.AQC "qiskit.transpiler.synthesis.aqc.AQC")(\[optimizer, seed]) | A generic implementation of the Approximate Quantum Compiler. | | [`AQCSynthesisPlugin`](qiskit.transpiler.synthesis.aqc.AQCSynthesisPlugin "qiskit.transpiler.synthesis.aqc.AQCSynthesisPlugin")() | An AQC-based Qiskit unitary synthesis plugin. | -| [`ApproximateCircuit`](qiskit.transpiler.synthesis.aqc.ApproximateCircuit "qiskit.transpiler.synthesis.aqc.ApproximateCircuit")(num\_qubits\[, name]) | A base class that represents an approximate circuit. | +| [`ApproximateCircuit`](qiskit.transpiler.synthesis.aqc.ApproximateCircuit "qiskit.transpiler.synthesis.aqc.ApproximateCircuit")(num\_qubits\[, name]) | A base class that represents an approximate circuit. | | [`ApproximatingObjective`](qiskit.transpiler.synthesis.aqc.ApproximatingObjective "qiskit.transpiler.synthesis.aqc.ApproximatingObjective")() | A base class for an optimization problem definition. | -| [`CNOTUnitCircuit`](qiskit.transpiler.synthesis.aqc.CNOTUnitCircuit "qiskit.transpiler.synthesis.aqc.CNOTUnitCircuit")(num\_qubits, cnots\[, tol, name]) | A class that represents an approximate circuit based on CNOT unit blocks. | -| [`CNOTUnitObjective`](qiskit.transpiler.synthesis.aqc.CNOTUnitObjective "qiskit.transpiler.synthesis.aqc.CNOTUnitObjective")(num\_qubits, cnots) | A base class for a problem definition based on CNOT unit. | -| [`DefaultCNOTUnitObjective`](qiskit.transpiler.synthesis.aqc.DefaultCNOTUnitObjective "qiskit.transpiler.synthesis.aqc.DefaultCNOTUnitObjective")(num\_qubits, cnots) | A naive implementation of the objective function based on CNOT units. | -| [`FastCNOTUnitObjective`](qiskit.transpiler.synthesis.aqc.FastCNOTUnitObjective "qiskit.transpiler.synthesis.aqc.FastCNOTUnitObjective")(num\_qubits, cnots) | Implementation of objective function and gradient calculator, which is similar to `DefaultCNOTUnitObjective` but several times faster. | +| [`CNOTUnitCircuit`](qiskit.transpiler.synthesis.aqc.CNOTUnitCircuit "qiskit.transpiler.synthesis.aqc.CNOTUnitCircuit")(num\_qubits, cnots\[, tol, name]) | A class that represents an approximate circuit based on CNOT unit blocks. | +| [`CNOTUnitObjective`](qiskit.transpiler.synthesis.aqc.CNOTUnitObjective "qiskit.transpiler.synthesis.aqc.CNOTUnitObjective")(num\_qubits, cnots) | A base class for a problem definition based on CNOT unit. | +| [`DefaultCNOTUnitObjective`](qiskit.transpiler.synthesis.aqc.DefaultCNOTUnitObjective "qiskit.transpiler.synthesis.aqc.DefaultCNOTUnitObjective")(num\_qubits, cnots) | A naive implementation of the objective function based on CNOT units. | +| [`FastCNOTUnitObjective`](qiskit.transpiler.synthesis.aqc.FastCNOTUnitObjective "qiskit.transpiler.synthesis.aqc.FastCNOTUnitObjective")(num\_qubits, cnots) | Implementation of objective function and gradient calculator, which is similar to `DefaultCNOTUnitObjective` but several times faster. | ## Mathematical Detail @@ -128,7 +128,7 @@ This uses a helper function, [`make_cnot_network`](#qiskit.transpiler.synthesis. -`qiskit.transpiler.synthesis.aqc.make_cnot_network(num_qubits, network_layout='spin', connectivity_type='full', depth=0)` +`qiskit.transpiler.synthesis.aqc.make_cnot_network(num_qubits, network_layout='spin', connectivity_type='full', depth=0)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/synthesis/aqc/cnot_structures.py "view source code") Generates a network consisting of building blocks each containing a CNOT gate and possibly some single-qubit ones. This network models a quantum operator in question. Note, each building block has 2 input and outputs corresponding to a pair of qubits. What we actually return here is a chain of indices of qubit pairs shared by every building block in a row. diff --git a/docs/api/qiskit/tools.md b/docs/api/qiskit/tools.md index 287fb481cd..52a26b29d5 100644 --- a/docs/api/qiskit/tools.md +++ b/docs/api/qiskit/tools.md @@ -22,7 +22,7 @@ A helper function for calling a custom function with python `ProcessPoolExecutor -`qiskit.tools.parallel_map(task, values, task_args=(), task_kwargs={}, num_processes=2)` +`qiskit.tools.parallel_map(task, values, task_args=(), task_kwargs={}, num_processes=2)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/tools/parallel.py "view source code") Parallel execution of a mapping of values to the function task. This is functionally equivalent to: @@ -77,7 +77,7 @@ A helper module to get IBM backend information and submitted job status. -`qiskit.tools.job_monitor(job, interval=None, quiet=False, output=<_io.TextIOWrapper name='' mode='w' encoding='utf-8'>, line_discipline='\r')` +`qiskit.tools.job_monitor(job, interval=None, quiet=False, output=<_io.TextIOWrapper name='' mode='w' encoding='utf-8'>, line_discipline='\r')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/tools/monitor/job_monitor.py "view source code") Monitor the status of a IBMQJob instance. @@ -109,7 +109,7 @@ job_monitor(job_sim) -`qiskit.tools.backend_monitor(backend)` +`qiskit.tools.backend_monitor(backend)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/tools/monitor/overview.py "view source code") Monitor a single IBMQ backend. @@ -128,7 +128,7 @@ Examples: .. code-block:: python -`qiskit.tools.backend_overview()` +`qiskit.tools.backend_overview()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/tools/monitor/overview.py "view source code") Gives overview information on all the IBMQ backends that are available. @@ -151,7 +151,7 @@ A helper component for publishing and subscribing to events. -`qiskit.tools.events.TextProgressBar(output_handler=None)` +`qiskit.tools.events.TextProgressBar(output_handler=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/tools/events/progressbar.py "view source code") A simple text-based progress bar. diff --git a/docs/api/qiskit/transpiler.md b/docs/api/qiskit/transpiler.md index b523ec4639..413c3e2832 100644 --- a/docs/api/qiskit/transpiler.md +++ b/docs/api/qiskit/transpiler.md @@ -56,28 +56,35 @@ pass_manager = generate_preset_pass_manager(3, backend) which will generate a [`StagedPassManager`](qiskit.transpiler.StagedPassManager "qiskit.transpiler.StagedPassManager") object for optimization level 3 targeting the [`FakeLagosV2`](qiskit.providers.fake_provider.FakeLagosV2 "qiskit.providers.fake_provider.FakeLagosV2") backend (equivalent to what is used internally by [`transpile()`](compiler#qiskit.compiler.transpile "qiskit.compiler.transpile") with `backend=FakeLagosV2()` and `optimization_level=3`). You can use this just like you would any other [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager"). However, because it is a [`StagedPassManager`](qiskit.transpiler.StagedPassManager "qiskit.transpiler.StagedPassManager") it also makes it easy to compose and/or replace stages of the pipeline. For example, if you wanted to run a custom scheduling stage using dynamical decoupling (via the [`PadDynamicalDecoupling`](qiskit.transpiler.passes.PadDynamicalDecoupling "qiskit.transpiler.passes.PadDynamicalDecoupling") pass) and also add initial logical optimization prior to routing, you would do something like (building off the previous example): ```python -from qiskit.circuit.library import XGate, HGate, RXGate, PhaseGate, TGate, TdgGate +import numpy as np +from qiskit.circuit.library import HGate, PhaseGate, RXGate, TdgGate, TGate, XGate from qiskit.transpiler import PassManager -from qiskit.transpiler.passes import ALAPScheduleAnalysis, PadDynamicalDecoupling -from qiskit.transpiler.passes import CXCancellation, InverseCancellation +from qiskit.transpiler.passes import ( + ALAPScheduleAnalysis, + CXCancellation, + InverseCancellation, + PadDynamicalDecoupling, +) -backend_durations = backend.target.durations() dd_sequence = [XGate(), XGate()] -scheduling_pm = PassManager([ - ALAPScheduleAnalysis(backend_durations), - PadDynamicalDecoupling(backend_durations, dd_sequence), -]) +scheduling_pm = PassManager( + [ + ALAPScheduleAnalysis(target=backend.target), + PadDynamicalDecoupling(target=backend.target, dd_sequence=dd_sequence), + ] +) inverse_gate_list = [ HGate(), (RXGate(np.pi / 4), RXGate(-np.pi / 4)), (PhaseGate(np.pi / 4), PhaseGate(-np.pi / 4)), (TGate(), TdgGate()), - -]) -logical_opt = PassManager([ - CXCancellation(), - InverseCancellation([HGate(), (RXGate(np.pi / 4), RXGate(-np.pi / 4)) -]) +] +logical_opt = PassManager( + [ + CXCancellation(), + InverseCancellation(inverse_gate_list), + ] +) # Add pre-layout stage to run extra logical optimization @@ -86,11 +93,11 @@ pass_manager.pre_layout = logical_opt pass_manager.scheduling = scheduling_pm ``` -Then when [`run()`](qiskit.transpiler.StagedPassManager#run "qiskit.transpiler.StagedPassManager.run") is called on `pass_manager` the `logical_opt` [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") will be called prior to the `layout` stage and for the `scheduling` stage our custom [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") `scheduling_pm` will be used. +Now, when the staged pass manager is run via the [`run()`](qiskit.transpiler.StagedPassManager#run "qiskit.transpiler.StagedPassManager.run") method, the `logical_opt` pass manager will be called before the `layout` stage, and the `scheduling_pm` pass manager will be used for the `scheduling` stage instead of the default. ## Custom Pass Managers -In addition to modifying preset pass managers, it is also possible to construct a pass manager to build an entirely custom pipeline for transforming input circuits. You can leverage the [`StagedPassManager`](qiskit.transpiler.StagedPassManager "qiskit.transpiler.StagedPassManager") class directly to do this. You can define arbitrary stage names and populate them with a [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") instance. For example: +In addition to modifying preset pass managers, it is also possible to construct a pass manager to build an entirely custom pipeline for transforming input circuits. You can use the [`StagedPassManager`](qiskit.transpiler.StagedPassManager "qiskit.transpiler.StagedPassManager") class directly to do this. You can define arbitrary stage names and populate them with a [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") instance. For example, the following code creates a new [`StagedPassManager`](qiskit.transpiler.StagedPassManager "qiskit.transpiler.StagedPassManager") that has 2 stages, `init` and `translation`.: ```python from qiskit.transpiler.passes import ( @@ -98,6 +105,7 @@ from qiskit.transpiler.passes import ( Collect2qBlocks, ConsolidateBlocks, UnitarySynthesis, + Unroll3qOrMore, ) from qiskit.transpiler import PassManager, StagedPassManager @@ -116,9 +124,9 @@ staged_pm = StagedPassManager( ) ``` -will create a new [`StagedPassManager`](qiskit.transpiler.StagedPassManager "qiskit.transpiler.StagedPassManager") that has 2 stages `init` and `translation`. There is no limit on the number of stages you can put in a custom [`StagedPassManager`](qiskit.transpiler.StagedPassManager "qiskit.transpiler.StagedPassManager") instance. +There is no limit on the number of stages you can put in a [`StagedPassManager`](qiskit.transpiler.StagedPassManager "qiskit.transpiler.StagedPassManager"). -The [Stage Generator Functions](transpiler_preset#stage-generators) functions may be useful for the construction of custom pass managers. They generate stages which provide common functionality used in many pass managers. For example, [`generate_embed_passmanager()`](transpiler_preset#qiskit.transpiler.preset_passmanagers.common.generate_embed_passmanager "qiskit.transpiler.preset_passmanagers.common.generate_embed_passmanager") can be used to generate a stage to “embed” a selected initial [`Layout`](qiskit.transpiler.Layout "qiskit.transpiler.Layout") from a layout pass to the specified target device. +The [Stage Generator Functions](transpiler_preset#stage-generators) may be useful for the construction of custom `generate_embed_passmanager` generates a [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") to “embed” a selected initial [`Layout`](qiskit.transpiler.Layout "qiskit.transpiler.Layout") from a layout pass to the specified target device. ## Representing Quantum Computers @@ -889,30 +897,30 @@ See [https://arxiv.org/abs/2102.01682](https://arxiv.org/abs/2102.01682) for mor | | | | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target")(\[description, num\_qubits, dt, ...]) | The intent of the `Target` object is to inform Qiskit's compiler about the constraints of a particular backend so the compiler can compile an input circuit to something that works and is optimized for a device. | -| [`InstructionProperties`](qiskit.transpiler.InstructionProperties "qiskit.transpiler.InstructionProperties")(\[duration, error, ...]) | A representation of the properties of a gate implementation. | +| [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target")(\[description, num\_qubits, dt, ...]) | The intent of the `Target` object is to inform Qiskit's compiler about the constraints of a particular backend so the compiler can compile an input circuit to something that works and is optimized for a device. | +| [`InstructionProperties`](qiskit.transpiler.InstructionProperties "qiskit.transpiler.InstructionProperties")(\[duration, error, ...]) | A representation of the properties of a gate implementation. | ### Pass Manager Construction | | | | ------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | -| [`StagedPassManager`](qiskit.transpiler.StagedPassManager "qiskit.transpiler.StagedPassManager")(\[stages]) | A Pass manager pipeline built up of individual stages | -| [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager")(\[passes, max\_iteration]) | Manager for a set of Passes and their scheduling during transpilation. | -| [`PassManagerConfig`](qiskit.transpiler.PassManagerConfig "qiskit.transpiler.PassManagerConfig")(\[initial\_layout, ...]) | Pass Manager Configuration. | +| [`StagedPassManager`](qiskit.transpiler.StagedPassManager "qiskit.transpiler.StagedPassManager")(\[stages]) | A pass manager pipeline built from individual stages. | +| [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager")(\[passes, max\_iteration]) | Manager for a set of Passes and their scheduling during transpilation. | +| [`PassManagerConfig`](qiskit.transpiler.PassManagerConfig "qiskit.transpiler.PassManagerConfig")(\[initial\_layout, ...]) | Pass Manager Configuration. | ### Layout and Topology | | | | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------ | | [`Layout`](qiskit.transpiler.Layout "qiskit.transpiler.Layout")(\[input\_dict]) | Two-ways dict to represent a Layout. | -| [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap")(\[couplinglist, description]) | Directed graph specifying fixed coupling. | -| [`TranspileLayout`](qiskit.transpiler.TranspileLayout "qiskit.transpiler.TranspileLayout")(initial\_layout, ...\[, ...]) | Layout attributes from output circuit from transpiler. | +| [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap")(\[couplinglist, description]) | Directed graph specifying fixed coupling. | +| [`TranspileLayout`](qiskit.transpiler.TranspileLayout "qiskit.transpiler.TranspileLayout")(initial\_layout, ...\[, ...]) | Layout attributes from output circuit from transpiler. | ### Scheduling | | | | ---------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- | -| [`InstructionDurations`](qiskit.transpiler.InstructionDurations "qiskit.transpiler.InstructionDurations")(\[instruction\_durations, dt]) | Helper class to provide durations of instructions for scheduling. | +| [`InstructionDurations`](qiskit.transpiler.InstructionDurations "qiskit.transpiler.InstructionDurations")(\[instruction\_durations, dt]) | Helper class to provide durations of instructions for scheduling. | ### Fenced Objects @@ -925,14 +933,14 @@ See [https://arxiv.org/abs/2102.01682](https://arxiv.org/abs/2102.01682) for mor | | | | ----------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- | -| [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.TransformationPass")(\*args, \*\*kwargs) | A transformation pass: change DAG, not property set. | -| [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.AnalysisPass")(\*args, \*\*kwargs) | An analysis pass: change property set, not DAG. | +| [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.TransformationPass")(\*args, \*\*kwargs) | A transformation pass: change DAG, not property set. | +| [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.AnalysisPass")(\*args, \*\*kwargs) | An analysis pass: change property set, not DAG. | ### Exceptions -`qiskit.transpiler.TranspilerError(*message)` +`qiskit.transpiler.TranspilerError(*message)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/exceptions.py "view source code") Exceptions raised during transpilation. @@ -940,7 +948,7 @@ Set the error message. -`qiskit.transpiler.TranspilerAccessError(*message)` +`qiskit.transpiler.TranspilerAccessError(*message)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/exceptions.py "view source code") DEPRECATED: Exception of access error in the transpiler passes. @@ -948,7 +956,7 @@ Set the error message. -`qiskit.transpiler.CouplingError(*msg)` +`qiskit.transpiler.CouplingError(*msg)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/exceptions.py "view source code") Base class for errors raised by the coupling graph object. @@ -956,7 +964,7 @@ Set the error message. -`qiskit.transpiler.LayoutError(*msg)` +`qiskit.transpiler.LayoutError(*msg)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/exceptions.py "view source code") Errors raised by the layout object. diff --git a/docs/api/qiskit/transpiler_passes.md b/docs/api/qiskit/transpiler_passes.md index 389f0d1b46..379c86daf3 100644 --- a/docs/api/qiskit/transpiler_passes.md +++ b/docs/api/qiskit/transpiler_passes.md @@ -20,142 +20,142 @@ python_api_name: qiskit.transpiler.passes ## Layout Selection (Placement) -| | | -| ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | -| [`SetLayout`](qiskit.transpiler.passes.SetLayout "qiskit.transpiler.passes.SetLayout")(\*args, \*\*kwargs) | Set the `layout` property to the given layout. | -| [`TrivialLayout`](qiskit.transpiler.passes.TrivialLayout "qiskit.transpiler.passes.TrivialLayout")(\*args, \*\*kwargs) | Choose a Layout by assigning `n` circuit qubits to device qubits `0, .., n-1`. | -| [`DenseLayout`](qiskit.transpiler.passes.DenseLayout "qiskit.transpiler.passes.DenseLayout")(\*args, \*\*kwargs) | Choose a Layout by finding the most connected subset of qubits. | -| [`NoiseAdaptiveLayout`](qiskit.transpiler.passes.NoiseAdaptiveLayout "qiskit.transpiler.passes.NoiseAdaptiveLayout")(\*args, \*\*kwargs) | Choose a noise-adaptive Layout based on current calibration data for the backend. | -| [`SabreLayout`](qiskit.transpiler.passes.SabreLayout "qiskit.transpiler.passes.SabreLayout")(\*args, \*\*kwargs) | Choose a Layout via iterative bidirectional routing of the input circuit. | -| [`CSPLayout`](qiskit.transpiler.passes.CSPLayout "qiskit.transpiler.passes.CSPLayout")(\*args, \*\*kwargs) | If possible, chooses a Layout as a CSP, using backtracking. | -| [`VF2Layout`](qiskit.transpiler.passes.VF2Layout "qiskit.transpiler.passes.VF2Layout")(\*args, \*\*kwargs) | A pass for choosing a Layout of a circuit onto a Coupling graph, as a a subgraph isomorphism problem, solved by VF2++. | -| [`ApplyLayout`](qiskit.transpiler.passes.ApplyLayout "qiskit.transpiler.passes.ApplyLayout")(\*args, \*\*kwargs) | Transform a circuit with virtual qubits into a circuit with physical qubits. | -| [`Layout2qDistance`](qiskit.transpiler.passes.Layout2qDistance "qiskit.transpiler.passes.Layout2qDistance")(\*args, \*\*kwargs) | Evaluate how good the layout selection was. | -| [`EnlargeWithAncilla`](qiskit.transpiler.passes.EnlargeWithAncilla "qiskit.transpiler.passes.EnlargeWithAncilla")(\*args, \*\*kwargs) | Extend the dag with virtual qubits that are in layout but not in the circuit yet. | -| [`FullAncillaAllocation`](qiskit.transpiler.passes.FullAncillaAllocation "qiskit.transpiler.passes.FullAncillaAllocation")(\*args, \*\*kwargs) | Allocate all idle nodes from the coupling map or target as ancilla on the layout. | -| [`SabrePreLayout`](qiskit.transpiler.passes.SabrePreLayout "qiskit.transpiler.passes.SabrePreLayout")(\*args, \*\*kwargs) | Choose a starting layout to use for additional Sabre layout trials. | +| | | +| ---------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| [`SetLayout`](qiskit.transpiler.passes.SetLayout "qiskit.transpiler.passes.SetLayout")(\*args, \*\*kwargs) | Set the `layout` property to the given layout. | +| [`TrivialLayout`](qiskit.transpiler.passes.TrivialLayout "qiskit.transpiler.passes.TrivialLayout")(\*args, \*\*kwargs) | Choose a Layout by assigning `n` circuit qubits to device qubits `0, .., n-1`. | +| [`DenseLayout`](qiskit.transpiler.passes.DenseLayout "qiskit.transpiler.passes.DenseLayout")(\*args, \*\*kwargs) | Choose a Layout by finding the most connected subset of qubits. | +| [`NoiseAdaptiveLayout`](qiskit.transpiler.passes.NoiseAdaptiveLayout "qiskit.transpiler.passes.NoiseAdaptiveLayout")(\*args, \*\*kwargs) | Choose a noise-adaptive Layout based on current calibration data for the backend. | +| [`SabreLayout`](qiskit.transpiler.passes.SabreLayout "qiskit.transpiler.passes.SabreLayout")(\*args, \*\*kwargs) | Choose a Layout via iterative bidirectional routing of the input circuit. | +| [`CSPLayout`](qiskit.transpiler.passes.CSPLayout "qiskit.transpiler.passes.CSPLayout")(\*args, \*\*kwargs) | If possible, chooses a Layout as a CSP, using backtracking. | +| [`VF2Layout`](qiskit.transpiler.passes.VF2Layout "qiskit.transpiler.passes.VF2Layout")(\*args, \*\*kwargs) | A pass for choosing a Layout of a circuit onto a Coupling graph, as a subgraph isomorphism problem, solved by VF2++. | +| [`ApplyLayout`](qiskit.transpiler.passes.ApplyLayout "qiskit.transpiler.passes.ApplyLayout")(\*args, \*\*kwargs) | Transform a circuit with virtual qubits into a circuit with physical qubits. | +| [`Layout2qDistance`](qiskit.transpiler.passes.Layout2qDistance "qiskit.transpiler.passes.Layout2qDistance")(\*args, \*\*kwargs) | Evaluate how good the layout selection was. | +| [`EnlargeWithAncilla`](qiskit.transpiler.passes.EnlargeWithAncilla "qiskit.transpiler.passes.EnlargeWithAncilla")(\*args, \*\*kwargs) | Extend the dag with virtual qubits that are in layout but not in the circuit yet. | +| [`FullAncillaAllocation`](qiskit.transpiler.passes.FullAncillaAllocation "qiskit.transpiler.passes.FullAncillaAllocation")(\*args, \*\*kwargs) | Allocate all idle nodes from the coupling map or target as ancilla on the layout. | +| [`SabrePreLayout`](qiskit.transpiler.passes.SabrePreLayout "qiskit.transpiler.passes.SabrePreLayout")(\*args, \*\*kwargs) | Choose a starting layout to use for additional Sabre layout trials. | ## Routing -| | | -| ---------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | -| [`BasicSwap`](qiskit.transpiler.passes.BasicSwap "qiskit.transpiler.passes.BasicSwap")(\*args, \*\*kwargs) | Map (with minimum effort) a DAGCircuit onto a coupling\_map adding swap gates. | -| [`LookaheadSwap`](qiskit.transpiler.passes.LookaheadSwap "qiskit.transpiler.passes.LookaheadSwap")(\*args, \*\*kwargs) | Map input circuit onto a backend topology via insertion of SWAPs. | -| [`StochasticSwap`](qiskit.transpiler.passes.StochasticSwap "qiskit.transpiler.passes.StochasticSwap")(\*args, \*\*kwargs) | Map a DAGCircuit onto a coupling\_map adding swap gates. | -| [`SabreSwap`](qiskit.transpiler.passes.SabreSwap "qiskit.transpiler.passes.SabreSwap")(\*args, \*\*kwargs) | Map input circuit onto a backend topology via insertion of SWAPs. | -| [`Commuting2qGateRouter`](qiskit.transpiler.passes.Commuting2qGateRouter "qiskit.transpiler.passes.Commuting2qGateRouter")(\*args, \*\*kwargs) | A class to swap route one or more commuting gates to the coupling map. | +| | | +| ---------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| [`BasicSwap`](qiskit.transpiler.passes.BasicSwap "qiskit.transpiler.passes.BasicSwap")(\*args, \*\*kwargs) | Map (with minimum effort) a DAGCircuit onto a `coupling_map` adding swap gates. | +| [`LookaheadSwap`](qiskit.transpiler.passes.LookaheadSwap "qiskit.transpiler.passes.LookaheadSwap")(\*args, \*\*kwargs) | Map input circuit onto a backend topology via insertion of SWAPs. | +| [`StochasticSwap`](qiskit.transpiler.passes.StochasticSwap "qiskit.transpiler.passes.StochasticSwap")(\*args, \*\*kwargs) | Map a DAGCircuit onto a coupling\_map adding swap gates. | +| [`SabreSwap`](qiskit.transpiler.passes.SabreSwap "qiskit.transpiler.passes.SabreSwap")(\*args, \*\*kwargs) | Map input circuit onto a backend topology via insertion of SWAPs. | +| [`Commuting2qGateRouter`](qiskit.transpiler.passes.Commuting2qGateRouter "qiskit.transpiler.passes.Commuting2qGateRouter")(\*args, \*\*kwargs) | A class to swap route one or more commuting gates to the coupling map. | ## Basis Change | | | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | -| [`BasisTranslator`](qiskit.transpiler.passes.BasisTranslator "qiskit.transpiler.passes.BasisTranslator")(\*args, \*\*kwargs) | Translates gates to a target basis by searching for a set of translations from a given EquivalenceLibrary. | -| [`Decompose`](qiskit.transpiler.passes.Decompose "qiskit.transpiler.passes.Decompose")(\*args, \*\*kwargs) | Expand a gate in a circuit using its decomposition rules. | -| [`TranslateParameterizedGates`](qiskit.transpiler.passes.TranslateParameterizedGates "qiskit.transpiler.passes.TranslateParameterizedGates")(\*args, \*\*kwargs) | Translate parameterized gates to a supported basis set. | -| [`Unroll3qOrMore`](qiskit.transpiler.passes.Unroll3qOrMore "qiskit.transpiler.passes.Unroll3qOrMore")(\*args, \*\*kwargs) | Recursively expands 3q+ gates until the circuit only contains 2q or 1q gates. | -| [`UnrollCustomDefinitions`](qiskit.transpiler.passes.UnrollCustomDefinitions "qiskit.transpiler.passes.UnrollCustomDefinitions")(\*args, \*\*kwargs) | Unrolls instructions with custom definitions. | -| [`Unroller`](qiskit.transpiler.passes.Unroller "qiskit.transpiler.passes.Unroller")(\*args, \*\*kwargs) | Unroll a circuit to a given basis. | +| [`BasisTranslator`](qiskit.transpiler.passes.BasisTranslator "qiskit.transpiler.passes.BasisTranslator")(\*args, \*\*kwargs) | Translates gates to a target basis by searching for a set of translations from a given EquivalenceLibrary. | +| [`Decompose`](qiskit.transpiler.passes.Decompose "qiskit.transpiler.passes.Decompose")(\*args, \*\*kwargs) | Expand a gate in a circuit using its decomposition rules. | +| [`TranslateParameterizedGates`](qiskit.transpiler.passes.TranslateParameterizedGates "qiskit.transpiler.passes.TranslateParameterizedGates")(\*args, \*\*kwargs) | Translate parameterized gates to a supported basis set. | +| [`Unroll3qOrMore`](qiskit.transpiler.passes.Unroll3qOrMore "qiskit.transpiler.passes.Unroll3qOrMore")(\*args, \*\*kwargs) | Recursively expands 3q+ gates until the circuit only contains 2q or 1q gates. | +| [`UnrollCustomDefinitions`](qiskit.transpiler.passes.UnrollCustomDefinitions "qiskit.transpiler.passes.UnrollCustomDefinitions")(\*args, \*\*kwargs) | Unrolls instructions with custom definitions. | +| [`Unroller`](qiskit.transpiler.passes.Unroller "qiskit.transpiler.passes.Unroller")(\*args, \*\*kwargs) | Unroll a circuit to a given basis. | ## Optimizations | | | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [`Optimize1qGates`](qiskit.transpiler.passes.Optimize1qGates "qiskit.transpiler.passes.Optimize1qGates")(\*args, \*\*kwargs) | Optimize chains of single-qubit u1, u2, u3 gates by combining them into a single gate. | -| [`Optimize1qGatesDecomposition`](qiskit.transpiler.passes.Optimize1qGatesDecomposition "qiskit.transpiler.passes.Optimize1qGatesDecomposition")(\*args, \*\*kwargs) | Optimize chains of single-qubit gates by combining them into a single gate. | -| [`Collect1qRuns`](qiskit.transpiler.passes.Collect1qRuns "qiskit.transpiler.passes.Collect1qRuns")(\*args, \*\*kwargs) | Collect one-qubit subcircuits. | -| [`Collect2qBlocks`](qiskit.transpiler.passes.Collect2qBlocks "qiskit.transpiler.passes.Collect2qBlocks")(\*args, \*\*kwargs) | Collect two-qubit subcircuits. | -| [`CollectMultiQBlocks`](qiskit.transpiler.passes.CollectMultiQBlocks "qiskit.transpiler.passes.CollectMultiQBlocks")(\*args, \*\*kwargs) | Collect sequences of uninterrupted gates acting on groups of qubits. | -| [`CollectLinearFunctions`](qiskit.transpiler.passes.CollectLinearFunctions "qiskit.transpiler.passes.CollectLinearFunctions")(\*args, \*\*kwargs) | Collect blocks of linear gates ([`CXGate`](qiskit.circuit.library.CXGate "qiskit.circuit.library.CXGate") and [`SwapGate`](qiskit.circuit.library.SwapGate "qiskit.circuit.library.SwapGate") gates) and replaces them by linear functions ([`LinearFunction`](qiskit.circuit.library.LinearFunction "qiskit.circuit.library.LinearFunction")). | -| [`CollectCliffords`](qiskit.transpiler.passes.CollectCliffords "qiskit.transpiler.passes.CollectCliffords")(\*args, \*\*kwargs) | Collects blocks of Clifford gates and replaces them by a [`Clifford`](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford") object. | -| [`ConsolidateBlocks`](qiskit.transpiler.passes.ConsolidateBlocks "qiskit.transpiler.passes.ConsolidateBlocks")(\*args, \*\*kwargs) | Replace each block of consecutive gates by a single Unitary node. | -| [`CXCancellation`](qiskit.transpiler.passes.CXCancellation "qiskit.transpiler.passes.CXCancellation")(\*args, \*\*kwargs) | Cancel back-to-back cx gates in dag. | -| [`InverseCancellation`](qiskit.transpiler.passes.InverseCancellation "qiskit.transpiler.passes.InverseCancellation")(\*args, \*\*kwargs) | Cancel specific Gates which are inverses of each other when they occur back-to- back. | -| [`CommutationAnalysis`](qiskit.transpiler.passes.CommutationAnalysis "qiskit.transpiler.passes.CommutationAnalysis")(\*args, \*\*kwargs) | Analysis pass to find commutation relations between DAG nodes. | -| [`CommutativeCancellation`](qiskit.transpiler.passes.CommutativeCancellation "qiskit.transpiler.passes.CommutativeCancellation")(\*args, \*\*kwargs) | Cancel the redundant (self-adjoint) gates through commutation relations. | -| [`CommutativeInverseCancellation`](qiskit.transpiler.passes.CommutativeInverseCancellation "qiskit.transpiler.passes.CommutativeInverseCancellation")(\*args, \*\*kwargs) | Cancel pairs of inverse gates exploiting commutation relations. | -| [`Optimize1qGatesSimpleCommutation`](qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation "qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation")(\*args, \*\*kwargs) | Optimizes 1Q gate strings interrupted by 2Q gates by commuting the components and re- synthesizing the results. | -| [`RemoveDiagonalGatesBeforeMeasure`](qiskit.transpiler.passes.RemoveDiagonalGatesBeforeMeasure "qiskit.transpiler.passes.RemoveDiagonalGatesBeforeMeasure")(\*args, \*\*kwargs) | Remove diagonal gates (including diagonal 2Q gates) before a measurement. | -| [`RemoveResetInZeroState`](qiskit.transpiler.passes.RemoveResetInZeroState "qiskit.transpiler.passes.RemoveResetInZeroState")(\*args, \*\*kwargs) | Remove reset gate when the qubit is in zero state. | -| [`CrosstalkAdaptiveSchedule`](qiskit.transpiler.passes.CrosstalkAdaptiveSchedule "qiskit.transpiler.passes.CrosstalkAdaptiveSchedule")(\*args, \*\*kwargs) | Crosstalk mitigation through adaptive instruction scheduling. | -| [`HoareOptimizer`](qiskit.transpiler.passes.HoareOptimizer "qiskit.transpiler.passes.HoareOptimizer")(\*args, \*\*kwargs) | This is a transpiler pass using Hoare logic circuit optimization. | -| [`TemplateOptimization`](qiskit.transpiler.passes.TemplateOptimization "qiskit.transpiler.passes.TemplateOptimization")(\*args, \*\*kwargs) | Class for the template optimization pass. | -| [`EchoRZXWeylDecomposition`](qiskit.transpiler.passes.EchoRZXWeylDecomposition "qiskit.transpiler.passes.EchoRZXWeylDecomposition")(\*args, \*\*kwargs) | Rewrite two-qubit gates using the Weyl decomposition. | -| [`ResetAfterMeasureSimplification`](qiskit.transpiler.passes.ResetAfterMeasureSimplification "qiskit.transpiler.passes.ResetAfterMeasureSimplification")(\*args, \*\*kwargs) | This pass replaces reset after measure with a conditional X gate. | -| [`OptimizeCliffords`](qiskit.transpiler.passes.OptimizeCliffords "qiskit.transpiler.passes.OptimizeCliffords")(\*args, \*\*kwargs) | Combine consecutive Cliffords over the same qubits. | -| [`NormalizeRXAngle`](qiskit.transpiler.passes.NormalizeRXAngle "qiskit.transpiler.passes.NormalizeRXAngle")(\*args, \*\*kwargs) | Normalize theta parameter of RXGate instruction. | +| [`Optimize1qGates`](qiskit.transpiler.passes.Optimize1qGates "qiskit.transpiler.passes.Optimize1qGates")(\*args, \*\*kwargs) | Optimize chains of single-qubit u1, u2, u3 gates by combining them into a single gate. | +| [`Optimize1qGatesDecomposition`](qiskit.transpiler.passes.Optimize1qGatesDecomposition "qiskit.transpiler.passes.Optimize1qGatesDecomposition")(\*args, \*\*kwargs) | Optimize chains of single-qubit gates by combining them into a single gate. | +| [`Collect1qRuns`](qiskit.transpiler.passes.Collect1qRuns "qiskit.transpiler.passes.Collect1qRuns")(\*args, \*\*kwargs) | Collect one-qubit subcircuits. | +| [`Collect2qBlocks`](qiskit.transpiler.passes.Collect2qBlocks "qiskit.transpiler.passes.Collect2qBlocks")(\*args, \*\*kwargs) | Collect two-qubit subcircuits. | +| [`CollectMultiQBlocks`](qiskit.transpiler.passes.CollectMultiQBlocks "qiskit.transpiler.passes.CollectMultiQBlocks")(\*args, \*\*kwargs) | Collect sequences of uninterrupted gates acting on groups of qubits. | +| [`CollectLinearFunctions`](qiskit.transpiler.passes.CollectLinearFunctions "qiskit.transpiler.passes.CollectLinearFunctions")(\*args, \*\*kwargs) | Collect blocks of linear gates ([`CXGate`](qiskit.circuit.library.CXGate "qiskit.circuit.library.CXGate") and [`SwapGate`](qiskit.circuit.library.SwapGate "qiskit.circuit.library.SwapGate") gates) and replaces them by linear functions ([`LinearFunction`](qiskit.circuit.library.LinearFunction "qiskit.circuit.library.LinearFunction")). | +| [`CollectCliffords`](qiskit.transpiler.passes.CollectCliffords "qiskit.transpiler.passes.CollectCliffords")(\*args, \*\*kwargs) | Collects blocks of Clifford gates and replaces them by a [`Clifford`](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford") object. | +| [`ConsolidateBlocks`](qiskit.transpiler.passes.ConsolidateBlocks "qiskit.transpiler.passes.ConsolidateBlocks")(\*args, \*\*kwargs) | Replace each block of consecutive gates by a single Unitary node. | +| [`CXCancellation`](qiskit.transpiler.passes.CXCancellation "qiskit.transpiler.passes.CXCancellation")(\*args, \*\*kwargs) | Cancel back-to-back `cx` gates in dag. | +| [`InverseCancellation`](qiskit.transpiler.passes.InverseCancellation "qiskit.transpiler.passes.InverseCancellation")(\*args, \*\*kwargs) | Cancel specific Gates which are inverses of each other when they occur back-to- back. | +| [`CommutationAnalysis`](qiskit.transpiler.passes.CommutationAnalysis "qiskit.transpiler.passes.CommutationAnalysis")(\*args, \*\*kwargs) | Analysis pass to find commutation relations between DAG nodes. | +| [`CommutativeCancellation`](qiskit.transpiler.passes.CommutativeCancellation "qiskit.transpiler.passes.CommutativeCancellation")(\*args, \*\*kwargs) | Cancel the redundant (self-adjoint) gates through commutation relations. | +| [`CommutativeInverseCancellation`](qiskit.transpiler.passes.CommutativeInverseCancellation "qiskit.transpiler.passes.CommutativeInverseCancellation")(\*args, \*\*kwargs) | Cancel pairs of inverse gates exploiting commutation relations. | +| [`Optimize1qGatesSimpleCommutation`](qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation "qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation")(\*args, \*\*kwargs) | Optimizes 1Q gate strings interrupted by 2Q gates by commuting the components and resynthesizing the results. | +| [`RemoveDiagonalGatesBeforeMeasure`](qiskit.transpiler.passes.RemoveDiagonalGatesBeforeMeasure "qiskit.transpiler.passes.RemoveDiagonalGatesBeforeMeasure")(\*args, \*\*kwargs) | Remove diagonal gates (including diagonal 2Q gates) before a measurement. | +| [`RemoveResetInZeroState`](qiskit.transpiler.passes.RemoveResetInZeroState "qiskit.transpiler.passes.RemoveResetInZeroState")(\*args, \*\*kwargs) | Remove reset gate when the qubit is in zero state. | +| [`CrosstalkAdaptiveSchedule`](qiskit.transpiler.passes.CrosstalkAdaptiveSchedule "qiskit.transpiler.passes.CrosstalkAdaptiveSchedule")(\*args, \*\*kwargs) | Crosstalk mitigation through adaptive instruction scheduling. | +| [`HoareOptimizer`](qiskit.transpiler.passes.HoareOptimizer "qiskit.transpiler.passes.HoareOptimizer")(\*args, \*\*kwargs) | This is a transpiler pass using Hoare logic circuit optimization. | +| [`TemplateOptimization`](qiskit.transpiler.passes.TemplateOptimization "qiskit.transpiler.passes.TemplateOptimization")(\*args, \*\*kwargs) | Class for the template optimization pass. | +| [`EchoRZXWeylDecomposition`](qiskit.transpiler.passes.EchoRZXWeylDecomposition "qiskit.transpiler.passes.EchoRZXWeylDecomposition")(\*args, \*\*kwargs) | Rewrite two-qubit gates using the Weyl decomposition. | +| [`ResetAfterMeasureSimplification`](qiskit.transpiler.passes.ResetAfterMeasureSimplification "qiskit.transpiler.passes.ResetAfterMeasureSimplification")(\*args, \*\*kwargs) | This pass replaces reset after measure with a conditional X gate. | +| [`OptimizeCliffords`](qiskit.transpiler.passes.OptimizeCliffords "qiskit.transpiler.passes.OptimizeCliffords")(\*args, \*\*kwargs) | Combine consecutive Cliffords over the same qubits. | +| [`NormalizeRXAngle`](qiskit.transpiler.passes.NormalizeRXAngle "qiskit.transpiler.passes.NormalizeRXAngle")(\*args, \*\*kwargs) | Normalize theta parameter of RXGate instruction. | ## Calibration | | | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | -| [`PulseGates`](qiskit.transpiler.passes.PulseGates "qiskit.transpiler.passes.PulseGates")(\*args, \*\*kwargs) | Pulse gate adding pass. | -| [`RZXCalibrationBuilder`](qiskit.transpiler.passes.RZXCalibrationBuilder "qiskit.transpiler.passes.RZXCalibrationBuilder")(\*args, \*\*kwargs) | Creates calibrations for RZXGate(theta) by stretching and compressing Gaussian square pulses in the CX gate. | -| [`RZXCalibrationBuilderNoEcho`](qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho "qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho")(\*args, \*\*kwargs) | Creates calibrations for RZXGate(theta) by stretching and compressing Gaussian square pulses in the CX gate. | -| [`RXCalibrationBuilder`](qiskit.transpiler.passes.RXCalibrationBuilder "qiskit.transpiler.passes.RXCalibrationBuilder")(\*args, \*\*kwargs) | Add single-pulse RX calibrations that are bootstrapped from the SX calibration. | +| [`PulseGates`](qiskit.transpiler.passes.PulseGates "qiskit.transpiler.passes.PulseGates")(\*args, \*\*kwargs) | Pulse gate adding pass. | +| [`RZXCalibrationBuilder`](qiskit.transpiler.passes.RZXCalibrationBuilder "qiskit.transpiler.passes.RZXCalibrationBuilder")(\*args, \*\*kwargs) | Creates calibrations for RZXGate(theta) by stretching and compressing Gaussian square pulses in the CX gate. | +| [`RZXCalibrationBuilderNoEcho`](qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho "qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho")(\*args, \*\*kwargs) | Creates calibrations for RZXGate(theta) by stretching and compressing Gaussian square pulses in the CX gate. | +| [`RXCalibrationBuilder`](qiskit.transpiler.passes.RXCalibrationBuilder "qiskit.transpiler.passes.RXCalibrationBuilder")(\*args, \*\*kwargs) | Add single-pulse RX calibrations that are bootstrapped from the SX calibration. | ## Scheduling | | | | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | -| [`TimeUnitConversion`](qiskit.transpiler.passes.TimeUnitConversion "qiskit.transpiler.passes.TimeUnitConversion")(\*args, \*\*kwargs) | Choose a time unit to be used in the following time-aware passes, and make all circuit time units consistent with that. | -| [`ALAPScheduleAnalysis`](qiskit.transpiler.passes.ALAPScheduleAnalysis "qiskit.transpiler.passes.ALAPScheduleAnalysis")(\*args, \*\*kwargs) | ALAP Scheduling pass, which schedules the **stop** time of instructions as late as possible. | -| [`ASAPScheduleAnalysis`](qiskit.transpiler.passes.ASAPScheduleAnalysis "qiskit.transpiler.passes.ASAPScheduleAnalysis")(\*args, \*\*kwargs) | ASAP Scheduling pass, which schedules the start time of instructions as early as possible.. | -| [`PadDynamicalDecoupling`](qiskit.transpiler.passes.PadDynamicalDecoupling "qiskit.transpiler.passes.PadDynamicalDecoupling")(\*args, \*\*kwargs) | Dynamical decoupling insertion pass. | -| [`PadDelay`](qiskit.transpiler.passes.PadDelay "qiskit.transpiler.passes.PadDelay")(\*args, \*\*kwargs) | Padding idle time with Delay instructions. | -| [`ConstrainedReschedule`](qiskit.transpiler.passes.ConstrainedReschedule "qiskit.transpiler.passes.ConstrainedReschedule")(\*args, \*\*kwargs) | Rescheduler pass that updates node start times to conform to the hardware alignments. | -| [`ValidatePulseGates`](qiskit.transpiler.passes.ValidatePulseGates "qiskit.transpiler.passes.ValidatePulseGates")(\*args, \*\*kwargs) | Check custom gate length. | -| [`InstructionDurationCheck`](qiskit.transpiler.passes.InstructionDurationCheck "qiskit.transpiler.passes.InstructionDurationCheck")(\*args, \*\*kwargs) | Duration validation pass for reschedule. | -| [`SetIOLatency`](qiskit.transpiler.passes.SetIOLatency "qiskit.transpiler.passes.SetIOLatency")(\*args, \*\*kwargs) | Set IOLatency information to the input circuit. | -| [`ALAPSchedule`](qiskit.transpiler.passes.ALAPSchedule "qiskit.transpiler.passes.ALAPSchedule")(\*args, \*\*kwargs) | ALAP Scheduling pass, which schedules the **stop** time of instructions as late as possible. | -| [`ASAPSchedule`](qiskit.transpiler.passes.ASAPSchedule "qiskit.transpiler.passes.ASAPSchedule")(\*args, \*\*kwargs) | ASAP Scheduling pass, which schedules the start time of instructions as early as possible.. | -| [`DynamicalDecoupling`](qiskit.transpiler.passes.DynamicalDecoupling "qiskit.transpiler.passes.DynamicalDecoupling")(\*args, \*\*kwargs) | Dynamical decoupling insertion pass. | -| [`AlignMeasures`](qiskit.transpiler.passes.AlignMeasures "qiskit.transpiler.passes.AlignMeasures")(\*args, \*\*kwargs) | Measurement alignment. | +| [`TimeUnitConversion`](qiskit.transpiler.passes.TimeUnitConversion "qiskit.transpiler.passes.TimeUnitConversion")(\*args, \*\*kwargs) | Choose a time unit to be used in the following time-aware passes, and make all circuit time units consistent with that. | +| [`ALAPScheduleAnalysis`](qiskit.transpiler.passes.ALAPScheduleAnalysis "qiskit.transpiler.passes.ALAPScheduleAnalysis")(\*args, \*\*kwargs) | ALAP Scheduling pass, which schedules the **stop** time of instructions as late as possible. | +| [`ASAPScheduleAnalysis`](qiskit.transpiler.passes.ASAPScheduleAnalysis "qiskit.transpiler.passes.ASAPScheduleAnalysis")(\*args, \*\*kwargs) | ASAP Scheduling pass, which schedules the start time of instructions as early as possible. | +| [`PadDynamicalDecoupling`](qiskit.transpiler.passes.PadDynamicalDecoupling "qiskit.transpiler.passes.PadDynamicalDecoupling")(\*args, \*\*kwargs) | Dynamical decoupling insertion pass. | +| [`PadDelay`](qiskit.transpiler.passes.PadDelay "qiskit.transpiler.passes.PadDelay")(\*args, \*\*kwargs) | Padding idle time with Delay instructions. | +| [`ConstrainedReschedule`](qiskit.transpiler.passes.ConstrainedReschedule "qiskit.transpiler.passes.ConstrainedReschedule")(\*args, \*\*kwargs) | Rescheduler pass that updates node start times to conform to the hardware alignments. | +| [`ValidatePulseGates`](qiskit.transpiler.passes.ValidatePulseGates "qiskit.transpiler.passes.ValidatePulseGates")(\*args, \*\*kwargs) | Check custom gate length. | +| [`InstructionDurationCheck`](qiskit.transpiler.passes.InstructionDurationCheck "qiskit.transpiler.passes.InstructionDurationCheck")(\*args, \*\*kwargs) | Duration validation pass for reschedule. | +| [`SetIOLatency`](qiskit.transpiler.passes.SetIOLatency "qiskit.transpiler.passes.SetIOLatency")(\*args, \*\*kwargs) | Set IOLatency information to the input circuit. | +| [`ALAPSchedule`](qiskit.transpiler.passes.ALAPSchedule "qiskit.transpiler.passes.ALAPSchedule")(\*args, \*\*kwargs) | ALAP Scheduling pass, which schedules the **stop** time of instructions as late as possible. | +| [`ASAPSchedule`](qiskit.transpiler.passes.ASAPSchedule "qiskit.transpiler.passes.ASAPSchedule")(\*args, \*\*kwargs) | ASAP Scheduling pass, which schedules the start time of instructions as early as possible.. | +| [`DynamicalDecoupling`](qiskit.transpiler.passes.DynamicalDecoupling "qiskit.transpiler.passes.DynamicalDecoupling")(\*args, \*\*kwargs) | Dynamical decoupling insertion pass. | +| [`AlignMeasures`](qiskit.transpiler.passes.AlignMeasures "qiskit.transpiler.passes.AlignMeasures")(\*args, \*\*kwargs) | Measurement alignment. | ## Circuit Analysis -| | | -| ---------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | -| [`Width`](qiskit.transpiler.passes.Width "qiskit.transpiler.passes.Width")(\*args, \*\*kwargs) | Calculate the width of a DAG circuit. | -| [`Depth`](qiskit.transpiler.passes.Depth "qiskit.transpiler.passes.Depth")(\*args, \*\*kwargs) | Calculate the depth of a DAG circuit. | -| [`Size`](qiskit.transpiler.passes.Size "qiskit.transpiler.passes.Size")(\*args, \*\*kwargs) | Calculate the size of a DAG circuit. | -| [`CountOps`](qiskit.transpiler.passes.CountOps "qiskit.transpiler.passes.CountOps")(\*args, \*\*kwargs) | Count the operations in a DAG circuit. | -| [`CountOpsLongestPath`](qiskit.transpiler.passes.CountOpsLongestPath "qiskit.transpiler.passes.CountOpsLongestPath")(\*args, \*\*kwargs) | Count the operations on the longest path in a DAGcircuit. | -| [`NumTensorFactors`](qiskit.transpiler.passes.NumTensorFactors "qiskit.transpiler.passes.NumTensorFactors")(\*args, \*\*kwargs) | Calculate the number of tensor factors of a DAG circuit. | -| [`DAGLongestPath`](qiskit.transpiler.passes.DAGLongestPath "qiskit.transpiler.passes.DAGLongestPath")(\*args, \*\*kwargs) | Return the longest path in a DAGcircuit as a list of DAGOpNodes, DAGInNodes, and DAGOutNodes. | +| | | +| ---------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [`Width`](qiskit.transpiler.passes.Width "qiskit.transpiler.passes.Width")(\*args, \*\*kwargs) | Calculate the width of a DAG circuit. | +| [`Depth`](qiskit.transpiler.passes.Depth "qiskit.transpiler.passes.Depth")(\*args, \*\*kwargs) | Calculate the depth of a DAG circuit. | +| [`Size`](qiskit.transpiler.passes.Size "qiskit.transpiler.passes.Size")(\*args, \*\*kwargs) | Calculate the size of a DAG circuit. | +| [`CountOps`](qiskit.transpiler.passes.CountOps "qiskit.transpiler.passes.CountOps")(\*args, \*\*kwargs) | Count the operations in a DAG circuit. | +| [`CountOpsLongestPath`](qiskit.transpiler.passes.CountOpsLongestPath "qiskit.transpiler.passes.CountOpsLongestPath")(\*args, \*\*kwargs) | Count the operations on the longest path in a [`DAGCircuit`](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit"). | +| [`NumTensorFactors`](qiskit.transpiler.passes.NumTensorFactors "qiskit.transpiler.passes.NumTensorFactors")(\*args, \*\*kwargs) | Calculate the number of tensor factors of a DAG circuit. | +| [`DAGLongestPath`](qiskit.transpiler.passes.DAGLongestPath "qiskit.transpiler.passes.DAGLongestPath")(\*args, \*\*kwargs) | Return the longest path in a [`DAGCircuit`](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit") as a list of [`DAGOpNode`](qiskit.dagcircuit.DAGOpNode "qiskit.dagcircuit.DAGOpNode")s, [`DAGInNode`](qiskit.dagcircuit.DAGInNode "qiskit.dagcircuit.DAGInNode")s, and [`DAGOutNode`](qiskit.dagcircuit.DAGOutNode "qiskit.dagcircuit.DAGOutNode")s. | ## Synthesis | | | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | -| [`UnitarySynthesis`](qiskit.transpiler.passes.UnitarySynthesis "qiskit.transpiler.passes.UnitarySynthesis")(\*args, \*\*kwargs) | Synthesize gates according to their basis gates. | -| [`LinearFunctionsSynthesis`](qiskit.transpiler.passes.LinearFunctionsSynthesis "qiskit.transpiler.passes.LinearFunctionsSynthesis")(\*args, \*\*kwargs) | DEPRECATED: Synthesize linear functions. | -| [`LinearFunctionsToPermutations`](qiskit.transpiler.passes.LinearFunctionsToPermutations "qiskit.transpiler.passes.LinearFunctionsToPermutations")(\*args, \*\*kwargs) | Promotes linear functions to permutations when possible. | -| [`HighLevelSynthesis`](qiskit.transpiler.passes.HighLevelSynthesis "qiskit.transpiler.passes.HighLevelSynthesis")(\*args, \*\*kwargs) | Synthesize higher-level objects and unroll custom definitions. | -| [`SolovayKitaev`](qiskit.transpiler.passes.SolovayKitaev "qiskit.transpiler.passes.SolovayKitaev")(\*args, \*\*kwargs) | Approximately decompose 1q gates to a discrete basis using the Solovay-Kitaev algorithm. | +| [`UnitarySynthesis`](qiskit.transpiler.passes.UnitarySynthesis "qiskit.transpiler.passes.UnitarySynthesis")(\*args, \*\*kwargs) | Synthesize gates according to their basis gates. | +| [`LinearFunctionsSynthesis`](qiskit.transpiler.passes.LinearFunctionsSynthesis "qiskit.transpiler.passes.LinearFunctionsSynthesis")(\*args, \*\*kwargs) | DEPRECATED: Synthesize linear functions. | +| [`LinearFunctionsToPermutations`](qiskit.transpiler.passes.LinearFunctionsToPermutations "qiskit.transpiler.passes.LinearFunctionsToPermutations")(\*args, \*\*kwargs) | Promotes linear functions to permutations when possible. | +| [`HighLevelSynthesis`](qiskit.transpiler.passes.HighLevelSynthesis "qiskit.transpiler.passes.HighLevelSynthesis")(\*args, \*\*kwargs) | Synthesize higher-level objects and unroll custom definitions. | +| [`SolovayKitaev`](qiskit.transpiler.passes.SolovayKitaev "qiskit.transpiler.passes.SolovayKitaev")(\*args, \*\*kwargs) | Approximately decompose 1q gates to a discrete basis using the Solovay-Kitaev algorithm. | | [`SolovayKitaevSynthesis`](qiskit.transpiler.passes.SolovayKitaevSynthesis "qiskit.transpiler.passes.SolovayKitaevSynthesis")() | A Solovay-Kitaev Qiskit unitary synthesis plugin. | ## Post Layout (Post transpile qubit selection) | | | | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | -| [`VF2PostLayout`](qiskit.transpiler.passes.VF2PostLayout "qiskit.transpiler.passes.VF2PostLayout")(\*args, \*\*kwargs) | A pass for choosing a Layout after transpilation of a circuit onto a Coupling graph, as a subgraph isomorphism problem, solved by VF2++. | +| [`VF2PostLayout`](qiskit.transpiler.passes.VF2PostLayout "qiskit.transpiler.passes.VF2PostLayout")(\*args, \*\*kwargs) | A pass for choosing a Layout after transpilation of a circuit onto a Coupling graph, as a subgraph isomorphism problem, solved by VF2++. | ## Additional Passes | | | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | -| [`CheckMap`](qiskit.transpiler.passes.CheckMap "qiskit.transpiler.passes.CheckMap")(\*args, \*\*kwargs) | Check if a DAG circuit is already mapped to a coupling map. | -| [`CheckGateDirection`](qiskit.transpiler.passes.CheckGateDirection "qiskit.transpiler.passes.CheckGateDirection")(\*args, \*\*kwargs) | Check if the two-qubit gates follow the right direction with respect to the coupling map. | -| [`GateDirection`](qiskit.transpiler.passes.GateDirection "qiskit.transpiler.passes.GateDirection")(\*args, \*\*kwargs) | Modify asymmetric gates to match the hardware coupling direction. | -| [`MergeAdjacentBarriers`](qiskit.transpiler.passes.MergeAdjacentBarriers "qiskit.transpiler.passes.MergeAdjacentBarriers")(\*args, \*\*kwargs) | Return a circuit with any adjacent barriers merged together. | -| [`RemoveBarriers`](qiskit.transpiler.passes.RemoveBarriers "qiskit.transpiler.passes.RemoveBarriers")(\*args, \*\*kwargs) | Return a circuit with any barrier removed. | -| [`BarrierBeforeFinalMeasurements`](qiskit.transpiler.passes.BarrierBeforeFinalMeasurements "qiskit.transpiler.passes.BarrierBeforeFinalMeasurements")(\*args, \*\*kwargs) | Add a barrier before final measurements. | -| [`RemoveFinalMeasurements`](qiskit.transpiler.passes.RemoveFinalMeasurements "qiskit.transpiler.passes.RemoveFinalMeasurements")(\*args, \*\*kwargs) | Remove final measurements and barriers at the end of a circuit. | -| [`DAGFixedPoint`](qiskit.transpiler.passes.DAGFixedPoint "qiskit.transpiler.passes.DAGFixedPoint")(\*args, \*\*kwargs) | Check if the DAG has reached a fixed point. | -| [`FixedPoint`](qiskit.transpiler.passes.FixedPoint "qiskit.transpiler.passes.FixedPoint")(\*args, \*\*kwargs) | Check if a property reached a fixed point. | -| [`MinimumPoint`](qiskit.transpiler.passes.MinimumPoint "qiskit.transpiler.passes.MinimumPoint")(\*args, \*\*kwargs) | Check if the DAG has reached a relative semi-stable point over previous runs | -| [`ContainsInstruction`](qiskit.transpiler.passes.ContainsInstruction "qiskit.transpiler.passes.ContainsInstruction")(\*args, \*\*kwargs) | An analysis pass to detect if the DAG contains a specific instruction. | -| [`GatesInBasis`](qiskit.transpiler.passes.GatesInBasis "qiskit.transpiler.passes.GatesInBasis")(\*args, \*\*kwargs) | Check if all gates in a DAG are in a given set of gates | -| [`ConvertConditionsToIfOps`](qiskit.transpiler.passes.ConvertConditionsToIfOps "qiskit.transpiler.passes.ConvertConditionsToIfOps")(\*args, \*\*kwargs) | Convert instructions whose `condition` attribute is set to a non-`None` value into the equivalent single-statement `IfElseBlock`. | -| [`UnrollForLoops`](qiskit.transpiler.passes.UnrollForLoops "qiskit.transpiler.passes.UnrollForLoops")(\*args, \*\*kwargs) | `UnrollForLoops` transpilation pass unrolls for-loops when possible. | +| [`CheckMap`](qiskit.transpiler.passes.CheckMap "qiskit.transpiler.passes.CheckMap")(\*args, \*\*kwargs) | Check if a DAG circuit is already mapped to a coupling map. | +| [`CheckGateDirection`](qiskit.transpiler.passes.CheckGateDirection "qiskit.transpiler.passes.CheckGateDirection")(\*args, \*\*kwargs) | Check if the two-qubit gates follow the right direction with respect to the coupling map. | +| [`GateDirection`](qiskit.transpiler.passes.GateDirection "qiskit.transpiler.passes.GateDirection")(\*args, \*\*kwargs) | Modify asymmetric gates to match the hardware coupling direction. | +| [`MergeAdjacentBarriers`](qiskit.transpiler.passes.MergeAdjacentBarriers "qiskit.transpiler.passes.MergeAdjacentBarriers")(\*args, \*\*kwargs) | Return a circuit with any adjacent barriers merged together. | +| [`RemoveBarriers`](qiskit.transpiler.passes.RemoveBarriers "qiskit.transpiler.passes.RemoveBarriers")(\*args, \*\*kwargs) | Return a circuit with any barrier removed. | +| [`BarrierBeforeFinalMeasurements`](qiskit.transpiler.passes.BarrierBeforeFinalMeasurements "qiskit.transpiler.passes.BarrierBeforeFinalMeasurements")(\*args, \*\*kwargs) | Add a barrier before final measurements. | +| [`RemoveFinalMeasurements`](qiskit.transpiler.passes.RemoveFinalMeasurements "qiskit.transpiler.passes.RemoveFinalMeasurements")(\*args, \*\*kwargs) | Remove final measurements and barriers at the end of a circuit. | +| [`DAGFixedPoint`](qiskit.transpiler.passes.DAGFixedPoint "qiskit.transpiler.passes.DAGFixedPoint")(\*args, \*\*kwargs) | Check if the DAG has reached a fixed point. | +| [`FixedPoint`](qiskit.transpiler.passes.FixedPoint "qiskit.transpiler.passes.FixedPoint")(\*args, \*\*kwargs) | Check if a property reached a fixed point. | +| [`MinimumPoint`](qiskit.transpiler.passes.MinimumPoint "qiskit.transpiler.passes.MinimumPoint")(\*args, \*\*kwargs) | Check if the DAG has reached a relative semi-stable point over previous runs | +| [`ContainsInstruction`](qiskit.transpiler.passes.ContainsInstruction "qiskit.transpiler.passes.ContainsInstruction")(\*args, \*\*kwargs) | An analysis pass to detect if the DAG contains a specific instruction. | +| [`GatesInBasis`](qiskit.transpiler.passes.GatesInBasis "qiskit.transpiler.passes.GatesInBasis")(\*args, \*\*kwargs) | Check if all gates in a DAG are in a given set of gates | +| [`ConvertConditionsToIfOps`](qiskit.transpiler.passes.ConvertConditionsToIfOps "qiskit.transpiler.passes.ConvertConditionsToIfOps")(\*args, \*\*kwargs) | Convert instructions whose `condition` attribute is set to a non-`None` value into the equivalent single-statement `IfElseBlock`. | +| [`UnrollForLoops`](qiskit.transpiler.passes.UnrollForLoops "qiskit.transpiler.passes.UnrollForLoops")(\*args, \*\*kwargs) | `UnrollForLoops` transpilation pass unrolls for-loops when possible. | diff --git a/docs/api/qiskit/transpiler_plugins.md b/docs/api/qiskit/transpiler_plugins.md index 291eed59f3..9ed7aa08d2 100644 --- a/docs/api/qiskit/transpiler_plugins.md +++ b/docs/api/qiskit/transpiler_plugins.md @@ -99,7 +99,7 @@ Note that the entry point `name = path` is a single string not a Python expressi -`qiskit.transpiler.preset_passmanagers.plugin.list_stage_plugins(stage_name)` +`qiskit.transpiler.preset_passmanagers.plugin.list_stage_plugins(stage_name)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/preset_passmanagers/plugin.py "view source code") Get a list of installed plugins for a stage. @@ -121,7 +121,7 @@ plugins -`qiskit.transpiler.preset_passmanagers.plugin.passmanager_stage_plugins(stage)` +`qiskit.transpiler.preset_passmanagers.plugin.passmanager_stage_plugins(stage)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/preset_passmanagers/plugin.py "view source code") Return a dict with, for each stage name, the class type of the plugin. diff --git a/docs/api/qiskit/transpiler_preset.md b/docs/api/qiskit/transpiler_preset.md index 86f79011ce..87dc4f37f1 100644 --- a/docs/api/qiskit/transpiler_preset.md +++ b/docs/api/qiskit/transpiler_preset.md @@ -26,7 +26,7 @@ This module contains functions for generating the preset pass managers for the t -`qiskit.transpiler.preset_passmanagers.generate_preset_pass_manager(optimization_level, backend=None, target=None, basis_gates=None, inst_map=None, coupling_map=None, instruction_durations=None, backend_properties=None, timing_constraints=None, initial_layout=None, layout_method=None, routing_method=None, translation_method=None, scheduling_method=None, approximation_degree=None, seed_transpiler=None, unitary_synthesis_method='default', unitary_synthesis_plugin_config=None, hls_config=None, init_method=None, optimization_method=None, *, _skip_target=False)` +`qiskit.transpiler.preset_passmanagers.generate_preset_pass_manager(optimization_level, backend=None, target=None, basis_gates=None, inst_map=None, coupling_map=None, instruction_durations=None, backend_properties=None, timing_constraints=None, initial_layout=None, layout_method=None, routing_method=None, translation_method=None, scheduling_method=None, approximation_degree=None, seed_transpiler=None, unitary_synthesis_method='default', unitary_synthesis_plugin_config=None, hls_config=None, init_method=None, optimization_method=None, *, _skip_target=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/preset_passmanagers/__init__.py "view source code") Generate a preset [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") @@ -97,7 +97,7 @@ The preset pass manager for the given options -`qiskit.transpiler.preset_passmanagers.level_0_pass_manager(pass_manager_config)` +`qiskit.transpiler.preset_passmanagers.level_0_pass_manager(pass_manager_config)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/preset_passmanagers/level0.py "view source code") Level 0 pass manager: no explicit optimization other than mapping to backend. @@ -123,7 +123,7 @@ a level 0 pass manager. -`qiskit.transpiler.preset_passmanagers.level_1_pass_manager(pass_manager_config)` +`qiskit.transpiler.preset_passmanagers.level_1_pass_manager(pass_manager_config)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/preset_passmanagers/level1.py "view source code") Level 1 pass manager: light optimization by simple adjacent gate collapsing. @@ -147,7 +147,7 @@ a level 1 pass manager. -`qiskit.transpiler.preset_passmanagers.level_2_pass_manager(pass_manager_config)` +`qiskit.transpiler.preset_passmanagers.level_2_pass_manager(pass_manager_config)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/preset_passmanagers/level2.py "view source code") Level 2 pass manager: medium optimization by initial layout selection and gate cancellation using commutativity rules. @@ -173,7 +173,7 @@ a level 2 pass manager. -`qiskit.transpiler.preset_passmanagers.level_3_pass_manager(pass_manager_config)` +`qiskit.transpiler.preset_passmanagers.level_3_pass_manager(pass_manager_config)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/preset_passmanagers/level3.py "view source code") Level 3 pass manager: heavy optimization by noise adaptive qubit mapping and gate cancellation using commutativity rules and unitary synthesis. @@ -203,7 +203,7 @@ a level 3 pass manager. -`qiskit.transpiler.preset_passmanagers.common.generate_control_flow_options_check(layout_method=None, routing_method=None, translation_method=None, optimization_method=None, scheduling_method=None, basis_gates=(), target=None)` +`qiskit.transpiler.preset_passmanagers.common.generate_control_flow_options_check(layout_method=None, routing_method=None, translation_method=None, optimization_method=None, scheduling_method=None, basis_gates=(), target=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/preset_passmanagers/common.py "view source code") Generate a pass manager that, when run on a DAG that contains control flow, fails with an error message explaining the invalid options, and what could be used instead. @@ -217,13 +217,13 @@ a pass manager that populates the `contains_x` properties for each of the contro -`qiskit.transpiler.preset_passmanagers.common.generate_error_on_control_flow(message)` +`qiskit.transpiler.preset_passmanagers.common.generate_error_on_control_flow(message)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/preset_passmanagers/common.py "view source code") Get a pass manager that always raises an error if control flow is present in a given circuit. -`qiskit.transpiler.preset_passmanagers.common.generate_unroll_3q(target, basis_gates=None, approximation_degree=None, unitary_synthesis_method='default', unitary_synthesis_plugin_config=None, hls_config=None)` +`qiskit.transpiler.preset_passmanagers.common.generate_unroll_3q(target, basis_gates=None, approximation_degree=None, unitary_synthesis_method='default', unitary_synthesis_plugin_config=None, hls_config=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/preset_passmanagers/common.py "view source code") Generate an unroll >3q [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") @@ -246,7 +246,7 @@ The unroll 3q or more pass manager -`qiskit.transpiler.preset_passmanagers.common.generate_embed_passmanager(coupling_map)` +`qiskit.transpiler.preset_passmanagers.common.generate_embed_passmanager(coupling_map)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/preset_passmanagers/common.py "view source code") Generate a layout embedding [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") @@ -268,7 +268,7 @@ set has been set in earlier stages -`qiskit.transpiler.preset_passmanagers.common.generate_routing_passmanager(routing_pass, target, coupling_map=None, vf2_call_limit=None, backend_properties=None, seed_transpiler=None, check_trivial=False, use_barrier_before_measurement=True, vf2_max_trials=None)` +`qiskit.transpiler.preset_passmanagers.common.generate_routing_passmanager(routing_pass, target, coupling_map=None, vf2_call_limit=None, backend_properties=None, seed_transpiler=None, check_trivial=False, use_barrier_before_measurement=True, vf2_max_trials=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/preset_passmanagers/common.py "view source code") Generate a routing [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") @@ -294,7 +294,7 @@ The routing pass manager -`qiskit.transpiler.preset_passmanagers.common.generate_pre_op_passmanager(target=None, coupling_map=None, remove_reset_in_zero=False)` +`qiskit.transpiler.preset_passmanagers.common.generate_pre_op_passmanager(target=None, coupling_map=None, remove_reset_in_zero=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/preset_passmanagers/common.py "view source code") Generate a pre-optimization loop [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") @@ -316,7 +316,7 @@ The pass manager -`qiskit.transpiler.preset_passmanagers.common.generate_translation_passmanager(target, basis_gates=None, method='translator', approximation_degree=None, coupling_map=None, backend_props=None, unitary_synthesis_method='default', unitary_synthesis_plugin_config=None, hls_config=None)` +`qiskit.transpiler.preset_passmanagers.common.generate_translation_passmanager(target, basis_gates=None, method='translator', approximation_degree=None, coupling_map=None, backend_props=None, unitary_synthesis_method='default', unitary_synthesis_plugin_config=None, hls_config=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/preset_passmanagers/common.py "view source code") Generate a basis translation [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") @@ -346,7 +346,7 @@ The basis translation pass manager -`qiskit.transpiler.preset_passmanagers.common.generate_scheduling(instruction_durations, scheduling_method, timing_constraints, inst_map, target=None)` +`qiskit.transpiler.preset_passmanagers.common.generate_scheduling(instruction_durations, scheduling_method, timing_constraints, inst_map, target=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/transpiler/preset_passmanagers/common.py "view source code") Generate a post optimization scheduling [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") diff --git a/docs/api/qiskit/utils.md b/docs/api/qiskit/utils.md index 25a7c5bc04..62044afb17 100644 --- a/docs/api/qiskit/utils.md +++ b/docs/api/qiskit/utils.md @@ -20,7 +20,7 @@ python_api_name: qiskit.utils -`qiskit.utils.add_deprecation_to_docstring(func, msg, *, since, pending)` +`qiskit.utils.add_deprecation_to_docstring(func, msg, *, since, pending)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/utils/deprecation.py "view source code") Dynamically insert the deprecation message into `func`’s docstring. @@ -33,7 +33,7 @@ Dynamically insert the deprecation message into `func`’s docstring. -`qiskit.utils.deprecate_arg(name, *, since, additional_msg=None, deprecation_description=None, pending=False, package_name='qiskit', new_alias=None, predicate=None, removal_timeline='no earlier than 3 months after the release date')` +`qiskit.utils.deprecate_arg(name, *, since, additional_msg=None, deprecation_description=None, pending=False, package_name='qiskit', new_alias=None, predicate=None, removal_timeline='no earlier than 3 months after the release date')`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/utils/deprecation.py "view source code") Decorator to indicate an argument has been deprecated in some way. @@ -61,7 +61,7 @@ Callable -`qiskit.utils.deprecate_arguments(kwarg_map, category=, *, since=None)` +`qiskit.utils.deprecate_arguments(kwarg_map, category=, *, since=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/utils/deprecation.py "view source code") Deprecated. Instead, use @deprecate\_arg. @@ -81,7 +81,7 @@ Callable -`qiskit.utils.deprecate_func(*, since, additional_msg=None, pending=False, package_name='qiskit', removal_timeline='no earlier than 3 months after the release date', is_property=False)` +`qiskit.utils.deprecate_func(*, since, additional_msg=None, pending=False, package_name='qiskit', removal_timeline='no earlier than 3 months after the release date', is_property=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/utils/deprecation.py "view source code") Decorator to indicate a function has been deprecated. @@ -108,7 +108,7 @@ Callable -`qiskit.utils.deprecate_function(msg, stacklevel=2, category=, *, since=None)` +`qiskit.utils.deprecate_function(msg, stacklevel=2, category=, *, since=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/utils/deprecation.py "view source code") Deprecated. Instead, use @deprecate\_func. @@ -129,7 +129,7 @@ Callable -`qiskit.utils.local_hardware_info()` +`qiskit.utils.local_hardware_info()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/utils/multiprocessing.py "view source code") Basic hardware information about the local machine. @@ -145,13 +145,13 @@ The hardware information. -`qiskit.utils.is_main_process()` +`qiskit.utils.is_main_process()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/utils/multiprocessing.py "view source code") Checks whether the current process is the main one -`qiskit.utils.apply_prefix(value, unit)` +`qiskit.utils.apply_prefix(value, unit)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/utils/units.py "view source code") Given a SI unit prefix and value, apply the prefix to convert to standard SI unit. @@ -182,7 +182,7 @@ Converted value. -`qiskit.utils.detach_prefix(value, decimal=None)` +`qiskit.utils.detach_prefix(value, decimal=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/utils/units.py "view source code") Given a SI unit value, find the most suitable prefix to scale the value. @@ -224,7 +224,7 @@ A tuple of scaled value and prefix. -`qiskit.utils.wrap_method(cls, name, *, before=None, after=None)` +`qiskit.utils.wrap_method(cls, name, *, before=None, after=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/utils/classtools.py "view source code") Wrap the functionality the instance- or class method `cls.name` with additional behaviour `before` and `after`. @@ -247,7 +247,7 @@ If either `before` or `after` are given, they should be callables with a compati -`qiskit.utils.summarize_circuits(circuits)` +`qiskit.utils.summarize_circuits(circuits)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/utils/circuit_utils.py "view source code") **Summarize circuits based on QuantumCircuit, and five metrics are summarized.** @@ -273,7 +273,7 @@ a formatted string records the summary -`qiskit.utils.get_entangler_map(map_type, num_qubits, offset=0)` +`qiskit.utils.get_entangler_map(map_type, num_qubits, offset=0)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/utils/entangler_map.py "view source code") Utility method to get an entangler map among qubits. @@ -297,7 +297,7 @@ A map of qubit index to an array of indexes to which this should be entangled -`qiskit.utils.validate_entangler_map(entangler_map, num_qubits, allow_double_entanglement=False)` +`qiskit.utils.validate_entangler_map(entangler_map, num_qubits, allow_double_entanglement=False)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/utils/entangler_map.py "view source code") Validate a user supplied entangler map and converts entries to ints. @@ -323,7 +323,7 @@ Validated/converted map -`qiskit.utils.has_ibmq()` +`qiskit.utils.has_ibmq()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/utils/backend_utils.py "view source code") Check if IBMQ is installed. @@ -333,7 +333,7 @@ Check if IBMQ is installed. -`qiskit.utils.has_aer()` +`qiskit.utils.has_aer()`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/utils/backend_utils.py "view source code") Check if Aer is installed. @@ -343,7 +343,7 @@ Check if Aer is installed. -`qiskit.utils.name_args(mapping, skip=0)` +`qiskit.utils.name_args(mapping, skip=0)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/utils/name_unnamed_args.py "view source code") Decorator to convert unnamed arguments to named ones. @@ -416,7 +416,7 @@ Qiskit has several features that are enabled only if certain *optional* dependen | **qiskit.utils.optionals.HAS\_JAX** | Some methods of gradient calculation within [`opflow.gradients`](qiskit.opflow.gradients#module-qiskit.opflow.gradients "qiskit.opflow.gradients") require [JAX](https://github.com/google/jax) for autodifferentiation. | | **qiskit.utils.optionals.HAS\_JUPYTER** | Some of the tests require a complete [Jupyter](https://jupyter.org/) installation to test interactivity features. | | **qiskit.utils.optionals.HAS\_MATPLOTLIB** | Qiskit provides several visualisation tools in the [`visualization`](visualization#module-qiskit.visualization "qiskit.visualization") module. Almost all of these are built using [Matplotlib](https://matplotlib.org/), which must be installed in order to use them. | -| **qiskit.utils.optionals.HAS\_NETWORKX** | No longer used by Qiskit. Internally, Qiskit now uses the high-performance [rustworkx](https://github.com/Qiskit/rustworkx) library as a core dependency, and during the change-over period, it was sometimes convenient to convert things into the Python-only [NetworkX](https://networkx.org/) format. Some tests of application modules, such as [Qiskit Nature](https://qiskit.org/documentation/nature/) still use NetworkX. | +| **qiskit.utils.optionals.HAS\_NETWORKX** | No longer used by Qiskit. Internally, Qiskit now uses the high-performance [rustworkx](https://github.com/Qiskit/rustworkx) library as a core dependency, and during the change-over period, it was sometimes convenient to convert things into the Python-only [NetworkX](https://networkx.org/) format. Some tests of application modules, such as [Qiskit Nature](https://qiskit.org/ecosystem/nature/) still use NetworkX. | | **qiskit.utils.optionals.HAS\_NLOPT** | [NLopt](https://nlopt.readthedocs.io/en/latest/) is a nonlinear optimization library, used by the global optimizers in the [`algorithms.optimizers`](qiskit.algorithms.optimizers#module-qiskit.algorithms.optimizers "qiskit.algorithms.optimizers") module. | | **qiskit.utils.optionals.HAS\_PIL** | PIL is a Python image-manipulation library. Qiskit actually uses the [pillow](https://pillow.readthedocs.io/en/stable/) fork of PIL if it is available when generating certain visualizations, for example of both [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") and [`DAGCircuit`](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit") in certain modes. | | **qiskit.utils.optionals.HAS\_PYDOT** | For some graph visualisations, Qiskit uses [pydot](https://github.com/pydot/pydot) as an interface to GraphViz (see [`HAS_GRAPHVIZ`](#qiskit.utils.optionals.HAS_GRAPHVIZ "qiskit.utils.optionals.HAS_GRAPHVIZ")). | @@ -450,7 +450,7 @@ from qiskit.utils import LazyImportTester -`qiskit.utils.LazyDependencyManager(*, name=None, callback=None, install=None, msg=None)` +`qiskit.utils.LazyDependencyManager(*, name=None, callback=None, install=None, msg=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/utils/lazy_tester.py "view source code") A mananger for some optional features that are expensive to import, or to verify the existence of. @@ -579,7 +579,7 @@ Eagerly attempt to import the dependencies in this object, and raise an exceptio -`qiskit.utils.LazyImportTester(name_map_or_modules, *, name=None, callback=None, install=None, msg=None)` +`qiskit.utils.LazyImportTester(name_map_or_modules, *, name=None, callback=None, install=None, msg=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/utils/lazy_tester.py "view source code") A lazy dependency tester for importable Python modules. Any required objects will only be imported at the point that this object is tested for its Boolean value. @@ -593,7 +593,7 @@ A lazy dependency tester for importable Python modules. Any required objects wil -`qiskit.utils.LazySubprocessTester(command, *, name=None, callback=None, install=None, msg=None)` +`qiskit.utils.LazySubprocessTester(command, *, name=None, callback=None, install=None, msg=None)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/utils/lazy_tester.py "view source code") A lazy checker that a command-line tool is available. The command will only be run once, at the point that this object is checked for its Boolean value. diff --git a/docs/api/qiskit/utils_mitigation.md b/docs/api/qiskit/utils_mitigation.md index 2fa30ca8b1..d8f435a520 100644 --- a/docs/api/qiskit/utils_mitigation.md +++ b/docs/api/qiskit/utils_mitigation.md @@ -32,6 +32,6 @@ The measurement calibration is used to mitigate measurement errors. The main ide | | | | ----------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- | -| [`CompleteMeasFitter`](qiskit.utils.mitigation.CompleteMeasFitter "qiskit.utils.mitigation.CompleteMeasFitter")(results, state\_labels\[, ...]) | Deprecated: Measurement correction fitter for a full calibration | -| [`TensoredMeasFitter`](qiskit.utils.mitigation.TensoredMeasFitter "qiskit.utils.mitigation.TensoredMeasFitter")(results, mit\_pattern\[, ...]) | Deprecated: Measurement correction fitter for a tensored calibration. | +| [`CompleteMeasFitter`](qiskit.utils.mitigation.CompleteMeasFitter "qiskit.utils.mitigation.CompleteMeasFitter")(results, state\_labels\[, ...]) | Deprecated: Measurement correction fitter for a full calibration | +| [`TensoredMeasFitter`](qiskit.utils.mitigation.TensoredMeasFitter "qiskit.utils.mitigation.TensoredMeasFitter")(results, mit\_pattern\[, ...]) | Deprecated: Measurement correction fitter for a tensored calibration. | diff --git a/docs/api/qiskit/visualization.md b/docs/api/qiskit/visualization.md index 736a483236..6eaae07ff2 100644 --- a/docs/api/qiskit/visualization.md +++ b/docs/api/qiskit/visualization.md @@ -84,7 +84,7 @@ This section contains functions that visualize measurement outcome counts. | | | | --------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- | -| [`plot_histogram`](qiskit.visualization.plot_histogram "qiskit.visualization.plot_histogram")(data\[, figsize, color, ...]) | Plot a histogram of input counts data. | +| [`plot_histogram`](qiskit.visualization.plot_histogram "qiskit.visualization.plot_histogram")(data\[, figsize, color, ...]) | Plot a histogram of input counts data. | ### Example Usage @@ -107,7 +107,7 @@ This section contains functions that visualize sampled distributions. | | | | ------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------- | -| [`plot_distribution`](qiskit.visualization.plot_distribution "qiskit.visualization.plot_distribution")(data\[, figsize, color, ...]) | Plot a distribution from input sampled data. | +| [`plot_distribution`](qiskit.visualization.plot_distribution "qiskit.visualization.plot_distribution")(data\[, figsize, color, ...]) | Plot a distribution from input sampled data. | ## State Visualizations @@ -115,12 +115,12 @@ This section contains functions that visualize quantum states. | | | | ------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- | -| [`plot_bloch_vector`](qiskit.visualization.plot_bloch_vector "qiskit.visualization.plot_bloch_vector")(bloch\[, title, ax, ...]) | Plot the Bloch sphere. | -| [`plot_bloch_multivector`](qiskit.visualization.plot_bloch_multivector "qiskit.visualization.plot_bloch_multivector")(state\[, title, ...]) | Plot a Bloch sphere for each qubit. | -| [`plot_state_city`](qiskit.visualization.plot_state_city "qiskit.visualization.plot_state_city")(state\[, title, figsize, ...]) | Plot the cityscape of quantum state. | -| [`plot_state_hinton`](qiskit.visualization.plot_state_hinton "qiskit.visualization.plot_state_hinton")(state\[, title, figsize, ...]) | Plot a hinton diagram for the density matrix of a quantum state. | -| [`plot_state_paulivec`](qiskit.visualization.plot_state_paulivec "qiskit.visualization.plot_state_paulivec")(state\[, title, figsize, ...]) | Plot the Pauli-vector representation of a quantum state as bar graph. | -| [`plot_state_qsphere`](qiskit.visualization.plot_state_qsphere "qiskit.visualization.plot_state_qsphere")(state\[, figsize, ax, ...]) | Plot the qsphere representation of a quantum state. | +| [`plot_bloch_vector`](qiskit.visualization.plot_bloch_vector "qiskit.visualization.plot_bloch_vector")(bloch\[, title, ax, ...]) | Plot the Bloch sphere. | +| [`plot_bloch_multivector`](qiskit.visualization.plot_bloch_multivector "qiskit.visualization.plot_bloch_multivector")(state\[, title, ...]) | Plot a Bloch sphere for each qubit. | +| [`plot_state_city`](qiskit.visualization.plot_state_city "qiskit.visualization.plot_state_city")(state\[, title, figsize, ...]) | Plot the cityscape of quantum state. | +| [`plot_state_hinton`](qiskit.visualization.plot_state_hinton "qiskit.visualization.plot_state_hinton")(state\[, title, figsize, ...]) | Plot a hinton diagram for the density matrix of a quantum state. | +| [`plot_state_paulivec`](qiskit.visualization.plot_state_paulivec "qiskit.visualization.plot_state_paulivec")(state\[, title, figsize, ...]) | Plot the Pauli-vector representation of a quantum state as bar graph. | +| [`plot_state_qsphere`](qiskit.visualization.plot_state_qsphere "qiskit.visualization.plot_state_qsphere")(state\[, figsize, ax, ...]) | Plot the qsphere representation of a quantum state. | @@ -178,35 +178,35 @@ You can find code examples for each visualization functions on the individual fu | | | | -------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | -| [`plot_gate_map`](qiskit.visualization.plot_gate_map "qiskit.visualization.plot_gate_map")(backend\[, figsize, ...]) | Plots the gate map of a device. | -| [`plot_error_map`](qiskit.visualization.plot_error_map "qiskit.visualization.plot_error_map")(backend\[, figsize, ...]) | Plots the error map of a given backend. | -| [`plot_circuit_layout`](qiskit.visualization.plot_circuit_layout "qiskit.visualization.plot_circuit_layout")(circuit, backend\[, ...]) | Plot the layout of a circuit transpiled for a given target backend. | -| [`plot_coupling_map`](qiskit.visualization.plot_coupling_map "qiskit.visualization.plot_coupling_map")(num\_qubits, ...\[, ...]) | Plots an arbitrary coupling map of qubits (embedded in a plane). | +| [`plot_gate_map`](qiskit.visualization.plot_gate_map "qiskit.visualization.plot_gate_map")(backend\[, figsize, ...]) | Plots the gate map of a device. | +| [`plot_error_map`](qiskit.visualization.plot_error_map "qiskit.visualization.plot_error_map")(backend\[, figsize, ...]) | Plots the error map of a given backend. | +| [`plot_circuit_layout`](qiskit.visualization.plot_circuit_layout "qiskit.visualization.plot_circuit_layout")(circuit, backend\[, ...]) | Plot the layout of a circuit transpiled for a given target backend. | +| [`plot_coupling_map`](qiskit.visualization.plot_coupling_map "qiskit.visualization.plot_coupling_map")(num\_qubits, ...\[, ...]) | Plots an arbitrary coupling map of qubits (embedded in a plane). | ## Circuit Visualizations | | | | ------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- | -| [`circuit_drawer`](qiskit.visualization.circuit_drawer "qiskit.visualization.circuit_drawer")(circuit\[, scale, filename, ...]) | Draw the quantum circuit. | +| [`circuit_drawer`](qiskit.visualization.circuit_drawer "qiskit.visualization.circuit_drawer")(circuit\[, scale, filename, ...]) | Draw the quantum circuit. | | [`DefaultStyle`](qiskit.visualization.qcstyle.DefaultStyle "qiskit.visualization.qcstyle.DefaultStyle")() | Creates a Default Style dictionary | ## DAG Visualizations | | | | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | -| [`dag_drawer`](qiskit.visualization.dag_drawer "qiskit.visualization.dag_drawer")(dag\[, scale, filename, style]) | Plot the directed acyclic graph (dag) to represent operation dependencies in a quantum circuit. | +| [`dag_drawer`](qiskit.visualization.dag_drawer "qiskit.visualization.dag_drawer")(dag\[, scale, filename, style]) | Plot the directed acyclic graph (dag) to represent operation dependencies in a quantum circuit. | ## Pass Manager Visualizations | | | | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------- | -| [`pass_manager_drawer`](qiskit.visualization.pass_manager_drawer "qiskit.visualization.pass_manager_drawer")(pass\_manager\[, ...]) | Draws the pass manager. | +| [`pass_manager_drawer`](qiskit.visualization.pass_manager_drawer "qiskit.visualization.pass_manager_drawer")(pass\_manager\[, ...]) | Draws the pass manager. | ## Pulse Visualizations | | | | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------- | -| [`pulse_drawer`](qiskit.visualization.pulse_drawer "qiskit.visualization.pulse_drawer")(program\[, style, backend, ...]) | Generate visualization data for pulse programs. | +| [`pulse_drawer`](qiskit.visualization.pulse_drawer "qiskit.visualization.pulse_drawer")(program\[, style, backend, ...]) | Generate visualization data for pulse programs. | | [`IQXStandard`](qiskit.visualization.pulse.IQXStandard "qiskit.visualization.pulse.IQXStandard")(\*\*kwargs) | Standard pulse stylesheet. | | [`IQXSimple`](qiskit.visualization.pulse.IQXSimple "qiskit.visualization.pulse.IQXSimple")(\*\*kwargs) | Simple pulse stylesheet without channel notation. | | [`IQXDebugging`](qiskit.visualization.pulse.IQXDebugging "qiskit.visualization.pulse.IQXDebugging")(\*\*kwargs) | Pulse stylesheet for pulse programmers. | @@ -215,13 +215,13 @@ You can find code examples for each visualization functions on the individual fu | | | | ------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------- | -| [`timeline_drawer`](qiskit.visualization.timeline_drawer "qiskit.visualization.timeline_drawer")(program\[, style, ...]) | Generate visualization data for scheduled circuit programs. | +| [`timeline_drawer`](qiskit.visualization.timeline_drawer "qiskit.visualization.timeline_drawer")(program\[, style, ...]) | Generate visualization data for scheduled circuit programs. | ## Single Qubit State Transition Visualizations | | | | --------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | -| [`visualize_transition`](qiskit.visualization.visualize_transition "qiskit.visualization.visualize_transition")(circuit\[, trace, ...]) | Creates animation showing transitions between states of a single qubit by applying quantum gates. | +| [`visualize_transition`](qiskit.visualization.visualize_transition "qiskit.visualization.visualize_transition")(circuit\[, trace, ...]) | Creates animation showing transitions between states of a single qubit by applying quantum gates. | @@ -229,13 +229,13 @@ You can find code examples for each visualization functions on the individual fu | | | | ------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- | -| [`array_to_latex`](qiskit.visualization.array_to_latex "qiskit.visualization.array_to_latex")(array\[, precision, prefix, ...]) | Latex representation of a complex numpy array (with dimension 1 or 2) | +| [`array_to_latex`](qiskit.visualization.array_to_latex "qiskit.visualization.array_to_latex")(array\[, precision, prefix, ...]) | Latex representation of a complex numpy array (with dimension 1 or 2) | ## Exceptions -`qiskit.visualization.VisualizationError(*message)` +`qiskit.visualization.VisualizationError(*message)`[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/visualization/exceptions.py "view source code") For visualization specific errors. diff --git a/public/images/api/qiskit/circuit-1.png b/public/images/api/qiskit/circuit-1.png index b987efd67ae6853daebc0bc650f7551cbe8793ee..1c2f70894dfb00cdcdd33915fd0f49f87eaa54bb 100644 GIT binary patch delta 41 xcmeyQ_DOAmhn$g)LPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yqr8UAf8`F4%0ZNJwPXGV_ diff --git a/public/images/api/qiskit/circuit-2.png b/public/images/api/qiskit/circuit-2.png index 53c9fdbf0822130ebccb303b76097c7a02551ae9..2184a3d1db1b8be3cd5fb4e7a207ae02f9c1957c 100644 GIT binary patch delta 41 xcmZ20w^nX~hn$g)LPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yqr8UAf8`F;S0RS`m4{HDb diff --git a/public/images/api/qiskit/circuit-3.png b/public/images/api/qiskit/circuit-3.png index 8f0fe114a2194a87dfb2281cd154f87b6dbc31fe..70abaad117f4769f0332920b846eb7ed88dcc24e 100644 GIT binary patch delta 41 xcmeyP{YQI(hn$g)LPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yqr8UAf8`GwV0sv4(5BUH9 diff --git a/public/images/api/qiskit/circuit-4.png b/public/images/api/qiskit/circuit-4.png index 72d450a640c341c99adfbf641a2a061297b6eb02..d7c78dda5565f4b92fccd801bd519bedc15471f9 100644 GIT binary patch delta 43 zcmdmTjd9C0#t9yBMmh=^B_##LR{Hw6i6sR&`6W4-NqYH3>G}%4{~g(wb}kD5czF_E delta 43 zcmdmTjd9C0#t9yBhB^uvB_##LR{Hw6i6sR&`6W4-NqYH3>H3$}2-|E-JC_9jbCeNI diff --git a/public/images/api/qiskit/circuit-5.png b/public/images/api/qiskit/circuit-5.png index f6b6a2703150ca0e695831ea60e951a56371decc..7aee1793571e8a7b478db2118bc63d381eb890d2 100644 GIT binary patch literal 8023 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 literal 7078 zcmd^ES5#ENmc57)nwMZJ1Uhemc8rqv6p3G*n`-_IDzv(cZ;^%OYxG5Y0xZlBKN z{qn6okCq^1r((l`FwLMM@t}y@xi!Hr>C%$w6a-!TUnHcTw`Rptr}CL!^&>yGBm+!|af zklQp+kdvLl58}8aMA%RYzxkD_>gxPh9Ebo8?|p%b|2|em%}l@EO>g({a$%%vv8CoM z&>$f*lh*@AaWz~fBI0U$6&ouBG?*Hp2yxr9vf@;hz4|XVbK!F3x+;t>zH~=fL|nB% zq2e|-pC0ZlF#q{|6cQCheCTtZh=|B}ckW*LJvY3K;S78C`Tl-I2Fd4SZX3fr(%5}c zF80Dn3w^_{JyF#A!xDRotDh73X<#%`e&V7ibaZ??S$B8$O#uO|?TFhPrlzJByIyTw zbB%8M)0S}}O{xwK+|W%CksE2Ej-7Rm-!-+haTf!$m?b=6ySuy7mFBpyj1qVm>bA8P z-+Z|3iIvpVdmCI<$jHcoZgA;7DA%<-KmJK0;mJKPI7m)K#pWSby(MKtI@e6Nrm*uq z)}n5fbMXT>AUOj=G??b$<|uAXPR?|*x6tzPGQaIGL%)@vrPjvks@azm0d6~-k7YcIljVjf zqK52lC2=qQbf2nrLt`lqRM|-nU8Y&k{q=D_wp{Uc`)3Jjscf|GU*Hh9p^bGBPRXM8Z8Ai>`8I|5QJtOg*% zkIsxaiL^0y$ddNH-CToSg~^jzyBm-h2=Y@*7pY;*d^jnaNm~Hpn>TMZXR6ujPz$j| zMMaOY^a{uIkM?>ePft%D6xaMj)ckb6QdHD%d8W^nD3Veico}e=ifWSn%Gp8IWi+YO zDb(893I%yB_)}{asCKYt`CSRkJuBeg;0S7KYx{hbl!Xf8=5JqJ`;N4+VY|pvc=Gei z24)&N{V`D3T#5FuRuD$ZPc%gw=yYH-bhg5LN#N`2dvQ3f@ubzyJ8IIup@=zJ>(i%C zD?etcBO)T&zq}LrXxSHww_|N%Q@80qfqq(RaC&y8#F(eVfcNZ9U|=A}b)xt0-+xQX z1knQ$6!+A+xv8On#-O~;#9Kj5F1xG@Hub@{8o3<%kPS8S-H^9>+3DyO=;QAqLqYi} z$+=BUv#TETT-&9370cnw0qw&X5;zbsHLpYB+_&Qf+j(VAPtTP5zM>Qq6#OpBav<9u zlulUeOqOGgj~|(sWPVH^92kHgCnu-gBj$?>GZQxuK-m*^YQtg(2}*sDg3HeOd;k*+ z&t#4#IVVaIE@SSh(B0IgasG8k&Y=@l7i%qS(M@1wV>6j1>b9;5rnI`cy13X8!iL(> zlK<0Qpq55PPajoO#PK&@X=!PXCP@hiWn5idcTD2jnHaRItO0UNH@Mu=;kmPR|!E;VmYpG0#*kJLnX9zL$`d z6~}Abbd!^_L`J{<&|iMC&zy|->r>(BDr;hZtD3sHVR;I17T{$X+_xxXA3kKcyo_4` zONBW(=?f*Mj^4?X4rCf09wvanlGywt*z}+d4bisrPWa|*+s}iP<&NUaxF)NMDb>5% z_)HE$g0IDRsK`&szAL)82)MerkyBD?qka$awMC2APnv-w)-2X}elqVR0H7=p&Z{hc zwoZ>!;7>E9(KIBn%Chro9m8Vf1=N{zV~!L_)$4`UXdbCV(gnGg6si}bvplQ|vz~v1 z)YirkZl&CnX;^ov>Qy*C!~vsYMod z_r}nxNmZnBKRlozlRQnXicPs9p5mF(UXt2`*q>^>_@$znDM>4hJlC@Y) z@t}Vd6&2E9*53XCH$PVP=QQ@uxi_IVe#ie<3IDY`@`<4~nu;0oW6i8o^c`fJoh$Ws zwvK$}n%ph}qBA6oaI(>s-o&V;uc_Qt_XWX#Eht0w*P4%MF(W)DflL>Xjsap3ca@a~ zKiV8PLG4wcCwl={jHMnmnx_8#GC#rpDyI=+ei~kvc{Oq%Uwu?qgM?qYX>G@N8h?&U zbnhO?Z_@y*Ip0nDo)3|;Bm}<07f0Xo2r1caN=O)P)BKZ4n7eTAcor2gaBw6bMPbRe0l=CV4&yRb?@>N{c25tbj#WyiAfdcN@k&==E$e-=Lvpd;d zRTsayY6SyN1JHT$(c;?j%1T07S`@(K+~#Hmb8~Z~LQSe;8)*_k7FVRn?uX=WruBfY zlq+u~mK(k1_6L6RJ4j#DeH%rtN`RspOOKy0&);A;e=q~ReUxK@I+b8~ZK zjEpgW@hpP!A3wO3BIS=58ymy)(xYgi3`!?h5ePbvMG42D`h;NO|H?_O)*6sNDgVJr z+Sdnvt7Atnn`7GBG>+@imsH_jnm zeJ6Mgaz6f{-~4NUtKs>+MToVEvU2?E*TG3i*UR*)@w5xod%(hu7HhNn9gZr*f3{-$ zP=xcgR=&)z9`3b=mY08e^5U;@uBMp@4)M4z)!XC0)YE_uD(CxLH zFl}#dry6TiOx+R?AP)@<756*k2S5+Q!_}=Yna_!&TjYvRrC|{>ESM8J^9DHSUZOweP<{8O4fSUIO1+0>ibK*nu^Ndkc zJe@;nV*8)jvuaMyKnj4`k!n;>H%T864wA-zq|H*zo$ww zeZHP3gstKVWRl>x^d&=gx^|FKg9d|WKRL)ObbiAR^B5VsP*?YS9NAZb~c2?V%2yLmSzuxl_tyNO_9GRAQ4x2YmbLUb3Cr&0a`D3~ZL+UkFkz+u@k|V7ZooOO zUvL&b*LjzqkkHcQcPSnd)J~hJY_`TqMfu%0e0b;aWxuTM?!EULeo-~{3(H;I$(Z^I z>5e{PZL>nxr=!Qfo)Hw`Ft1aDVJjTsUwnlFY3{k`Kl^yQk?x?An6G_miW<;I z09GoW59E9abZvsTkAse z{>{aoKRKElAg7QhA9Zy&6`u*Ly$;Sha6=j9hrPdAz$~U-+K@&X}g6btep^Z{NQ9`SWL<0qkPRYaUB|!*&2oImqHlK-L+g0~kW^NIF~n&nxXF zIE`BU&JysMhH`W`)BZFRG=07B4DRe*+CB@xz$0IJ)hm$NTV4a;w^wvK2 zU0<(%`FhOMsd8qf(5=Ng!ynN#A#eFp5&CNOMNCkT0@5@#jsa@=T}{k-S>vN zQ$u&-Byy=_>m?Hw7vnNFMS$780zTndo3{Uj6{f6dx=%{9$hp%wtfnb=qU`2QZ zQkdtNhRc|Sr!$kTY;L$=<^mZU-5Cu<{ZEmq%)GnLKSlhlZ8Nr6OS851L%gM%EvIf9pZ7q^5T5D`s&S=n`^zdV9Yz-BNNgGP5!I*|Dau z*x*vV`bQfX00?`;_$=2`nOPD)-_+(1@L8gsZeeAhj`fSg2(;BZJ)uxXA}L3MTKpH5skU*p6=T9R*4XF7VzQz6+>s zLxXsCPtRY)7L)M-AIkVd+PQ}pu&>lz#Lcw9~Ex&Pn0IRDCB z|KayEa}+TCN?KQ$GU%R*wiAo$S;=SIE9+lz`AaDjd%-talQ3TZiq=HHPf3^jVI*S3>r&(jRV@ zR^)=eI6y=J()9{dFeWe{vQJRuWOsglt1!!=JqQP>@JtAF)BE`|A;?NmfY*O1(bG{@ zfRK4bMT*-`tsV{x3^-#JWy*{iDeP+L_*xDr(lat#eyu7M=e=9&p*HO<(#l(0T)gR# zB-&Nww4t6QMZ(9&_uR)vnK9HsQCF7=kh{g7KONJl=;$I358Vm1wX~m1{(J%i92NJI zAfSti^WtNQi;9AxqEuR*@$&L=@bM*ckc)(SiJ=NhKx6{Z9ZfF=2MF>80k0jKA>L|u zYY0I_#S^rJ%!=4Lv@8DWw$O}iY{gMxg8$;eOzG&)d-v|;l$DjCYsSWqPlX)=#rA(i z`ktP@5`tjRc3Y<9O84xa16C$-o1%=io_J=O@A2OD9#GcF`?SX<{h4a9JRQUnZLd%;YxG z=eZ!ev>fA5t!>}TOx7oiRz^tM>XHk4+&6RafDyzylqJpl`0-<4Y;9stnB&g*30lfW zQr2Tt$DW+3-lBBB*s!}985sgjbK+%y27;#3jc)A9Dk|iRjE*_oYV<F&Ioc0EYdwWYbPG8hu46tq^%v!102=e@$&q z^|^PG`IqsbtXQ!?tY6WDT{^;psM>ZU3~;0=(?G}K22mLsV2&cgZ?cXj>7l#A95185 z!p98nQBu5om-vY2;MI2b)`9r1Bd?g@#6jzbG!eo8HQ0vx?YZjRpn&_kO3PoxO9Z@s zjK>VSc_LRDM<2etYX{NLO^_OYdM<`Qb!#VZZ--ZwNu+R19elJI=Y4N$oQNQLS8VI7 z2iu&g?l}BxnH83p_k=o>W7Soak=jvmXXV8Q<7Tq^{Hm#%qF{?VZu=kL+S%DH9i=?O z_v#nzfiYjzs5c!>j3wF$W$G}#qiWUKH)l*P^Px+0LbH(js&UX_tL3@M+46z&OA- z=>?|4{uiMUnzq5e9x~V-@qmlx)!#Yp^7N$+eJYQCTeR||&Kb|hcorL+J-L`!d&6!U?A(vj^+0fD1}Vv_%YBeF3;s9ny&9wd diff --git a/public/images/api/qiskit/circuit_library-1.png b/public/images/api/qiskit/circuit_library-1.png index a8369b7059d899a3fcc0f0bedeb366b0fe3e6b05..72bcbd480c5cbca4bea83633730ba766ea3d2463 100644 GIT binary patch delta 41 xcmbQBH$iWLhn$g)LPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yqr8UAf8`D;a0RS(V4?F+> diff --git a/public/images/api/qiskit/converters-1.png b/public/images/api/qiskit/converters-1.png index f593d908dc4d9555e269d7c44334ac5796c6889d..e18ea2cb2609768f37dc6a9d092090016905f3d4 100644 GIT binary patch delta 41 xcmZ2yzs`Pwhn$g)LPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yqr8UAf8`C`G0X=LFK>z>% diff --git a/public/images/api/qiskit/providers_fake_provider-1_00.png b/public/images/api/qiskit/providers_fake_provider-1_00.png index 7a8eec0a4b8abb84221848fe968369157ac4e32a..0ed86d0b5eed8d26803d07b17fa4b20deeee2201 100644 GIT binary patch delta 41 xcmaEo^dxD5hn$g)LPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yqr8UAf8`J(7003HZ5V`;W diff --git a/public/images/api/qiskit/providers_fake_provider-1_01.png b/public/images/api/qiskit/providers_fake_provider-1_01.png index c81f63b0331a40a47f3c59ef86478cf460cfc547..221ef698c97fc0d522c2dfba34961dc331f3fbcd 100644 GIT binary patch delta 43 zcmZ3ol5xpO#t9yBMmh=^B_##LR{Hw6i6sR&`6W4-NqYH3>G}%4{~g(wW)}hgW7ZKr delta 43 zcmZ3ol5xpO#t9yBhB^uvB_##LR{Hw6i6sR&`6W4-NqYH3>H3$}2-|E-vkL(LUhxnv diff --git a/public/images/api/qiskit/providers_fake_provider-1_02.png b/public/images/api/qiskit/providers_fake_provider-1_02.png index 1ba366781b1706d6c7daf4b55355c9357a88b6b3..67172ed701a6910716e13de4ef2a0bc151fdecd3 100644 GIT binary patch literal 14578 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 diff --git a/public/images/api/qiskit/pulse-2.png b/public/images/api/qiskit/pulse-2.png index 22d771df52fae489b0f99b2cd454f527b6551329..028f7abb74c2b2a2d7f8fc8370119cd1bd8783cb 100644 GIT binary patch delta 43 zcmX@n#CW2Kae{}Ok&Z$}Nl8JmmA-y%Vo5G}%4{~g(w_No#9i&7H) delta 43 zcmccch4I1{#t9yBhB^uvB_##LR{Hw6i6sR&`6W4-NqYH3>H3$}2-|E-dsPVlhHVk; diff --git a/public/images/api/qiskit/pulse-4.png b/public/images/api/qiskit/pulse-4.png index 7cc504727787e0458f2b1fffc51cf9f7179fd17f..d994e6f9d75be9e8ccaf4a51a54f9b4eafb326d3 100644 GIT binary patch literal 10943 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 Le4lvt@w5K|f)iHq literal 10338 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

Q=PIkytj5UP<_ZDt`=KT3G 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 KecauL&;AD>=P79b diff --git a/public/images/api/qiskit/pulse-5.png b/public/images/api/qiskit/pulse-5.png index 8b04951b450921fdf86174e1ed423d4f4120d3c7..709fb1d9f856076bcf3f038c5a0524c6d568ab56 100644 GIT binary patch literal 54677 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ΠJ|do_=zW1zNRq)XSgxvu|r6RaFL0Kh^TFB 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 p|2_$z`}xnaf#WnKETZc+d8I-!N-g;veU;c=-ST literal 54292 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 m)_>l)2c&p~>r0!p{|Irp` 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 diff --git a/public/images/api/qiskit/pulse-6.png b/public/images/api/qiskit/pulse-6.png index 03549629339ddf48461ddb7c417abc04789248ae..74bca21ca1a0457a14f54d7a25bed924c3c8375e 100644 GIT binary patch literal 19350 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

*=2QdU*msuttk} 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 J%u6@^{%?ver6d3V literal 18893 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 Mt9(D_-s6A%FUID!egFUf diff --git a/public/images/api/qiskit/pulse-7.png b/public/images/api/qiskit/pulse-7.png index 80b02ee65f84026866e6105e7765060a4b818549..c0d5a09a5788cfdfc01bbdfd26818270c36ceaae 100644 GIT binary patch literal 16498 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 RC4l@wUi$p$gp(Kl{2zn{ytn`W diff --git a/public/images/api/qiskit/pulse-8.png b/public/images/api/qiskit/pulse-8.png index 58b876002b0d6212755e020907f2071904dc0af4..117643137acac2944df7fdb58995b276dd0a5577 100644 GIT binary patch literal 11583 zcmdsdWmJ`G*X~0|cStuPAkrX>QUW3+C?$x9v~)-#-69f-gmg#>f=CGn3JTKQB1of1 z3uiui@A1CxcgFYUJLmj5YYcTQ*LrH+^PcmH8L6##m6(8@06`F9HB}{D1i>bQ_aS&V z@HfxY=o|P)(oNaG?S|uhH&1gHOXRw_o0Gkxo4w6lRu4-TR~yF%BK#8k!hEdOZf;Jl zQUU@F|M~&Hql=XQ>(NO&oCM!V)zB3|h&0hZ7y+I!9096T!<417aqWEe;{X5Y|Ovgg4 zqFrIonq6HxqA<%^3HNb*vphwQ<%^*A9f5MqH3ns4R-1m)BCZlH(_>bSc-hSki z8PfjkQ{vDYA8+rd;ZoyO)+(BuH7~79xzd`lf`WprogH8EN`x$t>w0murlw|`^>}rW zpoj>i>rxMOrr++f<-VM7gjL*e+GNo$mQhl7d37~f$f6@6mf=!VLzvi+vQKTNrgPt49J<7F5Y})!1i3!hJ9yer#%P@SMSic;!Y5)@Vy9wH}=o==c5JM z=RZV;zJC2$P+a`%Qcrr~3N;N)blL591Xx&Da0McAIy#GBfk9 z3>I;i+`g^+`u-Q*7-KxP;c_zpB;raiP9!mdcmz3z3LbKItjd!2H?y2Cw~2{KNNjAZ zL6h%WgGTQfCnqPe-Q8VwX=!6S4XfS^Y84fg`QIaEG&(vucY9t)wtoGpy?<~Z``Z}~ zHbBV2Nm-J+4tIWVFfuV^)@!k|vuEGB@*#k!|3bl9SiRrTE_%RZowK5)G$me!0AF%3 zCm9+mBqA7>RNeC2xpUb!3N%}Xhi_6*QCUy*!lIo)Dq%U)SJNe3Rb+hkwe$GkW(N5+TrhtedxybtO0?AtB*oS6BadIagd`t~ReP=Vk<>lkk*3p3z78YhbR7{-uw5;`^ibhmoH!L|LT>m zdGpTiNW3GCDf;mDYTL(;c;$_|^i78=7izro^78g~2DI`PUcY%0mYK-{>wClIG@3>r z%!I$Q-hCB8A|oR!;Jez|TD`0MDI5|Kw9lSB+n)<(sqSd-{%u?L_AQ&BAQ_zJRE6&x9%j z4G!vIV`H~`{!G*sMw}RDwKe4f!=;ZnK=c+*jK4i%H zchQ`-MW#%l|~C1GsYnrkzE@PI!lJSvCRPN(#;H+F0<;j@u6r7Z;cQ@k`|7#UkEshVCGST-?+M=Ufz5X1#36kpLZ=))<^ti zsnHpT2NA6x^3G#jcPu_Wp48XZx7fEK@w`??-nEpizN;*3qM}r3mmE6+F|cwOG_U{s z^=oc%F%$|H5ra6yNhi(!Q5_b-ME}|ESiHR9}K+v5g z?aBYWH#2^D*;?b7@EJr~TRUs}drx~iHuCuCQ@tO~auCD<&2$C$vjutB+S-aq5Q^E; z)1zNcjurU%vxb48q0OYn>51RuTUT5fev=ks$Hq`xQszQmk~3${d>t4F4hnjIEFK&l5?EPTB?(`>dKKd`qrATf??kO*Cc+vM8>{T?U9ZQ?#8fKYFxuI9 z6^hnP*vzWD7cO3;zWvUFnxCKF_Ncf^`&-q5ySqDeXlSVJ!?7Gp*z7kYcYnqUDk&-9 zA?*D8n!FeI_^38EHeeq_z#8GPg-Ez9KSr{C$|c7)6Lrb93fc|xK`4|pG-A~M@Z8A9 zduzhq-`}s-rKq65`=U0xAv55_5Fz`$GDP`%b%X{Qz};WpzqEe&a{c2y;qCR>nVaJ$ zoh$)V!p}55r(M!o*oAeu=4#DNMIhw4VFLA;-NCHJHVI*+prq6v|B@kVjF3UsDs?-h zE?OoJ6SfF@XcRu+Of2jlWp>5lg^vCDa+-C0EOM zOoR-UxPKJ`3kMHcd&2YQyh&3H4{xMCdltzo>#b^Ox%8miv{A1o2R0ubv=nDZ)tdUn z_!3^;XdkE}3R+rP3*vTmcH|Tk>>*@m3Bn9CsB?O0)YvP3YJ!k``t*sqqr&gV1LN}X z{zAO%1P&=PAHaeOvSC#-1JEX>%7e4gpFzQZEYG{JQ5DEq|Jv|L&HNog$sN@y~vbQnS z_EIsN42lFaeEQlu(;9vDpw*u}JzkQ}tCDhGxdTu|n>VR{0bAN*El`6?(aWpOh-ERn3M-Hd z6D=+Unf_6AbrLZE#Vn6tBcFkQVdLU1>~AlqUcdeUR+i82wTb_71DARp1>ywtcx}3o z0j}Bd^`)Zo*6fwRl3S$E(8?;-*C%R)+?KUPA50poPfQ4>i957<&iI9Y{HR)OKSptI zaKO#OlkkR=Ns8+1*|W4F_lZatB?7CfMeRo`Fd(h;qfTv-WTSM(E=`SVqzYaseRcdc zGc7F|;^($LPOX4fIum233;iDYoCN?5Cl8P0uJyGwLAWNPtTz=Yvy8S4<=M0OF3j$m z(@X$-RJF8H{_1FK*iaaMw+rcWLfdlSRHNhI;P~;H?`Q;|lSSiCciwR=%k`Rc5x^v& z>FG?59zDtxrlh2VimE>zhvE&Hxm#}h6$Udt>NJ>(GKUMT?csPE&RBR0KkTN zrWdFP0PE;K4}tp)kB%n%<}$=+(w%%UZ@tCrmyoFSS0p((*=S+^aJBrU9xpjHb>5Ry z?t!w~()MFjXB?aVhy#$oK`Lr$l$DgQxinH)r?@X9sq+{jh_|;lfQ#e@UXVI`=WM#- zYR#JcBch`fp%Cx<))ydzG+v&l6#%3ek#jY^_)DyIzOM^6C#RCPfZV}1N}l165bPLQ zAxuas93(X@&0?zFomSH2Ug#gWlB&Jd&!5+d##dKY+oq>YOONB_Pg;%-ekDA9oF#6h zqW_)2YcgHh^KnW_IFy7E2fMMVbL!WwIsZ9yuYNFP#2awzSqy*^(aw{U$q22i6e1ub z6no&avz*{omh|Un{{@!i@2-&|Yx$&_5pgp`Z*QsR;ts{huLgFQDWOXzcxbR{hrUQp z7xLYALQ@EU$IXe1=g$cM4pdwBVV2w~4}&I6L_}2KxoHY?LdB8G$>oBiAO@5P*c@JK>VvzL#5 zb_)Q2Wf`xwxshj4WL(SN(AZcBsDdX5L1evmT44V>L(74K=4(bw6TgpfN1r}?=e5lq zc$&@;KckV%BX5)~qo}A@qokvzhCl7KKs@=*lXSEBR1O6|fE|DVVCAU9>PqjKQ8_eA z3q(O4tE;O!L9&gGj;by~hk#O2=2m8CWP~z?1@8Q+s;YYG^#b3i&WT&Y$!MBq$a9eu z>OugNO-vY*1D?VEyA8bSv5L}DziVdx zp?C;y+eyt^r#Z|rledq`n-0}2``fW_NeYKbxy`pFpf#kXrq2Fc?6#c%MgZM$NM&_d zeQe3|`)9hOnM4t*o~-I>y>b4O?!Gq;#<3UTUdTM80ECnjM+8lQc<1+TXZR(Q(Q9bj zB|JA?s6RsqQyr{m2pMl?aQQ?yw z@!naVxOIp#Gd4!o=>7YNe;2bS63C_)HVedt_fkEyqtQm6OOU(zPuOncYrF@<2CO*} z==e?AHVF4n7a#{GXbQ2fH&Z;9dYJgkni$u|YkW5FLynJq(Mp0gxfhbIxeQ8xdX|6u zn1c?ZS7atmqo{8!wHHc8&+=PHOzccnM#a}btIg@gN}s(4Nu5@Zs}+{rXT7|<3i&Jz z^tGyDEc71&-Glsc_%vKt$PEjY1$0!`5H_qPs1Z+;>UU%z@qbz7`(k^@FWa4I5;TM2Tn+uryB_xMr%h$et#rQW(P`*NJ&Xiwh0U( z`1NZMcm${UcKmzy?#)7#)Sarz!zz(VxNC0C22dYu`ap&`goP=XnVFYongc=|0C|%! zF~#cSsIc+y;DeX~ch^~I(Md*5&gNG#{@O|l4JcqHWp#Ce-bqHyl36 zBFp`GgdUsIv4MdI_L(ztrze}IxoXS+KtdrRIdIlGk9B$=$#-mQA_3Xm`e7iyKZ^xK ziWq=-E6UQ$&4b{JoWeppAm>Rd&|X;K{s2q@+q`08@XIAmbb; z=&EXJ?^DeDBcTZL8NboUOD`xmKRGqk2et3s{rh(T9swZP-wZe{dD5VI?V2Kl2UUIA z+uN;W%TSCX#G9m!5{A(xKWSkR5g`DmF)Z??#ddH%aO-Ff0xW3VpNoHTG;?aJ5u%r? z9DNr3JpFKq2`z*`K7s#)cf7>~W{-h@{t;SUE&$3A83jdl<;;g@nuV4itgWrBmi9=> zm*wRs83J|W&W9*!{kZZ50NCa`%YCEOHi^TLR09J8d6rz=5B9scM%7l55F)I&=;q&htw4lXc{Nhdb|~#{{E53;=YYS+m^zFVFL; zPJxcJ4h-Dz=EFsj`3xU{N(CP&A>bcBerze$FZue;(-EqozPAiSr_CzUFAPdH=ecw5 zdwNI!fb{pjTzp$!e|L4bG*!}-3r^4Zg;)VFztZCJ{cYUh$S#3}{kp2fHD~2>U^uM{aH9in9LThSjXrxLmcdHlr%?sl_oheKd} zp$cpo8X8Ky8M6Ax^3>V$Gy2!B>B)T(j}lf zh9rJ)K&K)n*O%`Jx~wGD1C2_^eMOIp6om{Cwq$XaSUmxwY(!8{ zFc9Kh*7nygvTqr9c!&d!S~#!Ly{N8M!O1 z|KRN{^DLvH{4X&_d=e%6sMQLJFQ{ zyrtOw;e$E!b-+JYK^;aJRZ#{!7-+EMG&JFl9%0hb)2|4wL^awcPRLx;j8cU7?|j>@ z{bsgb%PFh%0&DJ^$lZ24qy>V4fq?0v98SW-no{CF_~5~VkKNsEXy=nv`71Bki~UkB zdwm+6m}mp#6PgYZXk7aM8n0%lso~g{v`Zyoa{v4=9e#+;RVXADv_uj$XOG3WX7IdyfkhK7cqJ(7Xyg8=sDKY28)281X8~22I`T?UH1+sg6wtIN%a0fVoh^Ut++pbXisH z?IU2u6lzvIv(QNeFI@^xOr*p--1z{)z8e!Wc|y;&l$w&Br0ID(=AIz!*Us1q#EBql zSXnKpC*mqAD-Y4?d~rJ*9}2Me>0=eYqiu_!e#$)SsMp?Kb#>l zg12*(voFyCbB@mI;X`u}AOQPt^YQV`f{z2VDM`v_cP*%-1XNrX|y}hLO@8375v86_4SIe6_?8+N)2nh)RIMJV; z>^18jM#sj6f{yk1^JhWWsu~$Gbf%`Jy{EBXg8-+$tSuLq4hRrmTVDraZGPttQrnYG zzWu`pY1!oA!DHAv>+SupHOKfCJRVhnX2#P)3BNpO}y?O%n2 zhJ#t_-QB}etVm->8O}Q#?OmG50s-C4eG_vt!xXAVS@oBh8Bzdo2m<(iHr@07T&!v1 z*P%wj>9rZH_18c5_7ryxe*=zZudnyKG9!l};kGsF>em~wJk+|%Nv^Z#mCotya#&B2 z^(Hzp@;v}`V2Y3 zSl*`76Ccnh^(>9u+(c170?Z$<&{%|ogi_@Lz z%*<0l0sazT-o!D>Mj47&WhDe-)qAXR4S{TMeppE<>*24nql`4+4}X1cEp@fxriv9A@ipF z_HMs2Yd(qG6Y<`$u6y@Rkt^{%*iq1iIzTD-T4{0h^a$FNA7&t?DFBzMKN(n+ClH=`#R0som}3s z>tI}Iz0EFaJBY`j5);_m?ENIaqJk{5)Hs^ss(%X@a2U^s;(z{{TU{;C?H%tp3^)=O z!a%-#Uz8p40SGVtuc|X(jyZS6#mVWit!=Top{*@1y_oGzyWgk9;$UTPQ!4Mg#{`4b z_LZZfV?5XZNmZR@BRAtTHJz*n@t~N)iur{8KFe=_gg(PetMv^A*Zm4!(8iQ3>()ps z2SgG%p*Mm`goD(%F1=A_VUnuLR>Zx9$L0j$o5phqjGmtBvl|<6;2CE_&*ug?4CDi$ zqd$9Ji!ComNJ$p$kTV>K`R~u+zPep|HkMvefj`CKu)1g#lUr#gd+VPn9GOAFV(t~x z5knUYGUpu-{lUk0Kla+H(q&N{ECN~A8QABY*~-yQhdVY;lasTvvXBC;%w*D@-Y7V9BAd1Oso=uy`t31+0vg9aM~A{J0AWv_^r*T&?FttZ5)XR& zR`TbspB1|US_x+SSgXs+c%bsOcRF6RvEczx5_BLE8z1PuyPGrdVC-FnO#^m4caS^RT_XFf_ag7Yzh}J*Q#s|l2u+%ORbhEXYW;2I6I`Y0>9sjO$j6qwN z?i-VI+uPgw%Q^9aup>b}MqQ*-P$EV4WF5vup-Iny@23JQ3Pigv|2hL7;7DY4ZY~JM zU+zGUff12b2FHdVn4+15sT^Gv)TQVj7(nepIaisXQr9K^h}emk0KbECDse=ixvK2ph@4cv<&@}Sdf(no~~}$Y_x#*eDK(&A|8gZu`!=%12zc> ziEU+A9Ao6unH#g4ON5}T@9*y@zyg)5H^P7oWqG2KQW6xjzxSj^!xozd zThev{G?9pJ-M5P6!Rm!qc5{t=A0up0KmfcgS84yoED@>~{+?BVkE$1Xg0=_@8@wvZ z6#wS6*+x+ue@(Ld_3eNB@c;1bGctu`DZGAJco5*!t5QU0^#Yw?#Qf{ExFxzqYnjeM zsV$kDm6l&I#ftaub45i*yQ5$SD3taWbOvCRY!EOn)H%if_L$(t#>O(mEcGpNlvSdy z|Bb*ESKjY=QM5|7ObwSX70s~FWAe(-ai4vtG8D9A_@zUQ>K|aNdf~sYnE#&VXVK@u zE<*hc)K~$%#|@GaMmxT`8|V?H%lXlRcc}vMm$|KN6nJ}RH@;P7qEqC#GROl1Bjjae zWra5iNbU(gi(}7E`S9f2H6Th~Aytd`1O!OI(w6kz+aQ*fmIl{&4h9RZ>giE|UE)T2 zafnO)^jHKuA5v&psH%KDO&nNNX|>;v{ybDu1xd&J-aVB3pk&E&W3tbDP%jO%ELKiV zY?$mq#nI@q7g6v88_?!e0NBs4hhT%U$;mZ6&&hkPS)|7q$31$rN-_S7)$U79hm{AM>9iCO4tY>k-)+RR1%hxV}`PW`h~y($w2mp zLf_WbrZ_UEbFm6UK1OK|B5+1jV4&nNIODx?M?~OWwZL=;=hWo-)H@n8-|aIf$Ab}s z8f>h-L{xeNLjWRLtn2@KMIW6Gk&}}{1;)=`zEnES$f1Fi|Fc7h&NeYAYt(!II@MQh zCf{&!xQbFWxOJGI0BeSANKIW`0lXe?*fB*!L`>@4@Il#ahf3_UF)3N|>q%k5>PUIp zmoLO%1*gh96oyB325}tVB?oBT=oo{YNWjT4K_a0NxDH^>vqAF+88P)ChOwnS0|5>W zEbz?&VdN#5|26?=@901YI*S6cWYFWYbWbx+kI!RbV(N8)_G~t2{&fLchuHb&H#LmQ zuT0+R^1?I+&GqM^X^Au^xl*!1v9Utjm#PfyNa29DS8ii+wXWZ)#+;AwW6dxVbN5z_EeA?={0mx!1Y zpMik}PSDiP!I%P|CK!VQP1>jt5DYrXmXMLbpTs2LbQvM*>+91U1LiZhL0x#bO^#EH za_yG|1>qGHf<>QUCJmnNLnP&SCvabxRIb)s2l01Eco@b=09S|s8s$tHDmP>4=;#OFe#uZETh6y|vLw@bMTy ze~p86XXoW509Qf(A@+U9atZ%q325XmbF6<@qSH>3O@0ha(jIyfaJ4YF?cyW>g9-## z6lk-{gGH3kvdx%Y_RmP*Vh+*PKA3uxo}O;>@NaQJn$!D}{d5D}r3aHOt)YbOOazVh zV7xRQbX?!lKYRKQZWtIq&%gt)NDCC#JE%{`Aq9p*=I8G=9DGlsmGJ!_fYq|hh{W{OymoE0$T zYwYRm?L>_Wn4oF-^a&pZ1f?R9P0zx;Vg?dyVgL#IM|A; z-bHh{K&{N0dp63HgcN;|A($m$^#naKwipAT;-NVksS&&zhSKunkeNRtU4>3MI zr~mj5ye{sxe1jzv;&7Amu1ZE82tufV{(}+xAchS=xNa%S-O}|*U!C+d(bYS{-RL9y z;P{yMRpt4I?7UZ^b1p>_IPXVaJh(eYpOR`kUUuEUL`A)gs-2LqN`6o=Q&CmD>WB8F z9nKe*u*tC~A7Fp~eSFHlh7xTFA;8-AZ8rO}B{ZMuzrHu+|GOt({)Y!k^eHtXBM*Xy zSdCZN+4lwp1cVnC7gJyKm+XlX;p9}dHf3gJo<*Vl{IJ4cDbUC;w#m5pU@dy&?HvLg z9UTFeDe(%+Hk^TC13nCC$LXd<<0GT@uG#(HzEP~Lt+jS^$RmYS&Uf$TAuI|pw5&Nf zIqfe6tg(^J0Y&Dbp$`w%GhMyCsgshDtU4Z3S$#iM1=E|+obK)YL`pqT;e{}copuoYwnOhnz=ITw6-tcv<(B%j%cmJh=Asl>(2%}rtY z!JBGiWF)7sPze>}?(Qyk>sBbKOmvaXYyDK|D_5?Ns;3E4h2fIub23Z#Rq+c8Q;WDv zCG_Z*7_uVK-(KHVwV~lNqZAVpv-+BTLr7ACHT=CBD)PPmUMbu~uUKE=8@7!6=uv;R zY-@M7(%8g=>ioQ2VnTxMa%w^`SEwdUqB)7Wn?Y^hP~I24pF>4DFe}yeiMslRhF8+l z)5DXK4T$2_f?rCrT)cSkkoiV5li-6jlZ3>?+1xnEK|>KSG5VmOpz^A!@X%0<@oI;t z=xDrZKVo8H+G}_5o-*9PBq1T8rK8K1jUpCx|A~iKjFy@%^k-uc5)sX=tv!8b+xNza z?egVww{G1kFE0{wQfkW0m?e|l5`ux{`ulSVS8cQB zqIUN$_Y(7FCd74nLF)=7{{F#%ve!@d8xO<6;$OT7V-DKCW&K%SU!VWlwL!!6joCJs zNt^<;lpJkIuO;0d&B4t6duxe3b12k6wS$4@>bM@4!$b|w;r3!!S@UUq>naU3_1woW z+{Cr%)>h1df&zL}fd29EF@NxBz}5NK20V6Zo!cb%lqgaK8cX%`use!uCxLMtvI zVR`>Po}!{+!0ExfeV5*gzOT7m=7~!+aj8{xJ-fNNxnceNnnj=c`$;J{G}=GC;BfoZ zLls-0ATR&%)2H(a3JM$B+wB9nih4=RH{9jKo^GPLR7W}4*%eSVkD{Za=`q#}Ciqfj&Ya8#iMi4AaHQwYkYlz;P4rVSk zD2uG95QrqY5IOnbLGjA#+gXweurI3P9zX|s@3VQ4n#VZ&*)vk;MvQHdL}8>kgI@Rq z1hdP_PoPD_FiFtE`#yvz?u@+fYD%^LOstDKV_TTyH*;glgUVc3VoX z{>1msZ%bH~u?AnkDZgbNL|RKrE5iKrf{;BnqNJfwx+~zIo!PRvv7yQN0G7^#H#vzr zQRR5A`An}E7s<@bR8m!KYxLjK?XkA9vT$@HWMgBiau_9s_3^pqCKW4S-H9N?45AzD z6VXqfc0!vXqo;p7Tx`$=HT7V9s^fK55Wcy&Ir`0>Q1i6zERW8vug7`Jf5kv3@gov^ z2nY$~938J(Sz8MP>~E;-3E2%^x@uUCnAUrKWak{_+qk4_B?aoSfW{#r+Qi*u#u* z-kTb#sucD0^;WQP2DctFSr!(4sBLa;cJ=hs<$PCLOM|pOqTtA@JUQAUK+sJK_KwQ0 zG!YkSq$ zp4(mdp6k96=WR_)LPCScnV6*O>YJEcZD?o+fAr|l(21mgfEJ>8BQCDfoH)*NHA~1L z=~?fui%`({r*~W$FaLC}>+bH>*l{vqy^OD^7QoNGAYo!(q5>Q8%}z* z+{8ppU7+uR>Wl>#QdW-d@!MWtZEb7o$dvGh!H3@mC`4FJ&42wGhWq)mn#l)m^?YYLyQ1-2!dmA^a_C4_t>Ndjjr8I$ubRBq z{ACP~tAUWdU{}{J67k=4#E`zk&aPtfE31(?_*jeUgZFAGKR-X|yL(@>jhgGTG8FZw z9;p8VW+tYl5m{MT#s?7uG}s6k9i7o)eMd(}>)@dF`?|U!lj6d{D;Obh{G@vP_{!ux+aZ&dd5<0 zY*=)3bi*d7nRqi1OBKlEG=10Hw7k^zH^zDG`w>Mm34OfTDRc!>!`(Vui2!e z%>B}5(p;KC)!5shD-73c`Xqa@Vi%~VMZ!LYc1vvC^;FMD5;g$9GYd2j4vlnaV`F;B z;|0d&W!o_ z^KO;PG!tyJz=BOFP6`T&Y9e!SZA`swmqoIr`#JF)t69ve*lx3nwlQ9fBdJf!VRSW zIBIrTK&upHc&x%2cW`j9|DEmaD(6Z1<&n3tK0fa$MUbEK^K2X(ihiceL8hoCX4|`W z!{_Ga@RKEcHl$S;63>qIJ@$U>Fum0w3k(cYOA{ulb(sz-h_etc0?>R-@1G6yg(}Hq zqK1g^rgu0ngH&NB{0Ny)=$>x^72a?Q3R1Y&F}%G~tIt_mQ=Dlg3)~IjC7hY9$eS7g6F4U;uyL&{t zYm-ladCjfXPU9en0)!z^&F%VmmF}B+wAjBUQY8F^iJ8O=XO}nmw0E@nG9@f+Y$Av* z2+sgZq#8MokKbw@d=ddrg!=jEMfc~=2~9Ka-@iu?$n>9!eiC9nrd~oWQw%mX zHujHF=H{%R_hRuFS0Nj&<+4~-IkP+V*dX9JMH!Rn)%B>D^bm7CwvJi`6_(j2?>;THxSVq zH!ROiPhdk7beiG8Ds}cGa-&ff0}E#c=qS}GeJL=Z=al=WN9!2UVj`@ptQ)(#Nl6B_ zBN1J7b#)j%W7S6ke}KNxT}f22t25zMj3Q>_O4phLmI`1owErZ?SLCqk!|7-ZAUP5O z7@|9pr%X}pe2NSO&6cSI1c);*GFCW@@+R^f$4QN7Pu@i~$^$tQRq_f7R2t0?77-B| zD7vKateWAxK;7CedYxas5JizNcLJBt!_gM^T1x2I<<<^r($>+@yLW?=lk=9JpO~1} z(xt@VpJLD?$%L-2gi7lHac_khiiBQ=E_oZHgR<1P)5pH^Um4{T6{Wt>UghCIj~#w* zuup(OnQl9X#aip?QmUw^d8n?fA;)&4*3yiD!1ePO?#IQ zIeni%xwvlqR8I8!_0H}`Q{WwxaBs6kvQ(3{Gu#S!NPwTBlEOl~fq{XAk+*5%x!Q4C8yg`q+0vjHd#ou11O)6y+s4LdrFTjx zU>sVqZA^H11GvlqAy5LxP)V*{UWq+Nd+Q|7Q?RkIXJSRBq=SMaYaG90s;c&K;hF`I zUl4H)udNjk^IQlSH4kP4gzNtDr31)rJZ!K(^L?sby|1&2*DPEC8G%ZYfIiqfT5q=g zR-g_A+6lGGZOU=|Iweq&PLK%C($fiXadF$bx=_%I@kmILgY;G>KZpQ!gn2EGunGxL zVc`&lXcwW0^T3A(F3{@KohG2dx_}+<-|uI^K6h@`{OmCKdbc%zH^2K&rLphdStTSG zVT2%xVC;9Rp9%>I>Kx`b9urIs=Br|eA5+x?aLEFBylPa5t@B!=qdT4rO$1?O(8$-D z#G|vQE@0C`>G-|!9CWcx(68BmoI(yGEj>Ld^g|>*K163bWx=d0EQq(aclXz?owiwl zky2;J6crT}Tw$Y=bso6Oqh+|rV(%f)>wZ9&>&`z6e>DJh6NAu_g`L2_z;Hb?%%%B+ z8ny=1u)MP~FO-Sf#>_3~32dyax9B}d5O%efA?W8$Pcx%s1%NXt9o=~Y1A`xp{3Df&SG_ z-b+L00e$3Q6FE;e5dp1Dmkgwb_i8J*Y}54{8j@3&ya^-u+j-m1_EB-#cjyK0#cUS` zc}*y)kN@^-^DEKdS!U+bg@yao0;JG;(bFTRpwK!rMA_Nd3B`LSA7zfFQ9@V7(~yTtsc#DE zF5L7kL0$>RTFb~hTo|j!<%c2yrHuAE=HB&5>ZE!1O--2*0;o8B@VR@~>i$b-?yYgP zO1?M`k9v4`IG%%p1FRv3ag8G5$H3q5fS3sQZQlodNt9Sm zr9PjWmd4!~$IO>1&5$A!fMp{Kbo6aT5RC z6*3^`bBP9KWPnXF(NQ|WUo5N4;2BjuspfJ$H_9d`DR@umCAbp8qxWo*k(Ar*0>NM)7K=hT=|@L>^WrscGJzT-z{0{pGwsc+vtvc43o>|abM5EBdEkY)&?`^~ z2%uMF4Zp(4N%n+>j~XVM+|SPsZ8||6DB8TyVdXko(HkmoxE7lm7k4{Y>Ciy4P3pXk&D`k|F@bupr=dWslq6STUot-qg zaH`&Q787KPD^Tj|4kKz4v*_9)6S}X)^7jiFS-e7eMCjiuqNA_RT_wau`bS5jWU~9c zY0+pew~dKzwpv>8HEpj{fI}h(P^pAzKD(QQKr4Y*hBgk>#Ma2Z;@Tj?`TLWL7YC!y zWB>o~Rmori1Ex{y#En&F{?Uj>HJ^WHJo*Pt)+GPE33!K=Q1L&NZH;`!SKX6fLUZcl zBuM{leU#W>P5=4)4}Udv!j*=_u3nZYcv>T?siUV>x@%KSdmd^TPEkIR3u5|WEos~o^pe?fK=)$HsHo_fULql5QYWoN}e+R^cZ#uAj*{=QGTs2e8e2RThmQUtAr0a3vK zXZ2ng%YG}1ws&DJ{ld?OfpO}0aAMK_y2LU5Jc2}_iDZ8A|_}{ zZGS(%oL8@qWM0!ZJGB2cF{hT8*`Wa0q2R`WqC^l77@$h)j2pKqn@K%YR4fFMATD5b!a4lH?_hEj8PU&U4X``+8N&Y7mwjF@_%Ft$qq0%WR5S8oA$ z@B^45(y(TL_Gl>sWDx@a`=#7tUIPfO5{j++*R_`^DRw;Ge<$bSn~9gwg|C}VcJJin z<-Mw^q696aq^8ym&a|bAOB|G!-Lv*ruUI_Srx?NG=mPc@dGAZACD7X|+}v&8D^~|l z{xg-j=KP_Ww|T%lL|&DZkq{6NcrNr~fVn{{6(p{vuAUECNNlXug?TD)&$Q%DEinj; zh4E@`D=Vx10`&_{5x4)j&rXaQ9%~gNww*cf()g{T%T7_Z{{DuqJbAq4mcD)x8kD+) z3|RjeLJkch1>QfG%H@$!;CZPjE1y@0V^m1_2FkJA@e)_V#Eq7z>d+JNEDd3XHxS(y3(gprXn~&_G~>wgCriiz4X)cWGvM z`Do>KI5k=%oSd9&PWi95b#~%_ZE|>cxUn)qH0v;mft)I-%P%ay=${zHos#gMsU9es z+b+@>6n_5v`OHWW8yHRbl@k8DuY#MK29JPcS^HS9`0Z{yEW6FuKz3MPwbIMi)bi|O zSbtmb&11hKtJ7oO!OBo9T*!J{5JX;H9taZk;m+z4CbP-SxNHpjQTv$|j4=kfN3b7W zMHxIGq!Y(`6h$oY%|k(sk9vyZQS_V6qf1&}7VU3_9P+ZWP=*cUEb@bULYf&KiF-x3pyx(FD=+=NTBysImJ zJ(w%1w!aTPeeQ0_3chExhRb}vhs#S#BQRy#S4m7A zoTuu~A&>wj^l0nweVq8f(a`AM`mPxF`HQ|+)$as>wL(0H2jZdO;5Vf-dmCT#vG!`< z;?mNbyPufzWc@jy=su?zAp^q$p`@4)`E~d8DdsA~&aACz%?d+j7jPWohYoj(H#yg! z%xvNNI}VLZ@gi+LepgX5zamC-g!k~F>)B~w9&r9|-(=<5VFSkFG~6bapxc%9Q2~6` z^mTD`jDgk1KuS&O9>UrdU3HnP7diz$lYad*IE`HE=m6Vc?^**2tCNvMpNLbFflkWSWO3bhjbS>WHy$6G$))11__JJA zes_@^w7=!&mjbk+ni9%7CMGdNknnWJGrRuzO$3t{)+)1qM50;rx?K0zWjdA~16iY? z6d$;8F^A^DzjwfePyC@94ByAcFM@8&2kVIl1isKzl1b^fQTzBfJxCn|B_*YZ9VbV} zXYujb+PnKlhdomtF>1WMp_}u;igCTAsqqm|Q&TSw?4m&jui>OV2R1Hv;^{u^z-e0A zN^KzEL_)wID00kIrFr1FI7iHi4H$yqLkz`S?tCH!BbMb&w*DQnID>sfZo6UQKg*ff(&s7KK7eL92Uhn>5O&IFYd_!KZ--4E|Lht1vYe6;g8jn-w-gk_0PP<`VvXKo z+w1c^KgGoCD}GP+Mm04_re3c=`#{iDhU(ME$Rr$~M9K7G_mp!|0c_?AA=ZwLi|c|c zmp|y($I#dqosppll#Yu(*h%+CO6bs01lZJY_ng3^T|5E;EChNM8y6S8;Jwe%V81|O z7t1#0G5VfK|E8w;PQ=~@V4Uwa*?uD_hg~CAffsyG>SZZGOtY$=pi2xkOiEqWm#u9<@ zuVTaza&@%bZm5XWao3pzKNQli(R#xl5PPp^kO?{o z7f0)V9#x)!zDMzdX!OPZxQ^*xN!7pbtAF{b`x@BtY~$XPETqd8(6XRG&(3@d8z+9U zl%1D%37ylFmX^Xnl*o(>MzBWR76&gU`a$g8nZT(7Et^zeOiJ2t{U0ht8q7-+! zAw_XL-gg5Rog6|dISmbBVaKr$Ueo#+$nBpu{eZ(tBxoQO^Ik!p!>Go_(o(-`V`B+} zgeleMYz{cMhCWw-j-g;#iQ&9UdGJ|~TFSL^QYYIKHBJ)+`O!s9qOLOtoRjDWW9xI4 z6f+P-I94DFJX)9I#tk|+4F&N&B@lGC%{h6r0gP^dbsqCW-@g4aEzKHE zNPv850qeWMbynsQ2ZuFyQ})YnT;SE^jr?4U2$3Q`O%8#6PrzGeOew}*vKMIlK+Sisi0 zoJd7YjnBcsG5hORen)qqq*&1Ld-Nd{&JUi8&(XQ{-)!N3I|+q9MZIX(u+_ue+Shk` ze}5kjtmC3%D1kX>a(cy5&?_;dA<`MS_foeHM605qkxIH>!y3mF)dOgAL_Swb7+%Q&bqynmPoG^JQ6iydJudFz-hLZxe zV1@wm(J$Wno#uiMf-*iOg)@;++(#23g%BXAXYkv%;U;d)RTLYct}O%svWkkh+1c6J zDG*w+YotfN;J7^p>6dZL)1@>f3BN*{l8lUu*`=k&fW#^`{~S4bv$|1;ak$yVOa=wE zvEf>6gN|N+dKmj!Sg^pcIpv(L)v*dJP;)Q_Iv_o3)6FCx8Qyv^GB7~qZm*%62yGP8 zXa8(27Xo79I+N1f;H4NkK~h@UXb=c>BUX8b9nh!1Mx|d4{PRTweMW0#WhJi?z!47T zorA#AD`FXa(g~uEzN`9gB-u#|zoKQkiHV8Dy?X`PYm1BL5zz;0>C`znk#cyUKYp0} zwIj1NvC#QV?UWw@oJ)`alle`f8B{+~uCATfbav_ws5%P=;qHGcAOeC5_lgvm4xk`m z64xx^4wr^XgB3@g%TmjdWCT&Uv9mL*v7zgdP#X`2LFQml-veMb9WHT0ud)DCDT!fKVcquW4WAO&VC`Tfs%p z;=ySNg&l0q=J`euI!?%C)g%kp_&~*;^+@f{U|lt>*Yz_uG>nGhHYiA)BSD{DyLPRL z6b1**1ERV3AOz|S&I;mz)eHw!7N(n}KmiR@+Nhc|1<*N+lzfB%qKOZP{Za3IzPvNs YB*B1uL2EK_LJ&k*UPG=_#^T}s0-J(l`2YX_ diff --git a/public/images/api/qiskit/pulse-9.png b/public/images/api/qiskit/pulse-9.png index b4e033718d5867f865fd983be4881b1aaed50408..03f919f3a4d65416aba4d6825008ee8fca92e419 100644 GIT binary patch literal 14010 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 literal 13742 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 delta 43 zcmaENjPczu#t9yBhB^uvB_##LR{Hw6i6sR&`6W4-NqYH3>H3$}2-|E-<46Vof4>mb diff --git a/public/images/api/qiskit/qiskit-circuit-ControlledGate-1.png b/public/images/api/qiskit/qiskit-circuit-ControlledGate-1.png index 294b507c64ef3b4628a1ad5e17dcc92908f224c9..661a95cdb0460e6abf3b211885b790481d138f19 100644 GIT binary patch delta 41 xcmX@6bWCZ2hn$g)LPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yqr8UAf8`B;L002EV55NEb diff --git a/public/images/api/qiskit/qiskit-circuit-ControlledGate-2.png b/public/images/api/qiskit/qiskit-circuit-ControlledGate-2.png index 47ea4581c1da4a5489dcb5b0fc90e66d1ba165e3..efdbb2fb7f53c3850aa542e7505e3b5da206ef01 100644 GIT binary patch literal 6999 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 Wu1+&0THufiq^hK;So+NJ{XYR}T6GTq literal 7215 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 Z1&;+P-=lmQ;PMWnp`xo?_RKo+-vG|t{^$Sz diff --git a/public/images/api/qiskit/qiskit-circuit-InstructionSet-1.png b/public/images/api/qiskit/qiskit-circuit-InstructionSet-1.png index e69818088ced7a10fd8a9d576b1410973c7742d5..5972fee436a2074b50be74daf8fdf759840a1b00 100644 GIT binary patch delta 41 xcmbQ`I?Hu}hn$g)LPkkRL9vy-er{q(K~8>2PG*u`eo?x<0RTO~5G4Qr delta 41 wcmbQ`I?Hu}hn%5~LPkkRL9vy-er{q(K~8>2PG*u`eo?yqr8UAf8`Dgb065zZ6aWAK diff --git a/public/images/api/qiskit/qiskit-circuit-Operation-1.png b/public/images/api/qiskit/qiskit-circuit-Operation-1.png index 4fe78fe73ec66222b47b68c24426e9e1a6712396..65197f9471f9b36f60eb55df151c56f8dbd9714c 100644 GIT binary patch delta 41 xcmdm>y+M0|hn$g)LPkkRL9vy-er{q(K~8>2PG*u`eo?xy+M0|hn%5~LPkkRL9vy-er{q(K~8>2PG*u`eo?yqr8UAf8`Hc*0XOas6#xJL diff --git a/public/images/api/qiskit/qiskit-circuit-Parameter-1_00.png b/public/images/api/qiskit/qiskit-circuit-Parameter-1_00.png index 676f76ce5ddf30d682c82d77faebcbd0922e87ab..c76fcfa6f4937d336797a39704b4e24659bd6ea0 100644 GIT binary patch delta 41 xcmZ3;yO4K+hn$g)LPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yqr8UAf8`G@W04ePbod5s; diff --git a/public/images/api/qiskit/qiskit-circuit-Parameter-1_01.png b/public/images/api/qiskit/qiskit-circuit-Parameter-1_01.png index 1a7c52b3696c0940179324319d11b48e8a7450a5..6416fa1445b7428066c06fc588b4df061514bbae 100644 GIT binary patch delta 41 xcmeyW`Big*hn$g)LPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yqr8UAf8`Jtl08MKT-v9sr diff --git a/public/images/api/qiskit/qiskit-circuit-QuantumCircuit-1.png b/public/images/api/qiskit/qiskit-circuit-QuantumCircuit-1.png index 1624e256da4f39b4e7df3a9a09c38e340427601b..bed92b9fbd58be73e1216eb245b41f62247059f4 100644 GIT binary patch delta 41 xcmZ2yvd(0Jhn$g)LPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yqr8UAf8`Dlm0suP<52XMA diff --git a/public/images/api/qiskit/qiskit-circuit-QuantumCircuit-2.png b/public/images/api/qiskit/qiskit-circuit-QuantumCircuit-2.png index a3c7e3581628e0d56d2580197f00064ee31090c8..b671b1f2236465864f2eefbf7f0926a1e013c4fe 100644 GIT binary patch delta 41 wcmZp!X|9>zA!nqckWo@nP;8~IpPN`xkdt4MlbNKKUzDz|@cZA9jcIdj0Z2a(=>Px# delta 41 wcmZp!X|9>zA!n$gkWo@nP;8~IpPN`xkdt4MlbNKKUzDzYX^pVW#6V$`A!nqckWo@nP;8~IpPN`xkdt4MlbNKKUzDz|@cZA9jcH4H0WDt;5dZ)H delta 41 wcmeB{>6V$`A!n$gkWo@nP;8~IpPN`xkdt4MlbNKKUzDzYX^pVW#2PG*u`eo?x2PG*u`eo?yqr8UAf8`Gxo0su>1577Vs diff --git a/public/images/api/qiskit/qiskit-circuit-QuantumCircuit-4_00.png b/public/images/api/qiskit/qiskit-circuit-QuantumCircuit-4_00.png index 511a46e9343fb4933559f62c9a4ef395ed562a52..1983f7555f9dd910275268daaa0edb2a9be3e00f 100644 GIT binary patch delta 41 xcmX>ueO!8ihn$g)LPkkRL9vy-er{q(K~8>2PG*u`eo?xueO!8ihn%5~LPkkRL9vy-er{q(K~8>2PG*u`eo?yqr8UAf8`Bbb0Xk$4G5`Po diff --git a/public/images/api/qiskit/qiskit-circuit-QuantumCircuit-4_01.png b/public/images/api/qiskit/qiskit-circuit-QuantumCircuit-4_01.png index 776a899883cb1addb6476fedb4cd5d67f8d70c0c..b4d71abe7d485c1760388815c90652fd7e768956 100644 GIT binary patch delta 41 wcmeB@>yn$`A!nqckWo@nP;8~IpPN`xkdt4MlbNKKUzDz|@cZA9jcH5x04=Hz6951J delta 41 wcmeB@>yn$`A!n$gkWo@nP;8~IpPN`xkdt4MlbNKKUzDzYX^pVW#2PG*u`eo?xcC delta 41 xcmca9b5mx5hn%5~LPkkRL9vy-er{q(K~8>2PG*u`eo?yqr8UAf8`D1X0sujF59$B_ diff --git a/public/images/api/qiskit/qiskit-circuit-QuantumCircuit-6.png b/public/images/api/qiskit/qiskit-circuit-QuantumCircuit-6.png index a37d4c12563af8e28d5bf6fbee79c70068f6dd79..e4cf276fbe5cd5c04c88d2ccf95daa35c3b6e3ed 100644 GIT binary patch delta 41 xcmX@9a8hA{hn$g)LPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yqr8UAf8`B>10{}gc55xcf diff --git a/public/images/api/qiskit/qiskit-circuit-library-AND-1.png b/public/images/api/qiskit/qiskit-circuit-library-AND-1.png index 1a5ec90d84372983c569e7f7c8b20d1ad54350b2..e3e6b3a21f3367fe166e580ee7d013158813fae9 100644 GIT binary patch delta 43 zcmX@#%y_<;ae{}Ok&Z$}Nl8JmmA-y%Vo52PG*u`eo?x2PG*u`eo?yqr8UAf8`G?G06^&vSO5S3 diff --git a/public/images/api/qiskit/qiskit-circuit-library-GMS-1.png b/public/images/api/qiskit/qiskit-circuit-library-GMS-1.png index edde3d7853a8b68f4c24ca7da0adf4b925ddcf03..427ae83fe66e0691e2ef2fa5052c2f8e85de7d1d 100644 GIT binary patch delta 41 xcmcbebUSH+hn$g)LPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yqr8UAf8`HiT0038!5T5`5 diff --git a/public/images/api/qiskit/qiskit-circuit-library-GR-1.png b/public/images/api/qiskit/qiskit-circuit-library-GR-1.png index cd39e5c6a469d77406480918f313b2a68d4fdd89..4a2d2383e465f4ca1d1888de63a031bdd025f8d5 100644 GIT binary patch delta 43 zcmZpj!q_^6ae{}Ok&Z$}Nl8JmmA-y%Vo5*C}fnB6ck(O>*pqx6y)TW+C}fnB6ck(O>*pqx6y)TW2PG*u`eo?x2PG*u`eo?yqr8UAf8`E_30X{?zJpcdz diff --git a/public/images/api/qiskit/qiskit-circuit-library-GraphState-1.png b/public/images/api/qiskit/qiskit-circuit-library-GraphState-1.png index 2c3ab8da1a85d95eaa2d02a37bde004df8bd3c3b..9f2defd50403b51ddbf0c710eaa5a6008c786cad 100644 GIT binary patch delta 41 wcmZpwYO0#xA!nqckWo@nP;8~IpPN`xkdt4MlbNKKUzDz|@cZA9jcIdi07p;|;Q#;t delta 41 wcmZpwYO0#xA!n$gkWo@nP;8~IpPN`xkdt4MlbNKKUzDzYX^pVW#2PG*u`eo?xw0RTue5PJXs delta 41 wcmbP}Iwy64hn%5~LPkkRL9vy-er{q(K~8>2PG*u`eo?yqr8UAf8`I2;07Fj?Y5)KL diff --git a/public/images/api/qiskit/qiskit-circuit-library-IQP-1.png b/public/images/api/qiskit/qiskit-circuit-library-IQP-1.png index a1b4d59c9f94f89e3e8ff1bf45b059e60a4e92a4..489dea043b696477721fcd7569caff22ad663786 100644 GIT binary patch delta 41 xcmdmGyvulkhn$g)LPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yqr8UAf8`DB00X>!vM*si- diff --git a/public/images/api/qiskit/qiskit-circuit-library-IQP-2.png b/public/images/api/qiskit/qiskit-circuit-library-IQP-2.png index 5ebd3f9ba9aaeb51f09c8dc4c97136c67ed4be0f..2523d7ae1790bf6379753885cb9714d6ab999b95 100644 GIT binary patch delta 41 xcmX?Ge71Okhn$g)LPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yqr8UAf8`IJ)0ar{AAOHXW diff --git a/public/images/api/qiskit/qiskit-circuit-library-InnerProduct-1.png b/public/images/api/qiskit/qiskit-circuit-library-InnerProduct-1.png index 48f4474c64e25b6fd77035955c8a263023b814d2..2b2ab94e53d7a3e375c3b4aaa775447e779217a9 100644 GIT binary patch delta 41 xcmbP|KP7*Hhn$g)LPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yqr8UAf8`Jd60YlIaYXATM diff --git a/public/images/api/qiskit/qiskit-circuit-library-MCMTVChain-1.png b/public/images/api/qiskit/qiskit-circuit-library-MCMTVChain-1.png index 7dc1d75daeb8cd537fb4d64954c66e5063f15bf8..1253fd4c6ce23207a36c623e186b9f106f3f15e1 100644 GIT binary patch delta 41 wcmeCo?#!OxA!nqckWo@nP;8~IpPN`xkdt4MlbNKKUzDz|@cZA9jcLlJ07LZG}%4{~g(wR^bN#b4C%* delta 43 zcmcaNm+{_Q#t9yBhB^uvB_##LR{Hw6i6sR&`6W4-NqYH3>H3$}2-|E-tMCH=Zeb9< diff --git a/public/images/api/qiskit/qiskit-circuit-library-OR-2.png b/public/images/api/qiskit/qiskit-circuit-library-OR-2.png index 80d74dd64ceeea00c5e784ea7b81fe7bc7ad86a4..6fef229c48aa55c6a24e0b0aa347a214ddd884ad 100644 GIT binary patch delta 43 zcmey=&-kgIae{}Ok&Z$}Nl8JmmA-y%Vo5H06gmu7ytkO delta 41 wcmeAQ?h2mZA!n$gkWo@nP;8~IpPN`xkdt4MlbNKKUzDzYX^pVW#xxa805}E@2LJ#7 diff --git a/public/images/api/qiskit/qiskit-circuit-library-Permutation-1.png b/public/images/api/qiskit/qiskit-circuit-library-Permutation-1.png index 7b9ec72e44ed1e83d61e3a84232b964b7a6b7791..47ef6b2be46725ceeb64a5532ad6434dabdf860d 100644 GIT binary patch delta 41 xcmZ4LzSMn!hn$g)LPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yqr8UAf8`JES0X+T>IsgCw diff --git a/public/images/api/qiskit/qiskit-circuit-library-Permutation-2.png b/public/images/api/qiskit/qiskit-circuit-library-Permutation-2.png index 05b82ffe37a33b4e30062c34c13fbb7d1f0f3ff9..e8ed6f5d105512df9b042c538557af48eac9179e 100644 GIT binary patch delta 41 wcmZp!YOb2#A!nqckWo@nP;8~IpPN`xkdt4MlbNKKUzDz|@cZA9jcIdj07s$_2PG*u`eo?x2PG*u`eo?yqr8UAf8`J7!0Zo1n*#H0l diff --git a/public/images/api/qiskit/qiskit-circuit-library-PermutationGate-2.png b/public/images/api/qiskit/qiskit-circuit-library-PermutationGate-2.png index f7111faf2013e4862806408759c448505a446fb4..0c88f51e8d5555f6aeb3a444d0828a4713c2250d 100644 GIT binary patch literal 15073 zcmeIZS5#D8w=G(Tih_tBNwOd+A|N0+DH2S8f|8?1&N&GMCO`=yN={0WoO3FIpkyd= z&Z)>yWQsHD`~P#=y{+ASPdoeWhx@P}XcVDVtvTlyee~YPSpLrx7$1- z$_T_McuC-W?ks#8W*Mr1Zz7Je>W(Tl#*Quq_C^Q=14mm+8%ImCS1is(_6}w?*8JSU z+8sH-5Z69hlAP^T6@m~Z;mjE^dLR9gQ%>5Ux zF)O2P+Nwslla2nisWAG-a>k!hSXpeR-+GuwrEwW*4w`=E*U*b@J;LP|ruAGe%B&U~ zOlkWTmZlPDEFhp^t?`)RdZ|yO*6Q2*(mcHyDaDab-uWZ8@8*x+i2JS9mvvx87|J>h zwN1(x8foA8`S}fe3Qr}uL{1*koQhy!WqtL47{SWQDwy>DuODWn7f;E^B)LD5AndA< zuDkl@&qq;#1W*12cgCKq*~O)#Bv{V$A}jpQQcKG_o+*6=R?4FJb!U{qq^;piVTSLz zao@fw68Krs8b%0MP!kXk?CtOKdLB5QA|&(=3fgfrV|^LNyKZ+OQ&G5Ni+QN)pgG)P zBEuE)Bwg|hA}=tK-z495Qu@`aSHg}9m%6&T7=&%Tb93(~gl!@ z7ICy{ACCxp!%HkQ6&1PBV|#B2F}hqE_7J@h5+2Txm{RRDqI;HCg@q#`B4{ZtUw)*d zWK#G3d_!X+1vRzY{(d=^S>01J@xfPp@)1i!m3AxM~9GhaQiH4V-_U! za3Lr3oWwP$)(U%b8A==6O$NrBk6bsTRCke*dgFAJlCwMUn!Z6Cqx_T#vfl3L$JYu-obF9)t_tzuX7>#Z^EZ;w6`kWty${UH1` zNjR!mkvbZtR(EpoeSb}nZi%`5#(we)C88mWf`S5e%caU|CPdy9zQol-9`;gqB34%j zn2!*&oTp=uqKM4cni3)LPI|h&je8-=w}=t1o~Wce-Ech5+8b0LqTNMS9q_K|?+4`A zb%eE3T~Q!s1s?~=83Z{wN1mWs?Ot@I2}$K)tdk86yTYIkXvk=M3O@Y`d#XnRYWn9cX^TiYoT-2Oa4nT+&sad1${=ehXoM4ku ztg~6#owy+xU%yr}c3QRD%yiOZ<7`5I_gkR!9*{9N zzr}Cdst@RN*Jg~t+o1kq$d@noVnv-61`BQs7h4&QRk~fc!q-snJM6xk;L(=YfDoB1=Q2JWr z(8~WMj=(`pORR56zsW#2^7-aIBPzJ!RwhHqa4yL!=lEesjk5JgcVW9`^mqT*e^7vf z!~eQM6lFy5>%SCdFVG_Hp;Oo^(k(|y?HZbzDyphCiJ7tNV**Rm5zd=W1xv;x;?VLX z?!VH%S}?rfZ1Ye+WOAPzv7K0Wok$j+l(~^5qq+lg*KFykJjPZ3eh*W?XyFvAQbNw8 z%o>}lPlP%=8Y?b5HRM6+J%+v|*rTc{HfzPn%KCP&z@(xg$y^B!%(b<(4Gj%nA|f6_ zCSSh(ltoZ*Ctu_wK0H*zG^&1*g(sELw>R#^$IsLOY1c>T@9FLgN@M9BU6?!Bw>EZnO{N9T7Qa&q^DtiSJMY_ICBlzQqN^F7qJ z;U9{myCu5^C4IZ{HjXFx5?zW$B}Oy=gTsKdf{Tlb%VSm1OcL%B7|fGsK`U{cFs*Hp z54ax_*u!?o8M?g|(q6-Pvd*8p+M}IAykYNoI}5C2RcCZpvOkiKwo5epDyu1C%kYb> zdH84%N@ViNaLHu~inrn6SpTCYDO?CCz2N#{YCHu!eM_MkT3p*;(N#oWUwHZGSg@SP z-J>|J+g^C$qrSRpE!&lg$&|c26E0^8ZB#ju%M?<>`g9NpiRx)||5wz}t#r*J${^2m z{z9apuP{|+_C$y}riq{@?feN^E%-Dw2M^>_GKWfvYx(Ii?|K5{0wNGoS2E0UY&q%n zHo7jiy-%D~SrVv{vXL-DU%h8}iO&j=!J|y4>XQQ&+v3h3y@uEx|Ld$TgGy-L>sYL; zA7eCVM9k-TrgZp-q)djr zYiD2WY9?;Q*5sU+k?r+=@bI`tf>e5WlQlV61@RxFjpp~TP!fEOxf^Dh%~kSvPp3{` zZ6N)8KT(D#t03U$MI5e^&~RV7e*NPE-;3mojBP%IMCV9IGS-XH?b4fn9mG19W}>rl zG3x(@n+ts$J}xx{rye*tT)!NYqJ?33MI(BKrT9x!RCB-;{()Qr!nSB3B7JxP6*Sjj zUa>KV@pEu6nG>eZXtM6ZUCV(^u9dj9xBF74p!z<{b?l_inC(l?lH1jFvom$&u^&=} zu$KH zIDyPsdanJ5^>I$FL4Vnb-L1>Gyc9>wZDpPRC&WR$RMVM_QcaX2t*rdi@q4;4kWEsu zx?x4`XkV-Hjd`gqJ&TA$xKBy&bv7fHziJ8ZHODvU5LKxXb78YOSDb0u$|X*z>)`g~ zas5X)PsLPoB^sWY?2G`zh&e_PVFHDzu^*GDXMU*S-e zgmoDLIoLZq9UByMNi7-D0GT!pW z4q_pyye*nEb4OC|f$p7^;q&Lu*Ft4dlH7j}HOqdg;r!T}Ed}f9ePbZG=SvEwr%7Gp zYA0V{uo3hl`2&xqXU}-PH5hDsizZ8^jO!=3n@w_6fiwATiLG#g%{faE{VFCQQ~}oS z#dSRDynlbXuD+h2bgNyg48AxECFBLXo~~l=_a!2QRwab27SH&g@K8mzQzZSsNhP)< z_@M>|@Nb1kzTar}7xcOpX$KjzGl_tlC;DOLhEAh&o=@oIY+^2l!}KstW;&;9W5%wsXamJ(FRT?_^tXnXTF`sJhQ0L#5e8sUS(oqbcnBl`xr zgeQlw|EDHHG&Ooq}9 zl;%vd&s4}@GJ3!FU8)GgxM$0WweYLn(JErh?--6e+T)ZtF(>tW4}9ePs8L`{e(92Td^|HcRq4i^J6{$SOiPMGBMEJ?-w#y%W`4B#=&f4K$C*%T zE6v9!+P(f@Rm7j_iHCeh2ln{)C8~g8-*t5(-&`SU5u_g3uP?(s5+hvmBBI|_bv808 za3;DPQ0$C*wzsz6c>VUL;=00bv8TKT8e1dz@#>A2mzP1*(GNcJB7^Wfb@d3X;r%I- zy%pF01-HHfm1`L$E)KeJy`)-<7UQ{xBesqEpN1se&W>r3m=xS9s#G5Kx}<8!DV+5S z%ZvJnwLSWFI3(D3;PM62sB+;@3DrGNhvw0~k*k=dvsZGR9V~+X3DO}pMg8R)9=a5>mstS1#3LH&5(+dR@fcze&zWpYvBI5TJK%7i}gvI4h*!*^~W zGRXt-oon^g)9ZD}^nL--MwH9>iBf%cyWt!BL|#KG8ol4!h8Wqkn7y?PW2bC=ooZqZ zUDlT=Fe8;>Z}b`t?sZ{iP~{&VG|Lg(vox4({*J$ci3$Dw!kL-Zb#-;7z3Eh#zAVGG zD1i|WMU{|BM%Jl?G&eb*q*ZLnO*6N%7B~_m&xd~( zSnuV1NJ_dEb(h0cw*M>p6WTla2uaC#+=cG$ZqxB<&%Bl^Le>l$8ymlIm1g0-W)xmD z7kz0Sh{cJ$Dx2F~Gd$E9|A$t7F}aY@XJxROB;Qi}ipJEl#R9P%w-cci=JKPHJpNhY zYT0-qLAR2L-S8j(7}4#5;bDi}gFT)8V3b!V0e89Q#E77%qj>086;Wxjr%R5~Xhv*d zS+Az?qyG7))Y}zyciaY3TSiuk`lTLC7ZcjKx>cmi&b;2J>EM~OUG^~2wQf7xcJ4~` zrJJRa&yL2QSu>3YF6;84y*QoA$jQlD<0L9topiGQqxzvUe}debBr11Ytc$j(_D3(? zmVaU-QkX7xqg#R8_u%3$Zj65VqgZyeJ}k%l+K*qKr2^=)&vR^@;x1Xy6k%w5(bVE9 z^VkN6d275BGZKlst{C%YAkT2H+==u4{rlN&)dx$Qa~<&=P0UE`6v4i=_rZq5N*z+> zZice8ix(3dIBC1Gp0-hK{+q6LY;te6sqPt*%pAoLGTa;0yn}UK&-SiA?~>Djn_fri z(ZqS>tvI|SjBxzyG32s)kQC>W7Ec|gJ96OdL^4`v(3j<8RCE|ow7jLn4zzQst#2(O zlh0vd5lQ1omsRStx$}0>qu$fVrbHCn$RQZO$&ci39Jw zT|p!3>~1WHk9AhZ%5skNx!~=bh*+eoY2Udh!P^I{1wUyMcCzmw zhUtLQ+`ar~x1Df;Qmzx({{E+7a0s%PqS7;6#2%JTG=87zYieon^eJd@>TBP%r0z*G z;2LIhFD_!zb^I~4D!AC&C$TaV0-&WVEq!WoauRWY?yleccW2A221`UIQFa*Wv^RL_ zeWM0*q*T?6ygPSZ;7w-E(l3W61JS239TkT^f2~0IB-_qDkPipB5M7r^L_f=E?rDpv zl0dBy?-s4B7#)i_ry2)N1l`0uikh#mjYSbBw$YW9c#5T^AnRCX`Hh;t5o zWAB7UjP|*8AH}}GQ3+X{nh4ezJv6w@K5dJNecriFtX|e8y0%Pg(73ciW{RkOY+mZ;M;CB8R$ZLh)gq)bnpK})V9PE#m8vG76@Ss^QrC!k_vFrlzA9YN zo2*Nh-4(E9t4X);A9W9Fe*ff|lG@eZX^VzBJp)-lckRfSZ7{#~>_zx?cHZV%WbxQZ z8Qp|TrdLLQ@0)iOZ+Ujrx$8qV#qRN4x1gHd>GO;3Vb|JYMmTDNBwW&*U|S}wGp*jgWBY> z6)jlr$g$QZRTxQsG~0h2?-7t1UMMhbV`X7MNJ&YhD8(!4>$89t8^@jX)P8GXv}j%D zRhJmjTQ9gSL+`=n-{vfZ+j@=l-2*>eaQdW|kLMl_*p=F2CF$U$`2c zc}?Sxo|yjVv9C^3d#@e^#w#t?Ugpz32K%iC%E}brl2mq^|NY8-f%Xo6GY5M{g|dg1S!gzWn$9nB=qmTYM_{1rMYTx@XL zsZ!)rR3B<;q%Pl3Y?!pY#KhD-ACFXwm-PIllG@H5uJSU7)oX~91X<%|u-NE;-U_~r z*BxF&oxj}}9hyAVII!RQ(^vWg5F+!87y7ebepVWbm1{F!Pjk9Ps(TcSJz*b|M37=o zE*7dU-`KI%;3;AwXdb-j43_ZrLKmT)p59QQS$!Cn*4}0d&lO=?mS`ax;|4$SIBx7$ z)+m*9#vcUbx@rcqr8@D>mz)?~kG<|Ks}VJhJS%tFN%B71S!uT@daArAyVPCgld=LX zMrOp~aA)QH`}Y&Gv%k?wQf=@>dJop5UT7NPn^93nC)rs=nyGkGxC#&O_Y%uHSC<}h zv~g8dPGsLK?KRU`9$5Hfzn$*!aLqYaU#HgWw-vJu&q6wa<@-}$RUFWlSYKb4M)zlG zsODR`}Y{s&TF}w}9uQ4<;+t+)1V4Blabulc~Yzd0X5ljjR9Y#HjLTh#-m>XM|I>)rZ5LxGU6tThSBo7-GiF;al+mr+?ocPQ)GTW&|FBWFg3b-< zMU&eH-pHV=0DLOD0Ogq3MMI~x%&jjd*@4sadGl7MGB02LRp(%=>0Bm5>CfxJ(GP6V zON0Du;Y9z&vK`9*&%pNI7x*uz4*$K0|GkO-B{btd8%Xip)mPcr-eqQHe)=Ula*c@;hnb0v3JO`1#RjBWM({6Q4V$ z-w`LlevttFQA0z6LB#(3@!_sYjn^?B)lDkQMD063U{iX3zX80D->>Vz1^>mqcIHm< zm#{EnL}*x;>d*axf`Yc5G!=zs&%T@|B^3a|HCIc-e3yfRV=gt`i_c}$NzE*(CaGlH zYq)Z|`$;3MAvjjAsd;p@mn(rw@O$r1yd%>_SMN=cprN3Z^t~9|SsT|&x4Om}UIK(V zvY|nygli3MCdH&9F1sJvWW4Z#%NYkZ)b{@4$0+cvqQT+BH<BiEfl;hUT91hA0J?U7dxc6b;O7mLPthHM&`Z6&;b^Mf8p=vcL%zH zb3c5U_+abcX6+pu+NOi0tfe13z%OxsEB?fikDs3hi`j_iUX2grO_3%Kbu2FNm6Kyt9nzxVb*9+wBo9~6LdTWe`1F@$rv$$&~SORsH z#vPffl>Vh8p7Q_9uSSWPLp0_692>KGIC#CofagJ_~CK^B7jcdQ_acoTDJ4` zrx7R!41x&g)=W1A&x6u^8Ydpvo1r%CC<4DKt&yCw-Z(i;Ks=ISbm1wf=gZ2!4FxlW=YZ*o>k~HC?w4 zzkc1sUkv3#I9Ot%=Z36eW&I!{FOM!TQ3C1(E!p{k4oNofvPw&Z5qKx3)NXpAFN>b= z>;;7WTx;a}4<8_S?}LgJahQAR(_!L`?>EuXo{KrGJgXg_RppMYTXeKv9>|jxz+(D? z&yvz1Y*&ibVJjb}}-E zNf1&eNBmYpg|*}3H8NYN$;sq&bj=-7C#`!M(`EB<9t#6`Y+A*Z29Qp`W3wBqgv`3% z*Br0dY_AN5!)jr1D$AAlrYF1tKb$6Fb!DaPr|f6Hz(6B#lJ1&zdiU!gN3mOwYjVL% zZ4j$h_+FnA8nGn|y{_=8C5#JBo5c3A$%YH#YbHFi;VI@biJV=g>alheercOoJ%M8^G+~HaQbSb^SMVXqO-Uni@HPc=yydR%6 zjy#dDv$MNv);;rcD@Q%=?YD1~(DZ-v*9hh;Vu2KQ!`{Rw-UyaF_=RD~yt|c>lCn7y zs)U~`q1hj+^4O&yC-(ss43iJGo{}!h10k?MG27dYkbe7n)4_ut+Ifrt@x`o!$D=L3Gr2zHAzr!rr9h!hO{;$dq;*r_uq^oFk3UN!%KfNKzXJT*t% z-+vNlmRKt^1u+sV^rT&e07=oQa7M_;%H}~+2LS}Q@e>s%{yY>@L&J65{l~oyv!wfE zWtKTbMWYfDSo#&m!C#jPq@#*ji}P5uW5nX-rA`c5BY3mf96|Y2R#kB(RdZ<-uct~K z`@?GeII~NqzHZIW%;Y++XiDzST=qIxyrHbD9KmPwIBg!p%WdQ_M(;D}4IdvLh#`lW zKjeT<8s&~0`dC3S2H`KTIe1_lDz^F@tdzDElhb|cHo|eC(_6~ za78C3CWZk;Ora!!rGzttlg~41p)R%@R9=mem1+KIJz5?flbRV{kd~Gv9IFVY2*sen z;s9{FY&J~Gb**X_TJI+QVZD`Z4)|Wf(b3U57CRe^JYti=?Xe+7D_oiu9lMjCgg(SqO2G+0@GFOF4-iMg!K9In+6WfHxeMXplL+0qs)zjtE@eHQVVxp)glZJXS9C zX6SU>#i!I08JW`vOn=S|ZtfsxFKgT5v!lEkhs{BfQ&7}F{vt4%Ma#>UsPeNDa6xu) zafV!JC72pQ{Qdj4a&PLh`2I{Ndv=ZJuTB*N91at}qT^!s2S80VeLh#6TYm#^a?6$x zUoe}%r8q}S{0fjxHtq?he+ZjApLx$shzk4yAbkKZ{|vUd9kY(<83afxmT63&V^S zSk@83c0V&*^!GPs5rF3JU?^qd1UG(S2*0>%(HBrM=1!7(s?DloRPOcbYX$}e*KXY4 z_dM8UwYb?b@P8AXo0z);Iu3Y(xZ+(_eh;wlT;_rfv?s1N86)nH<1-J%=JzOJJ zIDj`Li9a4sjUB0&$>H8Nu1P&a~r?QL}+ahG$M z{&Z%j@u=qLDuBjDU^KcR{P5BKX1h!NLzvxC4+q4TyqElMDCm)Q&Awu4#S-NLp&asg z9qr|3HXGfj8LmkhekddJiH4T;A#^729uWeM2=%^XyS6V^pZ}mCfP@bR23o2Mn-s;Z zQ%)JR0}xJKw#Cy7a6BKDdIJ3GTLTc88Fy6IZ2p!n@kIpS>ul$b2QZX~$d&7g7I(|% zL@-Fci2!5`Y;A2l#irC2D~9ia;*TREr+O($cjS)>kiBh)yke_iKF5V;u_x5zQ(Lnqu|4@GaLh`^BFZ$_GRm|K$;7C>||n0 zeg}$E(a?St7i?@zM5c{bFf|djK zUc8{x$6f#u0@fZKM7EYb4x*aZw38*f`oJ8)1cmTPvEAWH3BVO2K)?T|Pp^P~tm;9= z<;6ny=DTefd*Sv?j*gGZPH=}3I$wuhJVwCHI{A>CxbLp6L^(r4N_+eGqVM!qD@q}X zcp&y}__?OskD1I;UX>QP$u0Lk5P7%9ia9I~@KSSYtFs`EFnT9bF!GkI>+=R*Y$7^HbO`rz_Z}#oYd(&kBdVmr9NNur?CPrRF;X{#b!DO*J z`2v%8#B57A8j27fm(5_l5mYiYyaY}=2bfkjX}jLSQ!`;JtWEZ-Li>d)LU+CjKGvDAsT>_rSYkOY~f~0Rf?Y*bs3)pWXYEACOUoE zwe;3*`t~rQ0-9Bj1g`tD;bl{wIAL)0DwG9a(Q$5bSNh-33tHk~5Qb80LAvOAVqcym zV`>HDYrL!^eqURg0Yt)C7GB;EC|B`&d#+5L+t1^GfHdoJK|%#A4;A6L46kA11yQFZ z8AxlGJV}Pl%XmzN*cW2FtyLUACUtZv6%F08*Bev6!8U9X7}s$bm4&LdzOysuL&T*2 z`xDh~?gFU3*($`a2Wb4!D|5plmxoJ&p?bsUMkEYl0g%i?;KXsaS>3`?B2Y?F$1(s@ zz#PaxyNCjfzu9%jEqE(Iju1RD7jx*~>gwtSFo;li|M~M!v)J-45SP-W^bB$BSdSOx zWGIt(&&FY!8oaz~hjNXldcgcIAWYh03}6m0+YMw4(gCm!N^+!-4HKXxQD(-l06uPB zT!a1{h{h(EsUaAETkzOfhI!n9`tM~*A9fKJm?cM?==C2yJg4W0rP3*P{9)J>1fd2T zhNi#k7`QTMk!aLL=$5kYeoGfia(fSjPHp=Zek`FalHV6k zTJYnz;E6)~l+8t1z&zUUi@#k6`9Qi4=taks?c|w%!ut51EF$L!d0cZY_ZsvR*A^+D z!f;#Ak*@P4{!0w1O!R#6+t0(ZsKso_d9-d$rsibo4v9(K4jBSRo zX<~8hU!wmc^y&tv*{xRojxXQ8%YvmJA?CsjP#4GDVs&eo6?HV}w&l_nPM0kNF$#J6 z{U$=Y6%LIS4CSr)j`=VxYk~>bJ3L2WcRzue(FEKq!wS+cWb?_RM+P8B@KOVaO7#iO zLoSHnFKi&pmkz%;u<|CMzRdzOetq2*&oS}RHP5gqLfnlHWJ)7cGUHZS1ia-DkYVku zu-7*mfuP_?UVl4t!t+Eqym^t`55tTJ4)g7h{Mj`)cjx5+f(i2ywH#ge1rV#ozo9qW z)@z9X$64W{e3{(;IC*)3HI5%qZ{!~+v56n{0yR1%0@lD!yXnSkUo>{9_cOkh#UpWp z5IrFr9|{Za5=Imj7E;uJ&moZl9tijlK&M}2moMGI*DJ6GfZOsD5?#F8NXu_CCcfn> zb@T(}5zHtycW^?Z>sou%adM>e!$|iggye0V^6j4ju{9&VKhs1vzf;?P$OJsSJV#183yC=k!GfpMaC3Gr0s3mZ#&VDk28JWy zDF*~>&F|siXh=cW3i{Quc_x^BMYRcyKZRQRSO@Ch3klGI6XPd1Av_I%Q~jw`VvTPp zOslXn$E#dt(h2<>xW0?m6EIW-*EQ=-IuEBH5_&_adWMgUjSUaqpf8CgX2bQ)vVd~{ zq}l6mMF>Cp1?bb@)UVS7Qn?IwfcdNw$NQ1}NmwU(SHG=W z8KGO{u9GhZ<>CO(aKVNlfX4YX78Y*+I5M?a$?xu@_u#ktAV5UmF${gu!p=T?slN>!+%!)DV7L&*@=A>)Od)lhoc)MvgW*KR;jl!D(;?CZSi^s|JqI zN1-v-MARV$?3RQeFoEuXr_q0?qO80JyDH+gc@0QRG6XKZE^RLlhT;Xv3Jn`8>q|x4 zyIw>b66a=JI{C5198vz56oGeOU=xfdP(DDxw~lwmw?Lf{dILoaiHv;Y>MCs57+?T@ zJ$>d3IVI&x`OTbbP`~jv=L!~y>0mxPSR;5l0$PX>ut)HmLL(F`e60oaYVSnsV+_c)f*Zkbp6euXvmV5%cKD6T^khA9$aJiAmAfS#Wn8SyO>Df_%CPXNFhe zh1R1{o`*XdFy-i8eyt?^Ya+qp!GDp2|1(CRoJjB%yB@1qWS-}QQSC>ELVarhhd>(m zadWq02;M&e>;ad=Z#XQH2Vw*8ipq_Csw+|6Z7D4kZ(BiT*V8_L7FndEr)VI(Q1ycS zd`G+zFcGu<>{u;KFTT*N+LZ;LRiC6GFg7;Ub>3Ax1s>l=OioQ4497dKj^K$_US1wx zx9$2w?UQOGOd!Hss;YD{)JVHcMW6s3w06+f&Nwo+S2W*Dd08Z@YYp+_KK72Tl5^ZfCC?{;v&VT?-G)u<_ zldA2&UiI>0q18J%Ki>pz+}PPUo9VCyW&I9#e%Wp?4kHaR31Ixq#%~(L5g4S`1O>xR zj>k{nIgRo-&An#MoJ&+xvc4A?0mu_99BX;1_uj&>f)Rj^E2tfuU2D=ZGR<;{1Yr(^ zKfq;*fN+fTSS@RM8ZFoc9w)4z4HO6<)d(b=F(^SmrXVH>^C$reV@O?{HBV3~@Mm~Z zClbP?LXN!h8TgfLU_rZg85x_H!0`4^1gxTLEd1NI*8v>DqWX@Gg)qK(tMDR?``)B) z8`y!|F#=Cmfe{YCt+~3E zLaJB6FGog3P9;+5LOK29_bpzI&@mKDvN*6M8w0MW=pTSFG*D{ChERyQYXD)K2_{#z zPQ|G^uNuxFfZyXqKadE!z-#I;Q(+pA?;uO|rkPI`qJ)r+wXh-hXS#xzrGj8?Sj>5O z0=QHUT%ZB7*Co%qQAff9rhKE`$$=WvoAvuU%Y*eW5-MUl0fSnSF~W9lB|LU0-Nul> zT#vTVN{-6|91&1Op=O7zzOh#)92n>mw3*qRf{W zVVIMusw&tY17Ka*`kjgLWH21srp&b^4SeAOqv$ul8Z>m&`==@S!6BzZu(Gkafq$T# z<4eZe4tnE?fH@^F)w2_jo^!ux^k(2w5%}5)g@Ce5-0%V(sL3R@pZ$mj1^F4YMV>p> ze6{Ap3t!4Zl_cG|uoO`0A(gE+fkmu?DO@gh>h!{RO^wB!1ej0@;s~w z55f`@dOX+|(ASrRz=wX0oc|D>y{lI^bAfl11XNi@POcjU5+QCtW8FmLRPE5YjMx!@ zF=07Wn1=fE4z}?UIKH+zr-kij9s)_1h3W$G8nx({56vM2?x4Sh0{jX{T_8sKASGrG z82$bJB%9quZJFLhr7PjXcp&&6G95wz)3qQ;fAEc-Nq9b&o_$3A;~!Td@pk+^G><@4 zvp^}c$f+vsA$>HPrcsbm9OCEKcKY<`Z+p_tH)mzNy)nfiY2}-nn~w!pzd>Rhoay_tr)I@Htb3FZ~@@3Y` zz9H#?6WJFG7a}Qd44h^8^y>bZbj0=J{bPqtDSxT<8`1WdVV5wI?j+$J^s~;SL$M4o z;-{f^Wo2cpn;XaRf`fw<_B9ZfNJ$H>;~_{%NogMb|MkoFY0Mc}*>p!m#h@SKmlDrW z{hBl&|1I!>Q&6hw4<=XbO}j}b4~A1(R+hD&7#jBk93YwZ%LPA2|527L>r0nhUk;-HanX`QPOXrf>oX2^~Zq{*m zT~M>q@A1@M2wJ(6I$K%V->th8?KI4lY}j&r$6;<64j4rle@a9w)DSa!c&vI?O=T z<6N1GE5Oy>6)i3=b+$>6^t_^l$tUKTrCy*xlm#tb3Sj$2AZ2Yb`27*T-9(bVKLTAm z(;7}jOWPSj#;jd#e_itQh>xpk?F?7#Q6UW*IZH*@`lV}jHt9}|IZ|tLcJ{X`oI6xi zgHYjDY-UJ?yc2h1wA2=VA0MB~KADM-QA^o&Ql)LW#yRfT{Fx3>@H##H2DN~-w(;+% zo63~j#)t9$fkdTmg?qa(5dc-sq99zO@TIah&>R8A%I`j;`sBPNfeVuz|zCO@F z@8sNnbeXFxFkI3mu!=yt^=K1$oOe2d9!c!!N{qXxEU4?X6o9D;TIOq28pCXlr_BDY zlbl*xb5`qUYcu^bY807|31j49=I4K}Q)CuX{w^!V6VY__%$YO6Z{9F+a=t4r=D(#9 zC*|zSUteE;gPB<)L+u)ZmYATTqQW*;EB%=xue!+w=h#X&li-rd;#F&<9YF^Nj^^lC zmkZI4^KG6wwsnaZe4l$GCysbR2*oq~DTt0yOpKPEp8l3vQgGuG!;KrSs=anE)6gs> zl_|wEoU#{FTqpnaf^2P-Tx(cTyLH-1Gp}2oFE!n4n_0PPEY#ZF;ruhSuGjAV#_kcy z&|}@}xmLhxtwEqUiz{Dv>PtUg8<$h`=EnDSJ+83X-?~i7HO4ptP(-{|L+pKheIrOW zu5qMWYe&c1p&Y&bObuq=qjmX>jSX$2D~E}R35N4gx@^K7e|gV<*o>0(+E3TTggUAPAj-^)RY7#*Kzc?Jtj_amctF96#ZH z)5WVSbyP)i?Byx>ZSGIRC@S7Y0G36T)DX9zo{Z~F2GHkNZQ4D@y*n(^_!|opGB{GQvTs%n zJnyekFQI(Sa7yNBs#IQpe{2f8g1`cz0`?XEZ@=(g^$*q*VpeOcG_apM`wT6WL)}|X zBAxIu!&OgKUmD(+H8h)c?-{Q3*kk)j+>sB6J6VmvxtDrJt__Ch8@&J0ED*}mnIueR zWMuSbFsrrLvVU!JlZltNZ~V*oh-kvqoC^0D662FSk6Voi=3dhKgEt*Z0IEmhc%I@D zQgGg2Wqs4sB+JOeq^O|4AS5(0{-vTbq(8#`^2WxPf#Q131P(I%YLY;D!1fRGlf54K zB?cy>Se8?mhIvjSwT>_*S5`I%(RAzK!-sJaJ|Z*%)*s<8Aue7Mc|S6uT~%GZ_%n@Q zw9L*NGgfhtPHd#Q`GeFwfvQucW#J3N1OwUlX|HUEv zt>Nn4{@PAurw}pRRQbEJwo99t(>RTl+UPsM2-uMMXt^>yiAr;+x7JxQ*)&2x>vj-#VrY0BxH6!fgoS68XwGto4tv4Hew(ieH4{EdaBs}%0orIv>6JGZ5 zbB81ueObfFbNZHT#g)gXf#+knb;V=L7wJ4)iCfFKI0AMi&VC#oC?qPG8&tC#y+A}{ zI+U%G%bD4yLE=9mEhUA8$foAz$PXV{UY#cke)q2C`MXo}+%rS|t||M7SdGx}=WeX^ zii9niQ5YfyuES-yZEBgheec=tv)nClY(2Lg?uXF`zVq0epPHFzYziTx5_M%CEwyPx zp+q9YOxv$CG&Hcz2_qz}1IYERqr+`NGjOSgUYHZ;v?j4t`m|1=*f>*CYSE`V?JxVU z5nBviqO0AX-qnlS6 z*rqe#&RYQ19n84$E@pgvW8<^S(h!ETFLIWl)FjkozB7LB;NW4Nq4-zT#K6>4 z`pC#g3}=pXN84**(xJc!N~;9nRUG?i{;F-^=sMk5&

STwG?|0~_R;U~Y< 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 T8^E$a5S8m1*D|l%e)7KnPyk*Z literal 12043 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 Fu@gX(s zaA>B>wk72uF#EwN9dXjJo^g>%wwgyQTy52Od@-;`!UEI?lx_o9mQO7-MxAJ-rmIE9 z#gRZ?N`cegJLxx5HeTe|Czqa?X$L^ObNB8xAgT)h6(aKTrXc8Gb4!QT-@JJPCl|gZ zZ7c|4sDMACG#X0UR#sLfUIp<`Aw^T~GH=TUojRJwhG@}Gm=s+F1dWO_Ew1p_cqp@& zfX)3d040Tlvd|qncG&h;lo{ljq{F_Oxy1nRcEAEJ)-bbOB>-U(#mp@(>R-5UH(+DM z8ts9hy+_B&MFUjKz-B{N4h{=EWfv9iVX_5^)Lmd13@1C<;H=9DToo4TMY&Z763A5t zvSKj|zkW&HbIRFMm{mW09J#El{Aclkatw!=K;uHvP7h?^dqySBoY93!rWbx(Jt8S7 zzj}RC!qTJ;h($h|(z+JV*f&biNl8vlf5b;drbEG;%!qS@8f5bN`UT<&kOZUbP-vpq zElqVTt(-Y?CXzr%fujluGAZvB74o|eXBu`>|7u>4<9@bLiW?*-c4_q{Wc z%CZMJZ1-#Elh4Qtm4#0Sae57&wZT{07AEc#*@EclnV7^XuK&D*-X3-bo4zd&u(RpqsY{>(qANV- zMlfql?%*Zp(H!xhl2La7DjDipRQ{^vvNRcJkMc&z=42b)+wjm%tGz_MGi^P+0hSse{X@;)ZdQrN?x4JL)w68cErIJ81{a&nQdd z4v@+@9l55akhV+SNq%#f#sV=>1%fHcSe&nL2=t+rfJ%8m6Xi?NLmG7*+KUtvH0%%~Jpwc0gmB3UbsK zR)*5;Z@C7aahyR_Hq1TBXCuz3s->Dicf#mE)WMOgbf>D7+A5MIxF&?O4D~o#l&K?n z&ag5ZXt7NU3IdLfc^i|}8;y$74`=Q{&USo>IRnz$2JAA_Xy`;i@cVb|vE@Vi_NAhT z-_X!NRgP-3f_%my@axYo`~o!bxAE$BTDMK@*Tn9aBzrkE|&aDVutm{%#0(W ztG!(xgszt&^ zyXv)Tdaz*-OM)2AQ#T)=t_ln&dg_!m3#TNUW1O*!wlXj&^^1ApY< z6r+keZy?MvQ3}``FWc!ifCN760nI?AQb)$e1!0;FedYR4YQMr7%}!AdXEe-g{tXoK z2av)yUYjD)$TQ`Q{kw&LML|_;LoJl{QTM5DEmbf4fN+X?(^VU%KxU((j5bF1WGaAN z_cy=P$!RBAm!c-}i2=JNfqw#q(FRk2UK~v3W#u_%gaW*> z@*{p?a&k?-*-0=lQG!48L=ZF;Kg_lGniQNBv;x0O&U5M|JVr!RR0jA(lj!LRFwx@8 zVn65^Be%PYh>1Ql;k5)B{{(2L7Jw=gTfq>lT%T)1)ob1&L=Lp!SAi23-}!YDazPlN zS=1osd1hv2|D9nLG+p5sZ8o&NVmfrea&!RUR$pI_x&&a}Or6%#HV(QPU(~?_id8s-)+X5xAuyFaoe0uyvyO(asXoZ#^LX#qJY2pr&x0 zaOCN{bPeaDeC@ i&u2X0$G;!g%Xt^C-}?`Ss&m5t diff --git a/public/images/api/qiskit/qiskit-circuit-library-PiecewiseChebyshev-1.png b/public/images/api/qiskit/qiskit-circuit-library-PiecewiseChebyshev-1.png index b29616efa3e4f45ea59d2b8f445142a124c15adb..2db3f3a07f6ce9153367a368fa8314fd6a3a8901 100644 GIT binary patch delta 41 xcmaEC{n&bfhn$g)LPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yqr8UAf8`ElK0Zl9q)&Kwi diff --git a/public/images/api/qiskit/qiskit-circuit-library-QFT-1.png b/public/images/api/qiskit/qiskit-circuit-library-QFT-1.png index 215655d2ebf9d5dc490d0a4330de3ffe5ec55348..91d531d45f5cb1aa652ee0e62a8ce519dfb06dde 100644 GIT binary patch delta 41 xcmaDH^*CyRhn$g)LPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yqr8UAf8`J*k003955TgJ9 diff --git a/public/images/api/qiskit/qiskit-circuit-library-QFT-2.png b/public/images/api/qiskit/qiskit-circuit-library-QFT-2.png index 4dd6c04e2270f0c94c189c666692df737ebd48ec..4be104863603683c79e5569f87382766686780db 100644 GIT binary patch delta 41 wcmeB;>5ZA-A!nqckWo@nP;8~IpPN`xkdt4MlbNKKUzDz|@cZA9jcLnu0YRe>w*UYD delta 41 wcmeB;>5ZA-A!n$gkWo@nP;8~IpPN`xkdt4MlbNKKUzDzYX^pVW#2PG*u`eo?x2PG*u`eo?yqr8UAf8`F6709zRk)&Kwi diff --git a/public/images/api/qiskit/qiskit-circuit-library-QuantumVolume-1.png b/public/images/api/qiskit/qiskit-circuit-library-QuantumVolume-1.png index e9345ea5496f7bd5d0205d915d382eff10b257c1..ad1f4c13aa631e89a6f649ba75ae61f8f07d1b99 100644 GIT binary patch delta 41 wcmeD1>hPN2A!nqckWo@nP;8~IpPN`xkdt4MlbNKKUzDz|@cZA9jcJQi06K&adjJ3c delta 41 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 literal 19109 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 diff --git a/public/images/api/qiskit/qiskit-pulse-library-SymbolicPulse-1.png b/public/images/api/qiskit/qiskit-pulse-library-SymbolicPulse-1.png index 1075f5b68d394956b4213faf8be1a5b8702f3225..8e4672474371f5c26300ee86ea5b75b4f011a2d5 100644 GIT binary patch delta 41 wcmeB-?2Me?A!nqckWo@nP;8~IpPN`xkdt4MlbNKKUzDz|@cZA9jcLj{06uUKBme*a delta 41 wcmeB-?2Me?A!n$gkWo@nP;8~IpPN`xkdt4MlbNKKUzDzYX^pVW#x!Le06B{f6951J diff --git a/public/images/api/qiskit/qiskit-quantum_info-Statevector-1.png b/public/images/api/qiskit/qiskit-quantum_info-Statevector-1.png index 8fbe3c329a3ac30afcb75d6d703ba7b1a8f32e22..eafeedb5d3970f606c09119be800a6887e2a983b 100644 GIT binary patch delta 41 wcmZp(ZnK`?A!nqckWo@nP;8~IpPN`xkdt4MlbNKKUzDz|@cZA9jcE$905nGr&;S4c delta 41 wcmZp(ZnK`?A!n$gkWo@nP;8~IpPN`xkdt4MlbNKKUzDzYX^pVW#xw<4054(=zW@LL diff --git a/public/images/api/qiskit/qiskit-transpiler-passes-DynamicalDecoupling-1_00.png b/public/images/api/qiskit/qiskit-transpiler-passes-DynamicalDecoupling-1_00.png index 8d04696ff804f35bb7ff510fc44f5276d97a5eac..e70e82bbfdd0a4c4bde6fcda411a4d92dce63a6a 100644 GIT binary patch delta 43 zcmbQdiE;8K#t9yBMmh=^B_##LR{Hw6i6sR&`6W4-NqYH3>G}%4{~g(wwl)F)Vh$0a delta 43 zcmbQdiE;8K#t9yBhB^uvB_##LR{Hw6i6sR&`6W4-NqYH3>H3$}2-|E-TN?oYT`3Te diff --git a/public/images/api/qiskit/qiskit-transpiler-passes-DynamicalDecoupling-1_01.png b/public/images/api/qiskit/qiskit-transpiler-passes-DynamicalDecoupling-1_01.png index 5842a369e1f797f558b8600fcfb61b3c0cebd819..a95a101b1adc7013347ed30e4ecebf33693ce69b 100644 GIT binary patch delta 43 zcmbQggK_>2#t9yBMmh=^B_##LR{Hw6i6sR&`6W4-NqYH3>G}%4{~g(wwlf+4XY&!& delta 43 zcmbQggK_>2#t9yBhB^uvB_##LR{Hw6i6sR&`6W4-NqYH3>H3$}2-|E-+Zhc2V-66+ diff --git a/public/images/api/qiskit/qiskit-transpiler-passes-PadDynamicalDecoupling-1_00.png b/public/images/api/qiskit/qiskit-transpiler-passes-PadDynamicalDecoupling-1_00.png index 8d04696ff804f35bb7ff510fc44f5276d97a5eac..e70e82bbfdd0a4c4bde6fcda411a4d92dce63a6a 100644 GIT binary patch delta 43 zcmbQdiE;8K#t9yBMmh=^B_##LR{Hw6i6sR&`6W4-NqYH3>G}%4{~g(wwl)F)Vh$0a delta 43 zcmbQdiE;8K#t9yBhB^uvB_##LR{Hw6i6sR&`6W4-NqYH3>H3$}2-|E-TN?oYT`3Te diff --git a/public/images/api/qiskit/qiskit-transpiler-passes-PadDynamicalDecoupling-1_01.png b/public/images/api/qiskit/qiskit-transpiler-passes-PadDynamicalDecoupling-1_01.png index 5842a369e1f797f558b8600fcfb61b3c0cebd819..a95a101b1adc7013347ed30e4ecebf33693ce69b 100644 GIT binary patch delta 43 zcmbQggK_>2#t9yBMmh=^B_##LR{Hw6i6sR&`6W4-NqYH3>G}%4{~g(wwlf+4XY&!& delta 43 zcmbQggK_>2#t9yBhB^uvB_##LR{Hw6i6sR&`6W4-NqYH3>H3$}2-|E-+Zhc2V-66+ diff --git a/public/images/api/qiskit/qiskit-transpiler-passes-RemoveBarriers-1.png b/public/images/api/qiskit/qiskit-transpiler-passes-RemoveBarriers-1.png index b502dacbe7e8a7942098a673164ee13dd38a4c9d..2bc8782a01c037304fb0344ccd17900ee6e55220 100644 GIT binary patch delta 41 xcmbQqGm~e6hn$g)LPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yqr8UAf8`Czk0stru4*~!H diff --git a/public/images/api/qiskit/qiskit-visualization-circuit_drawer-1.png b/public/images/api/qiskit/qiskit-visualization-circuit_drawer-1.png index bee1c619f49ee85807998e60c335611e3ed4ef25..876d54cf343fa2fc4461109094fc715875e28040 100644 GIT binary patch delta 41 xcmca7cTaADhn$g)LPkkRL9vy-er{q(K~8>2PG*u`eo?xp5f12PG*u`eo?yqr8UAf8`FO90RTg-5B>lE diff --git a/public/images/api/qiskit/qiskit-visualization-plot_bloch_multivector-1.png b/public/images/api/qiskit/qiskit-visualization-plot_bloch_multivector-1.png index fe0e3066df0e5c5c33ecc468c1e1347c15263423..abda4e49032a3b2d7ebbafa74d361153b3df6074 100644 GIT binary patch literal 92847 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

x%Ipmxd>qTSn{1$Q(2+~ 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 P;D;LQnNpR4b;SPzJwuk1 literal 92847 zcmeGDXEdDe7d8x!KKfvkFc{qr(R=UFV+27$^iFiqdyN)Cw5W+5okWciM2R*;i=G70 zqqlfY|8=kX{q%l#*LpubYmG25X0B_W``r83$8nr-x;hVt31|r*5D2llnz9}Qf(3rW z2!-N;Z?x4oA>f;Ymx__sqvy6>z7`%f5N!)DH|OVG&JLDH9~%!(hv%+ByyCn9JV<*l zFE>v~K0cTK`vTtQ9(H__RTR?TP4L~+j6ER`BAvT0j1b=h76=9eqOPo<{~~wi#yA17 zl|7RjVwIfm!>Q))QuBf)-`>r!PwUl)giwThfdUkNJQO!9RFf6^2NN&sX%`MP5AbJY$M_&+J1)j< zFXT#}-5$iqeeoQViFy1iNaU>U_V@BNoqcxn#f2Xa56_C!@&!rfS;xLbVBqz(q$$X4 zKl=nr(r1B(D%bz^Z)N{Yf4+SDY-Y<{JQ+tCt7}!-{ND=cKgh=D+unvT*_R=IAO6E< zXJ@bd^a%V5cR$FHS$&3S&lark_ai9jA_7_V?Z(n9$@4Jof_YL7UaP9-{^8! zMTL^w?em)tpK(-B<}|p$S06*@_B*fkdL<3+!dm7Q@O4$X)eSGS*Dn?tK7P`{GaOsQ zd9&ob_$p71=s_|=-|oUk^gcB;wfphr#H-}H!b6(+yobRq0907=M6%|CmbOlUch&lVtNN-q#%e< zENc%B^3PXopI?5yese3x`}9*NotUdv`Tq6GkVC$MeXx!LQH0b7ZQwO8{*;%t=7sG2 zkZ3>br+e``%kE%tKbSgXx8|nFwB}Ik_V@Ca{o8;0>lYjOV=n$z1Gndlz3zxyX+QGM z7dfBfLeBR8(Su}SxbC~laR>uWz&XhOkiOO4n8Uj)_;U9TB8HT)-!4DsbcHXY*KY&{ zb*kI|fr^TY!w>vB$N`e@Tr7wSROzF{o?WJxBl|8P$p0zhh*6AiJIMd1sAG>o{%?uL zgYNzR{Yf&-=Od}lN80(ApmRtIy5)cbc=5lLEc)@u9joT^Kgqj|-G2Rd_*3A8AOuOI zgpdnHbnb`r+IB_(I3?T{m z%MpU9_*Kj=`!3E+T`tTqN9L=bB_7e}aizQcyY>q_o_Mf)Tn@rJDn@d5J@)@gd~6Ai zpHM?XLs&EuBor17-Vq_=FC3)RFsJ;%@G5#V1tfi^>?iG?ZVWs>Fjm|c6iP};4tfar zR_;<70=c~kxqXh14Wt2Cj|r*z@S$+dd2J+1X!)nZ|85=gf48pkujFB9@9NJZ#@qFf zFZ4Tr>Oybr(q`|O|QWt-f2gk0CNyBwyImbz=`{;Q&|di~s>k-j4!*7PB( zeAhVF4I!sv2XFTSH*#bt?_Sh@_o92mW|&`ArEP0zXCIsS{i2hlxck-b|NV+S4_x#A z$uAPvU1|D1&k)GFp#Fb(Lc|$!6iYE602@F;uu+km?7?jte)b<1zz)tXDSXNs(!eov zR|~SllhC(W_pNU~F1UQECR9(=2WOLyQ)a_(H^UYvMSG$gnYrkn-^8*kY&v zQ|#Of3RGO9XTgX8$W1mRwwO~UgAtqGg$@&@ z@cH16mC0b(U+alf44AkHz$)}^k@jD2TYl^{S z0(VomUz%(s%Ad48mDlgpz(|3Kq1K7#gUJe!cPZJwa(hZ0&r__=#YCi(nSo=Rf#OX^ zYLa6ssO>VBnd-xF>Wkzjgq7Wi(87iGwCtrNx}0z%v`5T`R3bNqm=x?i7DZ^7%YvIJ zHNy?{g)HXsgB8EnHSsvJK7k&7>^SBx;ShB=QyjCkN|=_|0;{K1^F<6&9+G;yH4~16 zfEZxLNYbd*K{3Hieoe(jAIWP`s1|mS#6#s9CPH0|Yk3HhTzY*>#gnj%Qwz$to(^C@ zXwnJ(oJcyZuV-dw_goxppm?Z0FXarcx-m%g@JHGhA4rqtt#|pFMq0#DOwCrhPUpM(DO*3MEduBjt3RKtf`&m8&a>-B{kQF!IrlxOZD2 znl;JF%jA9|EwNDs&a(StEG0&&3Wxzzk-V?y^UJNC0lis}tOjtn7kze#Lea#33b670 z-miMg7VyG3M+FpIfB4t&A!ev*LmX$k?gxEyDH19wYIi#ae3;7XVH=t#%wt82))ECi z_~fM#`GA`YY2HTn`_ZuJE%TrNx{cBNft=@`6Aup$V?rV%5TjNqFl>7fT6>Y4gEFk~ zruQK0z0i405oC$yEJ6SA@QEM?y|gu5+-aii8%^Rq zh!8ouI-4J!y71Ig6+GqY=A=rS;ei)yOAd^ef7tb#z>0Ik-+8n6CM=7s}g9V#-^ zS^y(eJCG(C+*S2HRwOHmTRTFB9z%6MCRGALkB;29D$5v72`I8HaarG6Y@0QDHt@S2 z*Vfj~9Y80ohYw51gvke>#n9@F?$Qn@kKh~L@#7a6HWoI1_vmtRGIMfz3HdrA(@Gx} zo70eP>3E9gK6ophG~pmx*U}vAQ;9Qngp6etHi%Lb8+RbpOO|`=+%ZCu?UU9*3qzWg#`ZzM?&qwCmrMGf(E zM#avFkdBVd-t{>PE>eS>pfxGHLJ{@)U7lG6`ch9-OKpCQ22eo zo}Y6qUbHv&_Pdv~jR}Eg4^D{?$MbNU9M`vVXOf}635N<3jynlWuEcIIm9QyhmvnQ& zQ~S*dDz#E!m;=ogbD|o3me~_*t5-;s9$%FUP#&)TLx2 zv-{dE+YnPlt&sXon3MdhE=FGO^5>;27#!R${@T3erbI{uOTS{g{|3d#I52xIUNOxz zm3IW7J|)<$616bJ6+Z@WLy`*%(5GUHWmgKJ;z@;-Ttn~mCdY^M@7qts-Y`y*=R1=^ zo>(haEbv)(QVAtKFJgU9XigKonQ7a)nf|h`aa5Qc`>*G&(Z|2#wXC4`^r>G7@@M|?B z@|<@&7pfWfW)@&PS|@XWDZ*9C^xqT7n`EzF$Z9R%##z}{#1~n-^WjOba(@0?$p8+P z+}YJ-75z{ys*3Xt))$m>g(Kw`gqhUIK{h#(8awFKXeX?R8{jj$=UQ7{S@X~|yR2_~ zKF5J;_s$8~O^%c!)j18gGBb0({QSwP@t&MC$&KN^yTH2DZt7LeMcQRUgXHGy(I(@D zl{f=OskWxZxUB!7svtga|IHcaqY;fDXj+42@a#=bmIob``x~2k*%gWgaQjvggAB4r zCd7b(mRdGuvhhW7MbWhV%F&qIgCJ+3Qk{IA(N{x({gFr_%qcEP&WdavaT#sDohu_) zD5pk|TUKguipGJu@Gh_J2~()*Ha5mg&9i}Nru^vT=rZFZSW!csx&RvQY4 z$beqr4$tHw1Mujlc^C{WY$2L+fWV8j;uOxYZ{ww%x@S&%35#^i$u!_DmeU+YZrRG- zkFgfzd^Ds~W=aMrn_{S_Ab4v_<2(>XjSYjqU#i&0W5(n)RBwL@-lcV2Ziz_acxZV# z&Q$BtQBk3u9F8>4wZ*?&!rM7EsoTeyZ%3%0Jc5r~@jGx&y;rWz4~mmPW|{?^7<`S# zobk3Wp#pv1m8L8?(ZbS^z{<+1-7fS3VY zaw96{HhJx0pJsiJ`Tn;-7NTC)4f4F==hA2w8_=%Ba_l2HUMkw#8vN zM@RNK?4!975#@3Cv8mXJysuMP*(wlkNfHz-9*}sA2MtQxR)wR+_#m`>5lHikJ=4JJ z;b&`ErFlIR91lxgwmTSaX0k&e#ZPspI^*!Cw!L`^2Uew-BQ2l{%@#hAZdw#fPG1tO zuoWO!MQ77rqjex}P0b0S$< znclGBhqD3@2jHR73cp;F`nADaNln zxmLy(B6FMK+!5=5+2{pxlUc}(w|?dHmlgud%o6;CW~NHVY)TqN#$^Z9-)@~4Abl?k z0c__PRxCw_O*?iwi=y=ykmVSZ0Jm2#Coq34igj#iE&V4``0B5-qxgrz(h0uH-k)+i zJUks85T2mD$vmvFqe+$V6Y0!G{Eu_4RuzW5acLZ=_rDZ6^t>Wrjq|(j3TOEzXY96o zGEQ|g(=Mm>2q57jKUagDU7oK~%iT(J9u0A4X1&#JY}pccI;PZy4%=^ z1HqL}@G#0#d>MwZn3BCKD*27w8Lj1fk61ibxS`yU7Gz3E1q~gYCS~v?8R`%Vve<*i zGc-079?E;McI@ORg{=sSw6Mf;cvP#oQB|9uJWyZT-k#8P1_%liLe>i!UCnVXJ`WkO ze^pD57j5zGVTcJ`G-Mi!WqzjHXv)c(FB^H_JVGvQHJF0)O`!c2C#GYpkPL)=-lrW)^1#IajvTB z64d@$l=)|`GCQLzcfy#79<59h4G>S8=&c{!H9yf+a30J2^C?X&muK1Z?@wQqzp@#Q zWUe5ea{TD-8O#t2?S-w3L(QRF#PY!R?^LV?DsSg|O+NI~V~oxa z04%l4HQRp&2qx?cTAFa;V4Lxnz5Jw5$@0~-0WMI-0u>&dIFyh|_E z6RWLi2QUY5t=r}zZE4C96T#?P{FL|Tw>ZfL)7m4P8r9;k{_j-I=ty35hY(aZKY-jn zwfqunjKSb0Nk5vtxP#T^!ji+5iq{aQ^*+YNycao3`PzK$LGy*Js6f)X^3N{!gJ0Co z3iK*hr^+9l&+!F^y~ztBd?B!`|xm)A}r`ryGu3FZ@! zAe~e%I0!bLM7S)>&dzp$Md3k5a>bXy3ChxkIUjSioNTxwie0ipkp=o(@3lLywv6FM zeLWU~S&4KX| z8pb+2_|t4grF2n;9UFc5l%0NPa+QacPlJ5Ca^jmH)s(_l65OM$lTQ}VH?kbtu&<3w z2Y`qhNL~t}7IXd4RgNx26JzFxKv;?W&=eH*-jeptu05WMjZAGOAABTi5F{J_0J?aq zgXiSrWG_q`8^}lyI%q=Nr15@VUT*np)t`Y?T|>}csgnwFoT030k@@{J#$vWWq6mm+I#!c2-Lv2e8?JqIaM94RnQc=WqEa>(4@KY$t)XAoe55F-Ut z-utu>e-Q|jOsUf4ERa+l!;JBi16cTImLi%dOyO%Zuh}KtjFMm@% z3k)l=So!tXEX>6i>4oBf6M(vuv5ri#nsO4+`YMPR2-_9kx)n{#NSxjtoH94op;kAv zBQ$^G5yKOoQrD2Ojf&KrLCZ#^{2P|U7WBq81C;yIz+?4uU>8Add5FZVfP1Pq5 zUEcKQ`Rh{ezXf!*jx0u5tP5J2MbJcIU3i}|W{aKDsOTn&rpLz=9%d z`@QcN6O2JsNg}1dzr)WgZT)G-{h_mm3>RtAjOV{`j?KhKm8?Sx8?abTj>(~n6+bi>IgYF1b$p95VAn;%{=EYIl zvPw5UvW^@%uRoAf;XsRx(i-))!TI*#zLxgG-eN*8S4P~J-g~hdenwB9ez}~dg++6g zarLuv0II1#joe>uYoxjEo7+M?Y{31^QZR2LO0Pd5g*k`44&uO;2^4jvLT34c`X8<_bx98p9RJ^c}KqzKP3@Fo}BsrWVL5 za~t{VTc!DX^`DK~xG^~?U%CNK2oMfy%o@K0*-J`vdD3-182aMNx{03=f*zC1R^qVs zC!M=iik`D5b_)mneD)b=pFAo1zMYw!rSQRU{S_aH zof;?~?%Ut*f9WJu$`BBcdTG*>Jw$mHoY9aahy3s6u>5<7kH1UvqS^V_;$U^+f*K=3%D=`+V5hb2mkOGS1t&tTeJHo z`*?`}i@Kra?*2h{hlr)UD;UAuSns z^@jdyu=ZP81vt|qoA-8kez=Um=S(`Xhsw0X6v||@rstUr*sP-u>vTc;W5fpJW#Tt& zuX&dddf5br%a1@YyZ|H^%G^Eq2RCM`>bP);7kWWRZA^c zm5cqWRs&$4`I$!^$pgQ^MqRhJDd0JZ>pDqP;O^&}s42%LeOVHj#F`sqWLF8@?<%Y= z)v*Tlr$~XJ*6Px~g*$acoO_dz>{+UxoV{KGZd@`WU3C~N0IRxU@kH0v{^w+BvlmPb zuEV(;Y2U3Jem9n6@D3HR0u;vKf0dNx+NkmeQfnpPCzr1y+3ZYLNk^y4ir?f&`QEZ_ zL7n`PRAQK=4Kk|ruvnkh%F_yqBku)smdnZ&pu?-T_q5~;rF`iJnLYXW*v=ZYsNB~hZPiLXvTuX|B~5EtN<(6@+T*PVL$Egrvwe;ylFp( z6z5M$?WP$V zW;5^~Qk*-eU;6vjtll>hjEJW@#@B~!`(TdEkG7=Qk^~ApVnDqfFB>PkXMA6mq{I03-7(IJ7u-1e5LkBNi5B~uPeRzpO`7xcQ z*#7%9C1}|GRjflJ6cQ+Tl3Fea+0;STZyMrK^$oeEu4@gVnpdgZiDu5)ijGGPYqco$ zJI)wJ^QB@~9whDLa`>?RX&m9t5@sIzqrc^pq4C~&Hp}My#+$d?U3o0r1VB~QB~}8t z2p-O^&#gQIq{_42i`1dUQiP~1wui`%6=2x8QUO%?!Ke4~UaaB6%R0q#{%+x6C@w_r ziVp^TZ*0t}u`+g(;cIzN5kDPpHtz88@Mo3~=i|zNcEK1=erPYuckf5{&|;fB%-qKk zQwWWQ*_(%}ytbN@TN?u@>23-`P7gkeA)Ac-sD{PFHN4^t^k*bKW=~#c<&ufNAp^yL zyU8}+_*kdnupJdOmD_qhar@Ef0;hFJRs#>V!ldqq*&CbStVB!gPb$4?czKjWRveY; zr9=bA4EOq&6D-M+wtZ~W4Ggp|2g}IyXjIyM>drZxMl4=|7T6m@vf7_W_u{lCiuH*J zC$gZMj1T>#s_wsjVLD5_jdw;|K%n~39!$UMLsyy?=uzq%*E@%Iz1Zvb?l6c^Q&ZEv zs)psS^oWkOg`*`V^Zg5qRDF?`31?6Kv|6t{6`SsP-fXhv4yT>dGq&dT>(Tkf(Mm1! z%JJbqBLXV(8ISzNX}Fmznn@X@TyCV5*u3v|-WRaHy7`JlJm~Uxv}H1uN>hx~>L(jY zxkXEfK-gkT9+K!Gyy_N*QZ#uOB{d+3S%JwkNhK5gp zTjUuT8E!l0?$BcqO4=4H9qKC%b#m+06>lvH0NKD?!<%kyLe+VF?J4bd%EMk-de%;j z82y-KSQ#Y+ZcU6<7YC!^K@ymUcQ{j+E=KIwUU*udf-n8B$xo1mGo;9GQ~xzCm(~a= zgz&~$3QpCI{bnpki*+bad}IJ8Vj=!fRb9RIlCQIi?sQx4l|jxU(+# z1_n_mo}QBK=&Fb=hWrjW97)cRqaZLaXJ$mDH;JgFMmjbTD9xZ#Ij!@CF=eg0F0mkX z`GMpir)l{sKjs?Z%p;NV?=VvM<5wP)4*MWxt8-pM|04kCLu-E90BCga%-;-xJxF;s}=Q2;7&(Gqu8jc&bTLCHiS7?5u z!pVd@YE&(-#F{GBl(=3k7vNzi{lE0SqjqImxLT=hz10JY*fU-;gi(BUHW)J^_ z1&ES$oK$a()h`ob-jPwKec=&9g3?orRA{fQyfMrcL}}o z?67liwB>6)lS?S_8dYcLked-928xO|LcDsxKqHel!FoTZq#`pnQ@+VWrFc%cVY+Aj zQW8`x-j7iE*uH9`%&10u9lCK2oI@d3Y+Q zf^C1n{l0qLk|Iig7LOjvc9(PHfB8A0wRf}PhTDzvQ6d=u5Q)1xnJ+c9!c%IS)^QuW zVxojoyJ_c4R0&1+k}mBK}kSoD%_SP%dWXdJC--g?U0(P5<8RElkBDXK;v2@5|- zB(8ey{O$%eH&Ei>d&$R+O?E@i{ZcaUoF6s-+O^s5K`D|r`LT~`C%1`;O!tW)GD*AQ zFdQatdg4fFVA8up_sTZK%uXKW6YY#2 z_s$*kUY`bhj`MoTx z-F~|i@Zz$(l)P=i(-}jp^v!-2*{;On2!i{{7Mb%@xD84jNmzt?`jrMF-$sj!czRBx ze>^c&shpk{Imw&@R18{=<$Fx`4jbf7{QBs+I6qi#UEjDP4LFaMr>Y`7s#xr?8`Qyx~T-&&J`6|+wABg;w(~2-`T?6lr z!9q;uI}Kyz3!;E_Juy9L+<6LBe<$*O$wH!IL&-r!&5##y>Dq$q7P9GPH zTD=LKj0eJdFEZ9zd0m%2g^f3(xT)@junI1&tgYXyc1lA-kbtJMUZi~6qRuc5rAqhI zls-As;up_xUGJ>2>XH?kf?D*yCKE_#kwt;lRRT@k_8K)%Jd)_;l7QE3SC+Tw*+dH4 zE7k!s+Gq>|gS0H1>YO8Zfd{xfJf3StBW{YV;4fCJd=fur#sOa0gB-24l> zVQ103gFScaqJ$VQYWF65yXyk?rUyBPnW|Fkr2BX*TC_;pw47OGtUo`oX=bzk(-*JX z@?tkRy4$ypm>pay)wU0Z=Qa_){xmrmJ$VL%^L7E5vZ#PHm%u7o=cYt!CSs>&_l6j!}_*@)bk!$clzx7@65him7SxEEY^QHxW zD6&i54@s5p-KLzvW*6AQVL-#2ai1*vtSX02;D;V8^}WobVH^;8DEHPg_ATT=&A$-2 zOmW4TF>H)z3wd%CAjFS)4R(?cN*+IwFTwa|4AYraKuI+>uUrL7)_!xpb5TUmiPbi>v}|0s zi9_xNCnzXWtG~6478dxu=pO+ZLz4iRpeSp_d11Ys{`o?QvqyLOL`TnFC}JEU4SsH!y|Ms~pBR zqvx7;S?eiPpuKJn=n!q_W#c`&2`iIX@Nq__W;%2wSEJNl#f7T!E!xduSk>>SyXFOl zpX2VPp|Hjr?H`waD!t5UV~$+90cixXeb!q*1Y{l>7Q^Iay5CIL5u~B`aWoisBbpY# zUzShVMY;ClD5zaJs4kw{(K&bm-j5!w zDN2L+$T^!wU7az5v!|pNkHwLqm{VgqEK_^LvkIV|4zq#dW8wHHOy_~_j%foh5*3cB z!>~t2z5xeUk9#hCX+*^w#$t!<2s=4z)}qP#aFZqiMQC%5Hkij%QeguE(#v>E*k@GK zbsig|c^kkd1~|P$AiuaSe!^&*ke}e^my#jQ|D$vEebiUvW-_r!UelOIa&f}jRIMmh zqa^{npMe2@V8FIiXqZ0Dmn2KjX$1IK4i^#TXVOO;C`mbg?h*g=c-8)|mTSJR* zm)aQm@M)>gg!c_LDq%?VS_cY*2bDz8|{2?sb;foyLGqR%{o3eGjo|GjT7>L|&n0q_jx~sF4|ZB5c7M>}K$&bmVxC(VNKtuY08AlP zj?P5!tarA#rJ*6+dwQm5ep%V1UuHR9bHh02e-T+nQO~xr$6H$B1%*6t3qLh-sjjiI z2$rQxU2*$+hpXt=h?GX2eI_ZLR;)Anay+G9p?P0J&*ZX~byrU%UTZyPS6p4W&pYj_ zyX|_ubmTi?y?NLlfnMk9xpkmEuKT6fNR+#Lo2vz&Dp~d#_E7f1y25pW(yvszu_`%i z%aky@HtqLVr)x9Dn_$KVDB49kEI*@n9m?o0&Fed~X8kaE%Kvb?s5%Bmio~>x$A9eb zWG^fXE+ZdiVGpiRtDt5s>Qo*+ntt~xdDI4&7pu1|+a}bCe8NM=&)m2Bi9g9`2LoqG zv_rO0cK(B(SD9Jaiskwm!WX?T9MLjDDU4Un{Mc%uE8l$RJ{S_pCZ5j-(uIs~M0Vy| zL!!S53g&!ze8BonMiLk>0KaU+^V_xPqo~*+@ZGMaKQ>b@$wd>nHV1Ohzkt3o*8I425a?sEzsh*bYq7_B5~*Y|_i_+)xGL@jgBL1~eLY)?(LRa45AtFkV}2k*KP! zdY2VlJwq8ebq^SXDcfORlN3$MjUuZZQntqVU+KuX*5~ml$hS>&?LPVVB966`4_GAw ztw3>la&+Xj-~#k|t%o}7IW0gH*h>ATRs7{1P7XiOg#AYgsnOB?&xV>}7skCqh)@f< zucs!PmWty*s=1KWH_$%GIyzq)<}0k=8qJev*!ESlU9}n;6@}QlM4Jx~|hS{EK zj=feY8IsK!t6cZ9Z!(GPfn`^)SIEvK$}J!skoAZ!J<<`Q3!LTN+e0USp2uJI&Sr02 znv^lt%t4CTdXg&3qwts z=9>=3T;q**+ln|N-Yab#o|$YamK;+=gVw=Tk@sp~vCY^0Y|pg)`0sE4FDnsM-7D3U zTWp_7atx`|T;N~Q{12^jsSt7FZj=`(>gpnU5?SGm0%#PST-b&ZV8be^$1 zw>;u?kZC>WiW?$tb0x0O|jJA+WyFliV_@wK{x)(?6YBZLv{6}Xjz!G5Mj*5N z7sSvS(BO-$(lUcealbX?+nK#V{}KXur3_`vdwAhN`R))%fjLbI>whi<^lpM!nymM- zODz2TY1dCAl_7vbvOmF3fNQe7)?foOWXZ;Nwzl}UJP)Wu>1C6wfR-REauxj8>JuZj zeU7c9jbDH#1>LbXu>Jop@ITCqLanj^J)fDGxp`?y6Fu0|i|c6<^1w;VWk8*kd-xZt zWbRyT$tY$JNsh-H-+X!oB{2$*E|N)d>JTv5Sf%{)8Bq`AZs0)cWlq3I-ZtHtw4W)n zS`wlQm$p-y@#c)jO#VJWDh(g^et1>rKx5ootLQ4>A+md0kT3iG6CkU1c z=lX|IFE1NB^1%$8PJH->qTBA*i<_Yke~uW^9-rK)!!o_y%iyurrrOZ{Q&F?8Ss{}u zW6@G2K31=@I0r2RMPCKIGUk{?;GpY0rbFtR&P)ervK;wqERaafO$=f6~Ul?UWYq=GUlJY$qBtHAaoJUN%{E0w8I0(0{+YK$;MkND#L9F z$Hq$PlB$W51{vCwzf`kJQ(kgh=^Er0sWt$TgF)8ozAGpU4ntCe7!bwQqU;-8I8G7r z9RYh4S#80#X%Go$kwM;+zOKs*Yaf=V}xMijS zL1uD;T84X*Ib`2NFZXaT#s#!L<>93d1(MW1)`G51ZJ{#@6rn-M+O2kJwYIY;EN1y& zzQ@mb%+SJ|*%?|tzNJy@HO1Y#hgJYQ`rx2?!i*yfQdRZA`@hm@M-i|PySZNjm4}o5 zYOn=Z{4%Vfj>mamloF4l8n`^Lb}h|F)vpdt8EiPQ5Ghst=u8xk=a&&_66zB?%53zC zaoxjJy_x8UdzfR?P?IGjQ-3BA0NNVQ0^pjruvd9HhP!~N=l90O;oHY%bC3Fkp2KE1 zJ$wUReN;=FgbaN3WdA!ZObmESegYieZv8bq-MI9^IS}!|)^p~K)~j0>iq zm(&LcM*+C8D&X=o!+93^fB)g)!&{TC2S(?{neWIr%g3U^PQ{tpFV|@lU^~h;VWy~C zv!=ZE`4fI3g>h3$aSi^+^8AZVQd9J#VD^%g%|$8!6QEyxVjpjkDAytt%|h+qll5N_ zQieQmq+ZLibmTeX^-gmEOGM}acWEw z%4@O!@Q#;#f~)Gh(EqKbQ!yaa9&2OeZfc)V1Uu!))5v{spu3NI2iX;xi)78l`QrhW zp;CnZPd-9BtUg~&>jOSOvVs3M`WGC2ZLSyNWwpzk*5(u?mG?t}k^2d=e^xDN=nG6RzM? zVYfW6$)0@(^6wAN>RXX`xQMI4f>4)_4 z0~j_x5teGW7ze0-Hr}Yy~}TE-1`ds^fd;sQ@q?M!C*5(EV~&y3Ya#xmqnlj$D~e zeXhbq*WN}RU`#9Adx?a`3jDAwG^tdW_I7r01yDCs!3IO>txiRb_Ft;Dk)~fKxUu?I ztybCNf}<>GB@XvoQR#(d;(=!Ovr`vjlKXKSN3^&n$;K*q4Ab}L%hB6@G&M86L+*l( zGIQoJHpalI(^^ra$GiW>j#j_5SG0oX4?=}Z*_c6N<}>whGrB%MnD*A#dANr!Zz1cN?EnD0z`=|$x3`-VYcLC1+e3B^`sxT$6PJ(wI5yP z;X%r5t#@d8zn9hH@DglcCb z)A##ASG1uGT}}WAt{l;-pBdNL1HmK=ChY1BHnR4-tBHVTYvR%C;)9lB2x?TM+CEN> z$A7WRz_kvjBY!MqfkFG@m(F##BL4RSP~+Z!uQK;^B1~E@(B-iN6!m*O2hQ?Qvn|3-%w$ut?{4@;m>+c z3oQ)nullqnV;K@8bRBl0{LpY^lv8Y2YzIi78SgZ`w!Hd$9_J)=gv$A^(tJxte_CL_ zrgBlW$+O=u(?0c(9;KGcYb)qbZUwr(Bb)JrexwG69%s<=;Y1=gAFnt=@|Y zFl~BC!f-6?)aDq@eE8<9qdDWtzB}sbQ!Xql)Y^yS>|eFnB8~$-w0FfKp($mLsBJVd zC!I>qj2;<)vqiwyX-wt%v?KnJ-B{5QOMkZn&D{h)4yXl-(ui*--Y*nVrf$%`mzFpm zYf;_@2Y13s(gPl}U=^!WVxyGd(J8o_w;N=tWbgl(tD{L(D90iJ0reAm9Dso%WD0e*JZn)g0NN zP$FlA)pLymYOK0y*mp1Vi$GGoRKYPC#f^X)|`wutJ-eIDXq)~CWkyc>7TzT%=Q=mPE9s0WI z*S)JxZz57+ENB2a$a(Sv#)kjVb-ABnAc@#i?=>}zh1~?5(V#7<<>f~)A}sb@HVd7u z+4J+SGu?jecP+UPFf@v2Wh+k#kl2b&=lABmhA0~lfPSPQRu-SIab=o4S)4tW;%Xgp z&zqE0b?GdqFX^`6by+11j+naDr+=V~b7{9vALsfvLC;8K%CSxzU@|M5~; z=uM}l2b{@6yAL0g?mcmc>%EsD4uyG1-uY2s(V1C!d;YiH=?bm9lKM*x;QS9^IIBNB zwz{ELa{qX6q%cd_Pc`O^JfXy{kJ>_8bo@k(n~lqG#TZV#CrCB&9`XLf?U}>lM-L0l zYB;(hWd6(=9~5n$lw+o9u*?`oR%s)O?BY2IglD3PI5~f7{ikElw?-4s+U<@2_68Lc zERv~6Ty@iL@mI!_#UQR)=FPGuL=gqo($*<@%2kMVwF>g2ctk;=H1}?)3p!i{q7s`S z{)_&>h&V=TH8?zGlo55|G~)(N$_jMGC{k=J-~c2_ilDk6l_3S%C$qt)%{y^(GNaic z{EI+*pQYrYK`QHcUd$(>ACF5VF@Omv7RgFp&?qXc`MMmRxER{G@!sK2xW&7dxje%T ztWQfO@~hkz=a>55O8Fi{?1zMGMm0SvdL!bp$XA6Z+26;(Acv@t|5U^fNYw^bxbp9^ z+@_X6*mInW;YjU(fk;-uJRYSIGQlkE`!+Ll1F_KVpHuK^vo>6^uFK!-?EM36h+df* zd^I6n9McC{x2`QD5T8p-W!A*842PaW=_+2n2v|5p=|fKrP+j68AcYP^i;mqV(x72l z3;OEZZ&h&`S3xPif2y;bpS0d}B>k1eR`_0(bfozM%KJ_f_^IYZgpmIk&w&;Jn9DjN zWwi)`c%ITQNSvz=+L@Q>e7Yt$3YhO3DRCF+S9TIf3I!O@v*q`toW4$b z%j}9U%fGpA{m3r@3E@_?4l*s`WIs)DJh9tH8TPyYDl+}BA}rd-_(|{a&!5$kGo9mI zYVrXr!03LBRD)+mSo9@)=e3AFhhMt*(6SgLG zomqgxa9+0Ip~`+rW?-6%VomLLZI~erHYp` z9VjL=jC4xwUGIKY4=eudBun8j2hPKzn@%#m-_W|tCCl>Hk{C|h+$nIJ0Y5AL4JH6Z z6wz8k2yF_O3V>%*-%n2E{qo+to*!Q-j@7})V8zedFP66ne-LI2XstBP4rJ&Tck**6 zW~4$23BoGbj_!%+464$wu!M64UdoGO2g4|;!Iv*SpADe7; zfI!61JXl=nO;{|9(NELTq@bVquEfb<1AfnLHdjwmz3O z#km=2{qh;C>*Ma*zidqR4h*^8Ol*1ag99wY6)s;fuq{M4U(Z>f)9f{83^1FER9vxo)1g)A6HH*|4qX|ZmvrnpH&nUXl*a5 z|J8&k$Pe-ZRnB}~w1NejZt`0QjMd~YJoMAtPWESoP+?CFO}!#%>ui1^s{*JZLw?BR ze>&2KU(|BcFn9KTb&u+Pxfx>i6$qEXCNIP=K&{|luo^Elyncij%UlvwRjNDa};37`DTu@OGka5P=OIv1n)Ky!*=C@n3BB)iN>;k(KiKzU&aweWB zTayQdO5j6ij)#o|j5zX5n0^xHr}KM}Vb3jnh3Y#h6G0FE^{7?`9W*nwdrYEF*qHQD zD8q2V(=9qEac_WtL?@UH0g`v2N~18bHJ{inimgU(>So4BlRrm5N|*$WtzsGJ-;zOexKiK3*b%p5 z6y!BSVLwRqq$=JuM>v5M{PJFO-I}414*5|2MJQZ9EaG2Jk8{2o9qe2>mAYV&6=3=E z_KPX;(U8TG5iwl3KRRMkEjFplSl|GjK5_lL97fmitJPe)Y-h|lUMlk8YfckqQ#2TU zFiH>vC*D&&&&B+@+ZxL~k$-~;$A~bz+D>df68CSb-MsFp$k1Km7#eyE*tFumm8K>R zHm!+-kLjMRZM7j8@rn0-ahKC_p;U-s^W3i@)o`nozZSf=LJ7fv3{I|f;g6T)&%Zal zHu9!x=%vO-k6 zO4Y^i124v^TPRvt{gpDsZRWd5PSmXNG`b9?pUa>kS_J2XJ|>p?q3u+D!G6>F2$J3`zKe}w6K{iH7inDi~IVN9``9bxRaT@ zIUDT@#;sS%?>%w+mths|Eg8WVDU5q-e3&9?mH+&CxsDdqrkBwKu{7geQ`TU1rkf@x zR7v41gduBbM;9mBqs$EIlJ5MUYD^MN*ODvp%HmL+~+M z&`@4g>6UMAj30@+a@am0(81RJ{-s8$EWd*rmp@A_JuTING^ji1iM5w<72lBLt1G+w z)n;g;GAlhq=2dA}4~|Bx1+zZFB>dodp(@VKB~&u5X^4kh@rTRStcsCi{bqHpLJ9P| zE;n#~3;vtmjPXgiv)zpUdO?21{QZt-ba)Ubd+J4Lx>3MMh*zlgsmGK@h;L*qsjhaq zi!R#qHL>IR1as@}^Bu<2UgtZso&+eH?O=1cRdI1MQSrKO%lvctOgj;Lo2i%%|9tSw zRT0#)Ve{Lrc<+;M-d{9 zpICQM?{!TP9Ksrpc)lc67_`Q&|c0DqoZ9npAli@zWlpx#Kzw;MB*M8t5*2a zJ_Jq1=Z2Z9;ppBD%)wxY3M;k4E$#+7-0wF~8OkQi=T9r|u<57KGuT{`+Gu-lh3LFC z*H@I8{eB_ofAV*;m3HMRQiy)RlJ9msR2^m#8E+v|bPEG5cXAs%HRK|AjoX1$ce=K2 zqJnN$u@3B*w=_#@=jZiPz#~&zSt95@+f>8vSv789OxY>}|LAP;V;q zOL`Xsc01exAd9{jae__mw*P>o!jZp_2oI`4T1|UX6gMuF){u?o2p?xNecwICdzD;JXH%Af&|Z+k3PqZe9iGZ0A1q~=y^f3`fAB)Pp` z$$$0^&oDTUYPQM@wq2n1 zE^DB4HH3Kw+m>i2Qim2yhT%7wFjm^UEX7o9omi~H5pNfOp#SK-N15$+zWvtV>dy2B z3H-6MC#CEQ=ng~QZ0X2D=qP^n6r;xkqZsPmn#^Ej{KSdJzm{jSAZ@`q!%9a_LBgtO zkq070nB#& z!rmmx7VeUHxVXNMFPTg%g@7VS=;d?%wER#+6UhxX#;oR^fkeHa-;Wnt;XtXaO z$_u6|j5n^)34UJ|HDyc4lu(dGVa$ro>sW(MXa4mS)MP{o@0VI4d_4C5`)U%v0;)eV zvYDO66>bvA`<8ui-xZ~Kd?cE<(0lK=?Wflr%3&6RJ@<(}oXT*9oOnxkjh=}=;Udu} zE)ohsV|1cEV85=hqmoSBSXQsw1H}}EW_J?f0~9)%k2iPiJTtELoxk|h(TK=v@;grY zN+Be&zQ4yCT97|}Q&Mb0sK7J+^_$h2RFydIBKla&L)NK>`H>kJ6y(kEaeI5NE?mk) z*gEbR0vJ9rfzat1!07iP=x!IDxQ7AdzzqLmeDC#%BEOpFf=?v?zxy!&wEAKDM9UKhsHLdiF7& z?#dVVHUBzDx6H>Vuu-o6WB@A@zlT55(F_Er$ZbBfpfT>cXM<-Y#nMqYuRXUBy zPKdH8#7XaQt~vP_39~(&!=xnY24dGQf1rSAfdFV;mCsvxsaAy1!P=K=8!&Dt@B2_s6-+%n`gWT<%B+6DUN63mc)WLHlN(oV zE-e-J8MP^z#~tvHC0aB+JaySp$6mhVOU*p)Yq>LX{VGeb_Q;ODp``6IX_xh`P&L1Ogb#RJg%-sMZIkPd;$MDM@}jhtcFnarj!3LN^#4MzBm zuuX>A)9CE0q46bUfix*=2Mh$^cUM!o0+U4_m~c^+M76X@6NE*I_p zv=b<#0W?Qr+M3`9_{p|T&R-1d80y;a~syZz1RHZCYJh4DECRgT}=bl0WudFdosAbo`>)in*% zv$v99*zYDDQ?K4pJkB*kJ)2PZo0Xm-x_}*f=E;+qhK7cNoekd$dWzfpr}!R*Wc0cx z*ics%yW!cQ5wSLm+ja5}%a6j$sA}4nT(Qzyf7X^Lx!m#<40q}SN|bv@=9qT#bjD8U zqVt)~1O8pM?@iEU^{OzO8Bm?KpK`|yF=7PQdSsrU(LFW$L{Ph))LeOR+~_9ixaAW) zV0mVw2BK>429aaTIq?5ZP@g4+Po`8Sx12p+IDB0gL=%X2*0NHyZT4u1tpPVs!3A|7 zcJbM(9{Ff9<*QO)J{5j83rfb4<{6u9yyZVaS;Ma8UZBBeW(*MON8l}7^2y6cXB10V z=!YL%L>0(1?9$AJsaOo3hU^LJJ=5!GI@&xt@kOz@`$#IE&71AyI@XT1;~l`8Km%GQ zBX@>HrD$&Ocw(iT4HW2XTi)M3)jbk=z!YBtpRUl)9)>{B9zEm8S0Ym%Ju=Qtml)hQ;F;SBG$mMdg=x6*#mCH|{5dh25}jj&Eve@{^z?w>!%y+%SqC>)$={Y#W`h zChaH+s=DgLWF?XX7~8_0J3~kA4&ay2(H}RwxP8MgVzt@2(V!(kZQ6H^kXLO|BcIti zlu)=4Z;=1{SwB0U_j<~_IL07^dVJ%{#&s``THDwGC>O2@Aj+L zg{{ZpKIOB$8|yVvNQ>a@?y~z=*Iyg^0t`2CFXrPz8shL^z&Q1BfAY_BkYKn(;1_8N zfkIq64rlEzh&;xX1d z$ekP$1N+w7!rte|;U<9I=#{k`ax}OYm48hXyEkgaV#yRtce)p#%8;DB`MsRL9qo9s zAn@i>!j{zGa1;ag{^rtr+YQI(pM$t@;bj6bCY!QyefzUVK2@ip5jEa4Fw!&2MCnWS zYuGAT=u#NQ2huUcWLvmNILx+a5YkPmc7Tk@_w%YN)cvN-e+T_*hoIWBV9pAlDm~nfEM#2s$^v--vF33+kIY0@>o;WKDF4TsG|JA}!u49nI6X zvUjMcLMm;z`F`h0dxV&MvW0aYbn;~!jM!aFRMOKtD7*gIY_ht#9~$%`YKTL zFt5wVVLX5-)|1()Zyv|AR@2r5E>6DR zf1U5poIXM67jfiX&#}u~JQ9cAJCfl`5fSCErPjCm(QGGMx@U5Pp@lQt@h$xM2Ubp4 z1qjZ`(c)XrVXHQtbCG>>uo3nfI--|%t2jz0w^v3ci2Sc+1KO@*PWtCg{Dx5UNJK{| z7?f%`>{dbkvu0vcw@EHtyHd-4=nu$&<}#M9sjb)u4j7mh`k|pNhvMWT)F!pAc8~Rf zQKY!m#W8^8}kBVNCe;d=65Sd<*k>!zX}j1<6h!y6^nhf zqC-_;$UW1ZD=B4%u5`6ogT&$qsZf5SSgwkOG*Rj-KRlnVR~5|43mzGHWo1yR0Z$-q zcvx*nRb7rmLFqk{bAk`k_yl90+bjROgTb&>r`0(KDK!o|xR`tP{6VSC!s}R$%`D&w zzmbR%=c<^uq#6~D21hu^XQ=yt|B%lHUd7*Wy(sc1HEd`UY8w}yYdN}|-V}cG!L=Lb zHYUM_UIqqs1=ko%=wvXjEl)ssp{J7-dsA{u$?AWe`>MZo- zKl?2nh^CgiJR@UQqq*rinG@Iguy)Cf%jXvJc6dRLT`+(G-PKA0HNSQuhhgTmR_e=pcxL^k%vd3UIKYrlb2R8 z8LW~pdhM{wW0Or;U-PK{o|anllb<{9-HYD>4G9GpN_zZDjT}(Ay&Wn3wM|#)%9aOo z&guGN9s*^O1KTUJ-??$_R678Vq@-24Jn z5}2z%3jHOX$fmNv`M%<_yWz)p^aM+iEl@-(EujGI(cJl`gl?7W}O z(pX@<>7nBguYe!n#4({&>!)~_F1`g!qL~kk+!8#fnj{ek`B-R7nY~X)ZZxhkQRLGp zg^ycQ1dg*isy;eV}b(I_7xvbp0XitEvh`(UMz!}Ex zJXu>_Q5@_Q^iN79rmRz%bU5XTsXQNN7TQoo>(B+-?=vf_e8TS}4EPff5c%!T$@2(0 z<)~L3!K_mzk)Zj0ybvD}Xc;8-7GHc;ZH9MNL5Y=_Ppo3w+Z1Q}8fK-X83#=XwH%BL zfH1`IF0R+fT@M*z*>9@ElC7-YVS}?JR5KJd4;6}xw=2m7+0d9~wb@But&sbv*L7&V z?3Kl+mZ?Lzz)Epy*M|)@1p+I0If=75%GH|Wy`qIg1bf7`g#U(ZQY!l1Btp>%x3AH| zH8VoGP%V3i0cv6hOi!dT=>-!TFH;b1YSk)%$+hJg- z$({;F41nT}W$E9B>X*;vjah!xti@u`E$LSjJqvkMv3vhlg>>t z7(M$wS!_|Du@yZtF!jr3j3cmJU0;7>Rc)3|o(?NgBTD~qfP{od(<|oY1QSh$cX2~0 zO7Une)&go&BRr&`^&;P3ahWXH=T`HvI(3}+~1J^;gNiyE?mCnL~n;~FC;^OdJ zw?dut(lb)UWJVJ)Zz55X&MO-hLh9rl5c zv!m~$g-scxJ_oM-CN=kQc<9+E6(?MU*8X-o#X@5Xn@9JSI53?9rX!Hh?xlU6F?m$} zgQ8&M7-s75UUag25?_&U3)jm7#GO2WRD!r&zuXw`UBP#P9bV&d$0;^ZaTM*FdU4o- zAT)#CEF3tCaf7S0{0cG=Ch|YF0@!;<5avgRX{p7&6UMO9h ziZ*y2)N-@@O35kDKG+{zzTIw{bft;gv!D9uwvR$B{X-ZtD!*HD{H#e$=rhB8zPoiq zHA9X~N&R(Ea*rH_iF$bKC<({;@zU%G-m1ZCyZH1efV$xa%q*b4Lt621UkKrLb#zaW z#J?2|f+b>brCds3A@u{2S5+>RepSO;a@q=J$7KcdHK^~YqX#6aqdGOAVqlKXK43i^ zs|C?XW(DbP>g_q5VC|w#GS$D}_2#hu`1PW`nXlr)iE6%k6KZwaogIJ?bGu61t)aR7 zA}b~wweN@!6IHd$fmv(70)Q#7q#I^YDVp$$v2biRg4b;u)-ZGwCn!XHa|=tMJI%0X z17x-X;Vy^!g%b+zIL4{KV&W~?@OWP@85AzWM6uDm2gD+N?+?suZE>DvWz8)t04D^r zav&VG@jIKFBS#u_b?#*m26IOfhMSy^9<_4rnadDPOwfqbp`1SYJWSNbqeLyYv?-l! zvgK{T{)ud&-m}q{Ev|bqGF>U6dAc-O%U#BU8VMAuwz)gk=5yw_J;6*U3%hkBCU$jo zl^kBeHFMxVZW*j78XlT@)9m{8{&ag^SyeE-o!gw?g@=}CnWLi+q`?7H$>N>TjSmdU zFsFwiA+L^0_~uR7hvIV=oQL8-G7Ujtd&2H$_@SlOC+F7q*HPJXFN)7t#zj)F<#RIN z)n76KzN_Ge#_EQKu)T`=>BUjNjewOO5EmLw+{CYdjpg=J$6zBv@Jic<90L_mv0lQ8 z$74pUZ^Ov#>2j^1JAU3@uGqFNcWj&NWdy7^3ku+G!hBCfC2i}3PncU9J)@~F)oc^=S zzZG8DbsNLeHIaHS9$Tq)0({|<{1MsPonHL#PL^w|eX`UrVJ)m`u+zH_dt@AE=1JZN8}xVgPkdnz|3!PRJJ7 zr(R%1(j8^&$LS;xlK%=u$vyzQt#vfoYm57da}{txRqWZ@y>u`IeJ;4!?Cfyi`$Gb6 zxdkQh<1E`B&&~jtYj%THN$}VEn$))*(sdCwj`Yz)3fu;iJ^4TT=j4(Wgf&U%BTcmu za%|3TxaS}5N**tC3!9;DlZjRJ*_l#z<>gpt5)v}%&m!nsUaT=2U^8p>g)LwBXFZi6 z)F_{QMHj`EFTeAB(x#0$2-UL&HO?SW1|A}u&x zHdC!=vm<4Rx^I3UUW>KE?M=Ny=-vFp@9xBO2GKEUo4g5 zw*G7uul}ZPj0faC*n5HtX$@6jY%MFd3}T+b#JgAK+f5T@*?h#P(*)7oub1xJkp&2* zXyAbPW-0*U`=o}4ynZ*4aN>!tF5cGlhHcHZ)x-RC z`77fqQpS0C_T?`Oi$u%S9v1iJ!liuh_&s?M#hGhbsX{Z=;ygU#%#>qXN)t98oHj>j zpiwFrKWX#+VM-~zV@2HeLI5^bO5WGksvGHbYHIqLiP0{4L5< zbUyQF3lwFKIGsqCspv)fd+Rv>WZKKh0z3KqXL5tg`!V!d3x-Km*?l*GsK%6b@U@4x zqVN6G3#2<BYHdD;<04Np{er}LkTmG>qi?82t+xqbU0h~fQ_?L0jzDe7v z?mPKPqo7GQ`4t^?c|Q2qioa~*uOy(28nm`~`!S+kIe$vB4WsnuT17d|2RodV6_1!0 z&e&|5+YTw`^Y++u!pmQ@*F5a0*x>o%788rnYFcX8s@oa;vW=H-P})&z4@_J6*?=6J zJKC$p6P}ej3=p>96lx%;shGjX$Sy;shuwK6jwjf(V78#}7-c&f5us3z>fS z2QzfBnc>w&!TPDT@#yGC&(KhfVXA@h5w%o&>Gt-Tgjjbeu>9b1^!yh_7A|)7=7h08;sRYYVr7`*DGVQt)9XAfnU>g4W=+KvBWfL`JJ@*|Wr)^fv9 zn;T1_(NJ!t!IG?v8@HytJs!rRAnuSOR2Ui_S^*MYFCetxvms%( z66AoR9ze?RG!mlcZfjRBI^3%9nmCj-bZ>{rnix-Ym&AvfkjvdO3cV_p3TEfTb4&RQ za>B$HiUb95p8#=dJ6mZ2*1%x49~oBJpBH|zr#*RmIDN7MzX7c9)5Tm7VE<#xDPS6e zq=9OipFXC(zJ-}nuAc`5*RasAr?8+OhklzomdUK3OdQ8invOrq5-g^DGNsQRS&*WZ zJ*4f6`u(Nd$oN>@e1=7|F|Nhq;K%6%3}sl#Qn4+qEDw9BUc#?0464)H&AJ*|-Kcmf z%r7)6A!U4sg?H)pNv)hMnh;ewIeEbwRDlCu3*4*AH3PWLQxDfLp4Q@CyaruaZGHzq zaNZa60=7=8oB;fofA+|jqF@ta2s%LK8y(k;A_pl#Vlhx>rl=G#k@E(J=(CZ4Z!efm z8eoB69~3w|2|!E4zo_T9N71azhw`cx7O&6`c#^L01j4-H8RBj7&kKKE>0a(;(#Al1 zlle2#2SWb}x(9qmyC5Lo|6tLyDZkklp1+D-!=Ke+TOgzw$}~8fB?J`z@$Y2B#?|P2 z-8*&lzq_p8Q2zPJC~Oo0<_U&n@`H7h%byd>9Lw!-v(E!)2JhWNbP<-7{pcSrK)NS? zuyywKVx|FH3(05`j_2Xy3u$T+fjJI=t^qw=RHqEd_m7;agFhDv@g8RLCROez$MMlv zugwXTHIL8)qDxbU!|Vve(Ev2cuhrWq zdtF_6)>{QXJG+lV1wg;$=*%M;H7I^*rl+@2`0%5Q5=+?!F&dD?$`B^!BKC+^qNNig zVUn=RfG_vaHCIh_(nnE|lSo>Nxa}KJ?hr%$th4+N^74E4kP0Cv*g)DcG&1~sXueMQ zZ4q1kn^z9Ix*790Afq_gH@sY#4e$%KT9$I6F2U66c@QK83W5)4fGl+yL!5Jv*~AiZ#0fhpRm@P%#@PO!l=3X}Jq+(a<{l z99V>q7f3wsdV3idyG4kaqr?9_t2!d&ob$Aw&|DLIo^0@~x8qBfOn&Z(A>#qh85uDC z?v~?qRnh@Y10J$J5X<3y%yvoFv9Lf1kMXaV7&7{YL~x`;6SIQHgAoPTNk1DXp)j7% z%GIRNl}RQNDBT^EzZE8nD!7LQqfCH}ui$r>p*^n=ZaG}A7p}x1MAO&IEq(EUiHaV; z?Dm(%Mv zHs)PK*V;?v17dn68_$Bxdn!af&CGy={~b=v@OcL$PU=5yiEd96F{>lIl}rmcZIwge zC4z$C&?(yqP=arf+VAtAjS8vF)L^asTztr099~Kp%%@+?1iQ2wCJKj7TQf!TPi>r} zbz{`eKVM8h=Z<~LfPvIH!X1dT1+^OW&AV)JiwV7+GnO5*7Nkch-EWnC7*b1hU}DdJ z$_-F2>8FN=(%u@DI04rn-+a@}MyG4qSpdds6(yknD zPYP!>eF7oQ;}n`Ap|qsj&3l8q8~8NHM-MLVlnzeL9|_lM>fnbB1KO^!rMvqRV!^tT z=1Ryj0t4n&`bNKs4MTGA+O9;jGVdj@kpakuRA)eb1RA^N=MaVj!ONfkN;f{AYnz`S4Iq{I-*gJfFu5LStAVdadKSb5*VKRn7+V{!WTRsQST*Z)apzxj2_G}3c!k_~)8yhe=EeG#3Bi{i3L)%Z`TBAP0C*txts=2ngByJd57b1n| z)y>V(9cMfqTVqPE`NlGFwTVQ`>#ncH4*Ela8455}LGtPoUc0jf>3zS}Uq45l55k$- z0ytZR%as#dyAru-L+>e`5Gp{#hq1RMX633eJckglcti5~2M)EAJ1*;^H(M`cE%Py_ zodH*pZ>G;ShBe%kyh(kFefd2bHkb=HFFv|l2;$R<_1gb1Lt=;S0yMm?29=JY%3)E^ zRd;zjqy!Tz-O>y1@TGHZfPW3L9g%-bq#3oCJ1$waU!$#xJ!xN~OrW8Ka_svN|Hqy0 zX*~|UhLy3UQ_7z6ZT2`PNT?Rxk6(Ssxr`^CI4o80gvb>de`L-f)amgh+1~7a)PrN5 z?Kx!>Ct@FVgZscD7Lh>x`8(qS4>pu;*R`|_*LV-BQ(?^{^CLleO|3j(7@Tq7JDB8ljE^R-Z~Y}q4d9hcJHP- zJJFEW#fyq?R-ge!;M0x_e@xDf`sAfF#X{uW9%7z~y0UR8o-OS4`}-rd(eEaw@4(GXi=X%4D_Vi0L4zZ80yms48m135?FmC{IMp@b#<`0b6a09Z)CDp=n&$c&_#KSM zHQwE~k8zlyk(&u$DP;>wAywDU#&^FY#k!7!e*{_bm+5lk0}Ku(PVoy4OG``l?FlQa z0=Bp^Tm!osnyL|^%u@Zw7{|wS$jq9xQtgX{$g?BpILfDmH6Na%~Y z`-bIGf*Mok3KVOVekZr72RpwPJoq(o*8X8r9B0-|1~Gs8>L55(+4O;E`Y~2Kvg)Ry z^8DUI7V#-<*A1mf^VH-a11jz_^!*rAKSU==R$ET8a%!5QXnY8=>a?}Jw;ja(+GD=E z{+VUM4(Sbg4?@%54{yQZH9aFE$ZSzhPp<w21xw74PLub8aC2X{?_%J+-hwWeiY?o$F(^gY7uu_=4vIOuV@xHWijT{&>l>Ti7Fiw_s!8NMV%$a{xQ{}G<3McC#<9B z^yVJNQp5@gSQP&3-s*%u_TP$qbUtA>m32Iyx=StTZ2s04sFoR)kG28J4&>aJ|E*^tECmYJIIR&Opy9V9!l7Ha=JLC zBknyEtK_WOKtV|RLfs4Y(F@w&{s{BELIz4+nf>ehI{Hq$_x`Ok2Z z^kJ#PL$a1C9NFZ7%;*1pK7n?xCx)vvuykM`Xq2Kz#*XAckq-O!%lSIti?vrD{jWs* zj|*tOBcq=nNsI{sMwUTg9AR+yn^&=ABu?ORe7mb_L~ccVq1y?!d@_gu0qJ!#v%?Ah z>Y`fFDffYP@ScNf_4jo7p#%Xk;O!<$fbW9i?uhR~H z?o=JT*+gg4rf&ZGhrT?2&m!x{Zup(^M5t(3qs8|E0;$mA9nbG!WSD}HH)Xhw`B#JV z0}TltrA$LyU-kC6&+56`8!-=j;?-5_`o*rZ2Pf^8Ik8b3gBk*OpzQ<*AP`y}knf{7 zg3|WcVz>+*Vaz{|A``xCQ^5=;Jw|&G{7R#?XaKk(pEUnfA%DiWm4w>4`FM0fG_&-6 z5(y8>*dy=;!a3iQ^|HN5?4k6$?XQ*`i)dfGZ3kmVEDeY2&JMZcN`>Sx%zh*T6jCh& znw=tlc;=cBV|>se`YPwf&F7Bu0pi39-1 zQGGaYF8`H8Kiq5)SrO9G(y9q29VwY+vV^k9=4k|~3(b2qT;nGHv;Nq7eRAUVtlbqW z&3<(kzB>OO7;CYI;P`=!j}zTVB>ge`<$pmlYOdQOzag=drMCQ94#@sYiO(jxMk3=E z(5q()d=BpJeD}P*IzyrdsYSd=G!uL+xlG9MY46hV;v{CPlgJQ-nloGs;qHHJi70pTi~D+oHpIpbH=VegU~K`*%a-IB|mx{)<8s)G0J4pKqB?z5T8^-n;GV zwXjIcjR6N3p4X`CgwxIhN3;nsHQ``gNxn2O>$3ndKa@YP>^_`%`VuuX*GykozFZwi zwuwYgG~c9CfAxvBu;hK27UwE}#T4qsJBkKhI~{z5a0vC)CaWBpN3}fK<@X|gaMIY( zc~t@Z7#L`CWz!G?M!VRA|7PvVreTpyV?h1Y43CF>Vr@{^kd<}S&;&s5ISrdbAJ;`q zs!K*`v#Reec;dA*xlmi>l6P|Q4rg7#0JgJ+@xkw$Y!NBCRl?&-$_vo~7930d`B+zsJ-&iA3CnS%u#X*^`om%WKljJxTh){sE ziFJqcT6QM2mECiETFF?s2z(Q$yPkk~4G16hRB%Pz*?&3Za>wg4g>o8*Kff+?c6Vd2 zob@AI+9^JwJ3^gG7G#m9WYG$7MU^&x#{l5;v79OCZx-D`Y2*M zY)>b+17SCH#%0vKyF{Jc;z)1!hgpVP_{QYfm5!)`UidJY`MOvg?1+$U@JF9BPUMyN z-&q6MvrvDSKff7^vRvv;`FH8$>^25lawuTnYZ`9&IK-=C`p0g&iUR&M49r9|+tXJE z7FDCIHkp5Z$8c4**93vJVs(1fh{}+cUyfYi@R^4?Pbh~^YWyFQ$o16QzSoz3^WtZ@ zY%@n_QQT`2<){-%^CjK~BFw6Y=y+WI%|ncx(EgQF*JT_PQmT&3L>U?yK|_I^$mT`V zu~W`j(!mAe?3WmwEmJyIyscqgoZvt+Xush7MTQPUHzPC8 zkqoHbotC3P!)&%5KiU!+;ALsK4UNNP6(FTo6Qp|Q>#Us4kGJ1GN1&1DDy%e@UK(=6 z@5t`B@t)C%%~=!vy0eZ2T0EH~aE!e)`?sOS@vS8SY;!yTFPN7TUEe;);XskU#oX1g zvBA>#;X@PpVLB0n4o-&BD}%d@Qqp;R%JxSI#J)Rj&?z15~qzJ zim4X@?<=bQOU*+9*u~xcU2-nIE!kk9lfvoHL1WhJp4nhgElci2>OwnE!wJ#8xta9y z{$NuPoWFW;T{k-T*Na-=qw_lU22{N8sr`b~MFLBghY0FL%s`0(NBue1A%Fai-^(q4 zS2+7LcjBwgd+WWOitp^(+)_)RT}Xzx@(c-M&DY**lrHweo1b|9HAU=-bFeRJ@)&`1HoRw zY@JgvT&91&O0-_A(jsF-dSL|JVlL(Ky!`B|6^t3FkM*<-Kj5xz!}UXP=H}@-`7lZ+emF$;Q={ zw+DV)AD+nT>drwg7tdEsB5*DLDr!6AOY_`DfJQYSGl5Mv6v+@zEg5?cragU9|9FhN zw~Gv~RJ{%cTa8dog}A_qIZ54o5Pfv=+jB6%aUTbAQ{^>9dr}D}B$SF1lFY}clh}>< zDe+n_N&=$6g64bR^Q|j`&+3kzS^3Td_=ddmxV6l!t8hCex(s&1eW_!LtB=gbYhCBC z$4&%%p3Ta>K65)2Kb`9@Q9rnELwWe-`PI)S$PD~7RsB=T~LBREe+{=FvpKI)K?}sM_S*Rb` zfCB3J7^V8#N&U#)%YDopnv8^1LB{< zt;H6tl{I%DvGmeD&4QwRwWC-@e53&A75Lm>Bc;OtVM=byGB>l}&^tm|uB`TJ z7$B%LMANoia5@Z)dQ5YjF&y8GK~MI6o~76-oIsnsDxFuyYATEQV#kU;RGLshxG^s0 zde`csq*MZO@H=YwF;RY-c5Fimtj#hgZc11zx+bR6z#z^f00t%d&Jqu#^c5C!hRaU5PT8+H<3T=(l%^9Pa51MvC%JId*DF>JjW5tEz#aIXv-Rk=!m3-$+dFXMcTL~dKm z_24T_e1*B9KN7(Mh&b@muZVs7i|?@XF(~KiayxQ=guugg2>Y2vGx3 z3=5#o6;^E0`V3)KA<&sZqbJn`)!EH77s1zEFVo>q;+&2vmbRK_@Z}9Z=^rcJx06+ZW^^-v=Vo)(NMnyYP5CpbrB?fgM zS`^arUr2KroIHjN@EG;^;p`9bzvf7dHzAwcmHt~B&jFi~DwTI%mx ziqW*hEYu&jQ~r_LmtainG2h!pPDr8;on!>9Z{TK*4>A&*<~*^i3`p;PB=7@Q0hOQE za_QdfLSs(+Dq{Ca2v|);&J>}9U;!4630;Av02!`R-PjnO^Y6ICPw00G<;wPjY91e| zr^ecNh!85R27o6?#q`5>n!8f334@VGGi(>)??_<70P4$6c7L~RB9$HncpkYW_(CB6 z+x6WrH)78I4M3?&{^6HjPR6iB+qj3^XCHQ_0t#cAO1%W4c2oTaIbqL|!riBji5_T{ z>G8#46KJ~_-+C)k{ri1-A}2vWBBlJDtgNg*DITH@%;-FL39q#Y58hwr0$GN-PbmVMK2-RBN6+|kvr?|7GkU$l-|G&F^rF>9?Q{LLiML{aIbVLQ{fo}{Ow2N;=uVcfQjL{f7Gjqlug=U} zpu*B9VtQ!vE~a6VGvqxjciL8cijRtlqBnB82~MPbUI1+mm^T2bWcRzDx#T%E)0hvR zU2&5R`{#Q5^r<_wo4VG5E69gL-Tz#>6>gT6EN?7jJ5zO*2T2z7;8Cz{V%{7N5<|I} zLWiK^MHlKeeei=E87u?)kHdxXs?J*blyY5h?FvY=Lq@5?8=K>M$pbp^sWm2;k-=A1 z=TR^8K)2^eoY45&cz|(98h`N%F%(DOq1Cy#5V+Quy-LD*Wlm-J>XFbj!NVib)E|R_ z_>2KO!=lQ&t@|AJzfVGhYu%OLC%N1SXV6S)-2~~YXSUF>c*L_Uzn$rhM^s-G9VG{g zw0@wZZ&Vh40bjq|q?<2H+u=$8!1%Hu=k(E6NOA>r;iLoWWIWW3bA%r``8DOG8S4!L zTHcJ7TIhQokbRPFc-*DEISP8D6^L^|szr?TNoQte9AA1-yykii0|*{?1Yz?C!G62; z0p9l95XMawOy_F#;z8jDj%2!w2N?@^JRF#}ze6FihrdlQ>at{@bNbOjA5HdSLKaV9f+>qavM7sK-?o z_q7HfDU|EeF%hR>do1!z^4x2fbsxqhOkzVTN|eXfAyMF`!b@E3`zs#!00HthV+^JY z6yrlvvT%CIKP%|qbNKMh>t-@XSL2>J5xw6&G)Isw|BIR)I%Yk6!yb6n{#+i7YF6rS z!%h+&$Em(Pk7A-?u36$=QL9Y%=%ddXf|9M7BuC_(9VSg!FX-b|&UWJZoy^b2KVWR3 zCKdZfc-ocKsDJu|EL(xh`Ln#r^u-J8QvTptxWP=6#u2S z&r1X+1CO;OVg z0=_WP2LuefxB&j@Jsuk3yla}b*?`hPfCh)SY@XwDK{-=m^SdCBLxiA!$N56^4&;F; z`%R2)yt5jhETyFs3Fz}TpJn?0s){k*to3L_tYt&E5Wk18Q3@~m&%bzd<3(8e(|y{! zA8!^(?*EoviB~n4jYXz?*XPw8WYw%V&V3kj_O)486%IN_u_k zr>}m>Zr)v^*ezp(QvMP0rH1%HWT}>CP%-fwd;4UsxieNf@dHX(G#Y5aF;Mw+{phwG zPMh0aaqDA!<~~cYkU#-!I*UMATB=xKlt5P-BzS(kUO`9Z7fv7?jHc95m^>SYi==7! zP*C&`gzDdTkq)LN_3>nA_-ha!oGhFvorcz<0Q>yN8hy>=fs&v zZS&A;+^JA0tO4 zuSlj1@U*qH(=)Rb+a8C|MJtz4ksAb8(IzM22ATA3jl2~TcKvg>Z&~y|roKC#>Nf8G z*vFpP;}{{y-r2HOgc6EG_R3z_G7~bhM<{z_??|#DTZBSKQD%habMEK)y`?Lh)MQ?)fS75iAF6ux$1TXatF1VOQcA z)8KKu=$bSVpJ?lRc5+cQv)Quj^n3oX31Vyd?`>o8n2&y}AFPlN!Dn%+;AXeavOh7V zhcEbWFK_K&=H7zAgDq+Dn9)JVhqRzpl71$^!5-6JTA^(4IR~Zq{j33G%^1#Kuya>A z-L{iUQxRG=OJ}c3c~1@*%*V91*&Ab`tWYF<>w87^ zM=V0`(^Qpd{tHJxnRm2!ww1oc{LZB0vYd*1@RZ?;v+i@oK3i4DLBSNlVsNHcdBOf% zgY0{{R9r(+cpXZVQ2H7`K{_i}^4y8z>>h)`_eGnr1)=zdA?eOX#xJvSvikrdjX7F= z!Up$32LES&rg1<@F@Yo_-1ypeK}A4=r9pZ#{offZrl~a+fIe)Vq@IIx4RE{MWI`d@^(7yh}OE=Cd)WRAEAi z?BsUzV*;KXMWts!qfouD@jQrXDt$+Kk6m&meLGaT=$O0xyshSWK0t~g$z0dPLbM8zp-C(RAsuXo$Nz@v;#=lSp*|=K zHIeqH11ImvZ#)>NfKP{ag8W8HJf16PChF&IkU-M^E3BB*>K46IbOx4CtZuu{k%0Wk zCa3Jd)GYva`_J!-@i29VaahrFn@*fi5lGZYXaa8$+aOm#tFL;jWw2!=GmIsB#u z2X?0yT-R3L#UcABpre&}Hl%4=oVf65ciqb5ADPi2tP5>sqe7$=MZO(tr5KKSrLz&+A{#ookvOkNN)zHm4N+j$)o%_bjP zrQg6-d7(T&~(^Y-~v_l-GFHP5_kM1ovY<<-V;VN@o zNW;Z4(Z1FlayA~tx}Q(ba==k$v+Ow-yWe7F z!046lPnXGmU(|An!vBwFxZ_^^!9gash;p7kjW@rzyL=b@U;GoM*2YIaPp#G{Hs^9Z z3n-HfC@kkB;H)W{Q2c>6cY~Y%>*P*Gezb1XoE#>X@XWP^$Ng@O>kGTGJrf3*C4*hdq~yY*(`PHlB|>bbAxMUxY%2{vdMf z-`+4fy7CN8yT8g8>!C@J=g;S=N=hyR?Z~Q5#x`({Ll8#FY3s4$-9yhd;|2Cx48#3_%uADr2TT28 zYrwnqQQ?dl0dAst!>`6ykKegt2&mvQ^!>FzKFeQ6B)@Dn<0r1EwazG99#7UlurN%3 z*x0r6FFtg5tG(GHAKysau;#h%qnfUWK<3&T&i}7TVW(lMRf>f4O&ObssU63<< zB&w(T_}Djk@1sVNogYEKGpG^<$UZcjAf?&|L2{D)WsBWX@ySNkvAn>OBNkZqy{u)S zonu%iEh;A&!HA-!Xd4mfAN)K+sCQw%8ll(qW32L^_oejX(pSQX z5*-JOpem8s}Tdc~bL zqbMlf2YdEPO472H=n_I_tFW>sqLlLn9ij(G z29pc=1i1ubUMl#P6mOb*my+^1B#$bwPsC3E99=iJo%YjFFej!;uE65E zlmLyF-Bt_-uKeITvcY(qu|16v!?Mq4Asy;1`HyEH$G&&n9eX)&j}-Rz$z4`#v%_X- z4%K^n@z^1^DdQVA{$3*(I{JM)L@gV5OpzCSVt@ayZfVqt@4Y{W5Ox6yROqPq*dB|_ zOgqXF@_15GQlwZXW(98ZHM^h5aG8=Bi6&qe*z8>7ZBaCYhp}mn#5}$zr9tezy;v!r!v^A5|I@0KKQnED?TB?+03|X=76LSv3^Fu5F$|g)QTSS)M-oy2HBpp zzrdPTv#n$MFYdL>#pRH{nlSo#?I&d}5_~%pyO0u28Xn6ycj=`46cg!Y>laA`BIMmt z8@&JSzqU;S1HY31z_a70B*cLfQp4)jjx<2*@`aU(s~SYCNrjYR7CZ(wgA+YkCtJXa z`GyiQYlxYE-b2KudCQ#{NCIVAWb#99ROPGjxfZ%{d*#oyqC_4rnEc^fj`KHw>E=*~n zy~7Y|3H~A3c_jZ+j;i}ziT*{QqItntn{WA$%K7n4IiE;T4VT}zcPPiyXd z&IvvYh)#U*&1O+9fR>qpf(s(RUV#4s3(P&&N6*Qps1I;(5$=Q4E-tIvEsvqWLkY*x zYPoP?|DSx1B_^`4IAYDE#n5z4gu%%h4ReK;G+G47NPpaQinaoJ!?F#E(<+ z6aR`slJf%Do)&xovZr?vv^>qy|; z6w&u4w>%5^M}El#)RLB-IevVoMMcoq)Nb ze0tyf06wN&rOxa+;o63&Csnux(POJ(5YB6fv`m zV52KStXzsfOCiEyo-&E4rK=}m`LQb;9MdQ`v zY?~|F;jaaPvAvr1x-hUd_BJ{Hn_xSmx#`b!bwe5(vPARRauMK0@*ig5;m+x`nr2FeSDb#zfo<~1#6*8fG;a*i+ z<9PcBWfvXJIVsfiB9rVWR>LnzU&E663cAyxESBo2Jw5(ECkcZj?jeyc0Y?`9pneh} z*`*A#XoIWf?BGyH$Nle-4PqlydrsyVbLE~SE}wQRGd(3tR;2`L&L0aa#AX47{Bc+1 zbF4u81&RWf9myv}1{lh{e143o$7n4d@qP>)OdKfqdt(q4m{%pyY}WvG*kA@ zV8s~31usC{lHp+g4Hxv2Uebh(W;f?Bl#}$BbC2@Aj)a^#lo3Hmov@^2v|PYp#HUnQ z=iG1hOS0FwnWpNf-&l4`DB6Q4678}uVR@AKx%C8*N|(B%`DzkQzHx%tm(sa|XdeAl z!Qee69esVy7kYg@%$uB_q0uB^BeX6*OTA5qyo&A2B11-14DIx6t?{E)dFA~>wLF2ym_Y)Q70%$JJ#`_yl!1Az3 z_^vnSc&3OT)qy`t9X|m>u5+wlO@NLf&u{;GS2Y`SAAYiTa&l6XjIWY2|M~vA$85(V za*VoBa@iNBX)OeWL~v83$|cn7(c>Yi=?k6GxsblQD_FGOH=Z*JaquuhXD*04-oD$! zPF>>0P3HBU4y&t6WG6KRCIV1XUnNDp7rij1)?9RBK}a<0!;tG}-tJ2Y@u*VbmxQcJ z4Askt+FUy~APU{LlZ}MFC_YaA@(g{(N!X2HB43#+scU{f4M1S&`;ET3@LL{%XsMp> z&xc6p5H}>eJ{`7dOVVm4HyK}yfiFu;H@pfh7roM8{eQl?{Y?WYg}xXmG0ygvs0K{~ z6Po7SXdeAsjM^C|eGoGF6F1)K#tISKO)efkSG`@kq!a~5%wAj^L`D1uf@Jmnrsl~< z%fNt~cJkOR4-egEcM45j zv!{%N@jMg~@0gBry!^aIRjc-ZtT1Al^e$hdL!-=11Ojn-`0Je@C^R9uE<-@S+AAU* z=f5{lKbz(@fB}Fgs;DP+H~g#`v8_enLJQ-lyU;a9-hnu0jx=W#s&{UjcIwd_9}!HJ z@X{gE7sa8qjvdh9>@Dd)MRF>RuxvZ7AhMP%(dosVuS=F#Y{1h(!45F&hhnbH{y$gQ}DsgmyTU?y4Q}55JQDg4U$+4!j1+u zQE1D-x*R36+G5##>FRYW#(j8d^;fP>;B>H{j-4I(vi}Do=SF5$-tN%Cy9gqX3laWv1HZ# zK_=HuLNJ6mMN;Aq@*;fSDV7!S42g7JoCh$=x*_rK!oAuj~=sCELp%7nw`7E(7I@sh6&<{Q3h_ zhO*=^h4ZFqWn6iYr1i?o;i~DDzF}#ku>W-fTX4bA30f$Fhw0Uq!1`BvbdrKPJ93tUzSei)F%5r^Hr1ApOeNmz_bBj5@7=f~#)b z6(&ToTP0N3n8siuASgnL?9UuO^j%|2iJ&Q6kF0U!+~${MMBFKji6&>m=x*@Yanr06 zb>4eZoxB;UBUut!5yDqsFSNPJAC9U`e$Sdm?7WJIc)#9{OEZsNQP-fvUp@lRt8R`T zYGHe;ETGa5Y<-`mhmA&~LFC6g*Po8WypuSh zWPlWdRB`sn3IfSqR$n@Zn{Q2_!r&EPCNj#QmPI99cMC7*IR&npWf-IL2ov4{A(Q}Wes zstRF5K!Y;6&>m*s5?>%eGzO3{cl&*6PZIbG%52OzNtSW%-^Be^M>{pHZ#Me z2_?&jq?!#>x$eW6>QCpC!*wU4xVu3LTt}ZOVpRypSATT`z(h)Kqk5kMb0a3v!P8m1nKs=p8xUow0PPZ&PncL;Sh#e`eK27Mb)0E#dmo?x~R78ieES2G%C z=jIaq#c6f8{?YTHhr3?_c1XqDY?A62Xz6QolSprRY~gQ?KMCoUo&(X$;WJ@9^fQO+NW?*i(_)to z`MdJ+8(95F1y+Dgi{|?GN-qEVwR0|jP}D84lp!POqt_tRNc)Dm>aei+Lh{FS*@vml zLXWt>unh^K!#6l~2BW_TF-XSqB6VoECc!i%uxun>CZw{iUSqb+C4Vu6WCxQQY{M9I z>GSK`1rChhI)~4|z`zOLL87KXjh)Keysj!yvef3b}r2=@vM>-uDd;#VGwDo`xmo<_fOH`mTvLTy+nJ=4{m z@}Cp?{_k}xwj1-|_EKEi(XRr-a?6=tODYx%NI_Q2n;UMu0DbZh5DTyl;eCC3#)?E7 zm6_9FYqj{OLS7-AddClK3u=SY*a)rl#|snJ5*d94-FE}+39CB}86{w=oTDlawJo1h z%JelgxXa@P1oYNlfSP>BH^%bFx!pdgt%Brnb}hPsN)QQh87ZG%%y7lpop-DbUGqC` zIG4DB^y+^5ct=%pzQVes#5msAY0BZ|;V;#Wd(q#dzV7wrW?G4IB%-6V)V8JEnV1S@ z=w)tMjMAN@LUzVybPfM&M}(q=P|rLMu07*Fcf{eZr8q&r3U9JF0HWCrhr$ajJn*er z;Tx^^mBnIDido%K>tre%BjFU?W-Znb%(lC(r>#cQJznCZ=(y5mBoMyg=UYX*>n-DZcz>-%%LbyVi5*@uysu-fyDk{} z^RE9nGd$733G2Zc*X7Q%oXEXOZ3peGqZS1x-BNq(zk%BU%y&78H4L>WIEF<&mD2#jqb6Q0 zC@echjQzJ!98S{WZ?0Jty-oa^BizOJk~5w^O4z{mYEY|Zc%3*Mw-iLlFmbphorp8o zq@uZ^T!09j_gA6-fKDh#uHcWJ0;oVB(EQ`akKIQ>PA)EmANwzLo|4TuNi@W)QBzZJ z^pXp%{_Ed!+iKf^@4Wkakgez@FK)H^%O$1Xg-#rU?n%6wpX|giX%(slE1yK}bj*>Q zmU9^}|B$v5jCqLO;jRJm0&lBa`ozbYQu{K=?Ee-cgll#jM zgQlM~CWb415Lr~Kj0LkPA}rxcoii-YM445cmPgkoh0N%!b^Bnupe^tJ0*bN^+S<)Q z8)O*EcI|KX)Yx~5R!^%Oum7jAzTXxFC?qjxKFk~$ZR_JC(%JpaT#ovl?{-#IR^nyn zaA8f&JO8uvuV64zF;VFs`<1;9>c_^2@lv7%bA#63DTrectq?;5cIO=V$! zG_o!W>4MeProdjUqA@QN^@1vlP2frCc~#4LQe36( zKYu)y(ez)VdoV*QfLlP`yZ@LfPwXNLLl{p&uB}j^Y|bw+W@n~50Uxf%?2)4uUp}~n z4vKHkM?yw{CR0FY_tp#zULBVbjp}086Sfp;>T5Ft@Qbd{m~A{2>1DS6oVn9x<>~&? zFLw~;KIpJ>gAQ?eC5LwNfy#xqI1HaakW@C{T}>69cRwCOtFhd#Mc|OW6Cfnq zZ#(nHne=&RjEjp|G~syw$ibj^W%mmL>s%#MQWDj1zc)sn8w^;=5pUY{=F-Djr8xt`KzV@KQc2ubxkKN?PXouIxeeV7qY#_k5Li0bD>&z z&)5_OxL@?YEakKgSv5;Bn9zotkaSb zZhzK?cD*!d3iz~+gQTm7)6?u*s)#4WAkXzqC*za({QjrQQSA-tmwVd|%H5d>Obsj< z)d;TiP7gIwa%|@!x`7JF6}(2;*hG0x7GUSAQ4j}L$nR6R2LnStCc0dz&+g~pv$<{G z#Bh#byG{S-UVXuuulL;(T_p!z2c@jFC{|mfeIw&>15PoToW;RUw=e~|YA-gw(`lhq z>D%0NpLdZ1GF%gI1WML1>w1%LdwS@QXFYZ>x zj(eNa?YF06FRdl6=cDDE`sU~FY7fK|*}F{dzP}@2$7nuAtVQc|{oy@`DdyL#Bw|2H zFo&Y6g}+dH*3(J}WHiltlfIE1Nff#lL9v-CZF4Z`jtMaNriSx*WTc-uQvKMf2Ro#^ zyu4~>sCZIoIkk$wYl$*jwRzOiw7}y-sXa&f2zOmfhe%<^v`d=+|0D_1FIA-wWtJg3 z{I@36AU$2@EOGj1>&^6WYPA_((9UAGts`_^~Jrv883A z7?TFiu*V&dAD^-UqR%H2m}4q09-$TMKKkDwnp$hK?hrPRzB#s+&xDU;*Ra2S2D65lFc(upqSRjemenKAou-WrN>E4yK^ z?e;_F%Yt*tEn{AbS*t-fzf6Q#t#U%Uh3298bFWp#*}zk(`MJ38aYTdE$FmPHfmCHY zy1IG~U({$u)s73G zbP=u$WH)dr3oR3!xU*rTQm>ytGmlBhl=TH1uXE>^$wGU;ydUx9rZS2J$xmgQe-aIJrQZ?Hceb z$A=59!V(g+I`)FJ*WsZ3_eYyqK9HV(jCI>TSILQkQ|j*eQwD~q5oy-$X*g}*bZmd8 z7Wu;t_AEGQA2NV0Zm(TYvy51JwbjMar*+$T$-l^-{nuY(<4a{GD$+NXj|$NKsPH!x z*TPqN9gDFPYmIsvnItV2ydUi>BNe3ndv&1%?ACKJH)g3s6`35hB9m~dEcP{u!7vKk z5f9^Bbx|vXW&KFiGb|yJBCnK`Z%KbQG3j|_74rp)y(C5G))?#%7rW&f8Vl&)solm< z>FGB|hz1hdv0S+xT)nYAzR$B&|0Y!5&p7i6L=Om%{viPh>GxszEeq4C-R6Df_^*l9 zyS-hicY+$81ZRuaqa7VFXws2czRbFgd_4>ESoA?H87Xc?11~XSka8;-HM$gkig>Bv zN(OV8^8(Pe?#xKfAa_d#6E)L&VshGD#Q@ zWZ+W=d&gzLuza@nZ$4Yjc|X$BC-Jwr!C*c^Dw5x{l#HdzvDDtw`9ibJL zg*Yz*_qb@=G_;#$`|XDAOD<6O;b)vVwT<_<>M>1E&zOC<#V{)y()`^WRg-y_+@rq~ zOR@TqRZ_5|N$d0%6!VABd2e1G^l9+$N0O?M+m<~>GB1?1jDK%Va577|p(bS1W~DJN zEHZ+^$WeT~l{c&ANND3q&JZYK-j-1}^zq=vR^aQ}j@TA{H%Zr8dMEuAHs=g(2;K&n zNos|%o=9HE17~Ma>Xa0gYIU3tx+wZr1?hgI!;cClJ+^H7NiHDihp6jLSU}H%JmnKT zoaooxKNtA~ELy@c4GDpjzgazWLRa&yHS(LxS4xVu%t%LPw2iL;Mw;pSQMAV)F(p3o zQ9_Tr^SZYaQ>#5>JCu1&#w<+XTebU(cV4L=nnJ@R&uYA)+(F$oB2@RwdO7D_;MD%% zrw4w140Af%HL7yJi0pm@0#qzZ7sR3uMKbS*bngWff3i11djZdQ11khD-~L&8o<%Q< z%_zz=`Peu20ukc%pFbNj%lS8~!8vF3>9G?JViVu{Vs)G3R*a*&R?!pn8a8l?y|ZYm zX?COoEyw}-H0gZjc8@75En=~Hxj%tCKEEfkTwFDAD3O{}uT`dZTU0nR(W>!p5h}tG zk|<7(exi@F0XHA(I|$N{J8Y%(==ZWRqlG+oXu{yv+%+se7D2fPmGI=Qt<>*SFL8em z;a^azoCxX0tLOCBoT9bskppSuD9ZoPREAOSA<;zCFNziRWjh*Y9mek+oxpaIQ%c!d!LTN#$z} z2%++M!W17C+6mICvjFJAL*X{6;iOnwgLr@?A?Rl|%jq@uMK?K4&VOzzew}EasW0T5 zLn30!P<>^KvtPJF_FY!`$MBkePzv2kOa`H6`Tbrs4b90cLr zrO9p7?r$DP&}fSE*9gvw#MgT5Iqx`MQE*Z)5vxaZ`^afr>^M@$b+1Y7uGC(bQQtm# z^L6H}i&82V04gDyi)GT*y!Kk%0Pi7Glk>yiH$IlguZdr_uHDEI2thy81uZ|(W z^vB70sO40+$l=sclu#C6VpXcp~z`xPcEJ}hEh-rP`yhHASD`f zhaHgt?TZNA`?{~;=M#?h!&4-XuKZuG0~Vh6)ST7=YC6qt&-AxeFGCo z&4D*8fOi4|TT3QCwr7RvbiRRJXPEpFC;e=noXdXwtq%3_*-*Og$PZ7;`(rx;Xtulo zi2ni4Ox03z=)m7S47CgE5k_gL^-7x|&!uY@Ug2Q!Xh@_hP9fB;qpWguQk-n4I@yZ< z?IBnF=tCO|Sd`Sqg@%kw`LpmJZKoIV_85&6m!Asgl-SePWd4aN?AP{hs<&`n{{5_6 zPG0%RKH4kh^t{1{FHqj$GvB97ooKlU!z)u%saP=QC*|k86B`jC=G&ERFsdlI&FAf{ z$_9kMyXgy9fAl)_dP21_vXXQf-1Q!BYcA}OLknCw0YwwtbAny{@ryPlA#34uxH^~O zGWclSSNjP8YJlek6c{Kq$V}5fm=+H4beN2ahKpi3-lwxF*ddO?`8*@EZz?Ojme`7Z z*x`JJEVJ2}0h-S+lE1ohJrO6eg6Ogw_n12i7n|beU{5(NE2$4Z-riSNFQ=Ph43@5o z5+uh=D-nlf?Hi}_!Bd6294W&E_bPkENGO)ci%B_mv<>lTSUh^;BMNyn-U&_jr4~YH zoprnJ&%!eq1Z-Iid$iZK!G%PyYP#4wGcU@^k{2_CIG(v$bFtuxC?Y22AzV3M;WA+j z{Cv<1>K$8eTG9G?slZ*-w1nh@lh`ikn#?-`r8Byv;R_mGxtag;OP*Ad!pU77HO?XY z_xK?|^^L6f-CG@+oEQ;!*vPxUca;e40HsRM%2>fDMv^hwwdS|dVwpcNFrX&%PGmLd zoj6h5h|BtM*FWTN#|bXtr=BD`ZdPe19j@39FK~Mo-zrbr&^1oIVWU_Dsqz-E`jW2b zPHaezwlInzFf#M~k2*75^@?*|OL|sOO&?A650b9!c&3P6b?m)d;R z?7YbiFOF`XB@&_DYwawx(SZ&TgQ__|VsUnM^PeRjc&%Yk_M{$eZRweAO9jxMJw6pz zugBZeO9ISdb+*>pVrEg71=zj2WDM7ssPM2dJsDwXHt=T{$!QpTw$xM1vmTJMh6o`| z(St1hKHXOZJV<60!s+L7fm=dwzhLKjuI#vj^E8m2ImBH488-_asIbP7>ZF$(1JTC# zQ%+*zc4A3m02>n-R?MfwFnIPso=M*w@}{eNK{NMeHYZP(`bz|bchGO|)g7oILQcP_ zG+!Kwta$y^F$w*5v>bUo8=sZSEbWEipG46qLDh<@bq~UMl`46Cu5|2UfE_$(=QhlwO*h5WCO??ZQeqXJXgXsmnc#)mLV(amv)i2(rK% zg=Dc?hQrqRp6;tjP+w>~nL)oF-`FXKD(-e zSo3?eD80t}=_sU9HSt*j$!qV)YkiAXuQK8ze$MD3U6xuSF#-gT2JjxBsHpf!6tCjs z3_VPm>tZ`S+=q9clLmVCI1T`E!mO_T3^DcV(zuSiST{%kP3aAr4_HIr%M|21mcKM!++A& zlyIo>_|}Dl2Ciy;$Uc^TDW7dYlg!0_6GLw|{&qyz=sQbHG`tCA`jc|)Z9q4b8P(P)CSL-? zL-OaFoa@#!kMWf>?s@%91aa=ik0jvpgZb(8XUy;fm({)(S8pe2zB0(l9f0oPoA+ea zcUsH^AiSSsUFEJ2@XiDiuV#9*HL zAD9^Ol4uRN1j4}-Ih!wfcy182|E(L)L8$!3{`6ONdS?12A8kOVZ6VWwMzS6)V2-wR>YpMy*bdA5(7`5kdQj)R}=$noS#)qEl=*sW4&^;ENTgj|q`TiOrdu2!_940{ zN#ebaiq<4*7ew8Pl_tdaR1S;|sWjlp8d1Zk+JVXzq%8TPZj?KP;X_c-0)AjXL%2`Rj)mKmLZ)wj86ay2Ux;!x1pzZdnFTH`z6`-Ig3Db-nye*|HPeZffSeU{ zfl7ZLw#4skj1jC7y$OVv(Q8%XtwrF!>~UJ|DtuIzb?9TKz*yx=1G@RG9)|c8W|Y;ZOT^l4~X>>6L_i zw{lp)SNcR+ZBogRGID4kdR30W$eBIXW$TyQ;{<7LQ~U07$>p&7pW9e(|I?0UKj(># zb_hwVvO=ZBmW#SE|E~rmlvDi~J|82bSHB?owb(%%x?#ZoLP%w<<{oL&H;)#_CHMU{ zl3QO0vD>XAt|L|`b#iD`g-J9R_G}isg>HrD)oqugLY$`WyjebI#%X{}xiT>+1MTzXlms(b!>&lf2XzdiddpQ0<3k4FJKr!!ytj!G?AEnUCoz;1xgGM=|q;=A0MwhV|THx zQs0(NeuDa^Z;*^hXa>fq{rm)t$w>!N8^Utj|9&b_G!LcXVp%1kbTWDE#>~@s-gQl- zSIbdW*vYMeAGu``uSB5pt*Kg*2@_OHZS$NH2eJ>0@S49wyxmzI?DrNb! zo+5f!N8&gjD4M$3CnBd0^CE&~2Ph@C^O-JaFqg}@5jM@Q*tJ%=IW90Q+fv&?2xi5X zSwu`>EQ473w_f5D+&3i+(yuf@8$I5{j*(ES9e7I@c~hl}^t?m-&c#Oc%AQ0-bCB5z z>bz1C)!Eftxfh-6xFDm2P&KY?4v?hv*@1uN>vx~E@6cxdgcVu^lyaQPY2H_TLc2_% z$Guo?1=Z;w!p3$3?@%w~Qaz&guE%MT;LhE6uJ;PEG9aqhq4DlG>J9I>VR z5DOR=U!Vk&mN=QpQ$&a6^P5v46h>FBd?J?}BN$~St&8SR#Xs+#zWch7QQ)P*v#m^q z_TWG3#Me}QaCa;ooXPp8{fWee581?@AsfDqe-I88N`Yyrr*h^t;ZUXr==hys`Gwbn z;ZTiva@t&f<;w#V()uU0h;T|yh*|+*8jU6SzPLb5%u6N=F$0^4;R&obSs}li^aL^bz_jOv##6qmGB(_(c&J#kI1WwV65cyWn; zd;YVJ$RP+NaFx12Quiz9LQe07tN=X?{r7-X@lCd*OD9RmS>;!mP^xIWmVXw)LOFB{A>*fwV*Z=HJa4xpH!5@$Xve?z9T7fgd6j~z@V^%d?IY+ zy&}4BK*1-_Z->=sm`MCsyTnl6jGD~2=#Xn(u>1Ubi$LJrd)IZEqEyCT4l{--Aw61{ zk?e3&gO_Q`s6z0TU@Ql6tj~-2y>p2ZD99agu}__WM z^GHkO3nmg0D8h7P5^U=Mx>rJO&C#&(VZGDXSIu6!Ls1W5^g%`VE9s2!KXo=dKnC@T z5fSm>E}d$wt@m{!Fz$F^mhF|WeFqf`J9*#yF7XN$;D%*$oTA%D*zF1i+AV21D2o6!O%HuK$Iab-+p8KUI2K0S-k;=lOT)Bi2iUV{{QwxTqT&G-W^ZTxGcBFK;&q{KRE{tXs9dr^Kc2^jb62RPno4ZAgUoA zZi3aweuapLnLu|ETYA8j8b62r4WHH{Yq$R2!B!<0jM7pV)SC(z<@H1?^Zv zx~#hYRgZ#HE6H5O9#?`yE73Q_J@vY3Q4fxHMt;2o}fG^9?_F4axeDhB!{>+kmY|J4y;s zQK*>wO{nC{m-WHN%pi{?si0V&q$+4m(4u;`A~&VdIk-O$K7&jpM8`*62+f7|qez3| zI5ur2E;TZpl3kXbOm7%@0(6KRy?9o$3G}@ z0rD^YZg9hafw`DtOW0U7ly4Y>SokcT9%gVqY-RU;?YvE!H097(;6M!A{NR>lUO?f` zdww%~LKoT9hm2lnn9^O`+M#98cQKDq9!i55kq==Gt_I{azOIQK5?= zm!bAbi6+95;xk3Z-KCnk)>ts$JpiahX@}v~i9fsg4ryM}`sLg+YzC61@9^Z{9E{O^ z377Ezu(9;6a#VcggE~DhonjnMDy|a3^3pM&=_}DlYs7;c+8w+N<7~=EE)eq!7f315 zoMB6bl94)!Wsj5MWa@BxyV~;@Gtc0Cl|mXl*oUM2_-y&&?8XsT3CaFb;4=;V^kc>J zOembzD`5D|=ffLqO#dX*Ct#(NGLTVkMLKbZ!+L|gEBmo6mKjf zH*00zu$IKHGN~pn5kL)zNXbyTCm~QDTBV=-MjT%3QLXq0mzv`Jd2-JB(wt?7;o3B0bbaHD>_vb?eZw=8BUPbAb+fDTwz5PY}u;^u#UU5DgHkdxBbbJjX9 zVC~&N-jJzGe(}vyC7InFEI(>RSd&7i-N5048fo&0wVJyY2FaMTS&Ucq(P;d@(#4JL z&ik6lZkyxmfls~>#VTA#hX^RS>8!j#%fR+EukIE7oCB!Z5q}ozc$%1hIX0T4lO%P; z@yrE>H5Pv(4;mV-B5IfW^OG(Uj)sUD`p+eUYG>`!w_ym?xUr!_LRIa4QP};#jEX?y zOpEnOUoOoHt;mj%}wNo z%jK5XA(b&3a-%85A5%8`KvMS*?Zr}VRI&D#)A=ZUN@h10VH%GpAle#LR<^Z*Knu(NHQBy)%UPL>( zT^ySn9qB&8$s8LJduoqg-NAKG6(re)g}%sB2%xolK#rALm3b^Lr4+(73>_qjoi`PM zg7tb#JvMA3>w8R*E^uFsJ7-|FAGg$A5v3NMD3F-|g26y8YEWN&+Vbr7p9m%t@E}pv zxYPHM7`wB}n^c{Q#bGO&;p;biVuY-6jq645V%rlo{ao1|<+qPA8^|;ooS2%NRSFZ@ z&yt27LS91FRALhw6O!3qB7UgJIU@~kSPU=&-$XPL-#6FQuZh4I5vyDrL>T^2BgT4w zkiFUKR04Bz0-q?|t(26U9V~B%R6EV&<;+t2YM(?BQiU!vdCg1u_1MGner(z_)HTgz zGC-SyqA?9zRQO*EHwXUa0FeWG-r(^%*LPdnn@{&^Ys%N%eNbDC8p*it_8?q?f0!um zv6{z?Jh^nO)DLy>2@aPa_2_sB?4Jc;6aViq-rzZ;LSW)8*e-_hpe(5+U<+UUV3trR zrL+YM%uZUuWWbvD{^0vDVv8=lA=CIjES+~amjC<4AA4`vn?%`!?7gB8N>X-YXJqf4 zEfQrD%HCurS(({0Ng3HA^LO2!@9#LCqklU*_x-%z*ErAD`2oWIIFs=7A2D>}MH83w z5m%wx{l-PN3K4wTDVMNf66CD#y|MGsht&Fmy%2d|dyKLvs=y zpB&W{aPW+P9H&_~LBi#u6mP!GqP2UVlTj7^qled7Z{TN0`4KMcm3t2|ea#*Cdktg! zt928fhUO6=TrK*|ok4XVjA~#u$7dok#qnEfnAhuvKINvNU+h@)4<2G^^;se;r zMDFz}Sl1Y&JV>EW!0V;*vh&dD#2uXt*0i{yL>5)tA*uzIR$?rS#)&t3Qp{^lt4zR2 zVv*{-BRxNZ|}dPxiQogivinU1R8-;?U1`FrUW*@98Xaortsv!8y44Zo-ZKOdCh zO_s{1Hh?kN?3tOFbxJsOh?6)G>Aouxm#q(uFJKyUkGn90E6Bvny?n`nf{`QwFSwkS z_VHdq2fK(i%=G*BMRr3Kvc`lL4^ZtEdf@&_6q_~z3gv#2MLJ`*Gcs0)%@jv_OsX>K z@2_A|h2rT%ktxG_zjz1%2teE>W|SD)R74@J6coCFfBZsCadEsdSo3 zwNSmi@}TH(&Q`(QyOaW{qi4WP&hGW60UohxP&=4ba~_s-97yHaOqK8eGFp)5R{Gnw zpTSp#?i`wY1#GrH0Ek5bH;cFtSg_{ZI#SDE3z6wQc4Y~1zGoy;d2TwC6#z+pRucuV zZ=Bs;cHN)($Rrf2{jJE18|$9b;nqUjH8|W6SWJxAe8kNZQF|VZv|q779!w*DL^M0w zRBEDn_$VTpSm_8oGN>^zQm*86@e;s*%eqKUy#2X0ju9y)jPs!vwRt!=n6!c&?Y~2R zyz+43NX>tRE3ehHUNNIgxzrvGk~kldQHMY z9Y2rUn-H~(ioSwRbA!_9=eB8TO6UssiTf;Po4u)}y0LsQs{Kv0pR)V>`d!7$lZxV? zIa?WCvP8%vmH(vv6UM06P244n%E9cw&cIQpMCilIh=ZHby7Q{yn7Wv&^whG^+2gA>^Z5ugK@sxi!k&X~wF3a%Ur7#8zjGJ!sVOL`qg)T#sUdWs?Hl zBqYheBKIj+?3?;tCk(6z81v+aOUG2~>;#T?^|GfoGFh!~yP&@6` zOu#Z+Tp^3_O*ZrYHV^V(&@oI|O680Ip*-fN%XXaO6@LFnSf-wz9@Y5;kfy#er7NhN z+LOxDyV9}>nqrpMeMBPVH=u40;=H9rupgsEp=BHnnR@p`V=LGaIj&~BD*XDqt$JS@ zWA|@q`^o*)#ffE08P@Ii%c^_v^8|U{rqh!i@7EtkH?sRpj~9X<|e$Npl8MbGmI)knpZsd?Anj{ zO+192iIMV4@BE|}UI0v4I|K-Qc6Ykv!vgj*xTHGz!nwHFqS!#=zx@Rs-iNXl$ky{6 zPcXGOIT#_0son4#TzQV@(hvXz_SkxyLQXTPr6BYi9hOT{gSiG}j?LlIT^y}N@@iyA zxE7Lh0g-PAEdRZi?jvlIfOQ6JjAYc+ig3K(WT-A%caz%*7A>3-mv(jg|q? zo8t0+NEoSQ3WpD^-tVE+Kf?T_`_|Hs2g@<{C4wJ zttNhKdo%e+#D{Tnt0!X0Q?_$zkYf_Ax`$gkqyB%{WUd;gAVw(VeMks@ZQa%^-Zdv7 z%WMbD_i~xc-Oi}qeTc;z+(X=^QvMeVKzPP0&E$597DCB#3v^Fb@Hn9u7P^0w8Ur5Y zc)-ywIMesg@b(j&D&Dk$gSP?nI15MeKFpOlETC9@_#u1Pn$Wmvux-z$aPBTH@T`@b zcw;fbHCCR>6|VB>B<2|%vf*)eY@hve`HzYf%g_!bJ5HsuY{>P8IfQL5*MMAvIMXX~ zRlQ4J-a3oML_<&K!bRs;vk)F8h+CC(y9@_?cq$~Up3Odzi~m@*{BLj7<9M4D(IWU{ zlis{y(GsgJh*qK!5FV&8}PJ~*IY&8Qm3NU(ap(02@7_1GENP3Qm-MWQ>D zf*Fq$!i|94_vt^L7V<5)o^qcKIy2}=FuIW{{t=9EoyLI`pthrE_Ptvbo4_A-3PO!m z#*b7}9kTTn)W>4XxOK*G_J&pbx|gxail@-FrZO@TLR#imd+f_C#3ScV!c<#P@$ z_%RcQe^2YC|JC;$g`EfTQE<%u)pwi~RSXYm)vReK;e6h~=V z@4v;w_oN{Raa+0gRtE6iT$Po(t7kT{f`!ipRMR>$iAu%m))$ za9INtePmyKp|WnBd5MW*0{*doK1?u^0SrCt3SjJmm?sh3Cw9_oQ9XJ<{LXy~+5*e= zT<;GyGe};Z)I?WNL@|r41@qDhaw96U>iGJ0I|K4_aUUJl=W>Yd4e<4lzltU|c}y?V z7i{P5%EmII4gNpZ&bH|juZbnm-~h$8FEzrY{q1^WG=_tFwW4jf^w^ji@hnmDo$pt% z2HvM(A7dU~t_#gRk+r_%zQ5KmXRdwOe!A!)xwU=ZCW2k`!WWI633m0iwov>5Fb*b- zrK|QgMMk^;#)d&W~Z(@uyC4+bFlL2$pM z!>~OCEW}sA#|NA(As%jXuPwl1E%?Lc378?y4^{jA0=O{p-X;4dDX2NI(RTx+-!lZ% z0ax?M*~vt`#~<=L?tw9F z!`36|`W-4VVp)S4&ttz5BvC$@&ISUpCf3ssMJZeTnLYpT&OvR zgZ1@*S=B>j0L1vIm8@~`^sN;M0GKw13%!`G{3L@~NT_tRJ)7JXWGO;gdC#=!FE8lo zXKYC+1CCJhIGD_)n^D^*Jg-_$Ma3KX#(w;kUK`E2{o8x;Xz1dxLRs!gjam;0b%I`u zMxGFk_}Gk9tfxZxFFqKn+Yy@|N|Qjf4+mUo>RZAvQ`0`@MJ!gQV=UGk?5zfewv5rS zBlq?$!cEgbz9v5RjQ{WzhbCLFDD!3h0ODAF-X#De!JY{C4xrP_wxQd%qJTv)ffrFu z?q(6&7p}SUQIJZqh!CVkVHW3b{b&Zf?`o!hETn5>Bfl5@H;VmTcbDyPSW zRx1rbfDeOq3*k3`X%5RKZ>*klUHKx>S4o(s3qE+KpVqYD>*CqIBD@42TA07`kIFHj zT2B8;j;*@^o{#fZCw+yy^pxkg-9S(%W_WB>+2`mcGq&4x=dCb6q5+$ymt*-G>w zhAD7}|Nd~Z{<5>q=?2j;Itne|^IsyI`hfkv4qX0!1b7y(p5k1EIwX8WscpRAio{Ys zZA^pX(m5>)FB7j0YgSFy#v|u^Rg2rt1nAx#k5wGWw~9T?k;BF7W9&%t_2P?7(M-N^ z<&*oag#eph1YVobOOEWI&+fLDv_1=47MAQ2yxTr@EPZ=YQC)2Cd5i&@g`h7D&uRN^ z+*mB^UmaG9aePI~pl4_f447yvxAXyl#n_a%=F5vygqXeL%|u+=6MUF-&!Y9N_WMHR zloZ5@(7C%SG!E_4nrPfrR-TzKiL4(Qld_~epDMCUe9hT8oTa)0fi3`V)*=>KS?i9< zkolr`;CU{_M{v(s^zHbF|17&Ij2j}#SuekXFHgAfVs@RWdrC7?=&x^ZmFRBQH4dKd zW^NlytN~k{W)xr9ZGZSMf8xr~De2hrh0VRAFlfFIh>;q>byi^>1IUAyNM{Nr)_BW!Hlk>`wx2ET zyBsae9%KtX=QroQFCnq%*JGQl!e!e9gulr>(O=Z%}WOsvQ5ljjUR_P9aybep3 zwe2;xrAhh68Pb+J5Q=H!b;42kCoG-Le3yOeDKQBex+sNw+YgsV^=P3RGINXf?;F5k zqH1(>v3B{4{p$}DZaPg}OfAc`6E9H2eP3=9Ez{%-h7Tw!7JU9)#YLchMjC9XN%8^q zf6C&vmld+f!ynUgqhl6JBN9>D`(;6-kK$H>9xtMr3^w*e&>(v7O4lF0fO=wY(+wE2$8&YJ&Cy-i!0K^ zw(kFb0f(~UqI+D&!SAK1Ac|wrp1K8L9rd2;R5F(<{5$R8%nn++n+b=9xf^P)^=x4l zRGnDIP4H~QRg9!(M(Mh>gjk7O;iWo#U~)&uz8(t9J8@Vj0bKP0{kcD##26aVf|y1!Tp<_HRB&xgv^cjd;wgo?_a> z2i%ZHXNN``AngW*$<#>+tG;&q<2;NJL6)Yp_Clk22i+P zkF(MuFvRcUJSnN2RAQE^dK|8VbK<=3mUT0!&5ofeFo*-o@TJ;e5OqkKd(|%U$n+}Z zEH?9Ch76+@ofl=Sedp09xh(S;RoelpuCt1pdz!Vq>a^3s|3XL~HMtWVF-x@p_ZFo= zDu^3I>c=Tt8P3m(2>FR`CI>mtI7#ytZsy58e64Y_I4bDHydRM3X4{Zk2*#6Q4AB&? z4-Xq}ISR)918hw1%qy%K-W&ZE)o~omnB!%C+t2E#+r0xmW5nVfKOzPE)$98#m#bTf z4|v)Dojd$I)4^noM27eMl821iU{y?n1KaRNbyo^=`XW_ZE#JXlx!|iALeJXKgS9kB zyGl+2OXPw|l5=Bye+Wc6U~e$k-P@Mh3bl7nu@5Ec4JpwB-$b zL+PWI=-lo&_GFFhaXSUlt}KTX38Ibj2Fxlf8YGbY#nxjeUBfKz`Y$`45uKf_%62cD zH~EVV3#xcj0Pp`TN4w}idCHpvw&;8&diu`yProf9tj38aJ{8G~G2AiHePQT3Z|)hU zBxF}Y{Hue*f6C(U6FUaL+BO4qwBD1VEK`d1&LZ*qRuwx9a=^vCu{VSofLlNGt5Cg8 zm<+jig^MSHoDaGa+S2kp10#-EgW4-7>$o^BP$pR3)=lDNQ*aeXPo?CEFr6Y)`Ko8_ zx#%u5y>Dhpqf&pFwl8DWGAd_Fn4Z+gB{vVF6M7#(GVtw*rX+wrk&P#zgHU8j4HE5M4m0CWdre>--IR@puPCE@J|w>%s+%02VP=R8l!to?0L8@PFM81RGIxEUcTmA z+IwMdn`lhF#-#eV_LiK)@1Eq^ zJX~O^khe1%Gf+Be4JTnTfqZkRb>1io9PB{w#zqoS>gE3}es1 zI0wm{aXLS7^Lg>_dAw-8|9WGO(!H00NDk-My$4U8F!u`Hui=Ey))y+ou|#>Sm(-PmXjA6$%;iuG@LW2#*G91ZbA8VeT z4$IwF4Qh}KA+Rt~JQez=rRn5o?wwC+6J5{^JD20L`>hI`Nf5X0Lz+@sksV{YW%%>$ z6x#a+{kaU(s<%+V=@l91g z=T_uK8HdjN>oa{&5D* zXeEob@y25AtTv%ceDwJ>X;F&7y|x|DeYZ`lehZ{lhWZ~nh$U;-8dGbC0Vgx%VS`;& z?vdJPb>R2=G8f0@XWf^_%scyk?wx&aJ-Kg$T^zH$EJvx#RYdvLOPVLfVoEE8%o5r+ zxY*?3(yz)z+_#VM-=KiZLv)=Wt;Yg;Ee=-vBGFX3A18(uVkzTk&fJaK4>9y{4?pU(?z=D_BH>L_u~JiZBzdWp$VyK^BnqW-lM@>ZqxcrWf!#%*4m-zGPzBVChvDQNV_3PJy zlEO*i_O!RT(V{-X6VD9b*|l{swoZRHPS5me21k! z>TrE@`mZN$JMy#oMen%p%il*>&bgA}rY(qRa+@eda9hz*+56^&%HYhV8@ZbB69|zS z%#`g;hwKbULj(S@jp3rFjKu|Q;ONCWPFiB>uCGiNV!&i_a*$5}ch+Xbj?*-N3e7pB5H_D4gM3Ram+? zR=Syfh!pbTSb){2yTDB`a_g{zD#;LsH-)f~dE&c+^>?-*7>Qwx5nI4iy=nyLDW%a_ zCi^euQPjgv-Dv&|8aKIv&f0&6|3Z0TK8DOs9MKA=bdIQH7JtPh%MNkZ)YM#j;kWt% zU5)veR9lnFf=nZ7#D8+{^Jh}M z;zdl8WAdyJfT&%blPMtX$g`=;GrULL?SuY@!u`6I*ORQc_4J9JuHxzuwjX@jrU5~f zWET3+e~-fwrGi2gHZbfzyJBE;Zq0ufu`JHhKbZS~=Lc{pkE>)aT^JK`G3Hm9M{JN}Vz_Axw2hYag4fU5puEquI#n5oTaUak{M|#|g{JgmRkRSN z-}Fmd3BvV&XDzwMUn;~dVI3Z@yV*72UBHEo6rF7_j=ahUC9ORbhWRw*v@W> zr_Z()TH~Yv7039seCtb2E$74CD~Cyhm0N@+B)O|kk*3adhpjjU8-h8tAci+=O%vA5 zwVNh~u^d>m1PbW-BAj~~f`qI>mEp2Hi2o0T(n$mXr)DQEeZc80^L}ft%IG?fua$;k zA!|jCvtvP+1%^K2n_ycRCkgdoDzM3UT*jVnV|?#7uWi=Jz~=h%7GL~I8%`Fd9w|)cDA{{)qZMB z*|qr{lcZuw5RsWduq!DCUgq0d6cXFfWHmelV5&T*4yz3-ASoDyQNpO&9E|Kk*W8ybuRIHmn?Ik;)4AcD5T+&Gaz04xSV> z%DN_wWZ}VpxbWjg6F;khtufbvj*$zxs!pBka4rOlj8G*@>K4A(y?%a&rTiepvZnY8 zk$TjI2n=8(-}y9Is)1(@Mr}x%XssJVrvM5Cs=}M*ntl1$jZcD8JXQ405TOOEw#-Z? z_&)9ZZ7OLtd`M+~h zy*z%m@Q?9Pt20LHSr@<4;-dV`EIjm=^vRW?^`c| zwv#i5%RQZK7enjInY(Q(65b>dYme)ioHxNGaZjtQ&0t{d%P&q)R#8p9kif)6-J584 zeiZ-1@;b%G5ImaSOeE8<26|^(TAyRx&6MthBMkbO`4pDKn`~7Q_c>?QhK1q}ckxlF zscCd3SK2^V<$Qi}5GW(uK|=7DlJ&#&ekvY;L{Px}01JEADg3v{s;Q~@tfKykBRVE77^A$hcKqo4 zqvyaiBa9E9R`or^?vuYGL8%R(+ld`IM)6=sG4uP2p>jrfUZ8Kt?DwJwo2P~cr9HM$ zFu=y>X{_lK(K-&1Gk7)LPo)3JZmXB@SJJfgN4K;C+sZJTQEN^sz!l8DdoyGSRSm;RMBzxYbt?N@F`|C-;p!x4UF zfX7{`x+@#wOAK3Z5yEYT30*eLLJ=W;TwZw%8!OHfE|52MaA622;L4L`tvrXafS7UM zoAaZOlotGooz4vSq3AHY$8(r(4BZ0t7X+0er!s6a_AT3m-w)DwFO<=D0D;pYht+b=bwe}VQQyl--@LLQnE>4~NGG?g~QCQtyjzOm1#G&R@6K0AiR1j7> zd~Y)68^U?QZ%T>Up|ZM$nN}R;&9dVwuE!^ZpRp<^DVynZmHjLg>^tn$as`H{P635$ z;es2yU$W!me-th~gv?an>LG-!VpXR^3{=up=2#36v+O5)-RI%>3*;^vPoGf85P1;wMgFOEJK|HUG1gQo~x zNc<*Q^Z_~=$lpkL&;NLJ%)cQV@*49?f4A<5EMnoLCW45I-`h*tJwYW!j2Y`40$STr z3)u=wlcM6+eY^eW6FJ!*ikG|sSM0e(BUKVGm0c^;B+!ylly(MV-8pt$#t{O_JWp1-EoP$FN zJbH*j98nQ~^#w|21({5eqoaCuh$ooX>xdk%18{!;it+i-a#B*~RucPJ*8d&?aKnly zwLfGRt(!Jqw?&UBR^K<5He|10!9~GBz=@R0M=@RM12EIJll8 zzIVi4H>}3t9M7D^)GS-}P;XP;Ne=}`nG)GIQ5t^qM%qn_#-{t7Gx0Uqa^;6OM_bE7 z3G9l#Ot=r+7LHi^o-eczyWa_1UA}61Dt;Ne{$sw`yB<=MA?G!c;u^@G>1CQ6EP~wn zOnqf>bpzxMxF7N@i96v1sKD2yqGK&^v zHzxaHN)9|kehM7X3>n|3bjYMXfrYy3HVZ7-=ay)McsD@qGw|#RIE0L9O61y#>yle0 zTh->z=tGbHqSsgaEmovsM7K0Dm_U1QJ{0$co=SaWZl*^D_}wN=e80jh8hxj=`zq2- zWK8apVQc*!EJv4@UI&)B)8&P)g)r?~SX|}n7Ofa=8qlF(+BgI3t?1b?PvxoAjC+>5 ze5?1M8*3EXuev2v^!6w)*T2Tbv_o2lqezy3D%YCbHQwPx@$Dc|t9amb+d{wvnEa7v z@3*(|8j)QcZ!cvn)oqGN3(64BRF;T4O+<-ul--`>in*pRcuL5J`<(}qqyw$2| zXo!Sw%@j1x;E@bP(zU-@NL0-_zvwuUN)1DUW-UkFaX+IX+p>};e2)WMa|!C&BcdIB zkhLSAfP-mBEK)8eHazAQ;fm6%A0{*re{+xS<^xy@LAiwp_dwl&toV`aZVVh^Wat=3 zj;^dnV5IX(I{|A_=;5#kzu-GGK1x!mZq}A2f*;+@^bO$9;>QJt`^P{=OvxgT1dciB zjVX}LLb3qy#)9lVr(-Io94>%!{IT83&^}MVwC$?WN#GH(y>xa?1e!VBX3O z+^;SlYAW8R@mGtKhl7*#E0$EDu0QfUZi)M`zkk~ZL%QRo^7Yrjd0a5|Z!Bd`x>JXl z7<|^ENcB2?`v`Pjv5c~@5TUbl(d>PE@}UeAzfQ+r6S8KnR%$_|#CH8TidWAx*Pl>-oh@ey%tCKz&>Q+5}{fiNv9k z)QMK!e8N$5&SHN#H$pw+&WPCtG!*3S{SM|;KE59>{EuE>oJzLQxpfBI#nmm+qtR0t zw3u=)=il`a|L*JTEVy$^8r%C{=VRmI%%PM8Xf5Oj64Ng#Y@U8)Jr}%k_Kf=6pP1DB zN*i-VkdrljN1(dXGogIore#&~1lT)%p!}^IjD^}fStz;2^tT`6x&TA*@K?(x=yqF@ zxWmF+&!~^vJ9~=T;yAH~h~rh`n2`vzBE1e6)lM4q>zqODTu32TbKLyfdqtF@b(2VvSG?J-avH$q{qqihnx38EQdN| zo(domN&pcofZF2e0g{}t(GC9b+X5S=}cvM!>G zV!v6PNr^Om6+^JkAD;-m<3AI|-UqVMub718rl2j<_UtZ=DP#!OEee5;S4kLh13@At zq*@U)xtsd=F+u0_z}Q$B5Ph)11hI#OCk_4c^>JP)>Ay>3o@72r*WE2F)g1Zdq;x~z zsXfy8D?#|4nbJ@tX&Kg6KT~beBmZ`{W&VzPXXnx6yiNrXO=5b*>7?jM<6|TeAO$Xuyh_w@?7dIv2l*RKfI2>W;qE;e1C1F5TQstGOqTy{=9`xTK z_*rQPXA}WcbO0;|u^N)2#NkU7xfLE;Z#jef@)kXrkj%TuT}fj3TX#ni6Wy(g@keXH z@pF5OKu)UcY1wc&T7dk!jX0SLkHSI8QiAXl63(ki92%@Zg+~XX5V%b> zUu$IlWJEpszOC~W;jfn^4B7;glE(_G1ru7`l07wrX<=5mXfw`c`8-Js%gW~O z!vabGp5@}p2r*QL+L>ZD%Vl&4vFqXWyP;mqv8u2%`7`<+Wb-anRma<%BnXb>Ajjn8 zO05e%!Pz(TlP<%hDL0D1CxH)!jMW&e=ade z>lwuicGLmHp=GGrc+utmv8j&@ema=B3?smLpA~$NHwhSU0rF8TD8NUCnIQ>yJ|a$k zXKz^u(S8CsgXDN2pN`qr*x8rz?O(I0u@;WJ4~y(o$^U(uYk~l{$UGy-Z!b-7*#g@2 zpR=uBZHWV?5kgJgdrsS6M+GgI2aGu=n8hgfti9)sq-gZEWRo>&u5XZ`2NGbn8m2&5 z!O|xL%U=$4u7Q3+cP;j_-$?D|8v5!E)bd}er(RY_G2E8UXhjO8jki3Q-5QUy#iFezEsUYh%6&2SmEhI$}E9jKQ#-v5J$C2y$CcWdrU6$y)@4 z4YWs#2V(P}t|eqF&HHFMo2S8ot1WfiaYF0FD9#!?<&Sl+T7K?L9&s z6Ik6RfrSbWL<%>aQgpO%Jw#7>6%X^5Jz&SAW`;YYdF=kgW0LlXu&Rpmk%{v?Jq-Q0 zP5s0t5K*inHuMC1{5iVgAGKNydtoXN=9jA^z_Pnmf7Iy!Mk!mKXe z{A$f9HlCm&hz%w&fw5y8^jV|V?jmMqYO3w2_nB;}!3oy4w6{9Dp2+U_inuXiM)2Mx zpA5K_)@3q<)?F*8f1T)H4ulV&;E5i(0)GhAJEi3tYshr3~hA_aPMPdnQ6VO7k&m->*F(lvHlX5h{$ykMe19D>QXPI}m z&9j~~dZ(UT!b}!^HlKFB&VDD%(LmRMrl14Mz|bN?Wn7xpG$pDRU{_LSU~xoc&BrAQtsjCA{};G zW6Mo?c6l3;0F$+wwG8?xHfxp?Z%$~vNA49vm0Cug_pMn7-NGR&K@;n;88-DNoF6{oHKq!pvXX;yq+E(FT6thWY~I??;TVzx)Y zj!u((11$B0Hsy3gc{hm~SF_dWgW8=V4f$hNmn4nWq_VTuetbHZ4uOWD2Q0?$ROrGT zX9HNGj=M51Z-HYNh}95q2x$vmqHDy)ry97F5}4h2h5>nOZ@?|HAM-{ri>P?lO*ZhFW0FKI+fb;PX+M=kvL1B%G_fA`7^U)yA(e zF{aO+J+tPXB=ehw17E;Rng^|#=SDdOhDC$NGs)aH4HKm{dLNLaMqO zSAe*ukZ2hV5;t&6PS!oWyU^%|lEx@@U(MVU4l@l=3LiNi?{#OReK@zQ;)JP6j1T(w%lEKPNMz+ZR>Uz%P_lZpDo%Or+EN3b z13I#hf`DVV)w@6f=J2RB)^W`ZG`!#^f$e~1bX<2OU1whKtu!oPw$v`~6QR?*?0>7C zv=*R>^P$F$bNE2Ojf9S-{;{oO>h11|;8jyPm8XVOgNmS%3PJ_0vf?T%w88psacYFz z@92f!wFl^luQlOtop1x_eBm4B((knujkRF_qXwr39A}hZ+qq7)b7n%4Q9{={#l;m#mWK!(3scRJh{&NiwBVJjo9wljZz>cofxRAU;_ zpDqnlO`VmfP74)yWlYip{*-@yocZ)li~S71`W14~#A0>cPp$lxX3fC3ixO|tA|>Yv zCR@PC=18(M1b;w^eW$G~UpJZ*Ndke@7$g-PuIn^2?{NM58Z z%KdKD6RH+?3*&nI{c@1|Xg>t}NcvaYt0F%ZcaUSIHWKTQl7FBnPh?%#dl>ydwYL&y z^gA(d%Xp|*`-HCd^}+v=nvwBEB$-uMi{b{9&Hw}M__qgs^n38-3wX{Gvfh|&AXLUhT13fWgfSCBbIKrUbPw_giREDO(PxUw zindOYRzlX55{=G^2|8If`U@x8TM=Ghih!$(g*ymHzDYhXXuF zAtDUMEchg(;nw=!&svM3z@Gixo!o~dIm6a0nJ|u>ei65;2G_aMyXU<+3PI;xIOMOp zp_Tr*>nY`TLU{u~0e7@akA9em?|(2TLmGt!-S(r2QhCZQ0U8L54GfNA70!LclJxQ3 zQ=v3pOU#IMV1w~91X&GDLG)nlWNUl{bx8T6q&YENjE#p*kAAS~b(7^&dQ4;T4rwa! zrQ5%W@2~s_Q!TU(Atui5>k($ljl9ufSb86c^v6#u zsti9)iE4Hu`*N{Qc6_fRlA%;LxjK!GGI?3zQ0A+{s((fByWnHt2=Y)8vx}jO;Wnm`98gT^%U&zA@NSjE_U=t0S0y+ z(V>T$qe=~rR3N#?lm-+y5Kk0em{jr9nar{E+3;BJdjzt3){75ALl9-xJS2kF|Mj3b zNIA+NW0;fkn)h`P!LA(ns~Ls@e~!5Hg$OYqoiPIWqwTmLz!$ipS=aG3TwI1k?8itB zD83-)JwK%~9*tvX06t6705<~#RLt*&ppq)nR|5zLjkfo zX8J?ad~+w_qa1zRBffJB4ijBp>m z@JHDJ3Np--T|O2asLZ1c=bZrA~oAKW7eQ0Jsg27{RBio2JbVLsfCXNcm;gQ&UUJ^zz~y z-mS>faPgtAUuY*p5~VeLdr#A>exJRc`6+`uW^v*an+|t~*$vw1QMag?N@;)2ezq?# zJ)oi%0#3gxeL+j7YC0>FodV!tNElqjz)-lfVW#8+@oenNvb|Y^Bgqx@)l#T%)T{T$ znBHA1+>GV;J}Zp#pZ`2jMk^xU9}=a1zYcV0K=EWh2K$4dOdKF-lt)=~51%Bgl%J{U zypr3J$}lMi1~)rN(5{&esM*2QVN1xqJd)uJstCiQOpd5z_)#vBB5>q)xK>(vk&3vL$M-~ zv(?7QLIV)3^d@XHlM{fmTQGnb6@lp-$WZ0Ji$Hk0sf#&AflY@q11NEU zw}JeXfVwD-Qs4`Rb_mpIP>2^6N9jpOKk8v&HT_53z8IxqM~ohq#mo{l^l$awBrPxF z0#?ljz;!XOf)FE>hbnk?F@dJzE?q9lBt!{zK7U;4z-W-Nj(sy=Oy}9yv#%Ca*{qSa zc2}+zL6V$#;xANs21lQh9X$XtS#aqd0Mke#e?$(3DdJ#3gEShdm=_Rm4FE@oJb=@I zN7|oww9>=~&~a$LS7GYH`A+3}a!`Sd=`+1i5o^g*wgaEm4!kd0@>CiQf^Ck&z{@q@^DxrHm80ykp(FE9UUy6eIbv zd_d6RkgeuBtmthOKb77b>Nyj}$<`?gM!}z%&}$KY`@vt)jt?MY#~2mKmLwjj4ji!+ z$)Z=`q9jehsF@N8Je>0|7RvnS>Zl#5sh-%e0h2iexQ)Ji!IrztgoD=i)=G%Be_$ZA zY$hc%`MW+4y>nIGnTTHdvgaESL^?^RuPl*-x0$W7nVqH~9|ID59qD$*XwX7y{8RedDl{E`=_t~9KI&l?zE z#A%ZTrtjfu?SbrJJGS&5Ft_4V(=a8Bf2w`|3C|2$pGX^@?Y6GCQxvxd;6wnUkjh7e z^L(0S`PXRUZHTploGAG=y`m6ktZ@@5B?{rB5z*2E^`5=R;^_Vk%w!4sf{NCm{AR&~ z*VKUWt1G6|-Sm0z($hcpln+q5~ z>e7PJPUku8)5rJp3yUa4^h0yFVBYs0NDzR!O#PGE?lgN^+`x5lAiCJDubc7*Sf+te5^YB=J*3?^P&&_0Z#^4vX+tXIB~^fA?x1r@Y0w#sT&wiBMm!Uk6RhU zr^g0_8qtA{s}b7k!^`X_X`mJ%LI-28{331(>(<#qhTZpZ!(!qJW)Nh*v*Qf$8W87X zUHTHh8Dsv_qJ+lb8p#|FMR^;ioFmjdDT4gZ7cT0c1wCH(KQA+fB$mr=|HHxUy3211 z?d`!hr`TwfJe`$w*VQ5Xyv>E7_&}n!uMYzU4W+=X!P)v=cRW1zneb8;?X*;~Mt*#; zfxNYs$XZ+FNDd&wW8gTR-6^{FS5@>X)uT{)DqB7Ctpi^$Vqa6M7$q9H1|i-GhrU2$ zd~@fG#q-RKg&eLhLp;M2qrW%M{!4EKX@}yKe69zh>^r^>Y8i`}-ylQ-D2H%bx}Axd zICi~$4Axx+&KtdxxTGtYIXas!=JexuU@w}!{fL?XhnOWmA}A$dOu@?B zXv3CYjJQuA_(ha%v2scql{J?D1p~y4I`(;yEp)eDOk6g0ab5^Nqab0HntY)J%b)f} zt|-tsAO(4e0mhDRG)dvq-+z9Ee-*i=z*wu`J_9$({G(TvKP_mX`U71KnD<5vh*wS! zTo@cCuEycT#YTBpH7@;zFL-VHh#UESULl}pAqfcH`e(wovDPajx;wDVfX`@kHNuQV zM`P20=Fw2#BghQRw|u7q$Np@KFTL#P)S!gM<%8M>ut1uFp{95W7ARkPgz!J|xTDI` zE~#evH3AYXlnob2bJ;A0Yj(!|t$Hx!-CZy)WcztKl&<9@71!15tr%n-k|~4C;4wf{ z0X>{KB+&td2ezR$U%cLMif2I9R(t*F*RX5a>UHj4`q(l3H_Og%o-tqaU6OCLobn+G zX41<)%x7porJxkL+uUEs(`P+or4>@0$@z=u{|4Xq+(Qv!-I=U!) z3)um5*75*UO!jaqTjW{^t-b|qjhD2x6glQ(^&2}<6|R2Lu6Nhkzf5Ue3BGxDf}47& zEtFh&I!D8YJ-9cN6}Yi6`{*Oj0xr8!b}=O6@f43`19D#8U#^O_FyB(BJ)k8*%c9pP zn$ompjE8;Nf#PzJyWe1DcRt?>a zSCjQ4j5>)dBl0?Y$E~%LYy>>enwXWl=HF#eXs!EN_#OMACcQ44>$xPipOi z-?|iayAbaG=Xh%8G1vep32>rT+VlLKfpS20E%b!9gE$(CVX2NWkt1813l&8^?*DYe z1`gRdfsSh1-?O^LtCO$9SRuRQc;l&Tr|iFLmzb@W_b;#Cc`HtK7E^4!Km8X77|(WQ zKr8`t`pyF>077}kIvh!nK;4Y|?Y$=}m4=0a81{|%7M99^ZF}Wh=HIXIXYIVsp84vH z&f$Im`D#(xonVgi}sp4!N63*8;xgBsgjmz7okmMJx zvntyg71~QDxz|L>ea!HttmJtysiZ@y%|n&lD+Ilb!Ni0&Q)lgFmR+|9+V!+}t@o0t zyC%astu`@trbMl|waM+o#t#3GR=G>I*Wg@AYa2fP@@1MXmO8=yW0|(7Ea-ZX+r9GVBv38Mb;eorgFbFz2n?yQ zPA_mLM*M(cxLACxVC@G9!&5HV+gRyB^$d(K`tVwgTWrb=EGv=W3E#8xC~iw zK|^IbVuslqoynzc+StSxs=zwd#mCRz-7*L)JKLKNVkrvoR-S9y7~dFD&TX2J&VK&P zZo_-TmWE1G!i{C%Ocdc<;J#Za_ z+Y(D)!?aVCQYC3oJ@$kNq zrr~|pyV77M%47V~ta_>G{4rK>%9md;pN%_ThAo83scAHkqVAVH?gBG3`Q-)epR2dY z0j(?aM`Xmc7j|FP<>%!yx4iqkep`J|fD^9P`;R9RJljX0Q1-r8Un?ZcWOS52Lkns` zIB83}lr`_%iLK0Twfyh9kAa4QH#6LR24c?TeN82Zg4&$KUA;=~ib;!-_QznNK)aL) zZ~v8x-6#KU9H;y5IsRCF|Ao{``DCdHN9t~)D?Hh>iaH7bI{%73D=r1pl)6xby&3{_@t>yZm4 zX#}p;YwH)9FR$h94&Tk;|Mu@G{X6rSKp|BLMyaR6|JUAIzD3!-(ZWM_$tX31ltYKK zgmfz-At2oyf`l|kHzFMp4>2Gq-Cfcm2-00r(zP#s`~4T*Z~Hj>;9<_(_Z8>4);ibn zO88nFb0H2!x0YRCgw(>kHdoZfM!;wM$5@;>c_ZOa73vhZY`|(GK<6aKUMXk`j_%1` zXb>8aHkpHu3xs-=*&xjt`0(Uw@T=WLpria>@19&A-3C2ErFTyfr3+iO&8br-R5HYj z|055Ug?4kMn6U8_n)&Rw`_q+Pp_;sof>Tab;93#sQ`sW`S-B2UqpSHL` zq;S5+crE0;9dyp1OW*el;CsH?VRW9I^y|^pjcd~)@Q?$Eno6v}z;`qXyocb2_h5%d zs;;g!VJ%b}E!RTxlLDBH&!bbIXA#*N1iaMW$i6@Ei+L?^jen3O9!(^10b&+b=N#Lj zC3L=*`_rcnOHH3<5xN5`8HC+oKh;KRpz2@i5+vDUQBj-MHwLiiLAI#yt>OvFP50X) zIZ$%b=PM+;Yj&qWBzbW7fRKLlh)ZSfEHJ}p8i)WfO9E6P{M0|*X4_hhAeyxN>aMf| z=BM5D;mBE%c9ahH&B^!Q9W2j_f7(h5J15~HgOj|7s*g0vxg5k@uj zsjojP#<4NI$NdFnsbsn9Rip4wt6bGg1;O=K3|;^~0pP>UKk#R4uUz`lEmEAk!yOH; zt?Hs_v&|Y%eKbM;Yb>yT^F@ppq%#%H!xXQ$)W})3SRb(37yE3NA}_i|MYAv{Klj!U zWZZ}j<5R`Ige#^Nkf~3|_{WI&Vovg*y%=^@u;k5ok5E1f`P<3;nT`E0i6 z?|mIKk9mot7LbSB!eY^<|1kl7O5n`*Fx4v%$^513M2v`1HT?beSK|L!gB}n}zud2G zbsWCF-%CfXh-IbnS{z_qp`PaeMZ9^4(&q#R986XW-~Oz;2{ zhY0Lt>%+kcmYts8*TqDcwD>C^Q$&lbq0AEX49vdYv-DZqoqU8z+rc>R+wlg>|0)Xh z$yJAIL=DQpL>GzvlMK*G9d+AWtYS~$^CEp=7aC{Ob#gm1`W*P>{ZD8KbcaH>f1Bo5 ziz$uKbr9SLb`u}Z2N#WJj2Y6vIum3n0yDcf9%zr6zVcUf7p$6aJ*ox}yyATQcRma3 z2yytf_PZ|NI|e>fFD}L!=}40m;%LW|6qsb1r*RVi9dKydfrEhK%+v5?eE-_hXJQK= z&li|2=~~dZN`Hs)X1+RSw|pc^0$g+ZH5xgASyX|w&+oT^bP%hCEY9=Ub06RaHtpOV zX~O-Fd&6r@*g?6b7!P2JAd1g84e+*6*zt=dQErVSwFHt0aU4*o;{J~3^I z9~%39V(0(EbI9C5iQ^BdGQuYJ1Gz?`YH4f$MSqgV=F?OamjAddh% zo|E2JwuS#tM0F2FaZq`AM*I?ucQw6s$0llk;V}a0ymV;1CYO-S&bL4NdfDYHig~Wyb%eMVZBKeoAMA-Kq%=x*@?z{lNKVl z_|aA-?Bp$S9 z)#L4zrhQkfZ>K+iTn)`6QcGojqv`}k7L{nh4=o2iXQEuLcc$sCKD4S@2V4;ya(!mv zbCm4A3!A_cuQ>)%whV9joJX8Lc-p{=XD=FeR1e3`_b z&TH|Dff0%zhpM<~Cou9|&B$a9zKD6PVr21=k`5i%T*AI4FPViuPv-qXRKsCg@}xC# z-n8Xy5IrZ_SV^zgRaPV!mx-})j^z`InH}NdfQm&pixh>qVxW9@l!5KZ*7Nq08?8zA zIUnQGyVgznc+PlyR+qb5@c^cr2uTpB#fuN#I71%*w8~I?J}o}v@{$-}dt`+sjY?}l z0kjW3Hz+-8+4Co@i(IXgssUYty_~OWq)h6&^wOWQ@nQYe%%0kp(#)Uu0Hs9!8y27t zc=_4|lwfAf9OSw*OXx(oHIo>Sdr10g!Cyi@IR)A7hyZhcx^Vfv*trt#HCiCLyv>JAxWisgV1*FH*k%Iu~F^nr=I?+^?k|l@onS^`;Y~{ z>GM;(L5t}~lRC{0@%GXd@hZ`bY@byyzTiBb=s7Ks7W=~>nxKLq5vxP)k9}T3 z?Av-!bgrU%$UHw)+E>EMGW+2TYa_bT?S5TlZEMWb)Rd_ql{|@w_=Evc;YT}T>g#!K zwN)la5DT7xxa_zBdm~z_^Lst_6{r%1eD=P_KZz1JCPe`b6hlL`Yw~RwAZ~wn$D;GF zg{-za>8Jd$<`{a^dcY84`tt#Er&}j=I#E(XCqHXj^AtbPBa*D1xA-rG)HjI{r;|Go zY2SG#5)*U^B((+Mtp}#=?(PK>V(>wg^>}2#z@stlh!BB;*NjndWIf{v{iN7=Rt5fH za546a402PgaHAu=-mF-1-qdyB1e^#}Ce|HK({skar_NBG-=+x6foxOFR}HWi8y5%h zDQ^rngh9e8xoiF|0adft2!3Z>k#*k9XGEhYchKqUx>7!y%fm zG)Bc4BTmF|m!JxLjecf^aAiXy{VjzYi3`04^3NFGg`~d=AVmKB$+*13Uim(AD&lG& z^|pLEr9ZY-y9Uq>yJI-?o@73X2$JEb?54&)x-= zTQ&SY^~e+xmVhZeL-w>HwmIMFCkrEgeso*!j~C8jxP=4}VULoJjOfz?_>Qg`%LTqn>^+gp*slOQ`I7;lp}!Z#k>eH$ajwZd z#k_Iy{m2!`FLe0vk1^EE)0t0-;o7>ol!OTH3*x&dACzY!s>|!FkbK6C?_NTxYWeWk zB$=##e|1pla}SF8U9`O`=2U)|kT#HlA-wd@kh`09`cq8|I>c^vHxHkFatl+{pEsqc zeWKL~epiJFQo*Q0~V+8EZ&+FxD)i5R35^A;TlwXUv2&d$z= z(NPi@J9yo3W2D*L)K$d{4?oUx=5l9fx1y?W8mER79sES@2tH#MI%qy21dY;zhOM|9 zr;}I_Hq>E&MA8^y=_N_qZ|gjkFCXG`c>qF9g@i;ut$NlwZ9m$6M{0^9EWvX4`=!In`cT{S@pI=l2pd%b7nu$}I1lisQbHV`5XHBe zwOH_*bhb`BWz# z(u{bJ4uiqxwZAd%oDLS6LNha|MbG!DN&Pr?-hGZ} zj1fI^o_6h&lEBfQG&-?U(T#_xOlpXPt+@9%XE5j_>13%T6dYdrFe=hBl$qpO7fuEg z?9Q}0p#TAMVWV5%h3ObR+N%=&8^QZ|S8DkrQOb~jDt4XUX61qj1jN}vif4AB>Nd_y zUu_%{_qJ2{BM1aEJ$&p5YJp9R&z{N_UW!@Ws~sHT)Nvuzcv=QAUC}LuTM0wSqe1&b zTH3ESuE+k>-VzY;ZB)lU(r146m^}yXu{EmCFl3HJlRHUb%%joi3xZ`VhCjuq@mkwy zBFvVgGbB{iwPw@I$1W026h|VwCnmFm9m&rwiACnB#)_ubH~bv^XqAVCgzhg^!Hw{| zAB9d_kWV#e&Oy3ZW}IK#WTDm`=w%b-{awqF=MT>1ndKsePxEEvRGzaBJ_0^dSfQa4 z{=I)vVt(3=7-c+`l`NU>ominytm^K{%*@iN0{{9OYOl-?iZ%al!jXWkPzt}DU zR5IoW5UA>*{zPQyf?aVW^kaA`DW|)TEM?2wZjJ`jPQTv&1iDS%ital3Y2JoFLLvfn zs1_(bYyY|Ng#gbtH`$=VNQE zB=O6~KAyE4&lRt)udRSF-Azvh~CKv!Ie2Oo|COquSDHg;v9nCA`db`jO@DUqpm zkc#?<*KO0L>$!h$?D*0@hjL{Z6;3h+EFM(zYA38I-qZXE(I zVBFMLBPpa12>)moNR-eJXOo5J07)Mm_So)utjg{es{P8*1K<|v=H{lhCcMH3>XoYU z!kZ|8@e|Pu9mCKeuX^y=`VuE&D&JK}EN>BM%Sj=YTmrC#i?z`4vc!d1_2DmzAvQhi zY_H2znhWZ{yxTqtN_++$W}+;L`|Jj-^oJZ9qFEIURCp(Ik~z!0--?i2d#31QmD=i? z*{Snv*PBGP!f=!rfTuX?3uI=smBMlNXkqQPd=);+os~Yu-FXDxK6R4?B6pq0o-7^g zN6Q3rOn%yJRH5##jV~yMJ$iEFiK3VgCD5%23rG-D83>#13O%gf84F|7`_K5*V-o9( z=0lcbAC6I5syn>i2gX1vz5dVmFlXlqr|qU|t6(!B+T!ng4B-{HW+CLrQBX z;~@WC`!t`P&3POJlgWj6;9#*~qpo=pc5$11yJeIsv-lPK3a%5Tig|ypI03CxlSYmF zs8c&!MU~cDmIF`8^Z3zl%q|V>E9D`y8}T>Su?w4-!4Eg$eo5RnBjQIx#$}LEd>K#I zimlRTY=Y53qk)eG^w>`o)#1%a60aW74aFUmgUqvcN&E<6NjtT7-=3)G_x)Xl1OV(epZ&n3PRaA zy$U-{scM0&hnpw*&18NQ6ZUIhPRNhs{7yDP<2espcl=+~Mbh3ZVRdcx*lQ%2SGiU& zyPiH%OJX9WgIj(!{YIa6chfA3sF2%&OQ9^l>~;43SmWkBDk8R>PmD|u)4+K9w%RWJ zi>?i&T4lH_VyR*>VAm7ep2oQhGCznCQRrH^`Sj)OtrczR(I8M+hndfefd2#JP?CA& zQ(;9^kYTp%nnEwle^rM6q3SUNFy0;)ODI)4n4b8R7vb0{2&kQlxR&qpn6h1<)HNR$ zmhHIfKyh<(m#5T`A3>{F-4s5~HHtR%HYSacZhuU{-0F^-d!)0l_^ID8so;N;>%eBh z$ez9C9dLa$IT_6?w@$xLO${9%`iTGE2ai=Y#vOE%Do;D*P)J})*3?@3kj{LcM8owGL;)79Irn&PX znd$TIf1>#H%Vk~*Tg-PUvK#&AOGh7Xs=D7fwh_$L9{p2)9o;ObtllsdzEQiHtIY)Y z4;~U<7%{0eTok6eo?uv4|C-_pD=wUT#FiMLtgjhg$O6^RHc0A<{mdB7?lVRpjSMSl z?p9FP7+^kxOHH3UJGhWOY)j5(O2me|0@*0UU;ypHNutl0*tzMMxL|>`(tl+_G3#{C zCi!B`(9uCvc(L#37wNJ&GAzpUR&KA4{uh0=a@6f(Y3iCT*2YFR*bgAdfK7_cyzoF8x*7Q;Hwp@e-gOT%~w~u^~ceU_~yBn zV&SK<;69=xU@qkzX3iShV%v}N5SGC5Dxp_?N4jtTbdazilNOsVS^kWQDZFvmAyF7s z5u);-uAhWraADQhQ6*W&;D@qDjOQ4=LD@g*t88dc^ie|>hIEs~I;2hD^f#2XtqOsV zDg-%jp#KH8AqS?pwf4`S`TOB;*!F!uxac={{?vF3W(#NL=ei~)CW_078|wp-AETI( zIJIIU8)JI@W2%?*59*SJ!C*$j=-PVPAVfvJKm-{<|7-yl-{73axv=+JA}MuUf0TlM zjN=`O_rIgQnZ>y-qPzJvs>@XEEoksCQ;}Q)az`51W8js!saR`8PSs^H)#2dzrzF3Q z>|}GD3YC-oz`XYqBGE(&$OLnW2}a4mFM*I>pPwrEn4K^{;DZYP0J_0|FD+Wz5Dr}E z#x;~z*kbj|s|kt^&~VkEB~vzA@A=8czdCBcP?qV?jl<~hjVUp0vamuOX~3QYid0Z^ z8AE}9DQhQ9&W=80L>yvGCL{b`9G=*o>)65h!#Ex&CxHv_+2z{Vcbjj6JI*LGF+uD@ z#4gX|%V*%X^2zZutB@j$uSxQG_uvSunKtN}-C?b*t(E&LYnI5*=~JpPSZwwr?|mD@ z4C<%r=IU*fULOM1)DJXG&ELJ*CE^3;#{_;^oAPM%q^M6Lkc5JF&Cg10hMw}y$p(xp zKXo1I`~}Au-<7;JKmCaL1iE@Ujx~K5tt5()UP7 z!a7NEm0^)zl}d!jRMnc^lM8cP#qLq*uM67hqq<8AbMH!$Q6bQ!o3mub2ih7w6RpCi zsN(73Habovfw&YQ&pEOblgzhVMaICnlgw#sYa8kMExeq-Ee~aikHk%+N}`Wf)tbso zF$~FDI9nChz-dcEfcivian7{1N()5NfyE1gc7$f;x^{MUEE_p5f0xg2osAlE1yno+ z5!_{~Mvjg|^A2P!zO)3RFD6pB79@O|0nud87K<_(g{0?pGJenX5{DTDX$g6v4>ujZ ze+UY)PFe;K%jfBAbBgrlcTiq0`hEMJtnjFfEgX4j)T7y*#P^c%n_(;DI0u>&7x!}) zy=_IR_+SJo^X!cX6A-P)%9N5P+JE8R&NY{$DObjKKY;PY^HJWni^O}*`G=s z5bqaN;2XT*hr?{$P+yPTS6k`s)Xuk$h2~KfiTRo(_GfRh%IA0Nb}_5{S00+0q4Bhp zJe$*R{0qk$Y>2q^@}U*j_vMB@kHIJ|9*$uIt8)FL~0Vio83)|y0X=q8da%S=<@Lge4{SAwvGwO&pAd1-qoB;~Z zpQohoKs&;8QZ}%|vcvsSlY)VfzH6htYm+|ARb=bz8t~~10o2Y>^rQ03i;ZQGD0RF1 z3$&P!*;q~nANSBqMTFWK(|ZDVoiOu|391fij!H+@g!xKqDaXrCcl&o&$(m$*GOr( zDL47oxqV)FP^>Sh4(A$BPn{n}yMNP?&VE4{{W0?k{*kfaRKEt!lYN1b=&I)0vr}-| zOmsd}{}9L<3w0FbZ=-L}xRk!E`5dpZnIg$NvxZdLw2AovQ=i7|DUv3^S46JA1ifqK z$|2t7L|_`oE(>u7sZXjlCv9Iwkm~!+-;9rtEeULYOu)4GaX>lMMwop%6 z$0=;3JOrZkBzuMkQ*a2UZDGwgpvur;J9(NdtykC%er0KoCG%ILq9PpaW5)5 zYMMI6Et6DGnp~ol&hqlBHD#43EsGzN>fUC9Z-CcKF)*JV*LX`rWm0rPgZ+R)dM@R} zPLenTnC$UnhxsxR^SVVH6&eHr6%h;u5QdC4SDd-IISoujm4~gz7GOMA#KrM+%MG!K zNwsDi{t z6R*D#PWB||B7RV_W-!Ea==l8*#FEdz27tlJ(jjq(^#pinZ#2*tq>7nW(xogrD?|g} z@+3Ak2&m-rhna%#ScyAwP+T8Bx11CBH@NxtJJV-|bx|bi?r=bkb^y}aszw(G6t~Vk z0{HUm{Cs@hZQMrS_jN=d1|=(%X}WSyfnuP-q>;-y&8eRc>gD|@mFGfKI`!&1D*xWU z465qQS34!(hU!gyZVAr2bb%k{Df-i5niNrG*6+`h_^}zQvUSo1Clo;(R)9Vv5r?Tj zs*R%iEhfq3ges{g!U*h@#odmQY55&_`7{KZoEqrffd|IGv+VA+n?1{_4&_8_>qgF+ zO;sA}Cw&~xV2+d~K_x}3$Lv%rQz$dNGbK}ItWDFqIbgwVx&0RXgzUr+{8L~}ze(VP zMsxb;!`W(NOTq3ja7#QyahPw7KJYp4QiIA0)P}3J=Lb8?ZW!vt_L8l$kH#MtC9#j9 z7*U3J`%al^QP)H{UR3kR_CAj9J|gHcO2zMbnfDuZCazIMFm)Hcm){YhJ;wZ{zh+Dj&^coek_>v5co(r<0z{Ev3?+@Qf0DvNY$68mo6 z$$Y#@T{+)r&8iHep`m~ENVK*xV0eFD9nYBf1nXN$_glgygT4ssm5$68*g=q>j+b)w zNOh)XugWkYKRVjkfxICskL~}GwdXC#>6dY(B+0ANl=LlGv?f1|e6fl#qbm3c>57(c zJbv7(Erf>5{R*O}Har1@t2O)cVAVItxN^#b0C|(8WYDMq+57l7SQv%0On&pA!Dsi$ zg5SN5_vVX5pj`(GeeP>yuRtqytRNn3L$Z>pWBg_ni_XtMR3ijH8xV-4VuN?_n+hJc zB`HR%<;jlh0Qd&%$de8uh~~8M$#9!poCTKnajEQ2wow;wSAqGHzLCtXjbBeVT)P>f zk-HN(9vdm6OZ+2|V(HBBO?aH0(Yj(MezD?yMHYEw{cL!v zmuyaTf0CVZbMG6vcT2q|A*>`WE@g8>QWTzbGhs>g^EWK!)T*fRnB#2C@?#l zim)4XMm@-W_X|Ouh!2&8z;Kc;g*T4iU(|{<` zmo{s+YWaDyTkD3~vCv$kKXL__z0}{0yzsbOPX>ZkHliiO^Db_=T*uD> z_nJ&u>_c(u!feAN$AzN$;t3-g<3$M45j)+S0+ z@`86hi}G#LLHmtDqnf@}ISd;Zz5-(}t*V{$@jf1akIBZ3m4yL#2qBQ9r6dCn1{Xy=%bY%4*qd;NBL+F#743du^4JozWtIO_d@)U-c zq{!1nYVdD>zq`?BRi|5p^NSXLi3rnfxnwHEJ9{@*f?Q$Vw~4nxd75ue)H`f?(F5&m zwpR?n2`erOUXj*B4};(P?u*MnE~hDscTu_19@dH4V^yN^BiZ8@oduBN)3kyC42MT6 zG*aRuGvKTjz&uX*qN0?wxhH%nK3FB=F{#trC8EeXYF~^oU+I!{NG$Pa#u-x@=oE(QIOxs3H_g_P(&*%9xQltO?BGg045UQV$iblLi_hJp>x z2^?^6gGn0q*X6OA!=&G|7;oy?5Kk>z96=^Pf7_qy=dFW!NU=%Yq0b3$;qD_)M8 z2UQ`ZO32-p`NCMD(+Y9`ZDA$h_>r`H=(1Cg9N!FGnf+z0wG_%>b@n|BS+=?ojOVep zrz2EL5Y46$7W{2#d#jX}qK;izD?($y!rw66o90XKH>4KNZl}PpANTq-lYdK#7(OQ2 z_u2h%6w#H2SjQX9$KTwjlCwYJ4rM#Xkw}V004@Qm&N1(Yivgu6tTLR*V=3U?%hD3- z{vKp49{Al~Tm9N)D1Sj{d~H@t7waAQ5~rSCH>2RkFAaMW&H2bV3ldj&gw$YqS`vmV zUkfX46<_e;foc1CX7E1i(4(?dI#uKWs%?BO&c!$%cT8;mphQl#(b|w+w68x6*wns70w{4XE z&S>}tcn2Okzb!2j+?m6y;{aS~50EgTgL&zhZEoQ@U3;6!vbgMK5CXi=;7jdy*G1cz zk^6{2z11j!U=ZDB-NxRMpOu-J?};qW@#YpzNZP$IIcfyz=!ejngQ;kd#r{x9f9{xg zG7Q@pDtxDd4zyBsuGPwF%irEXIOn+#dEQ4;r5NqG0X9s7|Ha(DV_)k_!DRUl7oV(- zB{G8!TYB&BUl1wC&dwR5P#J>w1iT7^pQW-iv+U zdh5?s7<~F#76DM4g^#-&iRR(S2Hws)%JOz5>t34a3>%&rnSqR|>%H&H7pGUcgH(6N)NX!QYpLY@SaJ2xA!t44PKr0?MH=f^hzcJ{j1t8&SeD;jbbB-1` z<2xQpQd;9(?jqgP6QxysESit5_$Z|T`MdS+qgAc$AuE%pXBGoCDoA-0iV3Lt^gmU* zwzh8PrE;>uY1Bnt&LZ84ZICg!hn*?fby?)!znmXiXqt5ibY&Y~(Fr75f*kY8&E@^N zg-$%KX72Hqv55`X|6wjEa1OdF2Km;^QDU$O_Tc;$xIE~Vcd6*rrZ zIExX138~FDMb}V6Qqs6|I{A?)FI!=o;bPL?rQ8%qw~B5^3>fM z&nM*Dryx&KZ$W`oJn#ML$a=`AqvL9Fd2?XX`QK$=f~$^(v+74CfZ&7JB5|kq5Vx+( z%^htvXtE(+i)Lkg#isVm#c4!YLenlo%B0Ul>-F%BHkYOU5fSAa--W_eje~}XDlWXy zq8-;t{!{DZ)Dk?emN^O*>g<0`f#;E-W#9_>$K$99+c|{^s4+P}8S)i7V|0>$o)nPr z0KnSc(pekB@Q`CtTr8p-PxJjY5e`@BiZCd$>5}jmI(Ze|`cy+~T@z$nks z4{9oY#;c*pS?3rGMCx8KmtuEQ7qs?p1RvZlVZGtKh^-8T ztXb&)!!}CbD4oGTNd4S){fcDWG0lZc*$xanQiMKLdgT4D0}JS0x4<)YO9FOM8CmD zNe@J5y=HhTsAsHkEbD6FEvm%X0d&|E=Z8;MeEozjkjE}Z!ow%9HV}M^K)v`i#6_FB z#$lImbIzjhtSFcoh~fZy13;%P+ojEs3zY;u)%XIIh1)tmAQ-yntsd>tZ{1YUH2vgkP6djRqW%tr%v^Cq3qZ*PESaViq#UCd~bIR zO@S_TyN7I9h%oZk$p*h7zb1R@ht5kE&M%&w!BPk)qjd!6rOLH}jCI&4dv}di8RJR5 zo`Z1=u;njC+*{GUyoQxI_c7t4b}Q0<5z|nW?xaTH*#m4bMa!eSt*MB7{SQKKKk)pB zL{&^0cvBQ!7igSUp@#n`-RFqu$s!#8w?D6J2T*z0l)Zqx(dyvF&zN73E14I+6Mls5 z%&wDEX>t7uODU_Xik&%BSZ?wBs5<)=|J~f&gQL7_7dc_cN;%1ym6jJaH&w#P)*U;z zK=Z9xC9ZL`+mdH4z`f3=czAZY3m$vD+dd^`5DI>4F;@gC5Q=i)J~?%VfulQRt}|>@ zkQgNbxf5T2oM4WzJ&iohE#;*(r=&k&yXu^X5Q8QlA=Rn3zO>G;t`9JF4laQ4kjU~$ zg0NAYh%3@;hBXLrEV?oI3OLi^4;W%smlJ!H5}(DG-kgJ!jM8l3AiT}dq3EKbCM;I| zGIJJXQ!~a=q(#R)bevjeRboRWYP!c#Cq(=$?*xDJwnJfY;?ATiwPW+0$Z>9aUE8gF zN>Z>v-4NpyOx~e24=zP6tJYzLVvYurFogBJUu%YMvsB@y#^J!4IAswKp0$$3862$e z!k+b9gKfhixjRi+ufA@JBu)RSXl_(O_yt~&K1F3{d4)A# zy;v>gYX3W;uX#+oM&}UxsJ|6`&1-c}pQ0wzq3%l}$f*A$AzWg^W zss@L6iXs6HOK&B|tj!-Av0vbEO0&8{? z=82t$>~}!kf*PUy{I~0n+qJ?c<>&aNrDZ1J0(a;~4e^`8UnPQ*6nW(jfXJd=_+@M@u{cGepMH|k7n^lR~3=ybVZ z-xs#G6)i0Ua9q?y`2P09v%ae0#i!a{j6zhj-rm*3SJ<)e=>K_%{Uaob zmnQ-9;nq5U!D+j{Jvag}j#g_Rb%S{ja84X2tv91a&|ZVIavW{tZ(+4l!x4G9;v|8b!#&csaf~Ue54n zVX!T7r~X=zx1bQ%WeJayKA6NVP1zjlfbQ_WDb0ur(r&V_vAF{njBe)~VMdWoi&M(~F*1 zK=bvWAE|hgiZZe5mUHNvYg69g;iiFN^jiQ=T%|s_O7~8uCRXo@0{WX*lcP>+Fj4qp z8In#qf9o`mT2f?J0L*cd>F>IeQNi)bpqf^&^`U8t21XZ2U(Dlo(o68bX}lIYg@Omn zO<-zbf5ndd`$s}yi|j|8p8*m5DGuboGr^b`Vl?SbL`0avDd=DFw%o+pS`qmg4gnRK z5_dxz1C!vFstj)IxO|p&^VJ_X>Tc#&`g-Tu-|u5}_HeTTM<<|?u2tg zn*3G7l?|(QzIPDaOJel@r4?O|P>VW)235b252=&`@4qy$)O`Y*6Hj|ZyUU|+xzW_` z0!I#7FsdN#Nsy9Nf4^Arykh(Cj2DKI{VSCjhp!8`H2_y0P}xTg4OxBHeO}@~jDB=U z+Q$Qqt*_J4OV{uT=t1i_4e)ybS&;a^r#OYVS=Zi-?pM8-Mm@~=gSN>?-py*`otkD+ z^g6EjiuU{~tRT8}tOFopQhbONE-fpKYJF=Q1U1d#Q2RjL!-Imiyw{ER^hkwLLxnc` z->glh-@t()y3;FZog^R~Q-mp}S_Ki6xx%nOzlS$8(y# zZN8he)qV$}<#$-Ca{UXCb}9JNf3UbKbKcU24Ehh$ZtF=({mMS>k#Pc#=;p6`8z5di z?q>P57M{Nsk}Zf?H|ew8EzwYpMlO;Ll9}t!q!Nl`#Uvk~T&MHkbje-hVt>wY6`23lyI%6{sI z?~|t&MX63dj(8D~f(SImd6l*KfB{~tjZg#G8w%J9KYzB%)=i^908vlzjkbZv`EKz1 zeb!UeNoWMJ>W7^9*VXS|h)f`|H;eKF)j0mjVURc}1-1`^%H=0mk#YjDwHFIgk2h?{pSbrBn+RyP7zyV6T5Q0 z$r*%Jk3lKp4={s&_fA{SK>SDuUDBJMbPz>Pc!#f;~iq*b%tM;Z>I3|^$otkQ%d(5t`^7dlY31+#m%NWLm`yPUgsuFpX zeLv^d1qNfg&o-DJYys-aVBDrBm@A6IW`T-$220ofUwR*b{&ZzcP4MtH4jDk0jwnO53f%M^0)zUbdJhS%wSn| zxXWA5pw^PCbCm-$Ge0cx!=_7+xO2{9x_aF!$Go~4R|?+2ph2Kx1c1^8C zM&|5mi#M#L><|;2F!nw8HGbc$=OIMUalRAuL%)7aSGLpy1LL}e?K2-*our)Kb}=J# zaOImezx(rx#rsJ=DVVHPSWg)|F4k7%L?u8$g3MH+Ji&P?8uam>-_o<3k|g4;89 z0*Fm}(=++SU+4Vww5pv0c!ktAtss8mKqg7zSj>oABQGy1Km*VG{@qb-;E5q|-@^qs zvgIk8H|2|!_8v8q>~j{knys;|2VDn%2tAKy#sO0wNB<^Yul~5YBJuInoLu`uN-`?q}@&c>;)z@wD5cYhDh#0&_5!!sr~8k}QDB zgZ{LK-6GxWkHdy%OfI{*y7TbKn69o=$&}PS`7%b}1yYg_BB|0|YyY6I=^5f`i}E`E zn**r!$!#M)ce17zFF-ZGPOV>(V^ET_?D>%OLkjTOw9U$a*glzVRlriWDx!Ar$xp1A zpx=TL^(c?_7TfQ-&hN#s0pRUH%t`b0f|tkH;FtL9fnXP0`ayG@CqTBEz&Li1otpzD zO}CPQb*sa5TVmv@2h9Fm(A&=m$kt(-j67ue-k;Ilp@A9{gw;8Fc!UAW8@9K<{C9-# z22`DhugjiRA8EjttX5L;xLwVXR>9dTkoEJ)IE+tKevo6RD)APBOY|Oix3AKUnvp){ z_R_8hQV}aJum)C5wX1aN6r)jd-9j;-&c$EA`(-15D4$+FDlG&haK(y{#*Vc2KDg)U zVgRXaXJ-dAil%GV<~oB{qd@aSfEm_BY@JY1oS@SS4RF<$YeN3@zt9<6m!48$s8k#F zxY{l(G?=cjoqpg~Xg)w7Pxz?}4_R&G0LV4Uo9~Uwt?~F&3$G*#%t4PR1>u_trG8fO z!VX;W$a0ryz&Ap8jN?<`V}=Dntf5bpAITWQ(Xi8ygU4w|dlJcb#u#~2e4vo8lAi1) zeJw70+F0;g=CPg9A)nHMQHD9iqq{=mG;Q!qe(i$sFyU`4y7V%{hVI}R4jc8)g}*VW z{%tpyK#}t;Q-)-MF+hU6qNq`=f9V9$?NrLBN+L&M6BC45I{u9vcc!^li-Kwaqe5hw z?QPi-?cFl1n$ebal+695Q?}@k+M%SVRQB8wp3d;e(l47LPZ|yfbjce;m@q3aUfg$k zCpQL~yrt`Y4=2VmA7;9*yAv$L0tih_Mr+(4OSx)xY4Q+wBx-^A07_Uc*2|waXkaaW zn~{=5d<~pBu$I z^G4UBLu3Pb$+Uyz%fXn$ek0hyfd&+6a(FOFVm~G50?bb531u{9#D7dcfXb&zf{AjK zNysbC$TrFg5C!^(I138Ekw_AQJ@lJ2jtpakF+QOy4N3S6&$LlB@wpNNE_(fy5;J{} z@a5zO5H1St2{20E#SO=n`au8+fbMK^S;U&jN+aj&eyzqB36sQoU5hl6^JQr*+q6ya zy?vpQ)$C8!S(QKOgp{%)kgQ*kYL~)iBGf~gEwL6@=@xs~Sh>Q%xX19sqr zs2W>~eAXuDGJ{!;@>#0bsVc!_=&F&QVG`nFStOm}*R%qBC-Cp-A@Ws!LNU}d_o!)j z(`W3eqDriJ)2+zm?Q$<@B!94dXP^t?g2*BY96H}>X=%H*v4gR$D@p%hJhFT=r_~W^ zcF+*+uE-XvR5mq55;^{9cfZ>km1A~z!5IKMK$bjkf~tSlYrm19&rsHd z1FdJPtKw`o7@zX?I4SrZp8GwFE^Gkwz(5yEug?h|0w~pT`Q1+W;bit5^uaOI@TSKQ zkngL&J_!|aGbwRP>U+^eJF&zONJk?qlW*`+AfE2--xwWt;05LJD(yYF--)1KP_n_t z?V(m^Aov>8RpIE)B5(;gV#DWE>}ZhYi3tce${02&O#uPa$-|En2B1R* zzwz+H1xQ){@6XVA49IUc7uR%y$20 zpyAmQ9XOcX?Z@M?LF(Q8@n0 zVal4~8JL)qm&x6q$q+qe7KacrUfQ zAMM|`4)^MkPu^9^*b89)Gw?|3b@z4)6#MOdOe@-`;ed015!-gw=!F=R9NX5M9O1yk zcMFgBaWqaKZpNjJB9V3<8L8ZqWk+#*+7s14#)-&3iYec7c|}aB@*-94^rf=LG^Km< zyDCDfjO`i60gIfz%?>8wDr?c83l0eTQpfX2Zhk>uscwopg#?YHo+>n zyfYn2DO_M*Mf!Y+=TaGUn{HWwn-meMki%N_gp*>6O_FHA~@k z!#m$aHR9sJa?-7tIRzR^-t(#C?96?Ya{L6D3SiFI?G@A4V^&OFzrS&C#fjyaI3WU# zP)PRkC2PCT@wJRvmCtm}cbtJr!GL~H0>_t^9c7*GxwOC8&>9Q1Rq6y_vt30%mE*aU z+`NNxU~efI5bSb``h9cRo)T7HoUPyna@(TUf65*#zMVJEQ-rgS$^WpQB=V?G66RmQ zm|4o`4IkiQQGm24zUbkR@94(~pb{1obZs32z;42<;fe%dnur0S0s&Pti)eO$pvxko zI)vck$RTesvmz;ZFR(Ub95RQvpQMgJi$jRsR#WY-w-*VhdLB1Eo~Tg2A0Byz$tujp zWe0cOeBILk9iS-h6tMf1x-DXMF}!bee4l@n=s4sVSEf}bA5>w#3twp^SqxymrJr`L zzk)`Kn>SzOX+dS3vT%BDBid_;#v0jB94|YVu#e4*oTYuiTK-MBYJLPC+j_1AzcgB{ z)rSS0r?yITTxnx{bIGCXgeR#%!CKLvsrw1SmjSkh?n#g-G1|u3uAcK4Zq7!GkTKQn zU5fj4#ksL{U$B2L9my<$6`b|NvUh1@1T(joY&0Bi=)nnmQEu}!b&ibG<0U#Xb6j$8 zmKgKl)o411osNO|>})O1gXQ0`@gtxJBo>0*{aPlPw-0j72XFTNW4ox{58L5*vZ7EB z+b?dOl=y+^xvf(k$uN|Ri}Z{lZDd_tjGO11+>bfkJ{sl>T|Rz7)SaBa?YSET56CWf z8~1dzjqFaP__cEFW?oa*l3h}KZ8H_QcQg38KXcE)$40L&Zj)fFhVMu&l+svtyyY2= zeiC6H%nmFs46kH`Vrik$5EJU!DwRe`bYR{uFI_EZG9FvN#H8YFG7U!cGh=`FakAO< z_OV5tgfPq7eTF*Tb$5g-h+xy~@3TE54E)|_KS9k!hz&-PS4cD9v7zXAGt)b2Tkt*w ztV_)!7g%DOiR!tuedNjL`6$=OJX;B(*=}Ztu(hZL;mKs1np^kU{USG^tqt=5%zGvT zsH&T?0n@rg-{ZN5az1~5N0cwOB*ybl6lIQSoj2G&E^>Q}bm(n8bAB|=QIy7oC3q?J z2+z{mOi6O*vsId!p_Mgv0N2|w7lE4UA{*W!4O#qK4=_+0sTyGsn{lk*!)AA$WOD6j zJ;=*txMw;!+j~Bpy_YWz_HAZ;a3cMz5Wts|IqqgJuoF zmvSc7X{6F*40sATculWB5*g#1icC%`Po&)%R3bwM4?E)0U3cm zZ+a)m023f8SI8q7-QT=*stHzBGOLle-egmv=t$>&Xu%>%?A)|m%Ks|py^0Z*jHtvVKAb`tvy#w+aod6&TdjG9&E49)Q2K{ow*@fAsd*l zr&Z`;iyDs1Nu20N>l)-;Irl445-+$^1(t6FUIK^nqwFs)MhMF~wX+)kx>#u_ zMh$YjT=uM1U`P3;2Jyt~&6`WrGQLlMM(@qfOEJvhszCI{P~CpndQ7-Qc2XbW?C`34 zjiBmZE<=FHunzs4fq%RX ze<#mZe|ACQJEM|oRi2mCJB#<0HD>nN&vuR;n^R|d(!{D@#q5cGDyR6qETCrmsuMB$ zGv>ej)=OHUqGxnc{@?5ig9yDO-?N+FcG%$FcT1c*!juWeTJMk9`w8J$RyxlLzT3PAg;Oyo7{z;ij&cUVoO& z>ZY{E18k+3zjwv3MZz^(E@yKstkQ}+7|d)9Y1RTD*q)0?lI0lEn(>QH-!CKNuZYQ< z934yQZk3@cI%#&bNJ)>;%}j$%oey#JxSkE1h$2hgUNmz& zr%KA$UcGgty|)8a#;$#^ebE`ZKQOOdAtn^FbWv`Gs5tpy0#AjgKpL}&1y+%6tHFCu zHv4LV)_kpACP_1aAhxvZ>%H`5u~k~#e?1MZV%RL0N>eKr{55C3M|^tL^esX$;Z-Yo z2s&`A+;h@*`5P^5p0>AC`cxn=?*zhL@5(8Fj$GhZhHjN-+Vu%aZia`<&_$_X9X8T~ zB6{p7)Sbmh;7FH`e(ODp5YTAeNUbuu#ragrm}(HoY|i00Q59MmV{Zy584Xd(s!k z^sb7bqHv1DuVUZK&BDUM=g+SYxgT3Gzt;sq^UvB(?`oAeY8Lq$xs>O{mRdYv)qQ8i=VL4B7Ffnh=$vzZiV@hF?IIF5Nll{}yT08=P5 zG*Pnrc&w3oP^$U5#D>pdwbd(PonHbT*UVCQZP{Tn1XdEi3d`D@J;ac%1~^EQI;$TY z7im}gfvJT~7-+oWMU6O%g4lVf2qFE@oGKM6b+amSo4nk9rOG#2aeQX>AMK;5AI3o< z)l%Ob@Ota)>1XVf@oasbqxv3;jSMmVc0%(H0A#1^|0WVUU4p%8w;~oiC59hi)6IzG z>LniQwvm)-5g{J)Qws*>q&fNXwaf_rN+Zittg3Y z)Zx;K{;F`-H*8WCDX7Qir)VQLI`ssbjXitSnh%nXH7tZg6Tb4 z7Qk-6s++n>vvA6acpy8T(7M}u8R3fAaCUwakQcZaq|stMm<>O2ll#%yb}fGZVJ7s; zc9=>Wcs_Z6GF;jW%bG2jj@*^b#qA`>$_tLr*L#t-&DTVwWVdQ3er({nAiqBAdqDzXS4uC_9>;#|nP zR4M8OVJPz@=s{`CwHD4+LqC@2P;fU8Oc?-yEzE=*`NJ03A*T% z!@%cFRuGT@lPq4T-MLgC>2pqwF>HqtoQLO%CqGW^6o_XLT&NTGq8-Upo;Wpz{q}n1 z2N_?>D;1VKX#o5b>qt&-`+|`m(UlTbIer`SFmkkH$%2#Ba&?49-oRwKht@6_E9~~` znIS?1{wU#q?+%epfxI+(5 z$P2xXk7cu|sb!v{H)j19hkHy^Z6J1&L-5$UJoh+FU~J@2MsBjd%`QB35vR*w8xQn+ z79nF{1xr#Bwmq3;!a9g$EF?AUU)0Yuq#5ix=sWV*I%S>D-DJe&2 z2^*Ykb-hn94Gpm1ld`eCH8F;1-Q@R5uQ>^^$;+!kg*5%66?BBOJ4gdK1T%H z0kYa?2Lr$Hl0AGh=K&odxvtFvp^0< zq&j0cbBqM@7%icE$O!H}TPjyxVKzK!PipDIi>GyMmDvV<9H#1>pAEVJ}J^R4G=DYaIT7`D3-es|3Hwpd!1jZ}mV9*zTNB|V2vB@UoRdEax!s(8lk6y~rA)`V|$u)T(+TZPF556`pP1EvBv+VCZ(xZHk z%(6Zw?pOP?k4-7%Wqb;+O82zZ8+ac~Es4*zp_x@eu|-$hIW=0RoPx1aOtQ;Tpu|i_ zbuqxX$qG1ZWx5iJ_aCo+C+~7LzxTe30rLdReDUk(IbcnB}cZ}j-C+L8Fw`GvMF|_DCAIHjN+4-f3rmC!%{z=v8z%iI>AZdrIO2BO7 zzKm>+`7jCNhdW*WZ2=d; z6l}JUtPE_pi!z)-{Y&Kp<~(F{h{V$4(;M$dN-!2M)GQu9c6eejgHvQCz~fHsX4uH3 z&6}y?o6MPi8Z9wspiOAx-gn0Rc^x3bzCSBpYjeLbdo{=gF)FfkIZ47(l3a1~jaIA6|IY##6y?_HHFmFwHn|CaK81sW zbMd@q58fTh6N9baeY8)PP~vL)^R=7Rw|8Ra&rn{I1@c77R1FdLfgml0uUH<8b`o$& z`n{UzWC?`BQowBZLx^DR_7ziB0p+x)f&MHT%CWlpgZ3o6^J>JOM2VmD%t$zaV`z9d zbv{6#rj{o+Ogk;5xN)qSZRtAVM*)7nm_xY&8C;LP_GHP;o$JZ0rOe?pr>4Xi@s3SC zzyoI`i_bZALioW0xw~wT6n-juwDrQl{?)YcT-?B6HDAcJc zGek{k-LDIvIp?3cSdL&pwZpI={^8fG!-t2wcoMEY=?2|yw%{l;a<60g&+#2)NJ;;X zaChtWB_~VWN5^wC&eA%5pn)Cb^2!@ekH7U=^&Jb< zj&@p2;UXB6kojIs3tIib-(1vY$*W{OpG>4J+mh|c6T{(k=xj}MTR>E@Cn=)eNp`3qCK#-THS*07pghYGe84FA%^~?RTSw>e5{0BhT-p zLVigJNACJ_6RRRBrBlUo8(piAC-(qw%+`C>?U=|03=lIu>Nye|E;uS>I^d1lic=dy z`9j`bo?$JjVvD-|<}>lv5(_IvP-x3O|k05>3=1+AtvG^C0w@FR7EZd3-7)&K|*0nX40XYC%_hO!Twkq)#$4W$_Fq7g#z9XPh{;wC4~Q5IEdPM24$z8bvxaI`1ayG zA+i>bm>JP-L!k?EyV);hL(EcLh)GCQK=sXyGtj5IlpFu-jWSr3#P>c^wk4) zZ&WECACE$(UEJy5_tLoF1k!){rny zuIsY>CHP2!X}wFA}1W-qbhfFEXJ#gs=Y5?JwyAEG1SmFW*8nSXED*#2udv<`eEF@j9V zyVXY+Q`-}+YozzD_w(*Eja_DZ#aU?|P9z8dR)0NGQ&x&X%DY%04?-G>m0M1|hNE;` z#wB80R;6U+lVajXy^eo_(#-M<5DvlW-~ZAd$wdB_szzRgW_L_N3Xw0o8i9?s_dYf@ z;-!M8OkXF%pXYlgYf(A4xs;bKCWe5h)s@*ZRg;AZ04gX(yd);>$}E^m9wlK+0mhoG zFl^xSbytJ6tGIQ^A6@hZ-L9QlpNz;)B0!0Y&=e!eO8PlBqv$}66IwDBf+st ztQIXbH^{zL1^#(-FmW+*cme`gS16DFdfB(ky$+m)#lB`Q=d6Q-W76E#B*OI{Z~!N9 z2%efdcT^;_XO6=etbkgkGAgnY9BXZ;Z$|Xq?lLXv8~hngW*N+=d6Hh6n_IkUmhC^? zjXmh?7J73PVDyz-hU)7LA$tQFUNfzwa&>1TbQ65zb0*LxPN*tSS6drqS2E3;vB+qw z3Mdm?8;>_H?Zp^;R=p0N)aJsed*}J7KTk~DtSi5{{Q02qtW~{M{McdKrRgFZyh74F ztyDT4@AvEf!YBa7(zse`DBa72AKF>ZO-P`~+275%18NXk{0`E#N0uDH{twisW^Vn) zx05vn50$^lUw;D1{K5o@2DN(i!-(V4sKQQ&V#{vaOGSuDiIw2yQ~>lwy0u1-N8Sl&Pl=N>9ZZ%k3>|LSJo#6pj~sHxSqW5u4h9AFtE#5B zNKd%cSZpr^=B0g<`1A0EMjAz$MWI{&Gaff{S1`;~-au7?WTTWJXc1PLT z-z0m=D;G%+d?naNB2i6}xcW{{@kbBYteA0yF@3hq(rDva8-Al1AN%_g-;d6^hq>z? zV8oPG<{IhjY>%+?cKghSnl{a?igY=1tQ1t=vQE9~RGQ-8=VqWy*lIlQn!Yh8IFd&!Ey_V_*^kOvht0 zyShw{cTU5vo$hbWyyjp1EIx4@zN)SB0T(@&d1YQ2fptnFUJ%$U^s?t%74W3K-?iUY zmUzk_Gt8!(`-$Db(N1yTb&DKt=*Isgnn?p{?n6^?U8P>%ShHS8QqmT~$PZ z<>2isrog&}rUL(Zi-{l_^uVB?%lTY!>bG?tKOL6qPvp~RayE#HsbN|YFb`?q)bD|I z57v59@ZIclNv3!uwR(n#oE))sTFw_`ESU!sY5v+Tf=Dp6rAo5JowY=z(^?8dXBwOk zY*9?|{GN*#LsHN1SV!oR4K~{WCg$Pavi>!oYr%+>r~qJYTxqfU%iCD3N4*Y18O=7( zfi#{gBae8Ps0&5`{R7U2icV4Z+99Mj7VWZXl)vuf2@ZpHa5H10BxATxQ|98{XpJzrvV;-{Rt@F1 zBOV*5x@%6x;qwQ>6yV@9l?iz^2sRQAzoESu;og$-D<4-`i4J+vJON+rR?Hn&xrqR@ z=r}t=z|s}aJ|U*$`Q0WZ8TYc|)yIz?^^YAPmX1j^B({U_BSNYh`wgP_Un*igr6bX{cN(w4y z*q*q4ObM?(+(SD}BLCUDDn2A0UVRq^wFelqualIi)U^b-U&e%SP0w+z`tF22oCONW zm)YzjvC=;FAjHznMopn`^UW)PgO)f(P#y_^t>ozPGsa0cFR{a_gw3QXmHIb1vJzg7 z+|lMjF$^1ayc)Tdo9I(Qv>OMiMC#Xu=*Rs=E9Xb_fR8hIxitgF-oZ0x@PZ3Lu#=f( zk<97o`nciUeR5mLyS=SmQpxGRF6D#`OpDLHEF-PJP>SeybUi{jMZlX21;zR?4F6dX zjGf`4RRV{k{&6CdGC6*(A(X2QY(M%0@G&s8!}%%ZE$7Xg`Jd*OlX2c6lOr%khG84r zR^FJ*ns}fnHzaw;FzxN}fVYswJCtu86>y}OZ{$L6QVd%3-TJAZ*B^;?JNe>D;3#d@ zFV=v;pu!bCO#Ilkd5UQMVX7ys#`H6Sj35fG=E9L(?Nt|G*qd|Z_57kI3HPzZ$%hd;(BUy8X>f>)epPQAtr(s*qi(EHnQi`( zS8h`2*8lZhfrCw`2+eqZbqQ1zMDTEP}km^+I7I+Sg%VPxWB$!QD@~3f; zNe5x1dYVqFHW^DgzOA*@$DL1vL&!LGl;gRbm~y0A{|{72Z{wMi%9nfJN0=+|sl4UE zWve%1E&z>q;r=<#qcC0v&R!w;*MY9jm&p=Muy|?o=~?RZwK&1B{%1Gsfv*(99#%9Q zDvob!NO$emkxkje*qEqmIbk;%9tieCfoz;gL;T06sDN`Ipm7~4FQif4@dfC9E`B8^ zLyhmm;%v$G1UuJ<<0aRI9-#m4gV6V^8Q?gs_`I8}rLoAT#dKa}gC1Vz>* zf`Qn9N__lnhF5=u@s>s@)}rrD%V%Hcl)=zxc8wEJIz`z6x z*MCxEG)hR`3tpE{0(ad1lad^`dXDPaiU)uYXh)s%MZkk7~nSaV%xDpl8=` zI0U~t4@DZ%_EgSRh{(vG_TEx|&Ql~?ZFFqGn?<>A-xM{ zS=Pe?%(YOSbpJj9GGe9T!LHwGlxkH5sW<-Kc=Z?&60z8HlbhaV~Y`NG17} z+Jld!>SN1#=+P$+O#3TTNtL!#Yr(|`R%Rl(>QY--0qQFw zw!EBM%r(x}DuePsOCmk0U|gjfK9keP#hyE+Z2l(TlK~_9O!RtB9-S92bz=QdySRR0 zZtbE-3SDJsXW9F0L~HV)ciww^0AXWP_QO$hmcEu5e& z-|Hs1cMPprYZa^Mqn581={*5PU(i>i5j;)-e`4ZjvVyI=IVk{g4zRz02f@q$p!w# z#>ODwtaVJ%(E|CBjmrW^O-+#w4_d&r62*`jr|tMN8NY(Vz5UJ@y)^2w_!vsfnMp2~ zdS{BW)^JXEnKa0;b9N3x?c`W+afzIfQ4e`Cetv#SE4!gjp9lfp&dhue$Va7Z%1cSbcb@miPJiM-ut8M8$|=A6 zY}>SDtpLv{K+`}lvc}eDR?Qepp$?T?PN|@U=S=AB-C{G)7*>#R7X%-ZQ@WY9VO5p9 zv77Q*9qQ}D7RVtCyx37^l70zBKmo>L?;1>}s;WxIL>D>3!@vnqnZ;f_kEWeIvEQW! zcHq|zhkFv9PVV6%8%X;~+nfs0VbeI`fhlnPk3S8(+PD?M;<<7k?e|;B6@`Dlb_cIb zoS!#`f&kAXc~|Tp_{9w8%1>LZ9^nW&EP?9>g_FY?x_qcrozm&v@1F<(C$t{Zh}{nZ z+KUmuMun;B>)YdVy)gt~H>cV&a_J>-8P=aYWGa4lM@8)DeYK1gi2vr=Q)BaH((hFc z9zUVKv&%LBUk@;Xwzk+bG&SM7Z@5F{5l}OW#|@1b!pTc}DK3AvSR94ExbjZ>P2nHs8D zo)pTAbhuiZjr9xY1tza%{7LP@OEq!}i^l-odU+=YRCiWxZX#S>K9l0cDcv*I2@*Y( ze!$NG&Ttqw`_!}?kQU-a+vZ5#9}~0G;z8^EVVCrapELvnM--WCuX)Bq*wTt_L*rdldHC=|xI z<@hk;198XF6JOx!T zVE}6~`Qq(%D2thT6q?t^at`~V%e>O8z7c~0NQXdOHQ=Zdlaf06_&@<${}EmsvS@l_ z@mC*q39tLgFPsaW0_xUA-+QspEGgPPm<71B()jcH{g)uixL-x z%XgC1_&L7G!8s!HIB@cFr22^7bTNiP+3gk~>?be3aOV(m8~4Yq-y7sU0b(yKbn*FI zCGm3OafV;7KM~T<(D+;(PA40r`O9#1vUZn!t=Dork$W?F;2=wC!B4#;M%~Ps=E}#6 zWBRhmD@;&ECkZs%n!eJ$!?SNU;ejIw2T3ur1L_xt89#LvGD?pphMh0wa2Agzvt++9 zRq_4k<-CJ&ivSV3{%=4*ns=u@n8;VHu~2QXwry)CAt6&e+w%Poyp0VM^wQxW(kYXR zfB`g<2G5}?nvPeViH{BaJcE~HD66c2U^^_~9=|#`X<;a1DaB>c-zDgWCBU^t{IMtx z(NEEd-V7?koq*%bElw%G3~-eqpnC&f1MSEl%=z?#0GA{Dvg4p=CU)R9!ZPD69eABa z?%5ADFB%yQp+Zfxo#wijWDB&M78n%1mv`YdQimaI0_s{++be--9D|9QwPYnQFo7zd zguK=uk74WW-C}DLgP)~9XN<#(9)xN!u8fGx977WzA7{Rc3fZ(rYLrF+L^iA(A74aH zH2OC_X_1*w(3{EpoSZ%q$+fBGyK^xi^^8SngqF^-07Mm_7vY(uyeN{Nb1jxvo!ry@ zB?iG}?|bT`Q+3)zCtKAdPxYq>Tel6L;sg}<$5ir2o9!jRsRhW$$Rrc+{9mR4;^4mo zCJA zXKC$ehdSN3qA00m{@E2AtnumSFCxe0e)43f62PvK&>sOeq`s^y@Q5||<^2idsy-{G zr>AG{=!ji(An&(NY!|Xet%lgTEc`2n8iaGSdM-yNBoKTdibbmz+QO|3>KMx%$->>Gm0#25PthjjW-QC@is;!XI;zT|jGh?D+lRR;`1D&NM+-88$ zyR)XPp^d(c4bp(22gNp@gP0l)xx^uF*pwvFwTa>N9WdtKWqydsqTWH2Q;1#nzF70AZK96E)lj_G^_i2x9abP%Jq@~gE2 zybm{`3puEYy-@&>{;cDj&avQ41S=Ox;svNo-d29U1x?${2B`<=C?Ku^@eviMx+gvB zu)gFv0x)RjjstkjCaNC;y?+`;toLC;06LAGClPB#evdW>GX@> zX}H7#G|{zWi7BDs%JK}-?yqR0fT{&maL=Y`s68Drczcl6Vdlg5c7GfI!9*lw6M=8a z{p};-%^X`26^XjI@cnXmw?sb^7nMEgywxrgzNrZe%q6vAZ_^0u6tR0T{YTyyZB7tp zBk@>c%H%-^)fPh}pb4}>SGeadyV~JVdJ?P6^>@t#V`y4g%*FYz;eLnE{=tC=5JZWM zjg>m@v>7@JT8k2-q&$%b?GDzO$y116NS6(~>d6AFlVq_>O!j?xT;fx8vV0Hg!W6&b zQ^SaCjDUVDq;h6S2ayJCMo2z8*oT6#0Mv5BEL$HjOseJ(4@?4pO}wsv7laZTQ#pi( zGXWCy$HOH{!%AvwM`0#4av&W78%OI~*EO5+%mm0!_@YUYJjYbD7dxC2Wyy zbU@N6m(^Jp2vRcc5sVz3|55I4CgsXKE zGw-u0f3x*2AGxiCop;0KKRoYe$FV&K&uIEvmB3Ly4B%Fi_cg9nIlOpBwhNlWzTf6d z4V5!o)_|1+|GF4v=htCkU;4m$e{&vpBGoP>n@B_}1cc6>YA6&A1I5=0Tt9oC`nHi$ zHnzgCk7$ZX>niWk$Ch8pwA+>AWvdn$Nq`iqGSsmGQbV}~M=3p41cGGMK+;00xmaJV zKWzDp4OgVpgV3gjN|oxarF(!lvwyJf^DLBsC@~QLBUww0xc6jC@s|SXsMRfw)=tT*uV8W2IP0if(V)?t=@yRww*A&*(nU5(?fqM05sEo zWxb8nl8fy(JxBaKsiiV#__DsaKC*avx@@83+@EtoT=h!`jF_{wA{9t5E^tvOxf*}l zJA`&mckOiuP2|hQHO=yGlYTtuZYHCSAzy!&b>ztgkpe6_ zrg{H;+sB}U_?xY7+G><`iFfr+)(7#(qs34qN>u9YwX4(r!Y#qyM;`zp=BrijPCDUQ^Z(}Cp}8t1G{RT4=*kbsJ5iu#{v^FYoW}oyC8&;1(j>niomD_ zL=M2`=$|E;WN*Bz{#ijy2NPJ)k@@NA!TpRIDTfQW8L_>s#m}3xr>)W+84^j|Uj*tG zO25h?9kNy(4ja1j%eI@$w>Xx*RkRVefG$%4VzNjV&S^9EpbK-(b? zyPsWryYlS~K7K=UGvcidt`jHcZ{c7sRGRwnwWuIbhL=--8v*>zgrL>yLC03!A}trn z-h!`zgCzgb+SD=J`m_$C zKjHYKtE(Ff|9Mo=5Oi+Gq_w`u24Um>lrzJas5N!*sqvNIlQze(g&H1 zHW3{o^WX$fkqROWwUFHLYfLR?;bf@;ohzNjrj8rOPRW-md6d@LFM;&Y-aw|$wq5a2 zAC-TYeT$Y=ul4@%G;S7gA_Y6Xc5b2~$F32lHHAXq&Dl#r)D-HLMIpa0{ru<{S%+)d zHc$->4Ls#Juz!(eXKm{T^P@bn%224u+xR3%38Z2&?_>VI;A&k(W|I5~O9=O2>z3U_ zN*kB9kuyC@5?#Y&vIE`!>kL=PjpZeZZ>3=}HR`z`0JowxO$dr*P{QTywnfV~3}FE|g~gU0z;(lP3c%{MpG%%mhz&nc9uzDg2?o z%uC4%tq-J>=H}@+#aA*RU)Q9&etjR43jYBMEOQ?ZUvX=Dcnymnb0vSoKSZrY?zFoL zY$4!oONHGC*o7W(cm0^rU6PhguCm{zcm>e z?w&3;DN#ARd`S`aqNBW0*Nb7bQ7JOOP5V{z#DCU()s(bCHj!1lbZ5#xo5n|1SUPD9 zpHQjS*|syb3*^Ez-ov>L0Zv`;-%q#GwGK+jjbNwmGBm}$^1{ZCj>TH9qKBc}1gott zhFi~89p+A?9?2&?C=4Y8)T++FuYhn8JiA$@MJqQZmO9;B(0NPfYT>}4WU3Fk#9nPp zTE0AJh&Y&N-B6flN%G3^A;A%yk0Fb;@5T`6Z^lQCeZPIK4=+ap($jVy?we08|6Z0n zY4h>`RA517_$vFfbn4VaV7fV8$)3%;hl!djTj&_VU&(BG0qnQ0zWwTWIMfoerG+k8CZVw{G0Ft1AEVK zCdt#4SQ~{xxEc%yux#~$Xe7z$T}UM?pu}Q~ra5T#R~%-pf+&G8K$ZCfAl(PW#_yvL z>_8O8W-?JV`-p_n7G@dWSf`B{N4A?(ZXGr_W##7&0&kH>H(wF~L7>H>nF@kF*hQ89 z6Hi=Yy&RcAvNCsUYj-Fbjjj)yEYSBFkPStK!g(9@X*&609&2mZhwpe>doomo4NtiuV@&`=)HxAl5E9GoULmdb}*0b`_X3(Kp5xy4E%WS zfk(t6Ar}KK#Matp;^aaptW~iFuVK=)zr8q&H%&fF_=uE%jlVpWIa~{6G1~YCTK%wk zz^q>N{?L8vq5TwpYGG`{Lx(G})}xnux|~$`Q1tl=9v74H%G6e`-5(dbmR42?9z}$) z0e+5YLQNk75~HVD$sK={#RK5&75w$<{#Jp1g`B(ji$~4)UuTu_KQtRpQ#imv8$?K%|ku*p3B4#%WNna?>rVYc9Hh9(e1N-18lv zsmYn zx_S#p<@WrVuX6+pQmNoA5Fot)FC!Sx1hb7PCl^f%ZwwY3h;yp?$gl+_CQB^^z6)j5 zaemgofka#W9t}{2L#)n!8-`4Cs)U}SHg*v0K7ZtrS!9v%(9`uMeBkDtSN8Cgtb19B z{P!Ts#`R}cejaCqLE%tq&6E2_8K&`;igj0wclZnY1N_t>S{!W5hhM0cKg&HF6NN;+ z2;XI7Lu}RDuH);QuhKZ)ckhn{#bY<8jXv`|9Afl6+)~bi%ZJgJ&d#=fyPI^{{PVlr zVNrVsO$HcQ9yS^ZIjZe_>CM{71~S6s`03L zwy(d-{s2Ca-w$|dX$EPGqjT3P!nyFRPr`w9G>CzG@uz>dl2pdT zE>0g!D$NG01+IG85)DLbo_FN>F7ozbXoo+!?-jFK`u~;>_|8SjA{W11%x-pky>U_s zx1L;PcjOooHPi1uJ_Z06vfcCxACeKo1Vo*N8&k?Dp_hLo0fl|raUr{5QG2D?i%B++ z7;ud1fv_U5wJ!|ie*6{)%<#fNu&pLOM_fA7@JG z$J|HkSWDF3ggHZ}wNn#sM*0!&gqAlaa^=sXHL_+cyzWxpy> zMk9hSxZ07n%PNekuA(!DKt3t0%oT-%Y9)YoJTNol)BkyZBtipD4CSw>TD?}0 zXR?88o~e_b+>q!E`8|0Jth5URI~PDQ8ehNO?Hf##3OuDV04?cI#}am|AxX2Z@>r*L zHX&!{uWPG-XaS&_bHX_}|8*0|%H8OqtqT74$r9Cthv6_>yi27|&ZZFCzGrAaDjWeOR+h85hDKJ|(5V1GM7y zJt(@l%$%ACcP(Ji_MHWv)b~&P|1Oip(2&oGVA~bXa@MDLYBk?{QVA%0p|OLh>iv7m zhnXTUn9ul4z}7&aVUwLEQs+MgvDY1LF>e9|%6e28)ieG*tN|W4%~hG7uD6ke1)kfr zT^t9%{hqG|J{Ca)l%XVLMF6xkdbYayL0(*e%>~*lx9M$gF3zU|>2PFrPA3nz_a^kM z0~aUx(*9N1Lsf=ab$*xym_^UsnxB;aZqibBn54j%j#-Y3w0g81GY6G1mDAf!yO}B| zZB)|<@CJsl)q5S4olVaqA4m+yO7#M#oAA!IwhzW*QY+HWxvY>7d%(}=@9(EuX5;uA z;8<4y!^-Z5rns1jHjODNIasInPv1znn)`S+xp3EwXG&MD)qh}t(A(NXj_G@4C zN^@BS)o&0jVzD!09rgkeZlLGt!Y;&Q*g%-{NZ&Uu$?pLNCZXK~McXZaIcf&MC5~bF zGgJSnx1u1Ng7Qi0)e<|7$JcXyh!Gb7&@EkDa2GNJyB>WL*8?I#RLGGpm)a=( z_g~@sj1dPU{k>zt-H5?*IQQv#Cv8yo-S}@^BpT8Ot=;wHMW#F}og){9z+@%k@X45u zkAm|{(As~o>;(yz`!BNiR^Gmhhe_yQQJC%;%BH1#@ICqa5N(j(*RVV6dypUG819G- zD&ivqkV^S$+3;k!$rIVfc4aEGw#6Pw9&fCmU_Ao^$JLv&;Jvr-$FP87DxuGxw@3ik z4_x5ZI0|T;Rn4W(YO|F}%J?&5E8D@D856^CM(H{Q01Qot=u=X#PgQ=3WrK_lK0PyW zUHY=LPt*-$4h{;!NE-!q1z&^^;dKTth7FeITZr49TZw3vA$1 zS`3DRA3*W_OYnp*EK_UhqHlEq)N>=FgslCU@@1?voV!&Fg>(Pj-Gu-%Y_m5C2mjx@ zmzD=$EL2rrP@dYKTIyBbq85g1#uRVQxg^(^D+EB7R8n08YHJ;juiQS{b;bW99ubQ= z7&mb_qoPOg%(K-~A|x_Ou1 zcEGdmfEtfM6Vx{vkN_-!{(kEbo@QKZ3&ShRArJ6r82EB+y!=SsV(SyZ+VRZd$kc{ zuPSWAu)y4ujs*+b#zvLTl*56!{UQAgK0h{knY^4xd+~$z!~Z?3&Y*MewBMfau-b*NLKSm!;DOuR z$+bc)%1?Y7BLw71G-PwJz4r41H_2$I^~dwkZacY?^7vz|zPIZ^!){P{x0QNV}Xc`Q|=(+BS^XhVK z%a3p_3DdTl*NTr{3qL;ddY$gMZYIGksZ~%AT zeK)42rtsCTdY6yDlLe06l@H`J909jEGcwXE9Y$NYK zkaR=^*1Z0YJ@yz1r4k-|@WGxp|Gi*a7J3##NWr3~?dC+waj>+sgl(HhiEO3yDto3E5*y%IeX>FEe z8J=y!qE0-{)de>Iu46pUgFpymS%yy+yIxXk*rY-T!I2|J@Rcur89TOZ!~OT&7fXKi zm_rVvHmYrZPekC@cHD?(GmBjZ1HiIvEG;j0+`wK6y)JgIO2X@we`~wLLi7DY|FyezWP<1 zoSMSjci)X$46Q)K?4j zdL3W>@|RI6mvPTM_jDCCU``RglT*aDdoSirvq23RbJlG%Cn}19TrL-#JaQ_1jVE=&wmtD@%_kDz62u;^Fl};pfXd-p~{CSLyj$W3< z4nWfa*N@&c&^@YEK$2w~K71H&defV5>eMNG^=n^)Nej>04x{z&M$;A) zRfWwxUe_c+5Fn%t>U_@w0eV(u34#D~b8~q7@yAgp7V!}C`ZF$5tq&_o-pt(9EiH0? z=G?g}5)lRZ5Jh;k8Y6CS{9ew!xVVU~eB~?HxpOCOyY04~#>}KJTcd+v7{YO!O{GNw z-JNI=O_A!Qu)2`XLlQ;Q>vcp?ghH{1`|iIV6I-_6t6%*pj=b_p*A&c7YniGjXw>U) zXi6RD>VX>o*C}Bb!uPzj^dH1u)Pyd7U-T0vPT=^76NsV+J9g}7Rxj9$r>n!{Hg8Y)^5{yQ!Z?`W3?W-^*kwzMgw2|@|Tgz<#5lv z_x7ykEQul%NowoyvTS?P5dfg`LPPpk?0{GzR0L3~)spwKXh0#K$77E@hWYt_`SxRI z6KN1c5wav9@O{*3wVpRVoT~%Zbs>>hp4Rt$NIgbG!!X2i&pn5kbLTKLG=#C%be}#V zqCn>jXcR?oX;E@Nx&Mq#5rA5~jz*(_EnBwqeawyMr)NMC75)F&`?DBHvaCH2`>yT2 zdxS^0$C~?|S(%lURh6}7X7%!aHzbN2=qCYkBvK=hgb0yC@J)b5(5nE>gCI(xhMFNp zdXWT;C_cQ@{F!wNDBcdvc=^v2DOm{c4YumZ^ zeCM3+gi{i`{k}(=xXw0qLkCji`Sa(vc;Nz$fA}E|95~SPE)_)qAp}-`ivytRIs`(R z({KA6YbTrN|D^jp5JeHmR0@<*)arHLS)>#P4jjOlGiOjLmGIqn-?d%HuPcCO&za16 z0t`u!cMroN;P(`kW%-kxB*8F@-qL?4#ofDi@#gJYY}>XC@mLIV#UgIqzKvuefqXuX z!o&n}xm?iHrWX*bH_onq>jqtadsY5vg&+t)bc0VStCb4swHhXwMB8Q{JbvnVfFMLp zO5wB;&vgUEnqE|RIFrNw?gXBm@OE`A)D0b}F zv3>`F0JNky34#Do6j5GX?XS7d5I;Ih(}ak%`kZz3P!Z3SWtup5{ya2ILt%0fs-ob| z-MgsO>&T6cqEIMcqEJ98o!)SVanm#b0P28|%XVpzFJHaFDAEg*{_wHRhefkuifAIyz#>RR$>KX(=fGkNcEekXh z)o$pzZx1&R`DiPUz^+ZNk>+GFiCUw98ncIdyEKaiT)A=uzyIz#eEG!}>x+6R^=)EH zBuADcRH{`}S-RyA?+%6zz*TZB-Jr7r}UBg0usf5oz`waC)1F1{~A7nDH zZ5xXV3z(am!($GbxO(jxj<#F;_5g*Y!`QYR zH~_Be!Zgi)p8GjOf?c;(4eX%ctqu4lg;Arp+hKFtJpR> ziw{2d0QGturBVrR-oC}1J9iM%G!!N#FflQK@v*Ug?)InE22%>dFhB@tj@0&v*0e|p zzaPr6W5)*GXDc}K%R9#Q0ur)4TLr$b4>vLkf7kTekPYV!%9Sfuu)MsCGpA1@IiRAA zEX%MRr->BNb$w&@5C~EuThAj%tLkw#0wG8zlUQC}My=6kQppnt!6zSojN5na;Jfd> z!{?uWf4;6~fB;_+C;;{4Km|d->dFe}jvd2(0Phfn4#0a10zVP}be`-S$H9dQ7hswu zPMSGa!tI#TI0CMG5@Q7B*}ms{&f z7#yyJ@$o!ADj^6PT0n`6iT6TG&I{J;WDo>@41T-Xh&J+&QD~b2v`Gj;zdigm(Aa1H zzkByC9zTAJ&p!JM`FtLMG+#LXz6U3V5CTb-VVY*(U~D+t9ol!R2DZx>zINR<*MUt= zF-=2F*I`;#lSVrQFg7-Z)2B}1?Af!>8x0&kemrn2xk^cE1V!gTD%dr5!vTb;thgdAOA)6uc4zdhOi;Hk<8-+q)p#AY^W0TY; zdpG+XB`>7jGDO_Rb_mZ&mSy4m`Sb83JP&8ioLSe$A#f;qu>AokVp(erK%=p72LRDE uZ=UA`3Ua-GvnZKcX9Oni1H$c5@qz>W%S-f?`@RmEsW?rqIaVA7SV&0 z@8(;}AC_gUnRD+xXFvP*Jm>NV`|=1oQJF!2hsnm>-Puj-=~D+YcV~MicYB06pOdTg z)9ETQiF&Iys>s)F=1F4F$$M{4{*>(XgX=eUy&0ee;YF3_{=->B;bzG%UqND|yhlfe zr;F?{rBx?(EACua9~IIs*;7Opnfh2_7r{2awz;*Mxi;*7DDsRa5suayQWf)sOmzha zXNSqysbrAwiwe!&dN|iOv|@C(vB+zMcJpf*n1nm5a3ZJa-YYI&GQLg?<|o*mC9GuG z_BBaCxp&RjON%sgG@&1FsjOW}%vS3DG>eR_>1#RlCei2!=Y=M7%A&FtXSB6B(^Ol{ z7HZgu{T42p&u>KI9~q=AsHF)`FiGBoFUW#*vWS~dR{;|4 zQvU6B6Imw0F{_yb;}YH}XJ##Xe-_Fa&6z$*Ma?jH^_3tkEnPrR6x^Y3Q8$WRt?;UR zs;H9tok6%-49Ob=9&+E6zub1@+dvFcsOf&5WO`Lo|K^qI&chE{LY}9*J;a!?331N@ z{$x!v(LW~SJ~J5J-@Jc+(sA=!lp8H$X2XF=LxR*qRGEiFJS`8g((vVn@X@4t)=J;BN|&CELHo z76FN-)9>988&O{S(zEEc+Q9EHwr11NW`Xh~u5CustGdZB@0u9S^c9^_F$~DPR3uYB zX@QW41U%ylE@3Yu@0i`}NL@Ia$F+fn1DWTX>5H6BIsS6QJ)ZwEA%elbZa=J9yC9w1 z!I+ze9<_ZL48jG$a9!C$z~?AAiUE1M{8GMpvEZh3;?Dfg4p!MM>{n^b+QgY((P<6G zaV(*srtjRLL-C9eU{hdieR6W}@XhcAEEq|8Yz=D>@>2^AX#NOOzCUaNW!8=KH2yj< z9t;UK_Pcdu4Rjlb@@EV(D=_)k<6`_lwY2q_SGJLR%3eWCQKWfcqQ8{GO87B4@gdem zP~R8alf`Z5s{xD575Iv=@gQZi5N2rrQ6OnEBEsg5#8Z2TM{0vRBerdWSe9>eb9H{RjN2*Y;Ya(BD z6NFO4HlunPoR>a}B#s2Z6jWsQi(rL1oJ<6mP}dhiJouweo>0-y$=9fr?Vv_wf3=Z7 zo|>9Ly01USGd#5d*Z*2GlFFyTz;|;?gkp>PnDOu9kz!+D_C?On5k7(_5PTRNFsPlmPTMG&Ooet#^yf+Yj-JH*C-MVk*HBhFZV{4Uv~@{?RyJVM92 zR$wXU`n}$&SU48-ID#^?{{7QAeX^_|Plh`=YFTotU-x9P=}8~I>56AVrWJ{%N^)SD zPZsqf9$xMOT9-W@m7+49>SVFxFS~+idU~3CP|f1pkca1(Ky4@&cXXch5o5X=J|`QB zgvqdDwb{2IN5F}?I_MP=B!@mOLl&4DAY)Vy*r z-6zk(IHBWJ3!$!-ugQ|gUKN}aw)VW~)RZos>ONScN-LLzFk{`Nu`8c~ZIXoS{LV0)5BDsKzZX^UOQetX z2*DR?VwNuVwK$>P2ia~4kwxGj#9+4Haw%GedmuUgD~8P5g@TEX(ZQHwUL5BsOu>Qv z!pIokVvN29&7;1hMEgGhFXy8vvE=7$wf_=g!ji-dlFfIS`=o`lPq~99<0| zc)Z4z#&(X|^-h8bTs~);@z${SU~)3t4M_u8uukNZ6;4t46J8~a&JN{zc$;Rq(`Z12 z!cDosZ9OD(Iyn56V@J#IuxBJJJ0Z6r3cdR7Em~C_PoGNx2f<5oOu5QwZ74W+G_4$g8xS8|EWT6ACYNFLI z53C)ej8>UGm|OmDJg{*D?rJ1!f}W6v``UCZYyd zF76}*bx>51A{(&ix~5jD{AVdLR9L`^QqAJ@41OUGv|SVe0zqmpfje%!3h`utL(hz= z$nfLlY`sOmD#v&;ZUV@e4_}Llr6jwY2|Q`K_Satu_XVoMD7pw}b|PV(OMCh7YrNc9 zU^C7zPl$sty>*b{FFO#aY`AEY%-r?69^(k6ZqHS3?aJfHWx6g}rFgoY;UE0$?Ckfx zj97)$u)|$j??z9W!deCVNJ@#9U{gcA&m@QE0f$W=ulzE!x+%nE!O>xu_RB${ELgx7 z{FsWjM?qowf++kk&a$JJ{ZQ2Lv+}YS`nReI-st$Jt*)B`0KYR!!~xd1Ts|& zJMDZD>rPqPYzFa?_XFlbZSfGy7~x)XJev+uEDRIhL$+_Omt*N1aU{ynK)!5@$^BzC zEqTQmQ+*_b#KNgx94PT?)CtWyL$$$psDhULq81y=UR9+Cji}c-%b=2CVsW@ZmRcB%BR(?njFXNb* zQj9TG48uQN)_+?LHv?Wc2a>}et-iG>RJ9ay!6U^=DY{4+)izOcEStRRVe#6Mny6at z0Qp>38ls@=&XZ4dh+WP&JGG>HsAMI#FCM|jD zAd=4e;<$*3DSfnX%BEn=ra)OcNMa&H3ExX*UtSAZcr2!47<$yoSLDd@s0oKTmSyMi z4u%~{Ugg;2BjtO=`K6S!#bITBp~Kuw8F_qekdQiRsSeVS>x#IOjH@}WGp0=2me%`F zLzLxyL@ZabfAX$BvM5rW{ShQswlI*Nps<2lUQ52zaA2VA1;Gc^DED$%YzhK){Up~& zkTNvNH+~DHv-ZwF!xnQ~9nSog(=>w;yUTGC2ehAzi&*QD?u#evi_9LF>>W?!Lk2R# z8%LVTJKb0Kqno6?n_u^AZJB>&F3I)x!3m%COp_#sJQlrV7Yj~(`-K^$3kt$ zY9iySSDSwK;y>Nk2zpdM_{$P6HC*e%@UAhD@Q2l7(8sPi2U@&S<3#rA#?|{z7W*eH z!$)YMbVU%BjIyi4vrGaC3QDsTq_AyhLB>R%$EtpC0!_RRP4cT^O|D5!f*>i0pF9px z)EJG8jhw^;rfT`LR74zbr~>#kmnGrR@2BaiBYRUG#zN|D#)LYU+MBk|{+34v+Y86o zHskdPrHrvaXn)|rpCX=zFL^c0J+Czxj0BfC(x;dG7$iWaNzc=e{ z@sox8>C`wK%KkV0H9tdtcSOA4r6ClJpV6x;SRH)%`@KuZEUWRt=H!bca_VDrypeFs zKq=cS4WT^9T{jFHrqI=9RO9e2XN0xP@}r*&bby_8;~{DiSQioPUPCbIN66l{FP7id8JGFiWlCZpRE%u#-SsHjC>|%)*e;VVv^3MAB;mSp=H8|Yw$q=r} zC1&yXD=y}TCRs-*V^&&xshXS=NmJJ?Np+FJ7%9vCFEcPRc%mJiUj#MB*-vl7$WQ$? z!zk;#&er~Xm|WaNdU{K=e&tF6iJ{&)hRPO?s+&Dl9*ffHsLp1!VYQB}Id(V}YgpnL z92!gH zg#`qH{0kv!^UXVhHMF$&A)hqRJYV6(Bpo}gcvqrDOx>3OpD(^VX}$ijna8%9^=kda z?+A#if!pLvm`y;(tH|v2;b_csU+fv$KPK@D)y@gLo~PeKVJg5(si?SMmc?FqEe7<6 z@Cp`1s&Hf-FMhM)Ba|f@dZz)#Trv=M%HAB0Pjww1RRqkttORm&K8K}w_y?jnLOf^r z0XMX9IKP;r+jN36q7!8y<{r83wFEcR4qR&q;Gk_$K-!eg9XlIQvIO?HQg2&W)YIry z&Ny@|-s<%5bX76#-r7STcdk-0zsDuat%V6Km3lF73pTNxXt7 zCnV49H22DrW_)cZ;w;zY77f_yXM4-Ke-uIs%7K$*Sx&s+ zQQZ}EH&znPR#03Z31zlzrZHMS6P1!}KN5baZ2Fo5E|q@l_lG%jWAS{ubr*@so_D=| zqq8n7Dm_$23cLWLj4mxXejJ%^voRizDX=lnl`KV)ukNLudI&Yi%{0|~(Wugpmi@-5 zQS?PN%%1`H!8zy!{J#`RNm?oIUf*G>Px}gXrb)95g9oUlUM0oYP2RxWf?zy z{BJ`jNbjCf!JRJKa7o8sAv(Y~JPy#At|7OzrZPnSBvTP!!r;yeuwl=~+@US`3ev>Q|h0VTd zR7Mu{=@_qkl7Eg?7)P&(w)D^Q-P`H&(PUu2N^u;?ma*Sh6nPB0jeEAVomG!e9&xUG?v#CvaF{eH1A2F3kr2uk`RN<@f=g64- z38$m17YmG9P-daA<}*q7TY_K^_OfovnhnUkIG2J$`D*#ldd|aGr&4$J=(_cXadP6A zl>k3K1iANS?IY4!kaKc2+c7?gGkU)CZ$=t+g6gFsYVqb|sS%(rE1#Sm2bOFy)U|9{ zUV5cytNU$4NwP`@RHjpIm?abcv0RH#ZHz5jmXAo>zbSEuBOJk(ZpT+QkR`HQO#3(74B4;BpGD#KpvHE9UK1#d=PF2@j!*LK z7!m00ygjrK)iE*9o%3imkTiCKZvH&q7WMwI5snCoA_;81D(n}SGIJylo;nvLL}U`r zxG`RyH0o%1j>qjOB#j#vJV#^~8vDZ3wr%OV5Lv(o%#u3Gw{uBFLlp=%_3>%rY8b&n zl3%pZsfJ-Tsk2LkI~1?kbbGAsJgZA0eJv)LP7Zs>i`bSByhjHE2Uus+G#UA-(NYWj zr>bx3^xU0jzezHdwzrjG7uYhsgj_K1}r=XAIR%Cayo8b>}9ROS7N z?Q2J7k>E;;fTUzc1&+u_hWIbylGkZSbg1P5@4M>1f$=d0W$rl|`{w)xlRrp{KmX97P#(#X5{CoN!1pn;UWmRaSOE&?N|jg>M{ zlAa&6Y{%}LTw~=)Y_G-CS4=K#EKdEXurPRLVrltqCWG4PXJ%#+E!$LX8uy*>R)0N9 z&Dz=YczXP63@)*Bx+g1^-y-%#A1Zc-B#UR#onca)E>*xV+_Q+|uC4c3@mMW+FR!h; zqfNLZID1G!5Fc<2> zc&Y~e+fr!?P|uYXvn;DBYq(_Iop7!axxwJ%1``%Y?a32*LK2l^rq_MXl#a1@j((dD zxa8WXB1yMUqLoFaF7FwhJb9Ac={SDOnEYDCBHww)1)`~2+kIPzFw|~jXA*w>WR9Dl zFY@}E2mPa6!GTzmtXV3ANQd zp)}IAspZM@Zyiv<+fA_QIzkUW&^`V)yK$uvd!zk#=0bmBH26v)JqY8=P{e_lQTBQwN&TxX_;$LIcW-2f8Q zH2-4nrs#N9jrd%%#%rg8!7jsUcHU97QqpLyyLQJE%}--5<)Bzln?>z3OYb~NS{j|v zHBY*7oq79b`YmydGc%&z2a~8ZVkVV=LwTz3|6qUflWHCvP^v%+ZE0BMZ4OAy#v%!3 zV)6aSvBPAM7}UmRKfUG;_afy<0AeQQ+mZ2DQws`Uz@3AwLo}ayUm#pNWPYlFn#6{T zO$NdraPPh{{3wDfoViyRVcz1>TB3 z$SMwaral^NXJ=#L{gT_}G$SuB9Cf_dU^xnWOQd`LZDz@yVz}nI{e^e+*|ZI`yD+|X zte1v^RF+AN^yu1`r@P>Im=e#JUT^m`F12yQsc8AU?QsHp&R?HQ5I&Pw#$^);fDQX^*#G6Y%j(V!^5j6vehK~j5Zy+N zhNr4fu0GK`Nkdt`di!{np-^tqu@*vVcfUXr2b0gA*fmeECSDkKeN)Wee{pn#-e;qU zGxzBrd5#qwCc71IElI3cjPYqTymJ?gG{7+Gc-?byV!uu=|DqPjvf}t=$FP`T-bk2s zLaAVNl9o`2CQfwd?E)a}6GwNMR9>%$73$q5Z17OC8wGD&s*+V8D|AkS3=}{ijY%W!qX|n!b&05K>1$2B4`K zRx1m2K2KC}>FdU4LLs78zZ}FLH%?H;#ePY~GM?f0`y*lN5KA=P{I5zS$y%0vCGpFb zzQ(}dmk`1-NZZbtw&}|E3ORe=hm(2Gq$X8_=JJdN_%Q)x-+*SI zRBs9GT>6dQ$DgEYDMXDK40-B{TDn4eQj#ANW}p| z<@x!!lv0D@r<&ew@>ozwTfc=}Wmbv7^)_Kb5f~u#CbdJ7*ufyYYNR%Lwx?Mx8Ad=% zC_|#4!=36uM5B^CUy`d$`-@#pT9;(1sczm5@n1@z7WMv83}qYlUM$loFo0*FW^!N<;<+CKWP&7~O?E zF9%?U#_qK*SFo7pFVPmK^)7bAbAo%ny1=6A3vi|*m-kR zDb5U*&9S3WfYVH+H?(4zfg=vBwG)uFMV#Qn?Y!gOCLaA3!c<|TZF<_Qjga$uD;(mN zznu3|nuixX{Na=tl;~Umd5Dt1;^4Dbmf?<^#$77u&l?T=KdchvNzj#pW3x615ki0r zF7UvVS`Ec70>fuWf1m8=2ZL&jhua=w$#es4j3PZvvsy2utC0x|?sLwaNBXqiS~nUD zcM`8OY)l@HST!cHA#%-nOa4;q?`iU-3y6xgR=BvCyp)##Z9Ukj3aUGNZP-}!JQ*QZ z02DPyIm`1p3q5mlu0~ZWXPI?*CjpSXBFVckVOv4%11Xeuhakm6I7A^7!LkPdd)%2EJ(8>9&E#^k6I;-z1u+Z0RyAjU))Gq9YoXbHYTvB=Lwak zx`r_Mk88ZkK=JrTD=nL%8W$6npGDzeEh*NtRwUBOV3w?2QXH9v)+A0@tPRG$hxuE$ z`f1EjNEZ3~1g;I`ihSxedkVl)&#IBrg&v?8ykzy}I%neDx&N~kC(@x2yE#O?JoQO` z*LG;q!lF9O=Cht5aj><;qW6ScxroY34;z?X++|ZOmBTQNhJubC_z53np{i4g*&=r} z31|9`j<_%Geu-^IxCM|*Z@m)Og}5BtO2V*^q^VKw8d^H$B{A%#V@A9f(_8L{dm$~B zG6fecxU&MiIjl9uz1I?p@ni|cP>aX7&jI|R z)J!DVWPOmDv!Q{Hp)fadfY$Z$FMY+42?Te){I&gZ@V6NZw}?|V4F>$c z;X4`_R%+0bMOO~KoVlxKe2jY;{sx6Raal04CdA;-pDM%##VQ9*L8%rw(g8KYzZnuX zr6xmL7lMir;mH%4Ps6db6JJBI0V!}P@iQ+%o$oOleN^GClCCZfACIZCcdK1K-uN6o zaP}ET6@f{{@YOE_D#~IUoY@RCkYaz>N#g@Fa99Ep86IAW7sXJPRD(c?kr4j^qaDjOl1sD4;G6ze)bR<*czDScrr5qc*jfx=fr=15PJ`auVKhQNw8(?VUyp+QGXAS0FUnVG*0A? zec2{?9=8AMh=+*32`jm%FCIR5$v8MotP$@nPwbUU;=jup>qu1wr`hr_zNFt(x zib92ZiCxlLoxvSpi5&yDrnC&-4?Of z5D(gMD?#u9&iv))5`zq&?)|>g;SI0=Ue77Tm|j9(I2;@j3-qO*|e}-B<@qWn|(#WP|Y!a+C4LO$1{&lS+M3cMiv_DY&>C zQPX5kD;0++LPOXZPgZLg9}?)PYIWI!IzBg2{yVYj>N4&>8t}oAnwc3;Vw2hxrI>KW zcWztZ$5~8Gsh+1103~N4&~g&0dtCwRCGQYZ2>j`L(Pnf)SDcU76Sa-gj|8RJKuw>; z3yvf0{$Cf&on31)3L;6u*TJb3Ro1T#`KyOs{pM+KFMw+Vn?ZY8s-EZWF+dPW9M5q4 z(Ldn1QgKsLT0FH?rhC797SqT-KF?t1nF-|?<%Hq^hMggM2=E<}l9EtyohXEh;TN2^ za@%WPS4MH>NkZ{An!Y_A#`-PveoTi*zvPx%A^I<7G45Xi0n^!KN@(ot>z?cI{^hWh z;PAV~$!D1*WL7?=AUxi^Q;saA*B;SLWp2+7be3!MYKvcglv!wk?W}%e=EB3oI;!xH zBxc|>1l|*TO)Qf}ikt>}QiSWtXj==yHWb`XM8YjFdQm&1s5oCFpFYW>ij|9G)#gh6 z-A!N!pYeSbi_Oe6K4B%OqMCmyDk?4+_vkUv#@8z$`;~A@gSv{(oR{yd4}Sr@5O|mu z&(t_nfaxFH3yJfk&#I|C&P@!bmrwWjVghg36zsE2&&O|fH}LTA z@)pX7$BqKY2&INhf-8FpZe;5G2R7U#BcjTpDs9hYa1zDI&2GPqT!nrpe5e{=f9}-@ z+X5lF#TE4wzm1f%W^)D=!9uzN7rmI_N{YT3F55nUHPMmPSs5Wd+U$

2P+otGrUEC2std=c3%3i$bIMA0 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 diff --git a/public/images/api/qiskit/qiskit-visualization-plot_bloch_vector-1.png b/public/images/api/qiskit/qiskit-visualization-plot_bloch_vector-1.png index 5000ff0cf324075034dbf25f44636f996bb68175..524022b1e0b82267bb1eecffe44c9e9fea53394e 100644 GIT binary patch delta 46 zcmaE{m*vG?mI)qmMmh=^B_##LR{Hw6i6sR&`6W4-NqYH3>G}%4{~c*e+nUDMBnJSw CauV+V delta 46 zcmaE{m*vG?mI)qmhB^uvB_##LR{Hw6i6sR&`6W4-NqYH3>H3$}2-`HKZB1irk^=y- CS`pp= diff --git a/public/images/api/qiskit/qiskit-visualization-plot_bloch_vector-2.png b/public/images/api/qiskit/qiskit-visualization-plot_bloch_vector-2.png index dcaf8bcef97e8a873c5f355a9b60c46ba2664716..ee6c12d917dd65e2f2486cdd4cf44ee9262cc515 100644 GIT binary patch delta 46 zcmdmWjAhp`mI)qmMmh=^B_##LR{Hw6i6sR&`6W4-NqYH3>G}%4{~c*e+nUCBMF{|{ CD-!zv delta 46 zcmdmWjAhp`mI)qmhB^uvB_##LR{Hw6i6sR&`6W4-NqYH3>H3$}2-`HKZB1jmq67e? C6A|hF diff --git a/public/images/api/qiskit/qiskit-visualization-plot_circuit_layout-1.png b/public/images/api/qiskit/qiskit-visualization-plot_circuit_layout-1.png index 8a392d9ef26aa5807d6e2575338813885b3e6078..09512206adee7caed0651b8f111703abcd97a11c 100644 GIT binary patch delta 41 xcmdmBzrlWjhn$g)LPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yqr8UAf8`Hex0X`59M*si- diff --git a/public/images/api/qiskit/qiskit-visualization-plot_coupling_map-1.png b/public/images/api/qiskit/qiskit-visualization-plot_coupling_map-1.png index 96888c22d82d8efdda9f507461d48cf3927d133b..7b6da4bacff6b261c3e0785ba26db6d78a5575ef 100644 GIT binary patch delta 41 xcmX?Zcie7*hn$g)LPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yqr8UAf8`B=j0RToH5D5SP diff --git a/public/images/api/qiskit/qiskit-visualization-plot_distribution-1_00.png b/public/images/api/qiskit/qiskit-visualization-plot_distribution-1_00.png index 25f45fd336bc9fa093b1744b89de2e588fb55659..ba5362517af48a249b5d9570872c094f1871f0d3 100644 GIT binary patch delta 41 xcmbPIJEeAlhn$g)LPkkRL9vy-er{q(K~8>2PG*u`eo?x0RT+^5T5`5 delta 41 wcmbPIJEeAlhn%5~LPkkRL9vy-er{q(K~8>2PG*u`eo?yqr8UAf8`Jdc07x4TjsO4v diff --git a/public/images/api/qiskit/qiskit-visualization-plot_distribution-1_01.png b/public/images/api/qiskit/qiskit-visualization-plot_distribution-1_01.png index e26d79fce316ffd6369aafe71a1c87d78ce0264c..ed93a52107ed8c3b6cec0632a8027e2732320cd3 100644 GIT binary patch delta 43 zcmex8m+|*p#t9yBMmh=^B_##LR{Hw6i6sR&`6W4-NqYH3>G}%4{~g(wHq{RReCHA- delta 43 zcmex8m+|*p#t9yBhB^uvB_##LR{Hw6i6sR&`6W4-NqYH3>H3$}2-|E-o9YJucmfd> diff --git a/public/images/api/qiskit/qiskit-visualization-plot_distribution-1_02.png b/public/images/api/qiskit/qiskit-visualization-plot_distribution-1_02.png index 873dca7e93adc2f347b816f3d6a00a94d90e2a45..d44060eff2adc9c99cc04c32521f85145ff32723 100644 GIT binary patch delta 43 zcmdlok8#U9#t9yBMmh=^B_##LR{Hw6i6sR&`6W4-NqYH3>G}%4{~g(wcFqp~W~C9+ delta 43 zcmdlok8#U9#t9yBhB^uvB_##LR{Hw6i6sR&`6W4-NqYH3>H3$}2-|E-JLd-gVZac= diff --git a/public/images/api/qiskit/qiskit-visualization-plot_error_map-1.png b/public/images/api/qiskit/qiskit-visualization-plot_error_map-1.png index 731f6caa62f297872c0c76ded30ebf3f6cf5d5bc..26789290abc73023acfe51b3c82f2c6b1b9f8fd5 100644 GIT binary patch delta 43 zcmbQXkZIaNrU@Q$Mmh=^B_##LR{Hw6i6sR&`6W4-NqYH3>G}%4{~g(wW-tK&T{96w delta 43 zcmbQXkZIaNrU@Q$hB^uvB_##LR{Hw6i6sR&`6W4-NqYH3>H3$}2-|E-GnfDXSWXZ! diff --git a/public/images/api/qiskit/qiskit-visualization-plot_gate_map-1.png b/public/images/api/qiskit/qiskit-visualization-plot_gate_map-1.png index 7c14d7fb856bc73ed20bbe46572cb13872c5c376..c7a958c029a048ddc212fc210099a2d0e9cf7315 100644 GIT binary patch delta 41 xcmdmJxzTchhn$g)LPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yqr8UAf8`HdH06dEiI{*Lx diff --git a/public/images/api/qiskit/qiskit-visualization-plot_histogram-1_00.png b/public/images/api/qiskit/qiskit-visualization-plot_histogram-1_00.png index b57ad6c858e69eb2bad101ab69743487c1c5b2cb..6b261ebdafb5757a4ffc4ef102724afb94b6cd12 100644 GIT binary patch delta 41 xcmbP~I4N<0hn$g)LPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yqr8UAf8`E?Q06yUlLI3~& diff --git a/public/images/api/qiskit/qiskit-visualization-plot_histogram-1_01.png b/public/images/api/qiskit/qiskit-visualization-plot_histogram-1_01.png index b4ae9ed7a4af16b4db28b21948bf315867e3ef67..376ed78f0a95535cc824b187b25998a3ed61cfc0 100644 GIT binary patch delta 41 xcmX?Jcf4+bhn$g)LPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yqr8UAf8`B=z0RUOQ5UBtF diff --git a/public/images/api/qiskit/qiskit-visualization-plot_histogram-1_02.png b/public/images/api/qiskit/qiskit-visualization-plot_histogram-1_02.png index ae1390787bc9cdb1c1d8996cd2f0d93f2f8a1361..db137e1e9319d1d212dba5a1d07bea5386a4dd28 100644 GIT binary patch delta 41 xcmexa_p@$-hn$g)LPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yqr8UAf8`FgC0cXSzKmY&$ diff --git a/public/images/api/qiskit/qiskit-visualization-plot_state_city-1.png b/public/images/api/qiskit/qiskit-visualization-plot_state_city-1.png index bc9491db4f44d3b327373397aa1712bd0cfbca83..60511663e87f6210b98a62d710682ec886d3591b 100644 GIT binary patch delta 79562 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 SdOi7X)KyL#eXVSA=l=mGib_iW delta 79592 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 E02t_B{r~^~ diff --git a/public/images/api/qiskit/qiskit-visualization-plot_state_city-2.png b/public/images/api/qiskit/qiskit-visualization-plot_state_city-2.png index 31e297a3510fbf2de5c6adbe3a37b8e00d9eae76..eef292ec9cdc29726931d24db1d245a4b5b9cfc9 100644 GIT binary patch delta 85923 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