From 78c843dc31c154a26658ae8be8f81bb7e24e923d Mon Sep 17 00:00:00 2001 From: Eric Arellano <14852634+Eric-Arellano@users.noreply.github.com> Date: Fri, 5 Apr 2024 16:09:01 -0400 Subject: [PATCH] Regenerate Qiskit 1.0 docs to use precise source code links --- docs/api/qiskit/assembler.mdx | 6 +- docs/api/qiskit/circuit.mdx | 4 +- docs/api/qiskit/circuit_classical.mdx | 86 +++---- docs/api/qiskit/circuit_library.mdx | 198 +++++++-------- docs/api/qiskit/circuit_singleton.mdx | 8 +- docs/api/qiskit/compiler.mdx | 8 +- docs/api/qiskit/converters.mdx | 16 +- docs/api/qiskit/dagcircuit.mdx | 4 +- docs/api/qiskit/exceptions.mdx | 14 +- docs/api/qiskit/passmanager.mdx | 2 +- docs/api/qiskit/primitives.mdx | 4 +- docs/api/qiskit/providers.mdx | 12 +- docs/api/qiskit/providers_fake_provider.mdx | 6 +- docs/api/qiskit/pulse.mdx | 100 ++++---- docs/api/qiskit/qasm2.mdx | 16 +- docs/api/qiskit/qasm3.mdx | 30 +-- .../api/qiskit/qiskit.assembler.RunConfig.mdx | 6 +- .../qiskit/qiskit.circuit.AncillaQubit.mdx | 2 +- .../qiskit/qiskit.circuit.AncillaRegister.mdx | 4 +- .../qiskit.circuit.AnnotatedOperation.mdx | 10 +- docs/api/qiskit/qiskit.circuit.Bit.mdx | 2 +- .../api/qiskit/qiskit.circuit.BreakLoopOp.mdx | 26 +- .../qiskit.circuit.ClassicalRegister.mdx | 4 +- docs/api/qiskit/qiskit.circuit.Clbit.mdx | 2 +- .../qiskit.circuit.CommutationChecker.mdx | 10 +- .../qiskit/qiskit.circuit.ContinueLoopOp.mdx | 26 +- .../qiskit/qiskit.circuit.ControlFlowOp.mdx | 28 +-- .../qiskit/qiskit.circuit.ControlModifier.mdx | 2 +- .../qiskit/qiskit.circuit.ControlledGate.mdx | 32 +-- docs/api/qiskit/qiskit.circuit.Delay.mdx | 28 +-- .../qiskit.circuit.EquivalenceLibrary.mdx | 16 +- docs/api/qiskit/qiskit.circuit.ForLoopOp.mdx | 28 +-- docs/api/qiskit/qiskit.circuit.Gate.mdx | 32 +-- docs/api/qiskit/qiskit.circuit.IfElseOp.mdx | 28 +-- .../api/qiskit/qiskit.circuit.Instruction.mdx | 26 +- .../qiskit/qiskit.circuit.InstructionSet.mdx | 8 +- .../qiskit/qiskit.circuit.InverseModifier.mdx | 2 +- docs/api/qiskit/qiskit.circuit.Operation.mdx | 2 +- docs/api/qiskit/qiskit.circuit.Parameter.mdx | 38 +-- .../qiskit.circuit.ParameterExpression.mdx | 38 +-- .../qiskit/qiskit.circuit.ParameterVector.mdx | 6 +- .../qiskit/qiskit.circuit.PowerModifier.mdx | 2 +- .../qiskit/qiskit.circuit.QuantumCircuit.mdx | 226 +++++++++--------- .../qiskit/qiskit.circuit.QuantumRegister.mdx | 4 +- docs/api/qiskit/qiskit.circuit.Qubit.mdx | 2 +- docs/api/qiskit/qiskit.circuit.Register.mdx | 4 +- .../qiskit/qiskit.circuit.SwitchCaseOp.mdx | 32 +-- .../api/qiskit/qiskit.circuit.WhileLoopOp.mdx | 28 +-- ...it.classicalfunction.BooleanExpression.mdx | 38 +-- ...it.classicalfunction.ClassicalFunction.mdx | 40 ++-- ...ion.ClassicalFunctionCompilerTypeError.mdx | 2 +- ...alfunction.ClassicalFunctionParseError.mdx | 2 +- .../api/qiskit/qiskit.circuit.library.AND.mdx | 2 +- .../qiskit/qiskit.circuit.library.Barrier.mdx | 26 +- .../qiskit.circuit.library.C3SXGate.mdx | 2 +- .../qiskit/qiskit.circuit.library.C3XGate.mdx | 6 +- .../qiskit/qiskit.circuit.library.C4XGate.mdx | 6 +- .../qiskit/qiskit.circuit.library.CCXGate.mdx | 6 +- .../qiskit/qiskit.circuit.library.CCZGate.mdx | 4 +- ...t.circuit.library.CDKMRippleCarryAdder.mdx | 2 +- .../qiskit/qiskit.circuit.library.CHGate.mdx | 4 +- .../qiskit.circuit.library.CPhaseGate.mdx | 8 +- .../qiskit/qiskit.circuit.library.CRXGate.mdx | 4 +- .../qiskit/qiskit.circuit.library.CRYGate.mdx | 4 +- .../qiskit/qiskit.circuit.library.CRZGate.mdx | 4 +- .../qiskit/qiskit.circuit.library.CSGate.mdx | 6 +- .../qiskit/qiskit.circuit.library.CSXGate.mdx | 2 +- .../qiskit.circuit.library.CSdgGate.mdx | 6 +- .../qiskit.circuit.library.CSwapGate.mdx | 4 +- .../qiskit/qiskit.circuit.library.CU1Gate.mdx | 6 +- .../qiskit/qiskit.circuit.library.CU3Gate.mdx | 4 +- .../qiskit/qiskit.circuit.library.CUGate.mdx | 4 +- .../qiskit/qiskit.circuit.library.CXGate.mdx | 6 +- .../qiskit/qiskit.circuit.library.CYGate.mdx | 4 +- .../qiskit/qiskit.circuit.library.CZGate.mdx | 4 +- .../qiskit/qiskit.circuit.library.DCXGate.mdx | 2 +- .../qiskit.circuit.library.Diagonal.mdx | 2 +- .../qiskit.circuit.library.DiagonalGate.mdx | 6 +- .../qiskit.circuit.library.DraperQFTAdder.mdx | 2 +- .../qiskit/qiskit.circuit.library.ECRGate.mdx | 4 +- .../qiskit.circuit.library.EfficientSU2.mdx | 2 +- ....circuit.library.EvolvedOperatorAnsatz.mdx | 2 +- ...qiskit.circuit.library.ExactReciprocal.mdx | 2 +- ...t.circuit.library.ExcitationPreserving.mdx | 2 +- ...qiskit.circuit.library.FourierChecking.mdx | 2 +- ...rcuit.library.FunctionalPauliRotations.mdx | 2 +- .../api/qiskit/qiskit.circuit.library.GMS.mdx | 2 +- docs/api/qiskit/qiskit.circuit.library.GR.mdx | 2 +- .../api/qiskit/qiskit.circuit.library.GRX.mdx | 2 +- .../api/qiskit/qiskit.circuit.library.GRY.mdx | 2 +- .../api/qiskit/qiskit.circuit.library.GRZ.mdx | 2 +- ...qiskit.circuit.library.GlobalPhaseGate.mdx | 4 +- .../qiskit.circuit.library.GraphState.mdx | 2 +- .../qiskit.circuit.library.GroverOperator.mdx | 2 +- .../qiskit/qiskit.circuit.library.HGate.mdx | 6 +- ...ircuit.library.HRSCumulativeMultiplier.mdx | 2 +- ...qiskit.circuit.library.HamiltonianGate.mdx | 12 +- ...t.circuit.library.HiddenLinearFunction.mdx | 2 +- .../qiskit/qiskit.circuit.library.IGate.mdx | 6 +- .../api/qiskit/qiskit.circuit.library.IQP.mdx | 2 +- .../qiskit.circuit.library.Initialize.mdx | 6 +- .../qiskit.circuit.library.InnerProduct.mdx | 2 +- ...skit.circuit.library.IntegerComparator.mdx | 2 +- .../qiskit.circuit.library.Isometry.mdx | 8 +- ...ircuit.library.LinearAmplitudeFunction.mdx | 4 +- .../qiskit.circuit.library.LinearFunction.mdx | 16 +- ...t.circuit.library.LinearPauliRotations.mdx | 2 +- .../qiskit/qiskit.circuit.library.MCMT.mdx | 6 +- .../qiskit.circuit.library.MCMTVChain.mdx | 4 +- .../qiskit.circuit.library.MCPhaseGate.mdx | 6 +- .../qiskit/qiskit.circuit.library.MCXGate.mdx | 8 +- .../qiskit.circuit.library.MCXGrayCode.mdx | 4 +- .../qiskit.circuit.library.MCXRecursive.mdx | 6 +- .../qiskit.circuit.library.MCXVChain.mdx | 6 +- .../qiskit/qiskit.circuit.library.MSGate.mdx | 2 +- .../qiskit/qiskit.circuit.library.Measure.mdx | 26 +- .../qiskit/qiskit.circuit.library.NLocal.mdx | 12 +- docs/api/qiskit/qiskit.circuit.library.OR.mdx | 2 +- ...kit.circuit.library.PauliEvolutionGate.mdx | 4 +- ...qiskit.circuit.library.PauliFeatureMap.mdx | 6 +- .../qiskit.circuit.library.PauliGate.mdx | 6 +- .../qiskit.circuit.library.PauliTwoDesign.mdx | 2 +- .../qiskit.circuit.library.Permutation.mdx | 2 +- ...qiskit.circuit.library.PermutationGate.mdx | 6 +- ...qiskit.circuit.library.PhaseEstimation.mdx | 2 +- .../qiskit.circuit.library.PhaseGate.mdx | 8 +- .../qiskit.circuit.library.PhaseOracle.mdx | 6 +- ...kit.circuit.library.PiecewiseChebyshev.mdx | 2 +- ....library.PiecewiseLinearPauliRotations.mdx | 4 +- ...rary.PiecewisePolynomialPauliRotations.mdx | 4 +- ...rcuit.library.PolynomialPauliRotations.mdx | 2 +- .../qiskit.circuit.library.QAOAAnsatz.mdx | 2 +- .../api/qiskit/qiskit.circuit.library.QFT.mdx | 6 +- .../qiskit.circuit.library.QuadraticForm.mdx | 4 +- .../qiskit.circuit.library.QuantumVolume.mdx | 2 +- .../qiskit.circuit.library.RC3XGate.mdx | 2 +- .../qiskit.circuit.library.RCCXGate.mdx | 2 +- ...qiskit.circuit.library.RGQFTMultiplier.mdx | 2 +- .../qiskit/qiskit.circuit.library.RGate.mdx | 6 +- .../qiskit/qiskit.circuit.library.RVGate.mdx | 25 +- .../qiskit/qiskit.circuit.library.RXGate.mdx | 8 +- .../qiskit/qiskit.circuit.library.RXXGate.mdx | 6 +- .../qiskit/qiskit.circuit.library.RYGate.mdx | 8 +- .../qiskit/qiskit.circuit.library.RYYGate.mdx | 6 +- .../qiskit/qiskit.circuit.library.RZGate.mdx | 8 +- .../qiskit/qiskit.circuit.library.RZXGate.mdx | 6 +- .../qiskit/qiskit.circuit.library.RZZGate.mdx | 6 +- .../qiskit.circuit.library.RealAmplitudes.mdx | 2 +- .../qiskit/qiskit.circuit.library.Reset.mdx | 26 +- .../qiskit/qiskit.circuit.library.SGate.mdx | 6 +- .../qiskit/qiskit.circuit.library.SXGate.mdx | 6 +- .../qiskit.circuit.library.SXdgGate.mdx | 4 +- .../qiskit/qiskit.circuit.library.SdgGate.mdx | 6 +- ...iskit.circuit.library.StatePreparation.mdx | 8 +- .../qiskit.circuit.library.SwapGate.mdx | 6 +- .../qiskit/qiskit.circuit.library.TGate.mdx | 6 +- .../qiskit/qiskit.circuit.library.TdgGate.mdx | 6 +- .../qiskit.circuit.library.TwoLocal.mdx | 4 +- .../qiskit/qiskit.circuit.library.U1Gate.mdx | 6 +- .../qiskit/qiskit.circuit.library.U2Gate.mdx | 4 +- .../qiskit/qiskit.circuit.library.U3Gate.mdx | 6 +- .../qiskit/qiskit.circuit.library.UCGate.mdx | 6 +- .../qiskit.circuit.library.UCPauliRotGate.mdx | 2 +- .../qiskit.circuit.library.UCRXGate.mdx | 2 +- .../qiskit.circuit.library.UCRYGate.mdx | 2 +- .../qiskit.circuit.library.UCRZGate.mdx | 2 +- .../qiskit/qiskit.circuit.library.UGate.mdx | 6 +- .../qiskit.circuit.library.UnitaryGate.mdx | 14 +- .../qiskit.circuit.library.UnitaryOverlap.mdx | 2 +- ...it.circuit.library.VBERippleCarryAdder.mdx | 2 +- .../qiskit.circuit.library.WeightedAdder.mdx | 2 +- .../qiskit/qiskit.circuit.library.XGate.mdx | 6 +- .../api/qiskit/qiskit.circuit.library.XOR.mdx | 2 +- .../qiskit.circuit.library.XXMinusYYGate.mdx | 6 +- .../qiskit.circuit.library.XXPlusYYGate.mdx | 6 +- .../qiskit/qiskit.circuit.library.YGate.mdx | 6 +- .../qiskit.circuit.library.ZFeatureMap.mdx | 2 +- .../qiskit/qiskit.circuit.library.ZGate.mdx | 8 +- .../qiskit.circuit.library.ZZFeatureMap.mdx | 2 +- .../qiskit.circuit.library.iSwapGate.mdx | 4 +- .../qiskit/qiskit.dagcircuit.DAGCircuit.mdx | 140 +++++------ .../qiskit/qiskit.dagcircuit.DAGDepNode.mdx | 6 +- .../qiskit.dagcircuit.DAGDependency.mdx | 46 ++-- .../qiskit/qiskit.dagcircuit.DAGInNode.mdx | 4 +- docs/api/qiskit/qiskit.dagcircuit.DAGNode.mdx | 4 +- .../qiskit/qiskit.dagcircuit.DAGOpNode.mdx | 4 +- .../qiskit/qiskit.dagcircuit.DAGOutNode.mdx | 4 +- .../qiskit.passmanager.BaseController.mdx | 6 +- .../qiskit.passmanager.BasePassManager.mdx | 12 +- ...skit.passmanager.ConditionalController.mdx | 6 +- .../qiskit.passmanager.DoWhileController.mdx | 6 +- ...iskit.passmanager.FlowControllerLinear.mdx | 6 +- .../qiskit/qiskit.passmanager.GenericPass.mdx | 10 +- .../qiskit.passmanager.PassManagerState.mdx | 2 +- .../qiskit/qiskit.passmanager.PropertySet.mdx | 2 +- .../qiskit.passmanager.WorkflowStatus.mdx | 2 +- .../qiskit.primitives.BackendEstimator.mdx | 8 +- .../qiskit.primitives.BackendSampler.mdx | 8 +- .../qiskit.primitives.BaseEstimator.mdx | 2 +- .../qiskit.primitives.BaseEstimatorV1.mdx | 6 +- .../qiskit.primitives.BaseEstimatorV2.mdx | 4 +- .../qiskit.primitives.BasePrimitiveJob.mdx | 18 +- .../qiskit/qiskit.primitives.BaseSampler.mdx | 2 +- .../qiskit.primitives.BaseSamplerV1.mdx | 6 +- .../qiskit.primitives.BaseSamplerV2.mdx | 4 +- .../api/qiskit/qiskit.primitives.BitArray.mdx | 18 +- docs/api/qiskit/qiskit.primitives.DataBin.mdx | 2 +- .../qiskit/qiskit.primitives.Estimator.mdx | 6 +- .../qiskit.primitives.EstimatorResult.mdx | 2 +- .../qiskit/qiskit.primitives.PrimitiveJob.mdx | 18 +- .../qiskit.primitives.PrimitiveResult.mdx | 2 +- .../qiskit/qiskit.primitives.PubResult.mdx | 2 +- docs/api/qiskit/qiskit.primitives.Sampler.mdx | 6 +- .../qiskit.primitives.SamplerResult.mdx | 2 +- ...qiskit.primitives.StatevectorEstimator.mdx | 4 +- .../qiskit.primitives.StatevectorSampler.mdx | 4 +- docs/api/qiskit/qiskit.providers.Backend.mdx | 2 +- .../api/qiskit/qiskit.providers.BackendV1.mdx | 20 +- .../api/qiskit/qiskit.providers.BackendV2.mdx | 18 +- .../qiskit.providers.BackendV2Converter.mdx | 16 +- docs/api/qiskit/qiskit.providers.Job.mdx | 2 +- .../api/qiskit/qiskit.providers.JobStatus.mdx | 2 +- docs/api/qiskit/qiskit.providers.JobV1.mdx | 24 +- docs/api/qiskit/qiskit.providers.Options.mdx | 6 +- docs/api/qiskit/qiskit.providers.Provider.mdx | 2 +- .../qiskit/qiskit.providers.ProviderV1.mdx | 6 +- .../qiskit.providers.QubitProperties.mdx | 2 +- ...providers.basic_provider.BasicProvider.mdx | 6 +- ...ders.basic_provider.BasicProviderError.mdx | 2 +- ...viders.basic_provider.BasicProviderJob.mdx | 24 +- ...roviders.basic_provider.BasicSimulator.mdx | 20 +- .../qiskit.providers.convert_to_target.mdx | 2 +- ...roviders.fake_provider.Fake127QPulseV1.mdx | 18 +- .../qiskit.providers.fake_provider.Fake1Q.mdx | 16 +- ...skit.providers.fake_provider.Fake20QV1.mdx | 16 +- ...providers.fake_provider.Fake27QPulseV1.mdx | 18 +- ...iskit.providers.fake_provider.Fake5QV1.mdx | 16 +- ....providers.fake_provider.Fake7QPulseV1.mdx | 18 +- ...roviders.fake_provider.FakeOpenPulse2Q.mdx | 18 +- ...roviders.fake_provider.FakeOpenPulse3Q.mdx | 18 +- ...oviders.fake_provider.GenericBackendV2.mdx | 16 +- ....providers.models.BackendConfiguration.mdx | 6 +- ...kit.providers.models.BackendProperties.mdx | 32 +-- .../qiskit.providers.models.BackendStatus.mdx | 6 +- .../qiskit.providers.models.Command.mdx | 6 +- .../qiskit.providers.models.GateConfig.mdx | 6 +- ...qiskit.providers.models.GateProperties.mdx | 6 +- .../qiskit.providers.models.JobStatus.mdx | 6 +- .../qiskit/qiskit.providers.models.Nduv.mdx | 6 +- ...iders.models.PulseBackendConfiguration.mdx | 20 +- .../qiskit.providers.models.PulseDefaults.mdx | 6 +- ...viders.models.QasmBackendConfiguration.mdx | 6 +- .../qiskit.providers.models.UchannelLO.mdx | 6 +- .../qiskit.pulse.InstructionScheduleMap.mdx | 22 +- docs/api/qiskit/qiskit.pulse.Schedule.mdx | 30 +-- .../api/qiskit/qiskit.pulse.ScheduleBlock.mdx | 28 +-- .../qiskit.pulse.channels.AcquireChannel.mdx | 4 +- .../qiskit.pulse.channels.ControlChannel.mdx | 4 +- .../qiskit.pulse.channels.DriveChannel.mdx | 4 +- .../qiskit.pulse.channels.MeasureChannel.mdx | 4 +- .../qiskit.pulse.channels.MemorySlot.mdx | 4 +- .../qiskit.pulse.channels.RegisterSlot.mdx | 4 +- .../qiskit.pulse.channels.SnapshotChannel.mdx | 4 +- .../qiskit.pulse.instructions.Acquire.mdx | 16 +- .../qiskit.pulse.instructions.Delay.mdx | 16 +- .../qiskit/qiskit.pulse.instructions.Play.mdx | 16 +- .../qiskit.pulse.instructions.Reference.mdx | 16 +- ...kit.pulse.instructions.RelativeBarrier.mdx | 16 +- ...qiskit.pulse.instructions.SetFrequency.mdx | 16 +- .../qiskit.pulse.instructions.SetPhase.mdx | 16 +- ...skit.pulse.instructions.ShiftFrequency.mdx | 16 +- .../qiskit.pulse.instructions.ShiftPhase.mdx | 16 +- .../qiskit.pulse.instructions.Snapshot.mdx | 16 +- ...qiskit.pulse.instructions.TimeBlockade.mdx | 16 +- ...iskit.pulse.library.Constant_class.rst.mdx | 2 +- .../qiskit.pulse.library.Cos_class.rst.mdx | 2 +- .../qiskit.pulse.library.Drag_class.rst.mdx | 2 +- .../qiskit.pulse.library.GaussianDeriv.mdx | 2 +- .../qiskit.pulse.library.GaussianSquare.mdx | 2 +- ...iskit.pulse.library.GaussianSquareDrag.mdx | 2 +- ...iskit.pulse.library.Gaussian_class.rst.mdx | 2 +- ...iskit.pulse.library.Sawtooth_class.rst.mdx | 2 +- .../qiskit/qiskit.pulse.library.SechDeriv.mdx | 2 +- .../qiskit.pulse.library.Sech_fun.rst.mdx | 2 +- .../qiskit.pulse.library.Sin_class.rst.mdx | 2 +- .../qiskit.pulse.library.Square_fun.rst.mdx | 2 +- .../qiskit.pulse.library.SymbolicPulse.mdx | 10 +- ...iskit.pulse.library.Triangle_class.rst.mdx | 2 +- .../qiskit/qiskit.pulse.library.Waveform.mdx | 6 +- ...kit.pulse.library.gaussian_square_echo.mdx | 2 +- ...iskit.pulse.transforms.AlignEquispaced.mdx | 4 +- .../qiskit.pulse.transforms.AlignFunc.mdx | 4 +- .../qiskit.pulse.transforms.AlignLeft.mdx | 4 +- .../qiskit.pulse.transforms.AlignRight.mdx | 4 +- ...iskit.pulse.transforms.AlignSequential.mdx | 4 +- .../qiskit/qiskit.qobj.GateCalibration.mdx | 6 +- .../qiskit/qiskit.qobj.PulseLibraryItem.mdx | 6 +- docs/api/qiskit/qiskit.qobj.PulseQobj.mdx | 6 +- .../qiskit/qiskit.qobj.PulseQobjConfig.mdx | 6 +- .../qiskit.qobj.PulseQobjExperiment.mdx | 6 +- .../qiskit.qobj.PulseQobjExperimentConfig.mdx | 6 +- .../qiskit.qobj.PulseQobjInstruction.mdx | 6 +- ...qiskit.qobj.QasmExperimentCalibrations.mdx | 6 +- docs/api/qiskit/qiskit.qobj.QasmQobj.mdx | 6 +- .../api/qiskit/qiskit.qobj.QasmQobjConfig.mdx | 6 +- .../qiskit/qiskit.qobj.QasmQobjExperiment.mdx | 6 +- .../qiskit.qobj.QasmQobjExperimentConfig.mdx | 6 +- .../qiskit.qobj.QasmQobjInstruction.mdx | 6 +- .../qiskit.qobj.QobjExperimentHeader.mdx | 6 +- docs/api/qiskit/qiskit.qobj.QobjHeader.mdx | 6 +- .../qiskit.qobj.QobjMeasurementOption.mdx | 6 +- .../qiskit.quantum_info.CNOTDihedral.mdx | 34 +-- docs/api/qiskit/qiskit.quantum_info.Chi.mdx | 38 +-- docs/api/qiskit/qiskit.quantum_info.Choi.mdx | 38 +-- .../qiskit/qiskit.quantum_info.Clifford.mdx | 54 ++--- .../qiskit.quantum_info.DensityMatrix.mdx | 54 ++--- docs/api/qiskit/qiskit.quantum_info.Kraus.mdx | 38 +-- .../qiskit/qiskit.quantum_info.Operator.mdx | 46 ++-- docs/api/qiskit/qiskit.quantum_info.PTM.mdx | 38 +-- docs/api/qiskit/qiskit.quantum_info.Pauli.mdx | 48 ++-- .../qiskit/qiskit.quantum_info.PauliList.mdx | 64 ++--- .../qiskit/qiskit.quantum_info.Quaternion.mdx | 14 +- .../qiskit/qiskit.quantum_info.ScalarOp.mdx | 32 +-- .../qiskit.quantum_info.SparsePauliOp.mdx | 62 ++--- .../qiskit.quantum_info.StabilizerState.mdx | 42 ++-- .../qiskit.quantum_info.Statevector.mdx | 54 ++--- .../qiskit.quantum_info.Stinespring.mdx | 38 +-- .../qiskit/qiskit.quantum_info.SuperOp.mdx | 38 +-- .../qiskit.quantum_info.Z2Symmetries.mdx | 12 +- .../qiskit.quantum_info.pauli_basis.mdx | 2 +- .../qiskit.result.BaseReadoutMitigator.mdx | 6 +- ...skit.result.CorrelatedReadoutMitigator.mdx | 12 +- docs/api/qiskit/qiskit.result.Counts.mdx | 10 +- .../qiskit.result.LocalReadoutMitigator.mdx | 12 +- .../qiskit/qiskit.result.ProbDistribution.mdx | 6 +- .../qiskit.result.QuasiDistribution.mdx | 8 +- docs/api/qiskit/qiskit.result.Result.mdx | 16 +- docs/api/qiskit/qiskit.result.ResultError.mdx | 2 +- .../qiskit.synthesis.EvolutionSynthesis.mdx | 4 +- .../qiskit/qiskit.synthesis.LieTrotter.mdx | 4 +- .../qiskit.synthesis.MatrixExponential.mdx | 4 +- ...skit.synthesis.OneQubitEulerDecomposer.mdx | 10 +- .../qiskit.synthesis.ProductFormula.mdx | 4 +- docs/api/qiskit/qiskit.synthesis.QDrift.mdx | 4 +- ...t.synthesis.SolovayKitaevDecomposition.mdx | 8 +- .../qiskit/qiskit.synthesis.SuzukiTrotter.mdx | 4 +- ...skit.synthesis.TwoQubitBasisDecomposer.mdx | 16 +- ...it.synthesis.TwoQubitWeylDecomposition.mdx | 10 +- .../qiskit/qiskit.synthesis.XXDecomposer.mdx | 6 +- .../qiskit.synthesis.unitary.aqc.AQC.mdx | 4 +- ...nthesis.unitary.aqc.ApproximateCircuit.mdx | 4 +- ...sis.unitary.aqc.ApproximatingObjective.mdx | 6 +- ....synthesis.unitary.aqc.CNOTUnitCircuit.mdx | 4 +- ...ynthesis.unitary.aqc.CNOTUnitObjective.mdx | 2 +- ...s.unitary.aqc.DefaultCNOTUnitObjective.mdx | 6 +- ...esis.unitary.aqc.FastCNOTUnitObjective.mdx | 6 +- .../qiskit/qiskit.synthesis.unitary.aqc.mdx | 2 +- .../qiskit/qiskit.transpiler.AnalysisPass.mdx | 10 +- .../qiskit/qiskit.transpiler.CouplingMap.mdx | 44 ++-- ...qiskit.transpiler.InstructionDurations.mdx | 10 +- ...iskit.transpiler.InstructionProperties.mdx | 2 +- docs/api/qiskit/qiskit.transpiler.Layout.mdx | 30 +-- .../qiskit/qiskit.transpiler.PassManager.mdx | 14 +- .../qiskit.transpiler.PassManagerConfig.mdx | 4 +- .../qiskit.transpiler.StagedPassManager.mdx | 14 +- docs/api/qiskit/qiskit.transpiler.Target.mdx | 42 ++-- .../qiskit.transpiler.TransformationPass.mdx | 10 +- .../qiskit.transpiler.TranspileLayout.mdx | 12 +- .../qiskit.transpiler.passes.ALAPSchedule.mdx | 10 +- ...transpiler.passes.ALAPScheduleAnalysis.mdx | 10 +- .../qiskit.transpiler.passes.ASAPSchedule.mdx | 10 +- ...transpiler.passes.ASAPScheduleAnalysis.mdx | 10 +- ...qiskit.transpiler.passes.AlignMeasures.mdx | 10 +- .../qiskit.transpiler.passes.ApplyLayout.mdx | 10 +- ....passes.BarrierBeforeFinalMeasurements.mdx | 10 +- .../qiskit.transpiler.passes.BasicSwap.mdx | 10 +- ...skit.transpiler.passes.BasisTranslator.mdx | 10 +- .../qiskit.transpiler.passes.CSPLayout.mdx | 10 +- ...iskit.transpiler.passes.CXCancellation.mdx | 10 +- ...t.transpiler.passes.CheckGateDirection.mdx | 10 +- .../qiskit.transpiler.passes.CheckMap.mdx | 10 +- ...qiskit.transpiler.passes.Collect1qRuns.mdx | 10 +- ...skit.transpiler.passes.Collect2qBlocks.mdx | 10 +- ...kit.transpiler.passes.CollectCliffords.mdx | 10 +- ...anspiler.passes.CollectLinearFunctions.mdx | 10 +- ....transpiler.passes.CollectMultiQBlocks.mdx | 14 +- ....transpiler.passes.CommutationAnalysis.mdx | 10 +- ...nspiler.passes.CommutativeCancellation.mdx | 10 +- ....passes.CommutativeInverseCancellation.mdx | 10 +- ...ranspiler.passes.Commuting2qGateRouter.mdx | 12 +- ...it.transpiler.passes.ConsolidateBlocks.mdx | 10 +- ...ranspiler.passes.ConstrainedReschedule.mdx | 10 +- ....transpiler.passes.ContainsInstruction.mdx | 10 +- ...spiler.passes.ConvertConditionsToIfOps.mdx | 10 +- .../qiskit.transpiler.passes.CountOps.mdx | 10 +- ....transpiler.passes.CountOpsLongestPath.mdx | 10 +- ...qiskit.transpiler.passes.DAGFixedPoint.mdx | 10 +- ...iskit.transpiler.passes.DAGLongestPath.mdx | 10 +- .../qiskit.transpiler.passes.Decompose.mdx | 10 +- .../qiskit.transpiler.passes.DenseLayout.mdx | 10 +- .../qiskit/qiskit.transpiler.passes.Depth.mdx | 10 +- ....transpiler.passes.DynamicalDecoupling.mdx | 10 +- ...spiler.passes.EchoRZXWeylDecomposition.mdx | 10 +- ...t.transpiler.passes.EnlargeWithAncilla.mdx | 10 +- ...qiskit.transpiler.passes.FilterOpNodes.mdx | 10 +- .../qiskit.transpiler.passes.FixedPoint.mdx | 10 +- ...ranspiler.passes.FullAncillaAllocation.mdx | 12 +- ...qiskit.transpiler.passes.GateDirection.mdx | 10 +- .../qiskit.transpiler.passes.GatesInBasis.mdx | 10 +- .../qiskit.transpiler.passes.HLSConfig.mdx | 4 +- ...t.transpiler.passes.HighLevelSynthesis.mdx | 10 +- ...iskit.transpiler.passes.HoareOptimizer.mdx | 10 +- ...spiler.passes.InstructionDurationCheck.mdx | 10 +- ....transpiler.passes.InverseCancellation.mdx | 10 +- ...kit.transpiler.passes.Layout2qDistance.mdx | 10 +- ...r.passes.LinearFunctionsToPermutations.mdx | 10 +- ...qiskit.transpiler.passes.LookaheadSwap.mdx | 10 +- ...ranspiler.passes.MergeAdjacentBarriers.mdx | 10 +- .../qiskit.transpiler.passes.MinimumPoint.mdx | 10 +- ...kit.transpiler.passes.NormalizeRXAngle.mdx | 12 +- ...kit.transpiler.passes.NumTensorFactors.mdx | 10 +- ...skit.transpiler.passes.Optimize1qGates.mdx | 14 +- ...er.passes.Optimize1qGatesDecomposition.mdx | 10 +- ...asses.Optimize1qGatesSimpleCommutation.mdx | 10 +- ...it.transpiler.passes.OptimizeAnnotated.mdx | 10 +- ...it.transpiler.passes.OptimizeCliffords.mdx | 10 +- .../qiskit.transpiler.passes.PadDelay.mdx | 10 +- ...anspiler.passes.PadDynamicalDecoupling.mdx | 10 +- .../qiskit.transpiler.passes.PulseGates.mdx | 14 +- ...transpiler.passes.RXCalibrationBuilder.mdx | 14 +- ...ranspiler.passes.RZXCalibrationBuilder.mdx | 16 +- ...ler.passes.RZXCalibrationBuilderNoEcho.mdx | 16 +- ...iskit.transpiler.passes.RemoveBarriers.mdx | 10 +- ...asses.RemoveDiagonalGatesBeforeMeasure.mdx | 10 +- ...nspiler.passes.RemoveFinalMeasurements.mdx | 10 +- ...anspiler.passes.RemoveResetInZeroState.mdx | 10 +- ...passes.ResetAfterMeasureSimplification.mdx | 10 +- .../qiskit.transpiler.passes.SabreLayout.mdx | 10 +- ...iskit.transpiler.passes.SabrePreLayout.mdx | 10 +- .../qiskit.transpiler.passes.SabreSwap.mdx | 10 +- .../qiskit.transpiler.passes.SetIOLatency.mdx | 10 +- .../qiskit.transpiler.passes.SetLayout.mdx | 10 +- .../qiskit/qiskit.transpiler.passes.Size.mdx | 10 +- ...qiskit.transpiler.passes.SolovayKitaev.mdx | 10 +- ...iskit.transpiler.passes.StochasticSwap.mdx | 10 +- ...transpiler.passes.TemplateOptimization.mdx | 10 +- ...t.transpiler.passes.TimeUnitConversion.mdx | 10 +- ...ler.passes.TranslateParameterizedGates.mdx | 10 +- ...qiskit.transpiler.passes.TrivialLayout.mdx | 10 +- ...kit.transpiler.passes.UnitarySynthesis.mdx | 10 +- ...iskit.transpiler.passes.Unroll3qOrMore.mdx | 10 +- ...nspiler.passes.UnrollCustomDefinitions.mdx | 10 +- ...iskit.transpiler.passes.UnrollForLoops.mdx | 10 +- .../qiskit.transpiler.passes.VF2Layout.mdx | 10 +- ...qiskit.transpiler.passes.VF2PostLayout.mdx | 10 +- ...t.transpiler.passes.ValidatePulseGates.mdx | 10 +- .../qiskit/qiskit.transpiler.passes.Width.mdx | 10 +- ...ynthesis.aqc_plugin.AQCSynthesisPlugin.mdx | 4 +- ...evel_synthesis.ACGSynthesisPermutation.mdx | 4 +- ...gh_level_synthesis.AGSynthesisClifford.mdx | 4 +- ...gh_level_synthesis.BMSynthesisClifford.mdx | 4 +- ...el_synthesis.BasicSynthesisPermutation.mdx | 4 +- ...vel_synthesis.DefaultSynthesisClifford.mdx | 4 +- ...nthesis.DefaultSynthesisLinearFunction.mdx | 4 +- ...evel_synthesis.GreedySynthesisClifford.mdx | 4 +- ...l_synthesis.KMSSynthesisLinearFunction.mdx | 4 +- ...evel_synthesis.KMSSynthesisPermutation.mdx | 4 +- ...el_synthesis.LayerLnnSynthesisClifford.mdx | 4 +- ...level_synthesis.LayerSynthesisClifford.mdx | 4 +- ...l_synthesis.PMHSynthesisLinearFunction.mdx | 4 +- ...hesis.TokenSwapperSynthesisPermutation.mdx | 4 +- ...thesis.plugin.HighLevelSynthesisPlugin.mdx | 4 +- ...plugin.HighLevelSynthesisPluginManager.mdx | 6 +- ...ynthesis.plugin.UnitarySynthesisPlugin.mdx | 4 +- ...s.plugin.UnitarySynthesisPluginManager.mdx | 2 +- ...ugin.high_level_synthesis_plugin_names.mdx | 2 +- ....plugin.unitary_synthesis_plugin_names.mdx | 2 +- ...itaev_synthesis.SolovayKitaevSynthesis.mdx | 4 +- ...tary_synthesis.DefaultUnitarySynthesis.mdx | 4 +- ...managers.plugin.PassManagerStagePlugin.mdx | 4 +- ...s.plugin.PassManagerStagePluginManager.mdx | 4 +- .../qiskit.visualization.array_to_latex.mdx | 2 +- .../qiskit.visualization.circuit_drawer.mdx | 2 +- .../qiskit.visualization.dag_drawer.mdx | 2 +- ...skit.visualization.pass_manager_drawer.mdx | 2 +- ...t.visualization.plot_bloch_multivector.mdx | 4 +- ...qiskit.visualization.plot_bloch_vector.mdx | 6 +- ...skit.visualization.plot_circuit_layout.mdx | 2 +- ...qiskit.visualization.plot_coupling_map.mdx | 2 +- ...qiskit.visualization.plot_distribution.mdx | 4 +- .../qiskit.visualization.plot_error_map.mdx | 2 +- .../qiskit.visualization.plot_gate_map.mdx | 2 +- .../qiskit.visualization.plot_histogram.mdx | 4 +- .../qiskit.visualization.plot_state_city.mdx | 8 +- ...qiskit.visualization.plot_state_hinton.mdx | 8 +- ...skit.visualization.plot_state_paulivec.mdx | 6 +- ...iskit.visualization.plot_state_qsphere.mdx | 6 +- .../qiskit.visualization.timeline_drawer.mdx | 2 +- ...kit.visualization.visualize_transition.mdx | 2 +- docs/api/qiskit/qpy.mdx | 8 +- docs/api/qiskit/quantum_info.mdx | 54 ++--- docs/api/qiskit/release-notes/1.0.mdx | 16 +- docs/api/qiskit/result.mdx | 8 +- docs/api/qiskit/scheduler.mdx | 8 +- docs/api/qiskit/synthesis.mdx | 46 ++-- docs/api/qiskit/transpiler.mdx | 22 +- docs/api/qiskit/transpiler_passes.mdx | 2 +- docs/api/qiskit/transpiler_plugins.mdx | 4 +- docs/api/qiskit/transpiler_preset.mdx | 30 +-- docs/api/qiskit/utils.mdx | 36 +-- docs/api/qiskit/visualization.mdx | 2 +- public/images/api/qiskit/circuit-1.png | Bin 5373 -> 5373 bytes public/images/api/qiskit/circuit-2.png | Bin 3876 -> 3876 bytes public/images/api/qiskit/circuit-3.png | Bin 5607 -> 5607 bytes public/images/api/qiskit/circuit-4.png | Bin 29666 -> 29666 bytes public/images/api/qiskit/circuit-5.png | Bin 9343 -> 8143 bytes .../images/api/qiskit/circuit_library-1.png | Bin 6289 -> 6289 bytes public/images/api/qiskit/converters-1.png | Bin 8320 -> 8320 bytes .../qiskit/providers_fake_provider-1_00.png | Bin 13102 -> 13102 bytes .../qiskit/providers_fake_provider-1_01.png | Bin 22602 -> 22602 bytes .../qiskit/providers_fake_provider-1_02.png | Bin 13291 -> 14194 bytes public/images/api/qiskit/pulse-1.png | Bin 31312 -> 31312 bytes public/images/api/qiskit/pulse-2.png | Bin 11049 -> 10937 bytes public/images/api/qiskit/pulse-3.png | Bin 59935 -> 59773 bytes public/images/api/qiskit/pulse-4.png | Bin 19385 -> 18976 bytes public/images/api/qiskit/pulse-5.png | Bin 16598 -> 16437 bytes public/images/api/qiskit/pulse-6.png | Bin 11621 -> 11430 bytes public/images/api/qiskit/pulse-7.png | Bin 14093 -> 14163 bytes public/images/api/qiskit/qasm3-1.png | Bin 25489 -> 25489 bytes .../qiskit-circuit-ControlledGate-1.png | Bin 4578 -> 4578 bytes .../qiskit-circuit-ControlledGate-2.png | Bin 7246 -> 7249 bytes .../qiskit-circuit-InstructionSet-1.png | Bin 8936 -> 8936 bytes .../api/qiskit/qiskit-circuit-Operation-1.png | Bin 5879 -> 5879 bytes .../qiskit/qiskit-circuit-Parameter-1_00.png | Bin 1689 -> 1689 bytes .../qiskit/qiskit-circuit-Parameter-1_01.png | Bin 5370 -> 5370 bytes .../qiskit-circuit-QuantumCircuit-1.png | Bin 6885 -> 6885 bytes .../qiskit-circuit-QuantumCircuit-2.png | Bin 16553 -> 16553 bytes .../qiskit-circuit-QuantumCircuit-3_00.png | Bin 3661 -> 3661 bytes .../qiskit-circuit-QuantumCircuit-3_01.png | Bin 3635 -> 3635 bytes .../qiskit-circuit-QuantumCircuit-4_00.png | Bin 3585 -> 3585 bytes .../qiskit-circuit-QuantumCircuit-4_01.png | Bin 3913 -> 3913 bytes .../qiskit-circuit-QuantumCircuit-5.png | Bin 3214 -> 3214 bytes .../qiskit-circuit-QuantumCircuit-6.png | Bin 4256 -> 4256 bytes .../qiskit/qiskit-circuit-library-AND-1.png | Bin 16860 -> 16860 bytes .../qiskit/qiskit-circuit-library-AND-2.png | Bin 17615 -> 17615 bytes ...skit-circuit-library-FourierChecking-1.png | Bin 11434 -> 11434 bytes .../qiskit/qiskit-circuit-library-GMS-1.png | Bin 13316 -> 13316 bytes .../qiskit/qiskit-circuit-library-GR-1.png | Bin 16936 -> 16936 bytes .../qiskit/qiskit-circuit-library-GRX-1.png | Bin 16876 -> 16876 bytes .../qiskit/qiskit-circuit-library-GRY-1.png | Bin 16936 -> 16936 bytes .../qiskit/qiskit-circuit-library-GRZ-1.png | Bin 12094 -> 12094 bytes .../qiskit-circuit-library-GraphState-1.png | Bin 15678 -> 15678 bytes ...circuit-library-HiddenLinearFunction-1.png | Bin 13076 -> 13076 bytes .../qiskit/qiskit-circuit-library-IQP-1.png | Bin 6597 -> 6597 bytes .../qiskit/qiskit-circuit-library-IQP-2.png | Bin 15203 -> 15203 bytes .../qiskit-circuit-library-InnerProduct-1.png | Bin 14234 -> 14234 bytes .../qiskit-circuit-library-MCMTVChain-1.png | Bin 14771 -> 14771 bytes .../qiskit/qiskit-circuit-library-OR-1.png | Bin 20577 -> 20577 bytes .../qiskit/qiskit-circuit-library-OR-2.png | Bin 18664 -> 18664 bytes ...iskit-circuit-library-PauliTwoDesign-1.png | Bin 10538 -> 10538 bytes .../qiskit-circuit-library-Permutation-1.png | Bin 9030 -> 9030 bytes .../qiskit-circuit-library-Permutation-2.png | Bin 16568 -> 16568 bytes ...skit-circuit-library-PermutationGate-1.png | Bin 7616 -> 7616 bytes ...skit-circuit-library-PermutationGate-2.png | Bin 16225 -> 16133 bytes ...skit-circuit-library-PhaseEstimation-1.png | Bin 12231 -> 12242 bytes ...t-circuit-library-PiecewiseChebyshev-1.png | Bin 7636 -> 7636 bytes .../qiskit/qiskit-circuit-library-QFT-1.png | Bin 11836 -> 11836 bytes .../qiskit/qiskit-circuit-library-QFT-2.png | Bin 12001 -> 12001 bytes .../qiskit/qiskit-circuit-library-QFT-3.png | Bin 12100 -> 12100 bytes ...qiskit-circuit-library-QuantumVolume-1.png | Bin 9389 -> 9389 bytes ...qiskit-circuit-library-QuantumVolume-2.png | Bin 18255 -> 18255 bytes .../qiskit/qiskit-circuit-library-XOR-1.png | Bin 12259 -> 12259 bytes ...skit-primitives-StatevectorEstimator-1.png | Bin 44937 -> 44937 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 ...skit-transpiler-passes-FilterOpNodes-1.png | Bin 1637 -> 1637 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 1593 -> 1593 bytes .../qiskit-visualization-circuit_drawer-1.png | Bin 3214 -> 3214 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 10058 -> 10065 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 49415 -> 49253 bytes .../qiskit-visualization-plot_gate_map-1.png | Bin 8595 -> 8595 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 117324 -> 117324 bytes ...qiskit-visualization-plot_state_city-2.png | Bin 159875 -> 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-timeline_drawer-1.png | Bin 16166 -> 15985 bytes ...qiskit-visualization-timeline_drawer-2.png | Bin 8390 -> 8474 bytes ...qiskit-visualization-timeline_drawer-3.png | Bin 26519 -> 27012 bytes public/images/api/qiskit/release_notes-1.png | Bin 7069 -> 7069 bytes public/images/api/qiskit/transpiler-10.png | Bin 7231 -> 7231 bytes public/images/api/qiskit/transpiler-11.png | Bin 36154 -> 36154 bytes public/images/api/qiskit/transpiler-12.png | Bin 9016 -> 8913 bytes public/images/api/qiskit/transpiler-13.png | Bin 36154 -> 36154 bytes public/images/api/qiskit/transpiler-14.png | Bin 20314 -> 20314 bytes public/images/api/qiskit/transpiler-15.png | Bin 9699 -> 9699 bytes public/images/api/qiskit/transpiler-16.png | Bin 24600 -> 24853 bytes public/images/api/qiskit/transpiler-17.png | Bin 18520 -> 19159 bytes public/images/api/qiskit/transpiler-4.png | Bin 6289 -> 6289 bytes public/images/api/qiskit/transpiler-5.png | Bin 20199 -> 20199 bytes public/images/api/qiskit/transpiler-6.png | Bin 10473 -> 10473 bytes public/images/api/qiskit/transpiler-7.png | Bin 12152 -> 12152 bytes public/images/api/qiskit/transpiler-8.png | Bin 7725 -> 7725 bytes public/images/api/qiskit/transpiler-9.png | Bin 7662 -> 7662 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 113083 -> 113083 bytes public/images/api/qiskit/visualization-6.png | Bin 113083 -> 113083 bytes 627 files changed, 2820 insertions(+), 2811 deletions(-) diff --git a/docs/api/qiskit/assembler.mdx b/docs/api/qiskit/assembler.mdx index b9517d9851c..f85d52e24fb 100644 --- a/docs/api/qiskit/assembler.mdx +++ b/docs/api/qiskit/assembler.mdx @@ -22,7 +22,7 @@ python_api_name: qiskit.assembler ### assemble\_circuits - + Assembles a list of circuits into a qobj that can be run on the backend. **Parameters** @@ -65,7 +65,7 @@ python_api_name: qiskit.assembler ### assemble\_schedules - + Assembles a list of schedules into a qobj that can be run on the backend. **Parameters** @@ -129,7 +129,7 @@ python_api_name: qiskit.assembler ### disassemble - + Disassemble a qobj and return the circuits or pulse schedules, run\_config, and user header. diff --git a/docs/api/qiskit/circuit.mdx b/docs/api/qiskit/circuit.mdx index b3d22937a31..2ed5f57156a 100644 --- a/docs/api/qiskit/circuit.mdx +++ b/docs/api/qiskit/circuit.mdx @@ -302,7 +302,7 @@ with qc.switch(cr) as case: ### random\_circuit - + Generate random circuit of arbitrary size and form. This function will generate a random circuit by randomly selecting gates from the set of standard gates in `qiskit.circuit.library.standard_gates`. For example: @@ -345,7 +345,7 @@ Almost all circuit functions and methods will raise a [`CircuitError`](#qiskit.c ### CircuitError - + Base class for errors raised while processing a circuit. Set the error message. diff --git a/docs/api/qiskit/circuit_classical.mdx b/docs/api/qiskit/circuit_classical.mdx index 3b4158b32dc..4c55a46a4f3 100644 --- a/docs/api/qiskit/circuit_classical.mdx +++ b/docs/api/qiskit/circuit_classical.mdx @@ -48,7 +48,7 @@ There are two pathways for constructing expressions. The classes that form [the The expression system is based on tree representation. All nodes in the tree are final (uninheritable) instances of the abstract base class: - + Root base class of all nodes in the expression tree. The base case should never be instantiated directly. This must not be subclassed by users; subclasses form the internal data of the representation of expressions, and it does not make sense to add more outside of Qiskit library code. @@ -60,7 +60,7 @@ These objects are mutable and should not be reused in a different location witho The entry point from general circuit objects to the expression system is by wrapping the object in a [`Var`](#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var") node and associating a [`Type`](#qiskit.circuit.classical.types.Type "qiskit.circuit.classical.types.Type") with it. - + A classical variable. Variables are immutable after construction, so they can be used as dictionary keys. @@ -68,13 +68,13 @@ The entry point from general circuit objects to the expression system is by wrap Similarly, literals used in comparison (such as integers) should be lifted to [`Value`](#qiskit.circuit.classical.expr.Value "qiskit.circuit.classical.expr.Value") nodes with associated types. - + A single scalar value. The operations traditionally associated with pre-, post- or infix operators in programming are represented by the [`Unary`](#qiskit.circuit.classical.expr.Unary "qiskit.circuit.classical.expr.Unary") and [`Binary`](#qiskit.circuit.classical.expr.Binary "qiskit.circuit.classical.expr.Binary") nodes as appropriate. These each take an operation type code, which are exposed as enumerations inside each class as [`Unary.Op`](#qiskit.circuit.classical.expr.Unary.Op "qiskit.circuit.classical.expr.Unary.Op") and [`Binary.Op`](#qiskit.circuit.classical.expr.Binary.Op "qiskit.circuit.classical.expr.Binary.Op") respectively. - + A unary expression. **Parameters** @@ -83,7 +83,7 @@ The operations traditionally associated with pre-, post- or infix operators in p * **operand** ([*Expr*](#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr")) – The operand of the operation. * **type** ([*Type*](#qiskit.circuit.classical.types.Type "qiskit.circuit.classical.types.types.Type")) – The resolved type of the result. - + Enumeration of the opcodes for unary operations. The bitwise negation [`BIT_NOT`](#qiskit.circuit.classical.expr.Unary.Op.BIT_NOT "qiskit.circuit.classical.expr.Unary.Op.BIT_NOT") takes a single bit or an unsigned integer of known width, and returns a value of the same type. @@ -104,7 +104,7 @@ The operations traditionally associated with pre-, post- or infix operators in p - + A binary expression. **Parameters** @@ -114,7 +114,7 @@ The operations traditionally associated with pre-, post- or infix operators in p * **right** ([*Expr*](#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr")) – The right-hand operand. * **type** ([*Type*](#qiskit.circuit.classical.types.Type "qiskit.circuit.classical.types.types.Type")) – The resolved type of the result. - + Enumeration of the opcodes for binary operations. The bitwise operations [`BIT_AND`](#qiskit.circuit.classical.expr.Binary.Op.BIT_AND "qiskit.circuit.classical.expr.Binary.Op.BIT_AND"), [`BIT_OR`](#qiskit.circuit.classical.expr.Binary.Op.BIT_OR "qiskit.circuit.classical.expr.Binary.Op.BIT_OR") and [`BIT_XOR`](#qiskit.circuit.classical.expr.Binary.Op.BIT_XOR "qiskit.circuit.classical.expr.Binary.Op.BIT_XOR") apply to two operands of the same type, which must be a single bit or an unsigned integer of fixed width. The resultant type is the same as the two input types. @@ -195,7 +195,7 @@ When constructing expressions, one must ensure that the types are valid for the Expressions in this system are defined to act only on certain sets of types. However, values may be cast to a suitable supertype in order to satisfy the typing requirements. In these cases, a node in the expression tree is used to represent the promotion. In all cases where operations note that they “implicitly cast” or “coerce” their arguments, the expression tree must have this node representing the conversion. - + A cast from one type to another, implied by the use of an expression in a different context. @@ -209,7 +209,7 @@ The functions and methods described in this section are a more user-friendly way ### lift - + 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"). If an explicit `type` is given, the typing in the output will reflect that. @@ -247,7 +247,7 @@ You can manually specify casts in cases where the cast is allowed in explicit fo ### cast - + Create an explicit cast from the given value to the given type. **Examples** @@ -270,7 +270,7 @@ There are helper constructor functions for each of the unary operations. ### bit\_not - + 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. **Examples** @@ -291,7 +291,7 @@ There are helper constructor functions for each of the unary operations. ### logic\_not - + 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. **Examples** @@ -314,7 +314,7 @@ Similarly, the binary operations and relations have helper functions defined. ### bit\_and - + 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. **Examples** @@ -335,7 +335,7 @@ Similarly, the binary operations and relations have helper functions defined. ### bit\_or - + 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. **Examples** @@ -356,7 +356,7 @@ Similarly, the binary operations and relations have helper functions defined. ### bit\_xor - + 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. **Examples** @@ -377,7 +377,7 @@ Similarly, the binary operations and relations have helper functions defined. ### logic\_and - + 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. **Examples** @@ -398,7 +398,7 @@ Similarly, the binary operations and relations have helper functions defined. ### logic\_or - + 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. **Examples** @@ -419,7 +419,7 @@ Similarly, the binary operations and relations have helper functions defined. ### equal - + 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. **Examples** @@ -440,7 +440,7 @@ Similarly, the binary operations and relations have helper functions defined. ### not\_equal - + 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. **Examples** @@ -461,7 +461,7 @@ Similarly, the binary operations and relations have helper functions defined. ### less - + 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. **Examples** @@ -482,7 +482,7 @@ Similarly, the binary operations and relations have helper functions defined. ### less\_equal - + 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. **Examples** @@ -503,7 +503,7 @@ Similarly, the binary operations and relations have helper functions defined. ### greater - + 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. **Examples** @@ -524,7 +524,7 @@ Similarly, the binary operations and relations have helper functions defined. ### greater\_equal - + 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. **Examples** @@ -547,7 +547,7 @@ Qiskit’s legacy method for specifying equality conditions for use in condition ### lift\_legacy\_condition - + Lift a legacy two-tuple equality condition into a new-style [`Expr`](#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr"). **Examples** @@ -574,12 +574,12 @@ Qiskit’s legacy method for specifying equality conditions for use in condition A typical consumer of the expression tree wants to recursively walk through the tree, potentially statefully, acting on each node differently depending on its type. This is naturally a double-dispatch problem; the logic of ‘what is to be done’ is likely stateful and users should be free to define their own operations, yet each node defines ‘what is being acted on’. We enable this double dispatch by providing a base visitor class for the expression tree. - + 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. ### visit\_binary - + **Return type** *\_T\_co* @@ -587,7 +587,7 @@ A typical consumer of the expression tree wants to recursively walk through the ### visit\_cast - + **Return type** *\_T\_co* @@ -595,7 +595,7 @@ A typical consumer of the expression tree wants to recursively walk through the ### visit\_generic - + **Return type** *\_T\_co* @@ -603,7 +603,7 @@ A typical consumer of the expression tree wants to recursively walk through the ### visit\_unary - + **Return type** *\_T\_co* @@ -611,7 +611,7 @@ A typical consumer of the expression tree wants to recursively walk through the ### visit\_value - + **Return type** *\_T\_co* @@ -619,7 +619,7 @@ A typical consumer of the expression tree wants to recursively walk through the ### visit\_var - + **Return type** *\_T\_co* @@ -632,7 +632,7 @@ For the convenience of simple visitors that only need to inspect the variables i ### iter\_vars - + 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"). **Examples** @@ -660,7 +660,7 @@ Two expressions can be compared for direct structural equality by using the buil ### structurally\_equivalent - + 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? In other words, are these two expressions the exact same trees, except we compare the `Var.var` fields by calling the appropriate `*_var_key` function on them, and comparing that output for equality. This function does not allow any semantic “equivalences” such as asserting that `a == b` is equivalent to `b == a`; the evaluation order of the operands could, in general, cause such a statement to be false (consider hypothetical `extern` functions that access global state). @@ -721,7 +721,7 @@ The type system of the expression tree is exposed through this module. This is i All types inherit from an abstract base class: - + Root base class of all nodes in the type tree. The base case should never be instantiated directly. This must not be subclassed by users; subclasses form the internal data of the representation of expressions, and it does not make sense to add more outside of Qiskit library code. @@ -731,11 +731,11 @@ Types should be considered immutable objects, and you must not mutate them. It i The two different types available are for Booleans (corresponding to [`Clbit`](qiskit.circuit.Clbit "qiskit.circuit.Clbit") and the literals `True` and `False`), and unsigned integers (corresponding to [`ClassicalRegister`](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") and Python integers). - + The Boolean type. This has exactly two values: `True` and `False`. - + An unsigned integer of fixed bit width. @@ -753,7 +753,7 @@ The low-level interface to querying the subtyping relationship is the [`order()` ### order - + Get the ordering relationship between the two types as an enumeration value. **Examples** @@ -780,7 +780,7 @@ The low-level interface to querying the subtyping relationship is the [`order()` The return value is an enumeration [`Ordering`](#qiskit.circuit.classical.types.Ordering "qiskit.circuit.classical.types.Ordering") that describes what, if any, subtyping relationship exists between the two types. - + 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. Note that the sub-/supertyping relationship is not the same as whether a type can be explicitly cast from one to another. @@ -790,7 +790,7 @@ Some helper methods are then defined in terms of this low-level [`order()`](#qis ### is\_subtype - + 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. **Examples** @@ -819,7 +819,7 @@ Some helper methods are then defined in terms of this low-level [`order()`](#qis ### is\_supertype - + 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. **Examples** @@ -848,7 +848,7 @@ Some helper methods are then defined in terms of this low-level [`order()`](#qis ### greater - + 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. **Returns** @@ -880,7 +880,7 @@ It is common to need to cast values of one type to another type. The casting rul ### cast\_kind - + Determine the sort of cast that is required to move from the left type to the right type. **Examples** @@ -904,7 +904,7 @@ It is common to need to cast values of one type to another type. The casting rul The return values from this function are an enumeration explaining the types of cast that are allowed from the left type to the right type. - + A return value indicating the type of cast that can occur from one type to another. diff --git a/docs/api/qiskit/circuit_library.mdx b/docs/api/qiskit/circuit_library.mdx index 75f8bb0c1a7..7bf9604d9c0 100644 --- a/docs/api/qiskit/circuit_library.mdx +++ b/docs/api/qiskit/circuit_library.mdx @@ -154,34 +154,34 @@ print(diagonal.num_qubits) 2 ``` -| | | | | -| ------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | - | ----------------------------------- | -| [`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. | | | -| [`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. | -| [`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. | | | -| [`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. | | | +| | | +| ------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | +| [`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. | +| [`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 $\vec{v}$ where $\|\vec{v}\|_2$ 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. | +| [`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. | ## Boolean Logic Circuits @@ -326,7 +326,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_2a\_1 - + **Returns** template as a quantum circuit. @@ -338,7 +338,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_2a\_2 - + **Returns** template as a quantum circuit. @@ -350,7 +350,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_2a\_3 - + **Returns** template as a quantum circuit. @@ -362,7 +362,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_4a\_1 - + **Returns** template as a quantum circuit. @@ -374,7 +374,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_4a\_2 - + **Returns** template as a quantum circuit. @@ -386,7 +386,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_4a\_3 - + **Returns** template as a quantum circuit. @@ -398,7 +398,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_4b\_1 - + **Returns** template as a quantum circuit. @@ -410,7 +410,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_4b\_2 - + **Returns** template as a quantum circuit. @@ -422,7 +422,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_5a\_1 - + **Returns** template as a quantum circuit. @@ -434,7 +434,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_5a\_2 - + **Returns** template as a quantum circuit. @@ -446,7 +446,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_5a\_3 - + **Returns** template as a quantum circuit. @@ -458,7 +458,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_5a\_4 - + **Returns** template as a quantum circuit. @@ -470,7 +470,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_6a\_1 - + **Returns** template as a quantum circuit. @@ -482,7 +482,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_6a\_2 - + **Returns** template as a quantum circuit. @@ -494,7 +494,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_6a\_3 - + **Returns** template as a quantum circuit. @@ -506,7 +506,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_6a\_4 - + **Returns** template as a quantum circuit. @@ -518,7 +518,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_6b\_1 - + **Returns** template as a quantum circuit. @@ -530,7 +530,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_6b\_2 - + **Returns** template as a quantum circuit. @@ -542,7 +542,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_6c\_1 - + **Returns** template as a quantum circuit. @@ -554,7 +554,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_7a\_1 - + **Returns** template as a quantum circuit. @@ -566,7 +566,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_7b\_1 - + **Returns** template as a quantum circuit. @@ -578,7 +578,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_7c\_1 - + **Returns** template as a quantum circuit. @@ -590,7 +590,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_7d\_1 - + **Returns** template as a quantum circuit. @@ -602,7 +602,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_7e\_1 - + **Returns** template as a quantum circuit. @@ -614,7 +614,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9a\_1 - + **Returns** template as a quantum circuit. @@ -626,7 +626,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9c\_1 - + **Returns** template as a quantum circuit. @@ -638,7 +638,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9c\_2 - + **Returns** template as a quantum circuit. @@ -650,7 +650,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9c\_3 - + **Returns** template as a quantum circuit. @@ -662,7 +662,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9c\_4 - + **Returns** template as a quantum circuit. @@ -674,7 +674,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9c\_5 - + **Returns** template as a quantum circuit. @@ -686,7 +686,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9c\_6 - + **Returns** template as a quantum circuit. @@ -698,7 +698,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9c\_7 - + **Returns** template as a quantum circuit. @@ -710,7 +710,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9c\_8 - + **Returns** template as a quantum circuit. @@ -722,7 +722,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9c\_9 - + **Returns** template as a quantum circuit. @@ -734,7 +734,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9c\_10 - + **Returns** template as a quantum circuit. @@ -746,7 +746,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9c\_11 - + **Returns** template as a quantum circuit. @@ -758,7 +758,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9c\_12 - + **Returns** template as a quantum circuit. @@ -770,7 +770,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9d\_1 - + **Returns** template as a quantum circuit. @@ -782,7 +782,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9d\_2 - + **Returns** template as a quantum circuit. @@ -794,7 +794,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9d\_3 - + **Returns** template as a quantum circuit. @@ -806,7 +806,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9d\_4 - + **Returns** template as a quantum circuit. @@ -818,7 +818,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9d\_5 - + **Returns** template as a quantum circuit. @@ -830,7 +830,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9d\_6 - + **Returns** template as a quantum circuit. @@ -842,7 +842,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9d\_7 - + **Returns** template as a quantum circuit. @@ -854,7 +854,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9d\_8 - + **Returns** template as a quantum circuit. @@ -866,7 +866,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9d\_9 - + **Returns** template as a quantum circuit. @@ -878,7 +878,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9d\_10 - + **Returns** template as a quantum circuit. @@ -894,7 +894,7 @@ Template circuits over Clifford gates. ### clifford\_2\_1 - + **Returns** template as a quantum circuit. @@ -906,7 +906,7 @@ Template circuits over Clifford gates. ### clifford\_2\_2 - + **Returns** template as a quantum circuit. @@ -918,7 +918,7 @@ Template circuits over Clifford gates. ### clifford\_2\_3 - + **Returns** template as a quantum circuit. @@ -930,7 +930,7 @@ Template circuits over Clifford gates. ### clifford\_2\_4 - + **Returns** template as a quantum circuit. @@ -942,7 +942,7 @@ Template circuits over Clifford gates. ### clifford\_3\_1 - + **Returns** template as a quantum circuit. @@ -954,7 +954,7 @@ Template circuits over Clifford gates. ### clifford\_4\_1 - + **Returns** template as a quantum circuit. @@ -966,7 +966,7 @@ Template circuits over Clifford gates. ### clifford\_4\_2 - + **Returns** template as a quantum circuit. @@ -978,7 +978,7 @@ Template circuits over Clifford gates. ### clifford\_4\_3 - + **Returns** template as a quantum circuit. @@ -990,7 +990,7 @@ Template circuits over Clifford gates. ### clifford\_4\_4 - + **Returns** template as a quantum circuit. @@ -1002,7 +1002,7 @@ Template circuits over Clifford gates. ### clifford\_5\_1 - + **Returns** template as a quantum circuit. @@ -1014,7 +1014,7 @@ Template circuits over Clifford gates. ### clifford\_6\_1 - + **Returns** template as a quantum circuit. @@ -1026,7 +1026,7 @@ Template circuits over Clifford gates. ### clifford\_6\_2 - + **Returns** template as a quantum circuit. @@ -1038,7 +1038,7 @@ Template circuits over Clifford gates. ### clifford\_6\_3 - + **Returns** template as a quantum circuit. @@ -1050,7 +1050,7 @@ Template circuits over Clifford gates. ### clifford\_6\_4 - + **Returns** template as a quantum circuit. @@ -1062,7 +1062,7 @@ Template circuits over Clifford gates. ### clifford\_6\_5 - + **Returns** template as a quantum circuit. @@ -1074,7 +1074,7 @@ Template circuits over Clifford gates. ### clifford\_8\_1 - + **Returns** template as a quantum circuit. @@ -1086,7 +1086,7 @@ Template circuits over Clifford gates. ### clifford\_8\_2 - + **Returns** template as a quantum circuit. @@ -1098,7 +1098,7 @@ Template circuits over Clifford gates. ### clifford\_8\_3 - + **Returns** template as a quantum circuit. @@ -1114,37 +1114,37 @@ Template circuits with [`RZXGate`](qiskit.circuit.library.RZXGate "qiskit.circui ### rzx\_yz - + Template for CX - RYGate - CX. ### rzx\_xz - + Template for CX - RXGate - CX. ### rzx\_cy - + Template for CX - RYGate - CX. ### rzx\_zz1 - + Template for CX - RZGate - CX. ### rzx\_zz2 - + Template for CX - RZGate - CX. ### rzx\_zz3 - + Template for CX - RZGate - CX. diff --git a/docs/api/qiskit/circuit_singleton.mdx b/docs/api/qiskit/circuit_singleton.mdx index 0093822e6d6..d8c0befbe4b 100644 --- a/docs/api/qiskit/circuit_singleton.mdx +++ b/docs/api/qiskit/circuit_singleton.mdx @@ -44,7 +44,7 @@ assert XGate() is XGate() The public classes correspond to the standard classes [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") and [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"), respectively, and are subclasses of these. - + A base class to use for [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") objects that by default are singleton instances. This class should be used for instruction classes that have fixed definitions and do not contain any unique state. The canonical example of something like this is [`Measure`](qiskit.circuit.library.Measure "qiskit.circuit.library.Measure") which has an immutable definition and any instance of [`Measure`](qiskit.circuit.library.Measure "qiskit.circuit.library.Measure") is the same. Using singleton instructions as a base class for these types of gate classes provides a large advantage in the memory footprint of multiple instructions. @@ -52,13 +52,13 @@ The public classes correspond to the standard classes [`Instruction`](qiskit.cir The exception to be aware of with this class though are the [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") attributes [`label`](qiskit.circuit.Instruction#label "qiskit.circuit.Instruction.label"), [`condition`](qiskit.circuit.Instruction#condition "qiskit.circuit.Instruction.condition"), [`duration`](qiskit.circuit.Instruction#duration "qiskit.circuit.Instruction.duration"), and [`unit`](qiskit.circuit.Instruction#unit "qiskit.circuit.Instruction.unit") which can be set differently for specific instances of gates. For [`SingletonInstruction`](#qiskit.circuit.singleton.SingletonInstruction "qiskit.circuit.singleton.SingletonInstruction") usage to be sound setting these attributes is not available and they can only be set at creation time, or on an object that has been specifically made mutable using [`to_mutable()`](qiskit.circuit.Instruction#to_mutable "qiskit.circuit.Instruction.to_mutable"). If any of these attributes are used during creation, then instead of using a single shared global instance of the same gate a new separate instance will be created. - + A base class to use for [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate") objects that by default are singleton instances. This class is very similar to [`SingletonInstruction`](#qiskit.circuit.singleton.SingletonInstruction "qiskit.circuit.singleton.SingletonInstruction"), except implies unitary [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate") semantics as well. The same caveats around setting attributes in that class apply here as well. - + A base class to use for [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate") objects that by default are singleton instances This class is very similar to [`SingletonInstruction`](#qiskit.circuit.singleton.SingletonInstruction "qiskit.circuit.singleton.SingletonInstruction"), except implies unitary [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate") semantics as well. The same caveats around setting attributes in that class apply here as well. @@ -120,7 +120,7 @@ Subclasses of [`SingletonInstruction`](#qiskit.circuit.singleton.SingletonInstru ### \_singleton\_lookup\_key - + Given the arguments to the constructor, return a key tuple that identifies the singleton instance to retrieve, or `None` if the arguments imply that a mutable object must be created. For performance, as a special case, this method will not be called if the class constructor was given zero arguments (e.g. the construction `XGate()` will not call this method, but `XGate(label=None)` will), and the default singleton will immediately be returned. diff --git a/docs/api/qiskit/compiler.mdx b/docs/api/qiskit/compiler.mdx index c00d31ae3a8..f89537a0c17 100644 --- a/docs/api/qiskit/compiler.mdx +++ b/docs/api/qiskit/compiler.mdx @@ -22,7 +22,7 @@ python_api_name: qiskit.compiler ### assemble - + Assemble a list of circuits or pulse schedules into a `Qobj`. This function serializes the payloads, which could be either circuits or schedules, to create `Qobj` “experiments”. It further annotates the experiment payload with header and configurations. @@ -103,7 +103,7 @@ python_api_name: qiskit.compiler ### schedule - + Schedule a circuit to a pulse `Schedule`, using the backend, according to any specified methods. Supported methods are documented in `qiskit.scheduler.schedule_circuit`. **Parameters** @@ -130,7 +130,7 @@ python_api_name: qiskit.compiler ### transpile - + Transpile one or more circuits, according to some desired transpilation targets. Transpilation is potentially done in parallel using multiprocessing when `circuits` is a list with > 1 [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") object depending on the local environment and configuration. @@ -278,7 +278,7 @@ python_api_name: qiskit.compiler ### sequence - + Schedule a scheduled circuit to a pulse `Schedule`, using the backend. **Parameters** diff --git a/docs/api/qiskit/converters.mdx b/docs/api/qiskit/converters.mdx index 44b89f46a2d..dc4706080cb 100644 --- a/docs/api/qiskit/converters.mdx +++ b/docs/api/qiskit/converters.mdx @@ -20,7 +20,7 @@ python_api_name: qiskit.converters ### circuit\_to\_dag - + Build a [`DAGCircuit`](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit") object from a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). **Parameters** @@ -62,7 +62,7 @@ python_api_name: qiskit.converters ### dag\_to\_circuit - + Build a `QuantumCircuit` object from a `DAGCircuit`. **Parameters** @@ -104,7 +104,7 @@ python_api_name: qiskit.converters ### circuit\_to\_instruction - + Build an [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") object from a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). The instruction is anonymous (not tied to a named quantum register), and so can be inserted into another circuit. The instruction will have the same string name as the circuit. @@ -147,7 +147,7 @@ python_api_name: qiskit.converters ### circuit\_to\_gate - + Build a [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate") object from a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). The gate is anonymous (not tied to a named quantum register), and so can be inserted into another circuit. The gate will have the same string name as the circuit. @@ -174,7 +174,7 @@ python_api_name: qiskit.converters ### dagdependency\_to\_circuit - + Build a `QuantumCircuit` object from a `DAGDependency`. **Parameters** @@ -192,7 +192,7 @@ python_api_name: qiskit.converters ### circuit\_to\_dagdependency - + Build a `DAGDependency` object from a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). **Parameters** @@ -211,7 +211,7 @@ python_api_name: qiskit.converters ### dag\_to\_dagdependency - + Build a `DAGDependency` object from a `DAGCircuit`. **Parameters** @@ -230,7 +230,7 @@ python_api_name: qiskit.converters ### dagdependency\_to\_dag - + Build a `DAGCircuit` object from a `DAGDependency`. **Parameters** diff --git a/docs/api/qiskit/dagcircuit.mdx b/docs/api/qiskit/dagcircuit.mdx index 2fbfbe6d343..e3fdb877063 100644 --- a/docs/api/qiskit/dagcircuit.mdx +++ b/docs/api/qiskit/dagcircuit.mdx @@ -34,7 +34,7 @@ python_api_name: qiskit.dagcircuit ### DAGCircuitError - + Base class for errors raised by the DAGCircuit object. Set the error message. @@ -42,7 +42,7 @@ python_api_name: qiskit.dagcircuit ### DAGDependencyError - + Base class for errors raised by the DAGDependency object. Set the error message. diff --git a/docs/api/qiskit/exceptions.mdx b/docs/api/qiskit/exceptions.mdx index 98b3f9a7b45..bc69201539a 100644 --- a/docs/api/qiskit/exceptions.mdx +++ b/docs/api/qiskit/exceptions.mdx @@ -24,7 +24,7 @@ All Qiskit-related exceptions raised by Qiskit are subclasses of the base: ### QiskitError - + Base class for errors raised by Qiskit. Set the error message. @@ -40,7 +40,7 @@ Qiskit has several optional features that depend on other packages that are not ### MissingOptionalLibraryError - + Raised when an optional library is missing. Set the error message. :param libname: Name of missing library :param name: Name of class, function, module that uses this library :param pip\_install: pip install command, if any :param msg: Descriptive message, if any @@ -50,7 +50,7 @@ Two more uncommon errors relate to failures in reading user-configuration files, ### QiskitUserConfigError - + Raised when an error is encountered reading a user config file. Set the error message. @@ -58,7 +58,7 @@ Two more uncommon errors relate to failures in reading user-configuration files, ### InvalidFileError - + Raised when the file provided is not valid for the specific task. Set the error message. @@ -70,7 +70,7 @@ Some particular features of Qiskit may raise custom warnings. In general, Qiskit ### QiskitWarning - + Common subclass of warnings for Qiskit-specific warnings being raised. @@ -78,7 +78,7 @@ Related to [`MissingOptionalLibraryError`](#qiskit.exceptions.MissingOptionalLib ### OptionalDependencyImportWarning - + Raised when an optional library raises errors during its import. @@ -90,7 +90,7 @@ When experimental features are being used, Qiskit will raise [`ExperimentalWarni ### ExperimentalWarning - + Raised when an experimental feature is being used. diff --git a/docs/api/qiskit/passmanager.mdx b/docs/api/qiskit/passmanager.mdx index d9294b4f62f..38879d49c79 100644 --- a/docs/api/qiskit/passmanager.mdx +++ b/docs/api/qiskit/passmanager.mdx @@ -162,7 +162,7 @@ With the pass manager framework, a developer can flexibly customize the optimiza ### PassManagerError - + Pass manager error. Set the error message. diff --git a/docs/api/qiskit/primitives.mdx b/docs/api/qiskit/primitives.mdx index 7fb20956f7c..c6dd3a4c47c 100644 --- a/docs/api/qiskit/primitives.mdx +++ b/docs/api/qiskit/primitives.mdx @@ -85,7 +85,7 @@ print(f"The primitive-job finished with result {job_result}") [`BaseSamplerV2`](qiskit.primitives.BaseSamplerV2 "qiskit.primitives.BaseSamplerV2") is a primitive that samples outputs of quantum circuits. -Following construction, a sampler is used by calling its [`run()`](qiskit.primitives.BaseSamplerV2#run "qiskit.primitives.BaseSamplerV2.run") method with a list of pubs (Primitive Unified Blocks). Each pub contains values that, together, define a computational unit of work for the sampler to complete: +Following construction, a sampler is used by calling its [`run()`](qiskit.primitives.BaseSamplerV2#run "qiskit.primitives.BaseSamplerV2.run") method with a list of pubs (Primitive Unified Blocs). Each pub contains values that, together, define a computational unit of work for the sampler to complete: * A single [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"), possibly parameterized. * A collection parameter value sets to bind the circuit against if it is parametric. @@ -96,7 +96,7 @@ Running an estimator returns a [`BasePrimitiveJob`](qiskit.primitives.BasePrimit Here is an example of how a sampler is used. ```python -from qiskit.primitives.statevector_sampler import Sampler +from qiskit.primitives import StatevectorSampler as Sampler from qiskit import QuantumCircuit from qiskit.circuit.library import RealAmplitudes diff --git a/docs/api/qiskit/providers.mdx b/docs/api/qiskit/providers.mdx index 98ad8a77c02..dc0218ff302 100644 --- a/docs/api/qiskit/providers.mdx +++ b/docs/api/qiskit/providers.mdx @@ -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.github.io/qiskit-aer/stubs/qiskit_aer.AerSimulator.html#qiskit_aer.AerSimulator "(in Qiskit Aer v0.13.3)") 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.github.io/qiskit-aer/stubs/qiskit_aer.AerSimulator.html#qiskit_aer.AerSimulator "(in Qiskit Aer v0.14.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). ## Abstract Classes @@ -77,7 +77,7 @@ It’s worth pointing out that Terra’s version support policy doesn’t mean p ### QiskitBackendNotFoundError - + Base class for errors raised while looking for a backend. Set the error message. @@ -85,7 +85,7 @@ It’s worth pointing out that Terra’s version support policy doesn’t mean p ### BackendPropertyError - + Base class for errors raised while looking for a backend property. Set the error message. @@ -93,7 +93,7 @@ It’s worth pointing out that Terra’s version support policy doesn’t mean p ### JobError - + Base class for errors raised by Jobs. Set the error message. @@ -101,7 +101,7 @@ It’s worth pointing out that Terra’s version support policy doesn’t mean p ### JobTimeoutError - + Base class for timeout errors raised by jobs. Set the error message. @@ -109,7 +109,7 @@ It’s worth pointing out that Terra’s version support policy doesn’t mean p ### BackendConfigurationError - + Base class for errors raised by the BackendConfiguration. Set the error message. diff --git a/docs/api/qiskit/providers_fake_provider.mdx b/docs/api/qiskit/providers_fake_provider.mdx index d398a05b6b1..4a7865965db 100644 --- a/docs/api/qiskit/providers_fake_provider.mdx +++ b/docs/api/qiskit/providers_fake_provider.mdx @@ -81,7 +81,7 @@ plot_histogram(counts) The V1 fake backends are based on a set of base classes: - + This is a dummy backend just for testing purposes. FakeBackend initializer. @@ -92,7 +92,7 @@ The V1 fake backends are based on a set of base classes: * **time\_alive** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – time to wait before returning result - + A fake OpenQASM backend. FakeBackend initializer. @@ -103,7 +103,7 @@ The V1 fake backends are based on a set of base classes: * **time\_alive** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – time to wait before returning result - + A fake pulse backend. FakeBackend initializer. diff --git a/docs/api/qiskit/pulse.mdx b/docs/api/qiskit/pulse.mdx index 8b1100ecefb..c06ccb0a3b9 100644 --- a/docs/api/qiskit/pulse.mdx +++ b/docs/api/qiskit/pulse.mdx @@ -70,7 +70,7 @@ An instruction can be added to a [`Schedule`](qiskit.pulse.Schedule "qiskit.puls These are all instances of the same base class: - + The smallest schedulable unit: a single instruction. It has a fixed duration and specified channels. Instruction initializer. @@ -161,7 +161,7 @@ Novel channel types can often utilize the [`ControlChannel`](qiskit.pulse.channe All channels are children of the same abstract base class: - + 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. When serialized channels are identified by their serialized name ``. The type of the channel is interpreted from the prefix, and the index often (but not always) maps to the qubit index. All concrete channel classes must have a `prefix` class attribute (and instances of that class have an index attribute). Base classes which have `prefix` set to `None` are prevented from being instantiated. @@ -214,7 +214,7 @@ The alignment transforms define alignment policies of instructions in [`Schedule These are all subtypes of the abstract base class [`AlignmentKind`](#qiskit.pulse.transforms.AlignmentKind "qiskit.pulse.transforms.AlignmentKind"). - + An abstract class for schedule alignment. Create new context. @@ -228,7 +228,7 @@ The canonicalization transforms convert schedules to a form amenable for executi ### add\_implicit\_acquires - + Return a new schedule with implicit acquires from the measurement mapping replaced by explicit ones. @@ -251,7 +251,7 @@ The canonicalization transforms convert schedules to a form amenable for executi ### align\_measures - + Return new schedules where measurements occur at the same physical time. This transformation will align the first [`Acquire`](qiskit.pulse.instructions.Acquire "qiskit.pulse.instructions.Acquire") on every channel to occur at the same time. @@ -318,7 +318,7 @@ The canonicalization transforms convert schedules to a form amenable for executi ### block\_to\_schedule - + Convert `ScheduleBlock` to `Schedule`. **Parameters** @@ -345,7 +345,7 @@ The canonicalization transforms convert schedules to a form amenable for executi ### compress\_pulses - + Optimization pass to replace identical pulses. **Parameters** @@ -363,7 +363,7 @@ The canonicalization transforms convert schedules to a form amenable for executi ### flatten - + Flatten (inline) any called nodes into a Schedule tree with no nested children. **Parameters** @@ -385,7 +385,7 @@ The canonicalization transforms convert schedules to a form amenable for executi ### inline\_subroutines - + Recursively remove call instructions and inline the respective subroutine instructions. Assigned parameter values, which are stored in the parameter table, are also applied. The subroutine is copied before the parameter assignment to avoid mutation problem. @@ -409,7 +409,7 @@ The canonicalization transforms convert schedules to a form amenable for executi ### pad - + Pad the input Schedule with `Delay``s on all unoccupied timeslots until ``schedule.duration` or `until` if not `None`. **Parameters** @@ -435,7 +435,7 @@ The canonicalization transforms convert schedules to a form amenable for executi ### remove\_directives - + Remove directives. **Parameters** @@ -453,7 +453,7 @@ The canonicalization transforms convert schedules to a form amenable for executi ### remove\_trivial\_barriers - + Remove trivial barriers with 0 or 1 channels. **Parameters** @@ -477,7 +477,7 @@ The DAG transforms create DAG representation of input program. This can be used ### block\_to\_dag - + Convert schedule block instruction into DAG. `ScheduleBlock` can be represented as a DAG as needed. For example, equality of two programs are efficiently checked on DAG representation. @@ -535,7 +535,7 @@ A sequence of transformations to generate a target code. ### target\_qobj\_transform - + A basic pulse program transformation for OpenPulse API execution. **Parameters** @@ -752,7 +752,7 @@ The above is just a small taste of what is possible with the builder. See the re ### build - + Create a context manager for launching the imperative pulse builder DSL. To enter a building context and starting building a pulse program: @@ -812,7 +812,7 @@ DriveChannel(0) ### acquire\_channel - + Return `AcquireChannel` for `qubit` on the active builder backend. Examples: @@ -838,7 +838,7 @@ DriveChannel(0) ### control\_channels - + Return `ControlChannel` for `qubit` on the active builder backend. Return the secondary drive channel for the given qubit – typically utilized for controlling multi-qubit interactions. @@ -873,7 +873,7 @@ DriveChannel(0) ### drive\_channel - + Return `DriveChannel` for `qubit` on the active builder backend. Examples: @@ -899,7 +899,7 @@ DriveChannel(0) ### measure\_channel - + Return `MeasureChannel` for `qubit` on the active builder backend. Examples: @@ -958,7 +958,7 @@ drive_sched.draw() ### acquire - + Acquire for a `duration` on a `channel` and store the result in a `register`. Examples: @@ -995,7 +995,7 @@ drive_sched.draw() ### barrier - + Barrier directive for a set of channels and qubits. This directive prevents the compiler from moving instructions across the barrier. Consider the case where we want to enforce that one pulse happens after another on separate channels, this can be done with: @@ -1062,7 +1062,7 @@ drive_sched.draw() ### call - + Call the subroutine within the currently active builder context with arbitrary parameters which will be assigned to the target program. @@ -1231,7 +1231,7 @@ drive_sched.draw() ### delay - + Delay on a `channel` for a `duration`. Examples: @@ -1254,7 +1254,7 @@ drive_sched.draw() ### play - + Play a `pulse` on a `channel`. Examples: @@ -1277,7 +1277,7 @@ drive_sched.draw() ### reference - + Refer to undefined subroutine by string keys. A [`Reference`](qiskit.pulse.instructions.Reference "qiskit.pulse.instructions.Reference") instruction is implicitly created and a schedule can be separately registered to the reference at a later stage. @@ -1302,7 +1302,7 @@ drive_sched.draw() ### set\_frequency - + Set the `frequency` of a pulse `channel`. Examples: @@ -1325,7 +1325,7 @@ drive_sched.draw() ### set\_phase - + Set the `phase` of a pulse `channel`. Examples: @@ -1350,7 +1350,7 @@ drive_sched.draw() ### shift\_frequency - + Shift the `frequency` of a pulse `channel`. Examples: @@ -1373,7 +1373,7 @@ drive_sched.draw() ### shift\_phase - + Shift the `phase` of a pulse `channel`. Examples: @@ -1398,7 +1398,7 @@ drive_sched.draw() ### snapshot - + Simulator snapshot. Examples: @@ -1440,7 +1440,7 @@ pulse_prog.draw() ### align\_equispaced - + Equispaced alignment pulse scheduling context. Pulse instructions within this context are scheduled with the same interval spacing such that the total length of the context block is `duration`. If the total free `duration` cannot be evenly divided by the number of instructions within the context, the modulo is split and then prepended and appended to the returned schedule. Delay instructions are automatically inserted in between pulses. @@ -1486,7 +1486,7 @@ pulse_prog.draw() ### align\_func - + Callback defined alignment pulse scheduling context. Pulse instructions within this context are scheduled at the location specified by arbitrary callback function position that takes integer index and returns the associated fractional location within \[0, 1]. Delay instruction is automatically inserted in between pulses. @@ -1538,7 +1538,7 @@ pulse_prog.draw() ### align\_left - + Left alignment pulse scheduling context. Pulse instructions within this context are scheduled as early as possible by shifting them left to the earliest available time. @@ -1573,7 +1573,7 @@ pulse_prog.draw() ### align\_right - + Right alignment pulse scheduling context. Pulse instructions within this context are scheduled as late as possible by shifting them right to the latest available time. @@ -1608,7 +1608,7 @@ pulse_prog.draw() ### align\_sequential - + Sequential alignment pulse scheduling context. Pulse instructions within this context are scheduled sequentially in time such that no two instructions will be played at the same time. @@ -1643,7 +1643,7 @@ pulse_prog.draw() ### frequency\_offset - + Shift the frequency of inputs channels on entry into context and undo on exit. Examples: @@ -1687,7 +1687,7 @@ pulse_prog.draw() ### phase\_offset - + Shift the phase of input channels on entry into context and undo on exit. Examples: @@ -1741,7 +1741,7 @@ MemorySlot(0) ### measure - + Measure a qubit within the currently active builder context. At the pulse level a measurement is composed of both a stimulus pulse and an acquisition instruction which tells the systems measurement unit to acquire data and process it. We provide this measurement macro to automate the process for you, but if desired full control is still available with [`acquire()`](#qiskit.pulse.builder.acquire "qiskit.pulse.builder.acquire") and [`play()`](#qiskit.pulse.builder.play "qiskit.pulse.builder.play"). @@ -1796,7 +1796,7 @@ MemorySlot(0) ### measure\_all - + Measure all qubits within the currently active builder context. A simple macro function to measure all of the qubits in the device at the same time. This is useful for handling device `meas_map` and single measurement constraints. @@ -1829,7 +1829,7 @@ MemorySlot(0) ### delay\_qubits - + Insert delays on all the `channels.Channel`s that correspond to the input `qubits` at the same time. Examples: @@ -1886,7 +1886,7 @@ There are 1e-06 seconds in 4500 samples. ### active\_backend - + Get the backend of the currently active builder context. **Returns** @@ -1906,7 +1906,7 @@ There are 1e-06 seconds in 4500 samples. ### num\_qubits - + Return number of qubits in the currently active backend. Examples: @@ -1936,7 +1936,7 @@ There are 1e-06 seconds in 4500 samples. ### qubit\_channels - + Returns the set of channels associated with a qubit. Examples: @@ -1970,7 +1970,7 @@ There are 1e-06 seconds in 4500 samples. ### samples\_to\_seconds - + Obtain the time in seconds that will elapse for the input number of samples on the active backend. **Parameters** @@ -1988,7 +1988,7 @@ There are 1e-06 seconds in 4500 samples. ### seconds\_to\_samples - + Obtain the number of samples that will elapse in `seconds` on the active backend. Rounds down. @@ -2016,7 +2016,7 @@ There are 1e-06 seconds in 4500 samples. ### PulseError - + Errors raised by the pulse module. Set the error message. @@ -2024,7 +2024,7 @@ There are 1e-06 seconds in 4500 samples. ### BackendNotSet - + Raised if the builder context does not have a backend. Set the error message. @@ -2032,7 +2032,7 @@ There are 1e-06 seconds in 4500 samples. ### NoActiveBuilder - + Raised if no builder context is active. Set the error message. @@ -2040,7 +2040,7 @@ There are 1e-06 seconds in 4500 samples. ### UnassignedDurationError - + Raised if instruction duration is unassigned. Set the error message. @@ -2048,7 +2048,7 @@ There are 1e-06 seconds in 4500 samples. ### UnassignedReferenceError - + Raised if subroutine is unassigned. Set the error message. diff --git a/docs/api/qiskit/qasm2.mdx b/docs/api/qiskit/qasm2.mdx index 9201a3d7d66..d2ee0e45d61 100644 --- a/docs/api/qiskit/qasm2.mdx +++ b/docs/api/qiskit/qasm2.mdx @@ -32,7 +32,7 @@ This module contains two public functions, both of which create a [`QuantumCircu ### load - + 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. **Parameters** @@ -55,7 +55,7 @@ This module contains two public functions, both of which create a [`QuantumCircu ### loads - + Parse an OpenQASM 2 program from a string into a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). **Parameters** @@ -83,7 +83,7 @@ Both of these loading functions also take an argument `include_path`, which is a You can extend the quantum components of the OpenQASM 2 language by passing an iterable of information on custom instructions as the argument `custom_instructions`. In files that have compatible definitions for these instructions, the given `constructor` will be used in place of whatever other handling [`qiskit.qasm2`](#module-qiskit.qasm2 "qiskit.qasm2") would have done. These instructions may optionally be marked as `builtin`, which causes them to not require an `opaque` or `gate` declaration, but they will silently ignore a compatible declaration. Either way, it is an error to provide a custom instruction that has a different number of parameters or qubits as a defined instruction in a parsed program. Each element of the argument iterable should be a particular data class: - + Information about a custom instruction that should be defined during the parse. The `name`, `num_params` and `num_qubits` fields are self-explanatory. The `constructor` field should be a callable object with signature `*args -> Instruction`, where each of the `num_params` `args` is a floating-point value. Most of the built-in Qiskit gate classes have this form. @@ -119,7 +119,7 @@ Similar to other serialisation modules in Python, this module offers two public ### dump - + Dump a circuit as an OpenQASM 2 program to a file or stream. **Parameters** @@ -134,7 +134,7 @@ Similar to other serialisation modules in Python, this module offers two public ### dumps - + Export a circuit to an OpenQASM 2 program in a string. **Parameters** @@ -160,7 +160,7 @@ This module defines a generic error type that derives from [`QiskitError`](excep ### QASM2Error - + A general error raised by the OpenQASM 2 interoperation layer. Set the error message. @@ -170,7 +170,7 @@ In cases where the lexer or parser fails due to an invalid OpenQASM 2 file, the ### QASM2ParseError - + An error raised because of a failure to parse an OpenQASM 2 file. Set the error message. @@ -180,7 +180,7 @@ When the exporters fail to export a circuit, likely because it has structure tha ### QASM2ExportError - + An error raised because of a failure to convert a Qiskit object to an OpenQASM 2 form. Set the error message. diff --git a/docs/api/qiskit/qasm3.mdx b/docs/api/qiskit/qasm3.mdx index 530a87a16cb..3446310d956 100644 --- a/docs/api/qiskit/qasm3.mdx +++ b/docs/api/qiskit/qasm3.mdx @@ -26,7 +26,7 @@ The high-level functions are simply [`dump()`](#qiskit.qasm3.dump "qiskit.qasm3. ### dump - + Serialize a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") object as an OpenQASM 3 stream to file-like object. **Parameters** @@ -38,7 +38,7 @@ The high-level functions are simply [`dump()`](#qiskit.qasm3.dump "qiskit.qasm3. ### dumps - + Serialize a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") object in an OpenQASM 3 string. **Parameters** @@ -57,7 +57,7 @@ The high-level functions are simply [`dump()`](#qiskit.qasm3.dump "qiskit.qasm3. Both of these exporter functions are single-use wrappers around the main [`Exporter`](#qiskit.qasm3.Exporter "qiskit.qasm3.Exporter") class. For more complex exporting needs, including dumping multiple circuits in a single session, it may be more convenient or faster to use the complete interface. - + QASM3 exporter main class. **Parameters** @@ -90,13 +90,13 @@ Both of these exporter functions are single-use wrappers around the main [`Expor ### dump - + Convert the circuit to OpenQASM 3, dumping the result to a file or text stream. ### dumps - + Convert the circuit to OpenQASM 3, returning the result as a string. @@ -105,7 +105,7 @@ All of these interfaces will raise [`QASM3ExporterError`](#qiskit.qasm3.QASM3Exp ### QASM3ExporterError - + An error raised during running the OpenQASM 3 exporter. Set the error message. @@ -115,7 +115,7 @@ All of these interfaces will raise [`QASM3ExporterError`](#qiskit.qasm3.QASM3Exp The OpenQASM 3 language is still evolving as hardware capabilities improve, so there is no final syntax that Qiskit can reliably target. In order to represent the evolving language, we will sometimes release features before formal standardization, which may need to change as the review process in the OpenQASM 3 design committees progresses. By default, the exporters will only support standardised features of the language. To enable these early-release features, use the `experimental` keyword argument of [`dump()`](#qiskit.qasm3.dump "qiskit.qasm3.dump") and [`dumps()`](#qiskit.qasm3.dumps "qiskit.qasm3.dumps"). The available feature flags are: - + Flags for experimental features that the OpenQASM 3 exporter supports. These are experimental and are more liable to change, because the OpenQASM 3 specification has not formally accepted them yet, so the syntax may not be finalized. @@ -198,18 +198,18 @@ qasm_string = qasm3.dumps(qc, experimental=qasm3.ExperimentalFeatures.SWITCH_CAS Currently only two high-level functions are offered, as Qiskit support for importing from OpenQASM 3 is in its infancy, and the implementation is expected to change significantly. The two functions are [`load()`](#qiskit.qasm3.load "qiskit.qasm3.load") and [`loads()`](#qiskit.qasm3.loads "qiskit.qasm3.loads"), which are direct counterparts of [`dump()`](#qiskit.qasm3.dump "qiskit.qasm3.dump") and [`dumps()`](#qiskit.qasm3.dumps "qiskit.qasm3.dumps"), respectively loading a program indirectly from a named file and directly from a given string. - While we are still in the exploratory release period, to use either function, the package `qiskit_qasm3_import` must be installed. This can be done by installing Qiskit Terra with the `qasm3-import` extra, such as by: + While we are still in the exploratory release period, to use either function, the package `qiskit_qasm3_import` must be installed. This can be done by installing Qiskit with the `qasm3-import` extra, such as by: ```python - pip install qiskit-terra[qasm3-import] + pip install qiskit[qasm3-import] ``` - We expect that this functionality will eventually be merged into core Terra, and no longer require an optional import, but we do not yet have a timeline for this. + We expect that this functionality will eventually be merged into Qiskit, and no longer require an optional import, but we do not yet have a timeline for this. ### load - + Load an OpenQASM 3 program from the file `filename`. **Parameters** @@ -231,7 +231,7 @@ Currently only two high-level functions are offered, as Qiskit support for impor ### loads - + Load an OpenQASM 3 program from the given string. **Parameters** @@ -255,7 +255,7 @@ Both of these two functions raise [`QASM3ImporterError`](#qiskit.qasm3.QASM3Impo ### QASM3ImporterError - + An error raised during the OpenQASM 3 importer. Set the error message. @@ -322,7 +322,7 @@ You can use the experimental interface immediately, with similar functions to th ### load\_experimental - + Load an OpenQASM 3 program from a source file into a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). @@ -350,7 +350,7 @@ You can use the experimental interface immediately, with similar functions to th ### loads\_experimental - + Load an OpenQASM 3 program from a string into a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). diff --git a/docs/api/qiskit/qiskit.assembler.RunConfig.mdx b/docs/api/qiskit/qiskit.assembler.RunConfig.mdx index 1d172222a00..60771921530 100644 --- a/docs/api/qiskit/qiskit.assembler.RunConfig.mdx +++ b/docs/api/qiskit/qiskit.assembler.RunConfig.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.assembler.RunConfig # RunConfig - + Bases: [`SimpleNamespace`](https://docs.python.org/3/library/types.html#types.SimpleNamespace "(in Python v3.12)") Class for Run Configuration. @@ -67,7 +67,7 @@ python_api_name: qiskit.assembler.RunConfig ### from\_dict - + Create a new RunConfig object from a dictionary. **Parameters** @@ -85,7 +85,7 @@ python_api_name: qiskit.assembler.RunConfig ### to\_dict - + Return a dictionary format representation of the RunConfig **Returns** diff --git a/docs/api/qiskit/qiskit.circuit.AncillaQubit.mdx b/docs/api/qiskit/qiskit.circuit.AncillaQubit.mdx index 5700cfe6103..166048f8918 100644 --- a/docs/api/qiskit/qiskit.circuit.AncillaQubit.mdx +++ b/docs/api/qiskit/qiskit.circuit.AncillaQubit.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.AncillaQubit # AncillaQubit - + Bases: [`Qubit`](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") A qubit used as ancillary qubit. diff --git a/docs/api/qiskit/qiskit.circuit.AncillaRegister.mdx b/docs/api/qiskit/qiskit.circuit.AncillaRegister.mdx index 5880042ca9b..3a15ed6f82c 100644 --- a/docs/api/qiskit/qiskit.circuit.AncillaRegister.mdx +++ b/docs/api/qiskit/qiskit.circuit.AncillaRegister.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.AncillaRegister # AncillaRegister - + Bases: [`QuantumRegister`](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") Implement an ancilla register. @@ -57,7 +57,7 @@ python_api_name: qiskit.circuit.AncillaRegister ### index - + Find the index of the provided bit within this register. diff --git a/docs/api/qiskit/qiskit.circuit.AnnotatedOperation.mdx b/docs/api/qiskit/qiskit.circuit.AnnotatedOperation.mdx index ebb082e7ad8..6c291397413 100644 --- a/docs/api/qiskit/qiskit.circuit.AnnotatedOperation.mdx +++ b/docs/api/qiskit/qiskit.circuit.AnnotatedOperation.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.AnnotatedOperation # AnnotatedOperation - + Bases: [`Operation`](qiskit.circuit.Operation "qiskit.circuit.operation.Operation") Annotated operation. @@ -61,7 +61,7 @@ python_api_name: qiskit.circuit.AnnotatedOperation ### control - + Return the controlled version of itself. Implemented as an annotated operation, see [`AnnotatedOperation`](#qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation"). @@ -84,7 +84,7 @@ python_api_name: qiskit.circuit.AnnotatedOperation ### copy - + Return a copy of the [`AnnotatedOperation`](#qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation"). **Return type** @@ -94,7 +94,7 @@ python_api_name: qiskit.circuit.AnnotatedOperation ### inverse - + Return the inverse version of itself. Implemented as an annotated operation, see [`AnnotatedOperation`](#qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation"). @@ -110,7 +110,7 @@ python_api_name: qiskit.circuit.AnnotatedOperation ### to\_matrix - + Return a matrix representation (allowing to construct Operator). diff --git a/docs/api/qiskit/qiskit.circuit.Bit.mdx b/docs/api/qiskit/qiskit.circuit.Bit.mdx index f09db947bd2..da859fc11e6 100644 --- a/docs/api/qiskit/qiskit.circuit.Bit.mdx +++ b/docs/api/qiskit/qiskit.circuit.Bit.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.Bit # Bit - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Implement a generic bit. diff --git a/docs/api/qiskit/qiskit.circuit.BreakLoopOp.mdx b/docs/api/qiskit/qiskit.circuit.BreakLoopOp.mdx index d53a12083e0..f3e000f3a5b 100644 --- a/docs/api/qiskit/qiskit.circuit.BreakLoopOp.mdx +++ b/docs/api/qiskit/qiskit.circuit.BreakLoopOp.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.BreakLoopOp # BreakLoopOp - + Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction") A circuit operation which, when encountered, jumps to the end of the nearest enclosing loop. @@ -145,19 +145,19 @@ python_api_name: qiskit.circuit.BreakLoopOp ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction ### broadcast\_arguments - + Validation of the arguments. **Parameters** @@ -176,7 +176,7 @@ python_api_name: qiskit.circuit.BreakLoopOp ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. @@ -186,7 +186,7 @@ python_api_name: qiskit.circuit.BreakLoopOp ### copy - + Copy of the instruction. **Parameters** @@ -204,7 +204,7 @@ python_api_name: qiskit.circuit.BreakLoopOp ### inverse - + Invert this instruction. If annotated is False, the inverse instruction is implemented as a fresh instruction with the recursively inverted definition. @@ -228,13 +228,13 @@ python_api_name: qiskit.circuit.BreakLoopOp ### is\_parameterized - + Return True .IFF. instruction is parameterized else False ### repeat - + Creates an instruction with gate repeated n amount of times. **Parameters** @@ -256,7 +256,7 @@ python_api_name: qiskit.circuit.BreakLoopOp ### reverse\_ops - + For a composite instruction, reverse the order of sub-instructions. This is done by recursively reversing all sub-instructions. It does not invert any gate. @@ -274,7 +274,7 @@ python_api_name: qiskit.circuit.BreakLoopOp ### soft\_compare - + Soft comparison between gates. Their names, number of qubits, and classical bit numbers must match. The number of parameters must match. Each parameter is compared. If one is a ParameterExpression then it is not taken into account. **Parameters** @@ -292,7 +292,7 @@ python_api_name: qiskit.circuit.BreakLoopOp ### to\_mutable - + Return a mutable copy of this gate. This method will return a new mutable copy of this gate instance. If a singleton instance is being used this will be a new unique instance that can be mutated. If the instance is already mutable it will be a deepcopy of that instance. @@ -300,7 +300,7 @@ python_api_name: qiskit.circuit.BreakLoopOp ### validate\_parameter - + Instruction parameters has no validation or normalization. diff --git a/docs/api/qiskit/qiskit.circuit.ClassicalRegister.mdx b/docs/api/qiskit/qiskit.circuit.ClassicalRegister.mdx index 0a745ce9b67..aefbf050496 100644 --- a/docs/api/qiskit/qiskit.circuit.ClassicalRegister.mdx +++ b/docs/api/qiskit/qiskit.circuit.ClassicalRegister.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.ClassicalRegister # ClassicalRegister - + Bases: [`Register`](qiskit.circuit.Register "qiskit.circuit.register.Register") Implement a classical register. @@ -57,7 +57,7 @@ python_api_name: qiskit.circuit.ClassicalRegister ### index - + Find the index of the provided bit within this register. diff --git a/docs/api/qiskit/qiskit.circuit.Clbit.mdx b/docs/api/qiskit/qiskit.circuit.Clbit.mdx index 93eec40e832..dba3bcb12c7 100644 --- a/docs/api/qiskit/qiskit.circuit.Clbit.mdx +++ b/docs/api/qiskit/qiskit.circuit.Clbit.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.Clbit # Clbit - + Bases: [`Bit`](qiskit.circuit.Bit "qiskit.circuit.bit.Bit") Implement a classical bit. diff --git a/docs/api/qiskit/qiskit.circuit.CommutationChecker.mdx b/docs/api/qiskit/qiskit.circuit.CommutationChecker.mdx index 7b0b6e21a10..1b971662569 100644 --- a/docs/api/qiskit/qiskit.circuit.CommutationChecker.mdx +++ b/docs/api/qiskit/qiskit.circuit.CommutationChecker.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.CommutationChecker # CommutationChecker - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") This code is essentially copy-pasted from commutative\_analysis.py. This code cleverly hashes commutativity and non-commutativity results between DAG nodes and seems quite efficient for large Clifford circuits. They may be other possible efficiency improvements: using rule-based commutativity analysis, evicting from the cache less useful entries, etc. @@ -17,7 +17,7 @@ python_api_name: qiskit.circuit.CommutationChecker ### check\_commutation\_entries - + Returns stored commutation relation if any **Parameters** @@ -38,13 +38,13 @@ python_api_name: qiskit.circuit.CommutationChecker ### clear\_cached\_commutations - + Clears the dictionary holding cached commutations ### commute - + Checks if two Operations commute. The return value of True means that the operations truly commute, and the return value of False means that either the operations do not commute or that the commutation check was skipped (for example, when the operations have conditions or have too many qubits). **Parameters** @@ -68,7 +68,7 @@ python_api_name: qiskit.circuit.CommutationChecker ### num\_cached\_entries - + Returns number of cached entries diff --git a/docs/api/qiskit/qiskit.circuit.ContinueLoopOp.mdx b/docs/api/qiskit/qiskit.circuit.ContinueLoopOp.mdx index e129983364c..8f015aabc23 100644 --- a/docs/api/qiskit/qiskit.circuit.ContinueLoopOp.mdx +++ b/docs/api/qiskit/qiskit.circuit.ContinueLoopOp.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.ContinueLoopOp # ContinueLoopOp - + Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction") A circuit operation which, when encountered, moves to the next iteration of the nearest enclosing loop. @@ -149,19 +149,19 @@ python_api_name: qiskit.circuit.ContinueLoopOp ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction ### broadcast\_arguments - + Validation of the arguments. **Parameters** @@ -180,7 +180,7 @@ python_api_name: qiskit.circuit.ContinueLoopOp ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. @@ -190,7 +190,7 @@ python_api_name: qiskit.circuit.ContinueLoopOp ### copy - + Copy of the instruction. **Parameters** @@ -208,7 +208,7 @@ python_api_name: qiskit.circuit.ContinueLoopOp ### inverse - + Invert this instruction. If annotated is False, the inverse instruction is implemented as a fresh instruction with the recursively inverted definition. @@ -232,13 +232,13 @@ python_api_name: qiskit.circuit.ContinueLoopOp ### is\_parameterized - + Return True .IFF. instruction is parameterized else False ### repeat - + Creates an instruction with gate repeated n amount of times. **Parameters** @@ -260,7 +260,7 @@ python_api_name: qiskit.circuit.ContinueLoopOp ### reverse\_ops - + For a composite instruction, reverse the order of sub-instructions. This is done by recursively reversing all sub-instructions. It does not invert any gate. @@ -278,7 +278,7 @@ python_api_name: qiskit.circuit.ContinueLoopOp ### soft\_compare - + Soft comparison between gates. Their names, number of qubits, and classical bit numbers must match. The number of parameters must match. Each parameter is compared. If one is a ParameterExpression then it is not taken into account. **Parameters** @@ -296,7 +296,7 @@ python_api_name: qiskit.circuit.ContinueLoopOp ### to\_mutable - + Return a mutable copy of this gate. This method will return a new mutable copy of this gate instance. If a singleton instance is being used this will be a new unique instance that can be mutated. If the instance is already mutable it will be a deepcopy of that instance. @@ -304,7 +304,7 @@ python_api_name: qiskit.circuit.ContinueLoopOp ### validate\_parameter - + Instruction parameters has no validation or normalization. diff --git a/docs/api/qiskit/qiskit.circuit.ControlFlowOp.mdx b/docs/api/qiskit/qiskit.circuit.ControlFlowOp.mdx index 6765924724e..d816128725c 100644 --- a/docs/api/qiskit/qiskit.circuit.ControlFlowOp.mdx +++ b/docs/api/qiskit/qiskit.circuit.ControlFlowOp.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.ControlFlowOp # ControlFlowOp - + Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction"), [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") Abstract class to encapsulate all control flow operations. @@ -137,19 +137,19 @@ python_api_name: qiskit.circuit.ControlFlowOp ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction ### broadcast\_arguments - + Validation of the arguments. **Parameters** @@ -168,7 +168,7 @@ python_api_name: qiskit.circuit.ControlFlowOp ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. @@ -178,7 +178,7 @@ python_api_name: qiskit.circuit.ControlFlowOp ### copy - + Copy of the instruction. **Parameters** @@ -196,7 +196,7 @@ python_api_name: qiskit.circuit.ControlFlowOp ### inverse - + Invert this instruction. If annotated is False, the inverse instruction is implemented as a fresh instruction with the recursively inverted definition. @@ -220,13 +220,13 @@ python_api_name: qiskit.circuit.ControlFlowOp ### is\_parameterized - + Return True .IFF. instruction is parameterized else False ### repeat - + Creates an instruction with gate repeated n amount of times. **Parameters** @@ -248,7 +248,7 @@ python_api_name: qiskit.circuit.ControlFlowOp ### replace\_blocks - + Replace blocks and return new instruction. :param blocks: Tuple of QuantumCircuits to replace in instruction. **Returns** @@ -262,7 +262,7 @@ python_api_name: qiskit.circuit.ControlFlowOp ### reverse\_ops - + For a composite instruction, reverse the order of sub-instructions. This is done by recursively reversing all sub-instructions. It does not invert any gate. @@ -280,7 +280,7 @@ python_api_name: qiskit.circuit.ControlFlowOp ### soft\_compare - + Soft comparison between gates. Their names, number of qubits, and classical bit numbers must match. The number of parameters must match. Each parameter is compared. If one is a ParameterExpression then it is not taken into account. **Parameters** @@ -298,7 +298,7 @@ python_api_name: qiskit.circuit.ControlFlowOp ### to\_mutable - + Return a mutable copy of this gate. This method will return a new mutable copy of this gate instance. If a singleton instance is being used this will be a new unique instance that can be mutated. If the instance is already mutable it will be a deepcopy of that instance. @@ -306,7 +306,7 @@ python_api_name: qiskit.circuit.ControlFlowOp ### validate\_parameter - + Instruction parameters has no validation or normalization. diff --git a/docs/api/qiskit/qiskit.circuit.ControlModifier.mdx b/docs/api/qiskit/qiskit.circuit.ControlModifier.mdx index b5a8d650f71..dbe544b144b 100644 --- a/docs/api/qiskit/qiskit.circuit.ControlModifier.mdx +++ b/docs/api/qiskit/qiskit.circuit.ControlModifier.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.ControlModifier # ControlModifier - + Bases: `Modifier` Control modifier: specifies that the operation is controlled by `num_ctrl_qubits` and has control state `ctrl_state`. diff --git a/docs/api/qiskit/qiskit.circuit.ControlledGate.mdx b/docs/api/qiskit/qiskit.circuit.ControlledGate.mdx index 07123061a46..6de1311e60e 100644 --- a/docs/api/qiskit/qiskit.circuit.ControlledGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.ControlledGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.ControlledGate # ControlledGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Controlled unitary gate. @@ -203,19 +203,19 @@ python_api_name: qiskit.circuit.ControlledGate ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction ### broadcast\_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: @@ -268,7 +268,7 @@ python_api_name: qiskit.circuit.ControlledGate ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. @@ -278,7 +278,7 @@ python_api_name: qiskit.circuit.ControlledGate ### control - + Return the controlled version of itself. Implemented either as a controlled gate (ref. [`ControlledGate`](#qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate")) or as an annotated operation (ref. [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation")). @@ -301,7 +301,7 @@ python_api_name: qiskit.circuit.ControlledGate ### copy - + Copy of the instruction. **Parameters** @@ -319,7 +319,7 @@ python_api_name: qiskit.circuit.ControlledGate ### inverse - + Invert this gate by calling inverse on the base gate. **Return type** @@ -329,13 +329,13 @@ python_api_name: qiskit.circuit.ControlledGate ### is\_parameterized - + Return True .IFF. instruction is parameterized else False ### power - + Creates a unitary gate as gate^exponent. **Parameters** @@ -357,7 +357,7 @@ python_api_name: qiskit.circuit.ControlledGate ### repeat - + Creates an instruction with gate repeated n amount of times. **Parameters** @@ -379,7 +379,7 @@ python_api_name: qiskit.circuit.ControlledGate ### reverse\_ops - + For a composite instruction, reverse the order of sub-instructions. This is done by recursively reversing all sub-instructions. It does not invert any gate. @@ -397,7 +397,7 @@ python_api_name: qiskit.circuit.ControlledGate ### soft\_compare - + Soft comparison between gates. Their names, number of qubits, and classical bit numbers must match. The number of parameters must match. Each parameter is compared. If one is a ParameterExpression then it is not taken into account. **Parameters** @@ -415,7 +415,7 @@ python_api_name: qiskit.circuit.ControlledGate ### to\_matrix - + Return a Numpy.array for the gate unitary matrix. **Returns** @@ -433,7 +433,7 @@ python_api_name: qiskit.circuit.ControlledGate ### to\_mutable - + Return a mutable copy of this gate. This method will return a new mutable copy of this gate instance. If a singleton instance is being used this will be a new unique instance that can be mutated. If the instance is already mutable it will be a deepcopy of that instance. @@ -441,7 +441,7 @@ python_api_name: qiskit.circuit.ControlledGate ### validate\_parameter - + Gate parameters should be int, float, or ParameterExpression diff --git a/docs/api/qiskit/qiskit.circuit.Delay.mdx b/docs/api/qiskit/qiskit.circuit.Delay.mdx index e068db72ee2..3c65356563b 100644 --- a/docs/api/qiskit/qiskit.circuit.Delay.mdx +++ b/docs/api/qiskit/qiskit.circuit.Delay.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.Delay # Delay - + Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction") Do nothing and just delay/wait/idle for a specified duration. @@ -116,19 +116,19 @@ python_api_name: qiskit.circuit.Delay ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction ### broadcast\_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: @@ -181,7 +181,7 @@ python_api_name: qiskit.circuit.Delay ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. @@ -191,7 +191,7 @@ python_api_name: qiskit.circuit.Delay ### copy - + Copy of the instruction. **Parameters** @@ -209,19 +209,19 @@ python_api_name: qiskit.circuit.Delay ### inverse - + Special case. Return self. ### is\_parameterized - + Return True .IFF. instruction is parameterized else False ### repeat - + Creates an instruction with gate repeated n amount of times. **Parameters** @@ -243,7 +243,7 @@ python_api_name: qiskit.circuit.Delay ### reverse\_ops - + For a composite instruction, reverse the order of sub-instructions. This is done by recursively reversing all sub-instructions. It does not invert any gate. @@ -261,7 +261,7 @@ python_api_name: qiskit.circuit.Delay ### soft\_compare - + Soft comparison between gates. Their names, number of qubits, and classical bit numbers must match. The number of parameters must match. Each parameter is compared. If one is a ParameterExpression then it is not taken into account. **Parameters** @@ -279,7 +279,7 @@ python_api_name: qiskit.circuit.Delay ### to\_matrix - + Return a Numpy.array for the unitary matrix. This has been added to enable simulation without making delay a full Gate type. **Returns** @@ -293,7 +293,7 @@ python_api_name: qiskit.circuit.Delay ### to\_mutable - + Return a mutable copy of this gate. This method will return a new mutable copy of this gate instance. If a singleton instance is being used this will be a new unique instance that can be mutated. If the instance is already mutable it will be a deepcopy of that instance. @@ -301,7 +301,7 @@ python_api_name: qiskit.circuit.Delay ### validate\_parameter - + Delay parameter (i.e. duration) must be int, float or ParameterExpression. diff --git a/docs/api/qiskit/qiskit.circuit.EquivalenceLibrary.mdx b/docs/api/qiskit/qiskit.circuit.EquivalenceLibrary.mdx index 6ca7a036d41..52f515da054 100644 --- a/docs/api/qiskit/qiskit.circuit.EquivalenceLibrary.mdx +++ b/docs/api/qiskit/qiskit.circuit.EquivalenceLibrary.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.EquivalenceLibrary # EquivalenceLibrary - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A library providing a one-way mapping of Gates to their equivalent implementations as QuantumCircuits. @@ -41,7 +41,7 @@ python_api_name: qiskit.circuit.EquivalenceLibrary ### add\_equivalence - + Add a new equivalence to the library. Future queries for the Gate will include the given circuit, in addition to all existing equivalences (including those from base). Parameterized Gates (those including qiskit.circuit.Parameters in their Gate.params) can be marked equivalent to parameterized circuits, provided the parameters match. @@ -54,7 +54,7 @@ python_api_name: qiskit.circuit.EquivalenceLibrary ### draw - + Draws the equivalence relations available in the library. **Parameters** @@ -78,7 +78,7 @@ python_api_name: qiskit.circuit.EquivalenceLibrary ### get\_entry - + Gets the set of QuantumCircuits circuits from the library which equivalently implement the given Gate. Parameterized circuits will have their parameters replaced with the corresponding entries from Gate.params. @@ -102,7 +102,7 @@ python_api_name: qiskit.circuit.EquivalenceLibrary ### has\_entry - + Check if a library contains any decompositions for gate. **Parameters** @@ -122,7 +122,7 @@ python_api_name: qiskit.circuit.EquivalenceLibrary ### keys - + Return list of keys to key to node index map. **Returns** @@ -136,7 +136,7 @@ python_api_name: qiskit.circuit.EquivalenceLibrary ### node\_index - + Return node index for a given key. **Parameters** @@ -154,7 +154,7 @@ python_api_name: qiskit.circuit.EquivalenceLibrary ### set\_entry - + Set the equivalence record for a Gate. Future queries for the Gate will return only the circuits provided. Parameterized Gates (those including qiskit.circuit.Parameters in their Gate.params) can be marked equivalent to parameterized circuits, provided the parameters match. diff --git a/docs/api/qiskit/qiskit.circuit.ForLoopOp.mdx b/docs/api/qiskit/qiskit.circuit.ForLoopOp.mdx index b5231412c4f..08484402d73 100644 --- a/docs/api/qiskit/qiskit.circuit.ForLoopOp.mdx +++ b/docs/api/qiskit/qiskit.circuit.ForLoopOp.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.ForLoopOp # ForLoopOp - + Bases: [`ControlFlowOp`](qiskit.circuit.ControlFlowOp "qiskit.circuit.controlflow.control_flow.ControlFlowOp") A circuit operation which repeatedly executes a subcircuit (`body`) parameterized by a parameter `loop_parameter` through the set of integer values provided in `indexset`. @@ -154,19 +154,19 @@ python_api_name: qiskit.circuit.ForLoopOp ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction ### broadcast\_arguments - + Validation of the arguments. **Parameters** @@ -185,7 +185,7 @@ python_api_name: qiskit.circuit.ForLoopOp ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. @@ -195,7 +195,7 @@ python_api_name: qiskit.circuit.ForLoopOp ### copy - + Copy of the instruction. **Parameters** @@ -213,7 +213,7 @@ python_api_name: qiskit.circuit.ForLoopOp ### inverse - + Invert this instruction. If annotated is False, the inverse instruction is implemented as a fresh instruction with the recursively inverted definition. @@ -237,13 +237,13 @@ python_api_name: qiskit.circuit.ForLoopOp ### is\_parameterized - + Return True .IFF. instruction is parameterized else False ### repeat - + Creates an instruction with gate repeated n amount of times. **Parameters** @@ -265,7 +265,7 @@ python_api_name: qiskit.circuit.ForLoopOp ### replace\_blocks - + Replace blocks and return new instruction. :param blocks: Tuple of QuantumCircuits to replace in instruction. **Returns** @@ -275,7 +275,7 @@ python_api_name: qiskit.circuit.ForLoopOp ### reverse\_ops - + For a composite instruction, reverse the order of sub-instructions. This is done by recursively reversing all sub-instructions. It does not invert any gate. @@ -293,7 +293,7 @@ python_api_name: qiskit.circuit.ForLoopOp ### soft\_compare - + Soft comparison between gates. Their names, number of qubits, and classical bit numbers must match. The number of parameters must match. Each parameter is compared. If one is a ParameterExpression then it is not taken into account. **Parameters** @@ -311,7 +311,7 @@ python_api_name: qiskit.circuit.ForLoopOp ### to\_mutable - + Return a mutable copy of this gate. This method will return a new mutable copy of this gate instance. If a singleton instance is being used this will be a new unique instance that can be mutated. If the instance is already mutable it will be a deepcopy of that instance. @@ -319,7 +319,7 @@ python_api_name: qiskit.circuit.ForLoopOp ### validate\_parameter - + Instruction parameters has no validation or normalization. diff --git a/docs/api/qiskit/qiskit.circuit.Gate.mdx b/docs/api/qiskit/qiskit.circuit.Gate.mdx index 23dd72679ff..e8124661c1b 100644 --- a/docs/api/qiskit/qiskit.circuit.Gate.mdx +++ b/docs/api/qiskit/qiskit.circuit.Gate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.Gate # Gate - + Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction") Unitary gate. @@ -123,19 +123,19 @@ python_api_name: qiskit.circuit.Gate ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction ### broadcast\_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: @@ -188,7 +188,7 @@ python_api_name: qiskit.circuit.Gate ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. @@ -198,7 +198,7 @@ python_api_name: qiskit.circuit.Gate ### control - + Return the controlled version of itself. Implemented either as a controlled gate (ref. [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate")) or as an annotated operation (ref. [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation")). @@ -221,7 +221,7 @@ python_api_name: qiskit.circuit.Gate ### copy - + Copy of the instruction. **Parameters** @@ -239,7 +239,7 @@ python_api_name: qiskit.circuit.Gate ### inverse - + Invert this instruction. If annotated is False, the inverse instruction is implemented as a fresh instruction with the recursively inverted definition. @@ -263,13 +263,13 @@ python_api_name: qiskit.circuit.Gate ### is\_parameterized - + Return True .IFF. instruction is parameterized else False ### power - + Creates a unitary gate as gate^exponent. **Parameters** @@ -291,7 +291,7 @@ python_api_name: qiskit.circuit.Gate ### repeat - + Creates an instruction with gate repeated n amount of times. **Parameters** @@ -313,7 +313,7 @@ python_api_name: qiskit.circuit.Gate ### reverse\_ops - + For a composite instruction, reverse the order of sub-instructions. This is done by recursively reversing all sub-instructions. It does not invert any gate. @@ -331,7 +331,7 @@ python_api_name: qiskit.circuit.Gate ### soft\_compare - + Soft comparison between gates. Their names, number of qubits, and classical bit numbers must match. The number of parameters must match. Each parameter is compared. If one is a ParameterExpression then it is not taken into account. **Parameters** @@ -349,7 +349,7 @@ python_api_name: qiskit.circuit.Gate ### to\_matrix - + Return a Numpy.array for the gate unitary matrix. **Returns** @@ -367,7 +367,7 @@ python_api_name: qiskit.circuit.Gate ### to\_mutable - + Return a mutable copy of this gate. This method will return a new mutable copy of this gate instance. If a singleton instance is being used this will be a new unique instance that can be mutated. If the instance is already mutable it will be a deepcopy of that instance. @@ -375,7 +375,7 @@ python_api_name: qiskit.circuit.Gate ### validate\_parameter - + Gate parameters should be int, float, or ParameterExpression diff --git a/docs/api/qiskit/qiskit.circuit.IfElseOp.mdx b/docs/api/qiskit/qiskit.circuit.IfElseOp.mdx index 29032d250a9..2b28d97c69a 100644 --- a/docs/api/qiskit/qiskit.circuit.IfElseOp.mdx +++ b/docs/api/qiskit/qiskit.circuit.IfElseOp.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.IfElseOp # IfElseOp - + Bases: [`ControlFlowOp`](qiskit.circuit.ControlFlowOp "qiskit.circuit.controlflow.control_flow.ControlFlowOp") 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. @@ -158,19 +158,19 @@ python_api_name: qiskit.circuit.IfElseOp ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction ### broadcast\_arguments - + Validation of the arguments. **Parameters** @@ -189,7 +189,7 @@ python_api_name: qiskit.circuit.IfElseOp ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. @@ -199,7 +199,7 @@ python_api_name: qiskit.circuit.IfElseOp ### copy - + Copy of the instruction. **Parameters** @@ -217,7 +217,7 @@ python_api_name: qiskit.circuit.IfElseOp ### inverse - + Invert this instruction. If annotated is False, the inverse instruction is implemented as a fresh instruction with the recursively inverted definition. @@ -241,13 +241,13 @@ python_api_name: qiskit.circuit.IfElseOp ### is\_parameterized - + Return True .IFF. instruction is parameterized else False ### repeat - + Creates an instruction with gate repeated n amount of times. **Parameters** @@ -269,7 +269,7 @@ python_api_name: qiskit.circuit.IfElseOp ### replace\_blocks - + Replace blocks and return new instruction. **Parameters** @@ -287,7 +287,7 @@ python_api_name: qiskit.circuit.IfElseOp ### reverse\_ops - + For a composite instruction, reverse the order of sub-instructions. This is done by recursively reversing all sub-instructions. It does not invert any gate. @@ -305,7 +305,7 @@ python_api_name: qiskit.circuit.IfElseOp ### soft\_compare - + Soft comparison between gates. Their names, number of qubits, and classical bit numbers must match. The number of parameters must match. Each parameter is compared. If one is a ParameterExpression then it is not taken into account. **Parameters** @@ -323,7 +323,7 @@ python_api_name: qiskit.circuit.IfElseOp ### to\_mutable - + Return a mutable copy of this gate. This method will return a new mutable copy of this gate instance. If a singleton instance is being used this will be a new unique instance that can be mutated. If the instance is already mutable it will be a deepcopy of that instance. @@ -331,7 +331,7 @@ python_api_name: qiskit.circuit.IfElseOp ### validate\_parameter - + Instruction parameters has no validation or normalization. diff --git a/docs/api/qiskit/qiskit.circuit.Instruction.mdx b/docs/api/qiskit/qiskit.circuit.Instruction.mdx index 9d89a8b9fdc..c772d3fb74e 100644 --- a/docs/api/qiskit/qiskit.circuit.Instruction.mdx +++ b/docs/api/qiskit/qiskit.circuit.Instruction.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.Instruction # Instruction - + Bases: [`Operation`](qiskit.circuit.Operation "qiskit.circuit.operation.Operation") Generic quantum instruction. @@ -131,19 +131,19 @@ python_api_name: qiskit.circuit.Instruction ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction ### broadcast\_arguments - + Validation of the arguments. **Parameters** @@ -162,7 +162,7 @@ python_api_name: qiskit.circuit.Instruction ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. @@ -172,7 +172,7 @@ python_api_name: qiskit.circuit.Instruction ### copy - + Copy of the instruction. **Parameters** @@ -190,7 +190,7 @@ python_api_name: qiskit.circuit.Instruction ### inverse - + Invert this instruction. If annotated is False, the inverse instruction is implemented as a fresh instruction with the recursively inverted definition. @@ -214,13 +214,13 @@ python_api_name: qiskit.circuit.Instruction ### is\_parameterized - + Return True .IFF. instruction is parameterized else False ### repeat - + Creates an instruction with gate repeated n amount of times. **Parameters** @@ -242,7 +242,7 @@ python_api_name: qiskit.circuit.Instruction ### reverse\_ops - + For a composite instruction, reverse the order of sub-instructions. This is done by recursively reversing all sub-instructions. It does not invert any gate. @@ -260,7 +260,7 @@ python_api_name: qiskit.circuit.Instruction ### soft\_compare - + Soft comparison between gates. Their names, number of qubits, and classical bit numbers must match. The number of parameters must match. Each parameter is compared. If one is a ParameterExpression then it is not taken into account. **Parameters** @@ -278,7 +278,7 @@ python_api_name: qiskit.circuit.Instruction ### to\_mutable - + Return a mutable copy of this gate. This method will return a new mutable copy of this gate instance. If a singleton instance is being used this will be a new unique instance that can be mutated. If the instance is already mutable it will be a deepcopy of that instance. @@ -286,7 +286,7 @@ python_api_name: qiskit.circuit.Instruction ### validate\_parameter - + Instruction parameters has no validation or normalization. diff --git a/docs/api/qiskit/qiskit.circuit.InstructionSet.mdx b/docs/api/qiskit/qiskit.circuit.InstructionSet.mdx index 41633fd2f22..b15eefc2316 100644 --- a/docs/api/qiskit/qiskit.circuit.InstructionSet.mdx +++ b/docs/api/qiskit/qiskit.circuit.InstructionSet.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.InstructionSet # InstructionSet - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Instruction collection, and their contexts. @@ -51,13 +51,13 @@ python_api_name: qiskit.circuit.InstructionSet ### add - + Add an instruction and its context (where it is attached). ### c\_if - + Set a classical equality condition on all the instructions in this set between the [`ClassicalRegister`](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") or [`Clbit`](qiskit.circuit.Clbit "qiskit.circuit.Clbit") `classical` and value `val`. @@ -106,7 +106,7 @@ python_api_name: qiskit.circuit.InstructionSet ### inverse - + Invert all instructions. diff --git a/docs/api/qiskit/qiskit.circuit.InverseModifier.mdx b/docs/api/qiskit/qiskit.circuit.InverseModifier.mdx index 847a43ec97a..9326b59a318 100644 --- a/docs/api/qiskit/qiskit.circuit.InverseModifier.mdx +++ b/docs/api/qiskit/qiskit.circuit.InverseModifier.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.InverseModifier # InverseModifier - + Bases: `Modifier` Inverse modifier: specifies that the operation is inverted. diff --git a/docs/api/qiskit/qiskit.circuit.Operation.mdx b/docs/api/qiskit/qiskit.circuit.Operation.mdx index 5c3870804c3..2cb81753361 100644 --- a/docs/api/qiskit/qiskit.circuit.Operation.mdx +++ b/docs/api/qiskit/qiskit.circuit.Operation.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.Operation # Operation - + Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") Quantum Operation Interface Class. For objects that can be added to a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). These objects include [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"), `Reset`, `Barrier`, `Measure`, and operators such as [`Clifford`](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford"). The main purpose is to add an [`Operation`](#qiskit.circuit.Operation "qiskit.circuit.Operation") to a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") without synthesizing it before the transpilation. diff --git a/docs/api/qiskit/qiskit.circuit.Parameter.mdx b/docs/api/qiskit/qiskit.circuit.Parameter.mdx index 8a1d1446d12..1e44c898e57 100644 --- a/docs/api/qiskit/qiskit.circuit.Parameter.mdx +++ b/docs/api/qiskit/qiskit.circuit.Parameter.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.Parameter # Parameter - + Bases: [`ParameterExpression`](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression") Parameter Class for variable parameters. @@ -73,31 +73,31 @@ python_api_name: qiskit.circuit.Parameter ### abs - + Absolute of a ParameterExpression ### arccos - + Arccos of a ParameterExpression ### arcsin - + Arcsin of a ParameterExpression ### arctan - + Arctan of a ParameterExpression ### assign - + Assign one parameter to a value, which can either be numeric or another parameter expression. **Parameters** @@ -112,7 +112,7 @@ python_api_name: qiskit.circuit.Parameter ### bind - + Binds the provided set of parameters to their corresponding values. **Parameters** @@ -141,7 +141,7 @@ python_api_name: qiskit.circuit.Parameter ### conjugate - + Return the conjugate. **Return type** @@ -151,19 +151,19 @@ python_api_name: qiskit.circuit.Parameter ### cos - + Cosine of a ParameterExpression ### exp - + Exponential of a ParameterExpression ### gradient - + Get the derivative of a parameter expression w\.r.t. a specified parameter expression. **Parameters** @@ -181,19 +181,19 @@ python_api_name: qiskit.circuit.Parameter ### is\_real - + Return whether the expression is real ### log - + Logarithm of a ParameterExpression ### numeric - + Return a Python number representing this object, using the most restrictive of [`int`](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)"), [`float`](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)") and [`complex`](https://docs.python.org/3/library/functions.html#complex "(in Python v3.12)") that is valid for this object. In general, an [`int`](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") is only returned if the expression only involved symbolic integers. If floating-point values were used during the evaluation, the return value will be a [`float`](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)") regardless of whether the represented value is an integer. This is because floating-point values “infect” symbolic computations by their inexact nature, and symbolic libraries will use inexact floating-point semantics not exact real-number semantics when they are involved. If you want to assert that all floating-point calculations *were* carried out at infinite precision (i.e. [`float`](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)") could represent every intermediate value exactly), you can use [`float.is_integer()`](https://docs.python.org/3/library/stdtypes.html#float.is_integer "(in Python v3.12)") to check if the return float represents an integer and cast it using [`int`](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") if so. This would be an unusual pattern; typically one requires this by only ever using explicitly [`Rational`](https://docs.python.org/3/library/numbers.html#numbers.Rational "(in Python v3.12)") objects while working with symbolic expressions. @@ -215,25 +215,25 @@ python_api_name: qiskit.circuit.Parameter ### sign - + Sign of a ParameterExpression ### sin - + Sine of a ParameterExpression ### subs - + Substitute self with the corresponding parameter in `parameter_map`. ### sympify - + Return symbolic expression as a raw Sympy or Symengine object. Symengine is used preferentially; if both are available, the result will always be a `symengine` object. Symengine is a separate library but has integration with Sympy. @@ -245,7 +245,7 @@ python_api_name: qiskit.circuit.Parameter ### tan - + Tangent of a ParameterExpression diff --git a/docs/api/qiskit/qiskit.circuit.ParameterExpression.mdx b/docs/api/qiskit/qiskit.circuit.ParameterExpression.mdx index 50e243680b0..3d46c2be381 100644 --- a/docs/api/qiskit/qiskit.circuit.ParameterExpression.mdx +++ b/docs/api/qiskit/qiskit.circuit.ParameterExpression.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.ParameterExpression # ParameterExpression - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") ParameterExpression class to enable creating expressions of Parameters. @@ -34,31 +34,31 @@ python_api_name: qiskit.circuit.ParameterExpression ### abs - + Absolute of a ParameterExpression ### arccos - + Arccos of a ParameterExpression ### arcsin - + Arcsin of a ParameterExpression ### arctan - + Arctan of a ParameterExpression ### assign - + Assign one parameter to a value, which can either be numeric or another parameter expression. **Parameters** @@ -77,7 +77,7 @@ python_api_name: qiskit.circuit.ParameterExpression ### bind - + Binds the provided set of parameters to their corresponding values. **Parameters** @@ -106,7 +106,7 @@ python_api_name: qiskit.circuit.ParameterExpression ### conjugate - + Return the conjugate. **Return type** @@ -116,19 +116,19 @@ python_api_name: qiskit.circuit.ParameterExpression ### cos - + Cosine of a ParameterExpression ### exp - + Exponential of a ParameterExpression ### gradient - + Get the derivative of a parameter expression w\.r.t. a specified parameter expression. **Parameters** @@ -146,19 +146,19 @@ python_api_name: qiskit.circuit.ParameterExpression ### is\_real - + Return whether the expression is real ### log - + Logarithm of a ParameterExpression ### numeric - + Return a Python number representing this object, using the most restrictive of [`int`](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)"), [`float`](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)") and [`complex`](https://docs.python.org/3/library/functions.html#complex "(in Python v3.12)") that is valid for this object. In general, an [`int`](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") is only returned if the expression only involved symbolic integers. If floating-point values were used during the evaluation, the return value will be a [`float`](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)") regardless of whether the represented value is an integer. This is because floating-point values “infect” symbolic computations by their inexact nature, and symbolic libraries will use inexact floating-point semantics not exact real-number semantics when they are involved. If you want to assert that all floating-point calculations *were* carried out at infinite precision (i.e. [`float`](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)") could represent every intermediate value exactly), you can use [`float.is_integer()`](https://docs.python.org/3/library/stdtypes.html#float.is_integer "(in Python v3.12)") to check if the return float represents an integer and cast it using [`int`](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") if so. This would be an unusual pattern; typically one requires this by only ever using explicitly [`Rational`](https://docs.python.org/3/library/numbers.html#numbers.Rational "(in Python v3.12)") objects while working with symbolic expressions. @@ -180,19 +180,19 @@ python_api_name: qiskit.circuit.ParameterExpression ### sign - + Sign of a ParameterExpression ### sin - + Sine of a ParameterExpression ### subs - + Returns a new Expression with replacement Parameters. **Parameters** @@ -217,7 +217,7 @@ python_api_name: qiskit.circuit.ParameterExpression ### sympify - + Return symbolic expression as a raw Sympy or Symengine object. Symengine is used preferentially; if both are available, the result will always be a `symengine` object. Symengine is a separate library but has integration with Sympy. @@ -229,7 +229,7 @@ python_api_name: qiskit.circuit.ParameterExpression ### tan - + Tangent of a ParameterExpression diff --git a/docs/api/qiskit/qiskit.circuit.ParameterVector.mdx b/docs/api/qiskit/qiskit.circuit.ParameterVector.mdx index 70c3450e737..3b7eea88639 100644 --- a/docs/api/qiskit/qiskit.circuit.ParameterVector.mdx +++ b/docs/api/qiskit/qiskit.circuit.ParameterVector.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.ParameterVector # ParameterVector - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") ParameterVector class to quickly generate lists of parameters. @@ -31,13 +31,13 @@ python_api_name: qiskit.circuit.ParameterVector ### index - + Returns first index of value. ### resize - + Resize the parameter vector. If necessary, new elements are generated. If length is smaller than before, the previous elements are cached and not re-generated if the vector is enlarged again. This is to ensure that the parameter instances do not change. diff --git a/docs/api/qiskit/qiskit.circuit.PowerModifier.mdx b/docs/api/qiskit/qiskit.circuit.PowerModifier.mdx index af02f9fdce5..7e5962bef43 100644 --- a/docs/api/qiskit/qiskit.circuit.PowerModifier.mdx +++ b/docs/api/qiskit/qiskit.circuit.PowerModifier.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.PowerModifier # PowerModifier - + Bases: `Modifier` Power modifier: specifies that the operation is raised to the power `power`. diff --git a/docs/api/qiskit/qiskit.circuit.QuantumCircuit.mdx b/docs/api/qiskit/qiskit.circuit.QuantumCircuit.mdx index 1a540c7a00c..fa50d589691 100644 --- a/docs/api/qiskit/qiskit.circuit.QuantumCircuit.mdx +++ b/docs/api/qiskit/qiskit.circuit.QuantumCircuit.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.QuantumCircuit # QuantumCircuit - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Create a new circuit. @@ -274,13 +274,13 @@ python_api_name: qiskit.circuit.QuantumCircuit ### add\_bits - + Add Bits to the circuit. ### add\_calibration - + Register a low-level, custom pulse definition for the given gate. **Parameters** @@ -297,13 +297,13 @@ python_api_name: qiskit.circuit.QuantumCircuit ### add\_register - + Add registers. ### append - + Append one or more instructions to the end of the circuit, modifying the circuit in place. The `qargs` and `cargs` will be expanded and broadcast according to the rules of the given [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction"), and any non-[`Bit`](qiskit.circuit.Bit "qiskit.circuit.Bit") specifiers (such as integer indices) will be resolved into the relevant instances. @@ -331,7 +331,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### assign\_parameters - + Assign parameters to new parameters or values. If `parameters` is passed as a dictionary, the keys should be [`Parameter`](qiskit.circuit.Parameter "qiskit.circuit.Parameter") instances in the current circuit. The values of the dictionary can either be numeric values or new parameter objects. @@ -405,7 +405,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### barrier - + Apply [`Barrier`](qiskit.circuit.library.Barrier "qiskit.circuit.library.Barrier"). If `qargs` is empty, applies to all qubits in the circuit. **Parameters** @@ -424,7 +424,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### break\_loop - + Apply [`BreakLoopOp`](qiskit.circuit.BreakLoopOp "qiskit.circuit.BreakLoopOp"). @@ -446,7 +446,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### cast - + Best effort to cast value to type. Otherwise, returns the value. **Return type** @@ -456,7 +456,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### cbit\_argument\_conversion - + Converts several classical bit representations (such as indexes, range, etc.) into a list of classical bits. **Parameters** @@ -474,7 +474,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### ccx - + Apply [`CCXGate`](qiskit.circuit.library.CCXGate "qiskit.circuit.library.CCXGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -497,7 +497,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### ccz - + Apply [`CCZGate`](qiskit.circuit.library.CCZGate "qiskit.circuit.library.CCZGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -521,7 +521,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### ch - + Apply [`CHGate`](qiskit.circuit.library.CHGate "qiskit.circuit.library.CHGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -544,7 +544,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### clear - + Clear all instructions in self. Clearing the circuits will keep the metadata and calibrations. @@ -552,7 +552,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### cls\_instances - + Return the current number of instances of this class, useful for auto naming. **Return type** @@ -562,7 +562,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### cls\_prefix - + Return the prefix to use for auto naming. **Return type** @@ -572,7 +572,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### compose - + Compose circuit with `other` circuit or instruction, optionally permuting wires. `other` can be narrower or of equal width to `self`. @@ -626,7 +626,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### continue\_loop - + Apply [`ContinueLoopOp`](qiskit.circuit.ContinueLoopOp "qiskit.circuit.ContinueLoopOp"). @@ -648,7 +648,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### control - + Control this circuit on `num_ctrl_qubits` qubits. **Parameters** @@ -673,7 +673,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### copy - + Copy the circuit. **Parameters** @@ -691,7 +691,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### copy\_empty\_like - + Return a copy of self with the same structure but empty. **That structure includes:** @@ -715,7 +715,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### count\_ops - + Count each operation kind in the circuit. **Returns** @@ -729,7 +729,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### cp - + Apply [`CPhaseGate`](qiskit.circuit.library.CPhaseGate "qiskit.circuit.library.CPhaseGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -753,7 +753,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### crx - + Apply [`CRXGate`](qiskit.circuit.library.CRXGate "qiskit.circuit.library.CRXGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -777,7 +777,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### cry - + Apply [`CRYGate`](qiskit.circuit.library.CRYGate "qiskit.circuit.library.CRYGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -801,7 +801,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### crz - + Apply [`CRZGate`](qiskit.circuit.library.CRZGate "qiskit.circuit.library.CRZGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -825,7 +825,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### cs - + Apply [`CSGate`](qiskit.circuit.library.CSGate "qiskit.circuit.library.CSGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -848,7 +848,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### csdg - + Apply [`CSdgGate`](qiskit.circuit.library.CSdgGate "qiskit.circuit.library.CSdgGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -871,7 +871,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### cswap - + Apply [`CSwapGate`](qiskit.circuit.library.CSwapGate "qiskit.circuit.library.CSwapGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -895,7 +895,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### csx - + Apply [`CSXGate`](qiskit.circuit.library.CSXGate "qiskit.circuit.library.CSXGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -918,7 +918,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### cu - + Apply [`CUGate`](qiskit.circuit.library.CUGate "qiskit.circuit.library.CUGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -945,7 +945,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### cx - + Apply [`CXGate`](qiskit.circuit.library.CXGate "qiskit.circuit.library.CXGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -968,7 +968,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### cy - + Apply [`CYGate`](qiskit.circuit.library.CYGate "qiskit.circuit.library.CYGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -991,7 +991,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### cz - + Apply [`CZGate`](qiskit.circuit.library.CZGate "qiskit.circuit.library.CZGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1014,7 +1014,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### dcx - + Apply [`DCXGate`](qiskit.circuit.library.DCXGate "qiskit.circuit.library.DCXGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1035,7 +1035,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### decompose - + Call a decomposition pass on this circuit, to decompose one level (shallow decompose). **Parameters** @@ -1054,7 +1054,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### delay - + Apply [`Delay`](qiskit.circuit.Delay "qiskit.circuit.Delay"). If qarg is `None`, applies to all qubits. When applying to multiple qubits, delays with the same duration will be created. **Parameters** @@ -1078,7 +1078,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### depth - + Return circuit depth (i.e., length of critical path). **Parameters** @@ -1100,7 +1100,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### draw - + Draw the quantum circuit. Use the output parameter to choose the drawing format: **text**: ASCII art TextDrawing that can be printed in the console. @@ -1198,7 +1198,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### ecr - + Apply [`ECRGate`](qiskit.circuit.library.ECRGate "qiskit.circuit.library.ECRGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1219,7 +1219,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### find\_bit - + Find locations in the circuit which can be used to reference a given [`Bit`](qiskit.circuit.Bit "qiskit.circuit.Bit"). **Parameters** @@ -1252,7 +1252,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### for\_loop - + Create a `for` loop on this circuit. There are two forms for calling this function. If called with all its arguments (with the possible exception of `label`), it will create a [`ForLoopOp`](qiskit.circuit.ForLoopOp "qiskit.circuit.ForLoopOp") with the given `body`. If `body` (and `qubits` and `clbits`) are *not* passed, then this acts as a context manager, which, when entered, provides a loop variable (unless one is given, in which case it will be reused) and will automatically build a [`ForLoopOp`](qiskit.circuit.ForLoopOp "qiskit.circuit.ForLoopOp") when the scope finishes. In this form, you do not need to keep track of the qubits or clbits you are using, because the scope will handle it for you. @@ -1303,7 +1303,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### from\_instructions - + Construct a circuit from an iterable of CircuitInstructions. **Parameters** @@ -1326,7 +1326,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### from\_qasm\_file - + Read an OpenQASM 2.0 program from a file and convert to an instance of [`QuantumCircuit`](#qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). **Parameters** @@ -1348,7 +1348,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### from\_qasm\_str - + Convert a string containing an OpenQASM 2.0 program to a [`QuantumCircuit`](#qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). **Parameters** @@ -1370,7 +1370,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### get\_instructions - + Get instructions matching name. **Parameters** @@ -1388,7 +1388,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### get\_parameter - + Retrieve a compile-time parameter that is accessible in this circuit scope by name. **Parameters** @@ -1434,7 +1434,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### h - + Apply [`HGate`](qiskit.circuit.library.HGate "qiskit.circuit.library.HGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1454,13 +1454,13 @@ python_api_name: qiskit.circuit.QuantumCircuit ### has\_calibration\_for - + Return True if the circuit has a calibration defined for the instruction context. In this case, the operation does not need to be translated to the device basis. ### has\_parameter - + Check whether a parameter object exists in this circuit. **Parameters** @@ -1484,7 +1484,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### has\_register - + Test if this circuit has the register r. **Parameters** @@ -1502,7 +1502,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### id - + Apply [`IGate`](qiskit.circuit.library.IGate "qiskit.circuit.library.IGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1522,7 +1522,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### if\_else - + Apply [`IfElseOp`](qiskit.circuit.IfElseOp "qiskit.circuit.IfElseOp"). @@ -1566,7 +1566,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### if\_test - + Create an `if` statement on this circuit. There are two forms for calling this function. If called with all its arguments (with the possible exception of `label`), it will create a [`IfElseOp`](qiskit.circuit.IfElseOp "qiskit.circuit.IfElseOp") with the given `true_body`, and there will be no branch for the `false` condition (see also the [`if_else()`](#qiskit.circuit.QuantumCircuit.if_else "qiskit.circuit.QuantumCircuit.if_else") method). However, if `true_body` (and `qubits` and `clbits`) are *not* passed, then this acts as a context manager, which can be used to build `if` statements. The return value of the `with` statement is a chainable context manager, which can be used to create subsequent `else` blocks. In this form, you do not need to keep track of the qubits or clbits you are using, because the scope will handle it for you. @@ -1620,7 +1620,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### initialize - + Initialize qubits in a specific state. Qubit initialization is done by first resetting the qubits to $|0\rangle$ followed by calling [`StatePreparation`](qiskit.circuit.library.StatePreparation "qiskit.circuit.library.StatePreparation") class to prepare the qubits in a specified state. Both these steps are included in the [`Initialize`](qiskit.circuit.library.Initialize "qiskit.circuit.library.Initialize") instruction. @@ -1709,7 +1709,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### inverse - + Invert (take adjoint of) this circuit. This is done by recursively inverting all gates. @@ -1755,7 +1755,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### iswap - + Apply [`iSwapGate`](qiskit.circuit.library.iSwapGate "qiskit.circuit.library.iSwapGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1776,7 +1776,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### mcp - + Apply [`MCPhaseGate`](qiskit.circuit.library.MCPhaseGate "qiskit.circuit.library.MCPhaseGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1798,7 +1798,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### mcrx - + Apply Multiple-Controlled X rotation gate **Parameters** @@ -1816,7 +1816,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### mcry - + Apply Multiple-Controlled Y rotation gate **Parameters** @@ -1836,7 +1836,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### mcrz - + Apply Multiple-Controlled Z rotation gate **Parameters** @@ -1854,7 +1854,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### mcx - + Apply [`MCXGate`](qiskit.circuit.library.MCXGate "qiskit.circuit.library.MCXGate"). The multi-cX gate can be implemented using different techniques, which use different numbers of ancilla qubits and have varying circuit depth. These modes are: @@ -1889,7 +1889,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### measure - + Measure a quantum bit (`qubit`) in the Z basis into a classical bit (`cbit`). When a quantum state is measured, a qubit is projected in the computational (Pauli Z) basis to either $\lvert 0 \rangle$ or $\lvert 1 \rangle$. The classical bit `cbit` indicates the result of that projection as a `0` or a `1` respectively. This operation is non-reversible. @@ -1965,7 +1965,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### measure\_active - + Adds measurement to all non-idle qubits. Creates a new ClassicalRegister with a size equal to the number of non-idle qubits being measured. Returns a new circuit with measurements if inplace=False. @@ -1985,7 +1985,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### measure\_all - + Adds measurement to all qubits. By default, adds new classical bits in a [`ClassicalRegister`](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") to store these measurements. If `add_bits=False`, the results of the measurements will instead be stored in the already existing classical bits, with qubit `n` being measured into classical bit `n`. @@ -2012,7 +2012,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### ms - + Apply [`MSGate`](qiskit.circuit.library.MSGate "qiskit.circuit.library.MSGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2033,7 +2033,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### num\_connected\_components - + How many non-entangled subcircuits can the circuit be factored to. **Parameters** @@ -2051,7 +2051,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### num\_nonlocal\_gates - + Return number of non-local gates (i.e. involving 2+ qubits). Conditional nonlocal gates are also included. @@ -2063,7 +2063,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### num\_tensor\_factors - + Computes the number of tensor factors in the unitary (quantum) part of the circuit only. **Notes** @@ -2077,7 +2077,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### num\_unitary\_factors - + Computes the number of tensor factors in the unitary (quantum) part of the circuit only. **Return type** @@ -2087,7 +2087,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### p - + Apply [`PhaseGate`](qiskit.circuit.library.PhaseGate "qiskit.circuit.library.PhaseGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2108,7 +2108,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### pauli - + Apply [`PauliGate`](qiskit.circuit.library.PauliGate "qiskit.circuit.library.PauliGate"). **Parameters** @@ -2127,7 +2127,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### power - + Raise this circuit to the power of `power`. If `power` is a positive integer and `matrix_power` is `False`, this implementation defaults to calling `repeat`. Otherwise, if the circuit is unitary, the matrix is computed to calculate the matrix power. @@ -2152,7 +2152,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### prepare\_state - + Prepare qubits in a specific state. This class implements a state preparing unitary. Unlike [`initialize()`](#qiskit.circuit.QuantumCircuit.initialize "qiskit.circuit.QuantumCircuit.initialize") it does not reset the qubits first. @@ -2247,7 +2247,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### qbit\_argument\_conversion - + Converts several qubit representations (such as indexes, range, etc.) into a list of qubits. **Parameters** @@ -2265,7 +2265,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### qubit\_duration - + Return the duration between the start and stop time of the first and last instructions, excluding delays, over the supplied qubits. Its time unit is `self.unit`. **Parameters** @@ -2283,7 +2283,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### qubit\_start\_time - + Return the start time of the first instruction, excluding delays, over the supplied qubits. Its time unit is `self.unit`. Return 0 if there are no instructions over qubits @@ -2308,7 +2308,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### qubit\_stop\_time - + Return the stop time of the last instruction, excluding delays, over the supplied qubits. Its time unit is `self.unit`. Return 0 if there are no instructions over qubits @@ -2333,7 +2333,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### r - + Apply [`RGate`](qiskit.circuit.library.RGate "qiskit.circuit.library.RGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2355,7 +2355,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### rcccx - + Apply [`RC3XGate`](qiskit.circuit.library.RC3XGate "qiskit.circuit.library.RC3XGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2378,7 +2378,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### rccx - + Apply [`RCCXGate`](qiskit.circuit.library.RCCXGate "qiskit.circuit.library.RCCXGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2400,7 +2400,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### remove\_final\_measurements - + Removes final measurements and barriers on all qubits if they are present. Deletes the classical registers that were used to store the values from these measurements that become idle as a result of this operation, and deletes classical bits that are referenced only by removed registers, or that aren’t referenced at all but have become idle as a result of this operation. Measurements and barriers are considered final if they are followed by no other operations (aside from other measurements or barriers.) @@ -2420,7 +2420,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### repeat - + Repeat this circuit `reps` times. **Parameters** @@ -2438,7 +2438,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### reset - + Reset the quantum bit(s) to their default state. **Parameters** @@ -2456,7 +2456,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### reverse\_bits - + Return a circuit with the opposite order of wires. The circuit is “vertically” flipped. If a circuit is defined over multiple registers, the resulting circuit will have the same registers but with their order flipped. @@ -2508,7 +2508,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### reverse\_ops - + Reverse the circuit by reversing the order of instructions. This is done by recursively reversing all instructions. It does not invert (adjoint) any gate. @@ -2546,7 +2546,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### rv - + Apply [`RVGate`](qiskit.circuit.library.RVGate "qiskit.circuit.library.RVGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2571,7 +2571,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### rx - + Apply [`RXGate`](qiskit.circuit.library.RXGate "qiskit.circuit.library.RXGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2593,7 +2593,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### rxx - + Apply [`RXXGate`](qiskit.circuit.library.RXXGate "qiskit.circuit.library.RXXGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2615,7 +2615,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### ry - + Apply [`RYGate`](qiskit.circuit.library.RYGate "qiskit.circuit.library.RYGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2637,7 +2637,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### ryy - + Apply [`RYYGate`](qiskit.circuit.library.RYYGate "qiskit.circuit.library.RYYGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2659,7 +2659,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### rz - + Apply [`RZGate`](qiskit.circuit.library.RZGate "qiskit.circuit.library.RZGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2680,7 +2680,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### rzx - + Apply [`RZXGate`](qiskit.circuit.library.RZXGate "qiskit.circuit.library.RZXGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2702,7 +2702,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### rzz - + Apply [`RZZGate`](qiskit.circuit.library.RZZGate "qiskit.circuit.library.RZZGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2724,7 +2724,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### s - + Apply [`SGate`](qiskit.circuit.library.SGate "qiskit.circuit.library.SGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2744,7 +2744,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### sdg - + Apply [`SdgGate`](qiskit.circuit.library.SdgGate "qiskit.circuit.library.SdgGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2764,7 +2764,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### size - + Returns total number of instructions in circuit. **Parameters** @@ -2782,7 +2782,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### swap - + Apply [`SwapGate`](qiskit.circuit.library.SwapGate "qiskit.circuit.library.SwapGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2803,7 +2803,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### switch - + Create a `switch`/`case` structure on this circuit. There are two forms for calling this function. If called with all its arguments (with the possible exception of `label`), it will create a [`SwitchCaseOp`](qiskit.circuit.SwitchCaseOp "qiskit.circuit.SwitchCaseOp") with the given case structure. If `cases` (and `qubits` and `clbits`) are *not* passed, then this acts as a context manager, which will automatically build a [`SwitchCaseOp`](qiskit.circuit.SwitchCaseOp "qiskit.circuit.SwitchCaseOp") when the scope finishes. In this form, you do not need to keep track of the qubits or clbits you are using, because the scope will handle it for you. @@ -2850,7 +2850,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### sx - + Apply [`SXGate`](qiskit.circuit.library.SXGate "qiskit.circuit.library.SXGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2870,7 +2870,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### sxdg - + Apply [`SXdgGate`](qiskit.circuit.library.SXdgGate "qiskit.circuit.library.SXdgGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2890,7 +2890,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### t - + Apply [`TGate`](qiskit.circuit.library.TGate "qiskit.circuit.library.TGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2910,7 +2910,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### tdg - + Apply [`TdgGate`](qiskit.circuit.library.TdgGate "qiskit.circuit.library.TdgGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2930,7 +2930,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### tensor - + 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](/build/circuit-construction) for more information. @@ -2977,7 +2977,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### to\_gate - + Create a Gate out of this circuit. **Parameters** @@ -2996,7 +2996,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### to\_instruction - + Create an Instruction out of this circuit. **Parameters** @@ -3015,7 +3015,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### u - + Apply [`UGate`](qiskit.circuit.library.UGate "qiskit.circuit.library.UGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -3038,7 +3038,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### unitary - + Apply unitary gate specified by `obj` to `qubits`. **Parameters** @@ -3072,7 +3072,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### while\_loop - + Create a `while` loop on this circuit. There are two forms for calling this function. If called with all its arguments (with the possible exception of `label`), it will create a `WhileLoopOp` with the given `body`. If `body` (and `qubits` and `clbits`) are *not* passed, then this acts as a context manager, which will automatically build a `WhileLoopOp` when the scope finishes. In this form, you do not need to keep track of the qubits or clbits you are using, because the scope will handle it for you. @@ -3113,7 +3113,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### width - + Return number of qubits plus clbits in circuit. **Returns** @@ -3127,7 +3127,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### x - + Apply [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.library.XGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -3148,7 +3148,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### y - + Apply [`YGate`](qiskit.circuit.library.YGate "qiskit.circuit.library.YGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -3168,7 +3168,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### z - + Apply [`ZGate`](qiskit.circuit.library.ZGate "qiskit.circuit.library.ZGate"). For the full matrix form of this gate, see the underlying gate documentation. diff --git a/docs/api/qiskit/qiskit.circuit.QuantumRegister.mdx b/docs/api/qiskit/qiskit.circuit.QuantumRegister.mdx index 0491343c90b..a22aa71d622 100644 --- a/docs/api/qiskit/qiskit.circuit.QuantumRegister.mdx +++ b/docs/api/qiskit/qiskit.circuit.QuantumRegister.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.QuantumRegister # QuantumRegister - + Bases: [`Register`](qiskit.circuit.Register "qiskit.circuit.register.Register") Implement a quantum register. @@ -57,7 +57,7 @@ python_api_name: qiskit.circuit.QuantumRegister ### index - + Find the index of the provided bit within this register. diff --git a/docs/api/qiskit/qiskit.circuit.Qubit.mdx b/docs/api/qiskit/qiskit.circuit.Qubit.mdx index f756ac41061..0c2342683d7 100644 --- a/docs/api/qiskit/qiskit.circuit.Qubit.mdx +++ b/docs/api/qiskit/qiskit.circuit.Qubit.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.Qubit # Qubit - + Bases: [`Bit`](qiskit.circuit.Bit "qiskit.circuit.bit.Bit") Implement a quantum bit. diff --git a/docs/api/qiskit/qiskit.circuit.Register.mdx b/docs/api/qiskit/qiskit.circuit.Register.mdx index 7428d1d1be6..76e4d5ff1dd 100644 --- a/docs/api/qiskit/qiskit.circuit.Register.mdx +++ b/docs/api/qiskit/qiskit.circuit.Register.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.Register # Register - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Implement a generic register. @@ -65,7 +65,7 @@ python_api_name: qiskit.circuit.Register ### index - + Find the index of the provided bit within this register. diff --git a/docs/api/qiskit/qiskit.circuit.SwitchCaseOp.mdx b/docs/api/qiskit/qiskit.circuit.SwitchCaseOp.mdx index eb42c0df37a..daa0e90d450 100644 --- a/docs/api/qiskit/qiskit.circuit.SwitchCaseOp.mdx +++ b/docs/api/qiskit/qiskit.circuit.SwitchCaseOp.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.SwitchCaseOp # SwitchCaseOp - + Bases: [`ControlFlowOp`](qiskit.circuit.ControlFlowOp "qiskit.circuit.controlflow.control_flow.ControlFlowOp") A circuit operation that executes one particular circuit block based on matching a given `target` against an ordered list of `values`. The special value [`CASE_DEFAULT`](circuit#qiskit.circuit.CASE_DEFAULT "qiskit.circuit.CASE_DEFAULT") can be used to represent a default condition. @@ -142,19 +142,19 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction ### broadcast\_arguments - + Validation of the arguments. **Parameters** @@ -173,7 +173,7 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. @@ -183,7 +183,7 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### cases - + Return a lookup table from case labels to the circuit that would be executed in that case. This object is not generally suitable for creating a new [`SwitchCaseOp`](#qiskit.circuit.SwitchCaseOp "qiskit.circuit.SwitchCaseOp") because any keys that point to the same object will not be grouped. @@ -195,7 +195,7 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### cases\_specifier - + Return an iterable where each element is a 2-tuple whose first element is a tuple of jump values, and whose second is the single circuit block that is associated with those values. This is an abstract specification of the jump table suitable for creating new [`SwitchCaseOp`](#qiskit.circuit.SwitchCaseOp "qiskit.circuit.SwitchCaseOp") instances. @@ -213,7 +213,7 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### copy - + Copy of the instruction. **Parameters** @@ -231,7 +231,7 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### inverse - + Invert this instruction. If annotated is False, the inverse instruction is implemented as a fresh instruction with the recursively inverted definition. @@ -255,13 +255,13 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### is\_parameterized - + Return True .IFF. instruction is parameterized else False ### repeat - + Creates an instruction with gate repeated n amount of times. **Parameters** @@ -283,7 +283,7 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### replace\_blocks - + Replace blocks and return new instruction. :param blocks: Tuple of QuantumCircuits to replace in instruction. **Returns** @@ -297,7 +297,7 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### reverse\_ops - + For a composite instruction, reverse the order of sub-instructions. This is done by recursively reversing all sub-instructions. It does not invert any gate. @@ -315,7 +315,7 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### soft\_compare - + Soft comparison between gates. Their names, number of qubits, and classical bit numbers must match. The number of parameters must match. Each parameter is compared. If one is a ParameterExpression then it is not taken into account. **Parameters** @@ -333,7 +333,7 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### to\_mutable - + Return a mutable copy of this gate. This method will return a new mutable copy of this gate instance. If a singleton instance is being used this will be a new unique instance that can be mutated. If the instance is already mutable it will be a deepcopy of that instance. @@ -341,7 +341,7 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### validate\_parameter - + Instruction parameters has no validation or normalization. diff --git a/docs/api/qiskit/qiskit.circuit.WhileLoopOp.mdx b/docs/api/qiskit/qiskit.circuit.WhileLoopOp.mdx index e338f100bd5..e7fe18768e6 100644 --- a/docs/api/qiskit/qiskit.circuit.WhileLoopOp.mdx +++ b/docs/api/qiskit/qiskit.circuit.WhileLoopOp.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.WhileLoopOp # WhileLoopOp - + Bases: [`ControlFlowOp`](qiskit.circuit.ControlFlowOp "qiskit.circuit.controlflow.control_flow.ControlFlowOp") A circuit operation which repeatedly executes a subcircuit (`body`) until a condition (`condition`) evaluates as False. @@ -155,19 +155,19 @@ python_api_name: qiskit.circuit.WhileLoopOp ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction ### broadcast\_arguments - + Validation of the arguments. **Parameters** @@ -186,7 +186,7 @@ python_api_name: qiskit.circuit.WhileLoopOp ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. @@ -196,7 +196,7 @@ python_api_name: qiskit.circuit.WhileLoopOp ### copy - + Copy of the instruction. **Parameters** @@ -214,7 +214,7 @@ python_api_name: qiskit.circuit.WhileLoopOp ### inverse - + Invert this instruction. If annotated is False, the inverse instruction is implemented as a fresh instruction with the recursively inverted definition. @@ -238,13 +238,13 @@ python_api_name: qiskit.circuit.WhileLoopOp ### is\_parameterized - + Return True .IFF. instruction is parameterized else False ### repeat - + Creates an instruction with gate repeated n amount of times. **Parameters** @@ -266,7 +266,7 @@ python_api_name: qiskit.circuit.WhileLoopOp ### replace\_blocks - + Replace blocks and return new instruction. :param blocks: Tuple of QuantumCircuits to replace in instruction. **Returns** @@ -276,7 +276,7 @@ python_api_name: qiskit.circuit.WhileLoopOp ### reverse\_ops - + For a composite instruction, reverse the order of sub-instructions. This is done by recursively reversing all sub-instructions. It does not invert any gate. @@ -294,7 +294,7 @@ python_api_name: qiskit.circuit.WhileLoopOp ### soft\_compare - + Soft comparison between gates. Their names, number of qubits, and classical bit numbers must match. The number of parameters must match. Each parameter is compared. If one is a ParameterExpression then it is not taken into account. **Parameters** @@ -312,7 +312,7 @@ python_api_name: qiskit.circuit.WhileLoopOp ### to\_mutable - + Return a mutable copy of this gate. This method will return a new mutable copy of this gate instance. If a singleton instance is being used this will be a new unique instance that can be mutated. If the instance is already mutable it will be a deepcopy of that instance. @@ -320,7 +320,7 @@ python_api_name: qiskit.circuit.WhileLoopOp ### validate\_parameter - + Instruction parameters has no validation or normalization. diff --git a/docs/api/qiskit/qiskit.circuit.classicalfunction.BooleanExpression.mdx b/docs/api/qiskit/qiskit.circuit.classicalfunction.BooleanExpression.mdx index 1742f33fd97..2e7f2e7a951 100644 --- a/docs/api/qiskit/qiskit.circuit.classicalfunction.BooleanExpression.mdx +++ b/docs/api/qiskit/qiskit.circuit.classicalfunction.BooleanExpression.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression # BooleanExpression - + Bases: `ClassicalElement` The Boolean Expression gate. @@ -120,19 +120,19 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction ### broadcast\_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: @@ -185,7 +185,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. @@ -195,7 +195,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### control - + Return the controlled version of itself. Implemented either as a controlled gate (ref. [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate")) or as an annotated operation (ref. [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation")). @@ -218,7 +218,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### copy - + Copy of the instruction. **Parameters** @@ -236,7 +236,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### from\_dimacs\_file - + Create a BooleanExpression from the string in the DIMACS format. :param filename: A file in DIMACS format. **Returns** @@ -254,7 +254,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### inverse - + Invert this instruction. If annotated is False, the inverse instruction is implemented as a fresh instruction with the recursively inverted definition. @@ -278,13 +278,13 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### is\_parameterized - + Return True .IFF. instruction is parameterized else False ### power - + Creates a unitary gate as gate^exponent. **Parameters** @@ -306,7 +306,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### repeat - + Creates an instruction with gate repeated n amount of times. **Parameters** @@ -328,7 +328,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### reverse\_ops - + For a composite instruction, reverse the order of sub-instructions. This is done by recursively reversing all sub-instructions. It does not invert any gate. @@ -346,7 +346,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### simulate - + Evaluate the expression on a bitstring. This evaluation is done classically. @@ -366,7 +366,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### soft\_compare - + Soft comparison between gates. Their names, number of qubits, and classical bit numbers must match. The number of parameters must match. Each parameter is compared. If one is a ParameterExpression then it is not taken into account. **Parameters** @@ -384,7 +384,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### synth - + Synthesis the logic network into a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). **Parameters** @@ -403,7 +403,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### to\_matrix - + Return a Numpy.array for the gate unitary matrix. **Returns** @@ -421,7 +421,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### to\_mutable - + Return a mutable copy of this gate. This method will return a new mutable copy of this gate instance. If a singleton instance is being used this will be a new unique instance that can be mutated. If the instance is already mutable it will be a deepcopy of that instance. @@ -429,7 +429,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### validate\_parameter - + Gate parameters should be int, float, or ParameterExpression diff --git a/docs/api/qiskit/qiskit.circuit.classicalfunction.ClassicalFunction.mdx b/docs/api/qiskit/qiskit.circuit.classicalfunction.ClassicalFunction.mdx index 43696e354ac..7cae07c681f 100644 --- a/docs/api/qiskit/qiskit.circuit.classicalfunction.ClassicalFunction.mdx +++ b/docs/api/qiskit/qiskit.circuit.classicalfunction.ClassicalFunction.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction # ClassicalFunction - + Bases: `ClassicalElement` Represent a classical function and its logic network. @@ -171,19 +171,19 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction ### broadcast\_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: @@ -236,7 +236,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. @@ -246,13 +246,13 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### compile - + Parses and creates the logical circuit ### control - + Return the controlled version of itself. Implemented either as a controlled gate (ref. [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate")) or as an annotated operation (ref. [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation")). @@ -275,7 +275,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### copy - + Copy of the instruction. **Parameters** @@ -293,7 +293,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### inverse - + Invert this instruction. If annotated is False, the inverse instruction is implemented as a fresh instruction with the recursively inverted definition. @@ -317,13 +317,13 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### is\_parameterized - + Return True .IFF. instruction is parameterized else False ### power - + Creates a unitary gate as gate^exponent. **Parameters** @@ -345,7 +345,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### repeat - + Creates an instruction with gate repeated n amount of times. **Parameters** @@ -367,7 +367,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### reverse\_ops - + For a composite instruction, reverse the order of sub-instructions. This is done by recursively reversing all sub-instructions. It does not invert any gate. @@ -385,7 +385,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### simulate - + Evaluate the expression on a bitstring. This evaluation is done classically. @@ -405,7 +405,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### simulate\_all - + Returns a truth table. **Returns** @@ -419,7 +419,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### soft\_compare - + Soft comparison between gates. Their names, number of qubits, and classical bit numbers must match. The number of parameters must match. Each parameter is compared. If one is a ParameterExpression then it is not taken into account. **Parameters** @@ -437,7 +437,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### synth - + Synthesis the logic network into a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). **Parameters** @@ -458,7 +458,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### to\_matrix - + Return a Numpy.array for the gate unitary matrix. **Returns** @@ -476,7 +476,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### to\_mutable - + Return a mutable copy of this gate. This method will return a new mutable copy of this gate instance. If a singleton instance is being used this will be a new unique instance that can be mutated. If the instance is already mutable it will be a deepcopy of that instance. @@ -484,7 +484,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### validate\_parameter - + Gate parameters should be int, float, or ParameterExpression diff --git a/docs/api/qiskit/qiskit.circuit.classicalfunction.ClassicalFunctionCompilerTypeError.mdx b/docs/api/qiskit/qiskit.circuit.classicalfunction.ClassicalFunctionCompilerTypeError.mdx index 966929a9376..7d3862f0605 100644 --- a/docs/api/qiskit/qiskit.circuit.classicalfunction.ClassicalFunctionCompilerTypeError.mdx +++ b/docs/api/qiskit/qiskit.circuit.classicalfunction.ClassicalFunctionCompilerTypeError.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunctionCompilerTypeE # qiskit.circuit.classicalfunction.ClassicalFunctionCompilerTypeError - + ClassicalFunction compiler type error. The classicalfunction function fails at type checking time. Set the error message. diff --git a/docs/api/qiskit/qiskit.circuit.classicalfunction.ClassicalFunctionParseError.mdx b/docs/api/qiskit/qiskit.circuit.classicalfunction.ClassicalFunctionParseError.mdx index a8dbfe58ef3..b43f90153d7 100644 --- a/docs/api/qiskit/qiskit.circuit.classicalfunction.ClassicalFunctionParseError.mdx +++ b/docs/api/qiskit/qiskit.circuit.classicalfunction.ClassicalFunctionParseError.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunctionParseError # qiskit.circuit.classicalfunction.ClassicalFunctionParseError - + ClassicalFunction compiler parse error. The classicalfunction function fails at parsing time. Set the error message. diff --git a/docs/api/qiskit/qiskit.circuit.library.AND.mdx b/docs/api/qiskit/qiskit.circuit.library.AND.mdx index c637b703b87..e6e8d59ec41 100644 --- a/docs/api/qiskit/qiskit.circuit.library.AND.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.AND.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.AND # AND - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") A circuit implementing the logical AND operation on a number of qubits. diff --git a/docs/api/qiskit/qiskit.circuit.library.Barrier.mdx b/docs/api/qiskit/qiskit.circuit.library.Barrier.mdx index 3d0d98e0761..d2e2fdd025c 100644 --- a/docs/api/qiskit/qiskit.circuit.library.Barrier.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.Barrier.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.Barrier # Barrier - + Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction") Barrier instruction. @@ -127,19 +127,19 @@ python_api_name: qiskit.circuit.library.Barrier ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction ### broadcast\_arguments - + Validation of the arguments. **Parameters** @@ -158,7 +158,7 @@ python_api_name: qiskit.circuit.library.Barrier ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. @@ -168,7 +168,7 @@ python_api_name: qiskit.circuit.library.Barrier ### copy - + Copy of the instruction. **Parameters** @@ -186,19 +186,19 @@ python_api_name: qiskit.circuit.library.Barrier ### inverse - + Special case. Return self. ### is\_parameterized - + Return True .IFF. instruction is parameterized else False ### repeat - + Creates an instruction with gate repeated n amount of times. **Parameters** @@ -220,7 +220,7 @@ python_api_name: qiskit.circuit.library.Barrier ### reverse\_ops - + For a composite instruction, reverse the order of sub-instructions. This is done by recursively reversing all sub-instructions. It does not invert any gate. @@ -238,7 +238,7 @@ python_api_name: qiskit.circuit.library.Barrier ### soft\_compare - + Soft comparison between gates. Their names, number of qubits, and classical bit numbers must match. The number of parameters must match. Each parameter is compared. If one is a ParameterExpression then it is not taken into account. **Parameters** @@ -256,7 +256,7 @@ python_api_name: qiskit.circuit.library.Barrier ### to\_mutable - + Return a mutable copy of this gate. This method will return a new mutable copy of this gate instance. If a singleton instance is being used this will be a new unique instance that can be mutated. If the instance is already mutable it will be a deepcopy of that instance. @@ -264,7 +264,7 @@ python_api_name: qiskit.circuit.library.Barrier ### validate\_parameter - + Instruction parameters has no validation or normalization. diff --git a/docs/api/qiskit/qiskit.circuit.library.C3SXGate.mdx b/docs/api/qiskit/qiskit.circuit.library.C3SXGate.mdx index b83e626de20..bc78aeb5fd2 100644 --- a/docs/api/qiskit/qiskit.circuit.library.C3SXGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.C3SXGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.C3SXGate # C3SXGate - + Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") The 3-qubit controlled sqrt-X gate. diff --git a/docs/api/qiskit/qiskit.circuit.library.C3XGate.mdx b/docs/api/qiskit/qiskit.circuit.library.C3XGate.mdx index f9847a9eacc..7f9fcb5a54c 100644 --- a/docs/api/qiskit/qiskit.circuit.library.C3XGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.C3XGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.C3XGate # C3XGate - + Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") The X gate controlled on 3 qubits. @@ -154,7 +154,7 @@ python_api_name: qiskit.circuit.library.C3XGate ### control - + Controlled version of this gate. **Parameters** @@ -175,7 +175,7 @@ python_api_name: qiskit.circuit.library.C3XGate ### inverse - + Invert this gate. The C3X is its own inverse. **Parameters** diff --git a/docs/api/qiskit/qiskit.circuit.library.C4XGate.mdx b/docs/api/qiskit/qiskit.circuit.library.C4XGate.mdx index 55ec8214696..a93c7da4282 100644 --- a/docs/api/qiskit/qiskit.circuit.library.C4XGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.C4XGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.C4XGate # C4XGate - + Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") The 4-qubit controlled X gate. @@ -158,7 +158,7 @@ python_api_name: qiskit.circuit.library.C4XGate ### control - + Controlled version of this gate. **Parameters** @@ -179,7 +179,7 @@ python_api_name: qiskit.circuit.library.C4XGate ### inverse - + Invert this gate. The C4X is its own inverse. **Parameters** diff --git a/docs/api/qiskit/qiskit.circuit.library.CCXGate.mdx b/docs/api/qiskit/qiskit.circuit.library.CCXGate.mdx index 8f85e33be0a..6807ffafb40 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CCXGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.CCXGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CCXGate # CCXGate - + Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") CCX gate, also known as Toffoli gate. @@ -210,7 +210,7 @@ $$ ### control - + Controlled version of this gate. **Parameters** @@ -231,7 +231,7 @@ $$ ### inverse - + Return an inverted CCX gate (also a CCX). **Parameters** diff --git a/docs/api/qiskit/qiskit.circuit.library.CCZGate.mdx b/docs/api/qiskit/qiskit.circuit.library.CCZGate.mdx index 7a54a61c0ab..cf31d1f00bb 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CCZGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.CCZGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CCZGate # CCZGate - + Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") CCZ gate. @@ -185,7 +185,7 @@ $$ ### inverse - + Return inverted CCZ gate (itself). **Parameters** diff --git a/docs/api/qiskit/qiskit.circuit.library.CDKMRippleCarryAdder.mdx b/docs/api/qiskit/qiskit.circuit.library.CDKMRippleCarryAdder.mdx index a86340d6423..7bd9a0e5d61 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CDKMRippleCarryAdder.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.CDKMRippleCarryAdder.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CDKMRippleCarryAdder # CDKMRippleCarryAdder - + Bases: `Adder` A ripple-carry circuit to perform in-place addition on two qubit registers. diff --git a/docs/api/qiskit/qiskit.circuit.library.CHGate.mdx b/docs/api/qiskit/qiskit.circuit.library.CHGate.mdx index a806379df74..1e19ee416d5 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CHGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.CHGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CHGate # CHGate - + Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") Controlled-Hadamard gate. @@ -200,7 +200,7 @@ $$ ### inverse - + Return inverted CH gate (itself). diff --git a/docs/api/qiskit/qiskit.circuit.library.CPhaseGate.mdx b/docs/api/qiskit/qiskit.circuit.library.CPhaseGate.mdx index 0bc08faba09..3b96c4a53e6 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CPhaseGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.CPhaseGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CPhaseGate # CPhaseGate - + Bases: [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.controlledgate.ControlledGate") Controlled-Phase gate. @@ -181,7 +181,7 @@ $$ ### control - + Controlled version of this gate. **Parameters** @@ -202,13 +202,13 @@ $$ ### inverse - + Return inverted CPhase gate ($CPhase(\lambda)^{\dagger} = CPhase(-\lambda)$) ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/qiskit.circuit.library.CRXGate.mdx b/docs/api/qiskit/qiskit.circuit.library.CRXGate.mdx index 954e03d29cc..5a22f107dac 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CRXGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.CRXGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CRXGate # CRXGate - + Bases: [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.controlledgate.ControlledGate") Controlled-RX gate. @@ -202,7 +202,7 @@ $$ ### inverse - + Return inverse CRX gate (i.e. with the negative rotation angle). **Parameters** diff --git a/docs/api/qiskit/qiskit.circuit.library.CRYGate.mdx b/docs/api/qiskit/qiskit.circuit.library.CRYGate.mdx index 7f724390450..5a9c309c8cd 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CRYGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.CRYGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CRYGate # CRYGate - + Bases: [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.controlledgate.ControlledGate") Controlled-RY gate. @@ -202,7 +202,7 @@ $$ ### inverse - + Return inverse CRY gate (i.e. with the negative rotation angle) **Parameters** diff --git a/docs/api/qiskit/qiskit.circuit.library.CRZGate.mdx b/docs/api/qiskit/qiskit.circuit.library.CRZGate.mdx index 35ffc662f81..e1ca954f8a1 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CRZGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.CRZGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CRZGate # CRZGate - + Bases: [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.controlledgate.ControlledGate") Controlled-RZ gate. @@ -204,7 +204,7 @@ $$ ### inverse - + Return inverse CRZ gate (i.e. with the negative rotation angle). **Parameters** diff --git a/docs/api/qiskit/qiskit.circuit.library.CSGate.mdx b/docs/api/qiskit/qiskit.circuit.library.CSGate.mdx index 3db1493ced3..847d7389939 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CSGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.CSGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CSGate # CSGate - + Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") Controlled-S gate. @@ -176,7 +176,7 @@ $$ ### inverse - + Return inverse of CSGate (CSdgGate). **Parameters** @@ -194,7 +194,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/qiskit.circuit.library.CSXGate.mdx b/docs/api/qiskit/qiskit.circuit.library.CSXGate.mdx index 6e852eb79de..270edf09de5 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CSXGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.CSXGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CSXGate # CSXGate - + Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") Controlled-√X gate. diff --git a/docs/api/qiskit/qiskit.circuit.library.CSdgGate.mdx b/docs/api/qiskit/qiskit.circuit.library.CSdgGate.mdx index 083df0952f8..12023dbd97a 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CSdgGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.CSdgGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CSdgGate # CSdgGate - + Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") Controlled-S^dagger gate. @@ -176,7 +176,7 @@ $$ ### inverse - + Return inverse of CSdgGate (CSGate). **Parameters** @@ -194,7 +194,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/qiskit.circuit.library.CSwapGate.mdx b/docs/api/qiskit/qiskit.circuit.library.CSwapGate.mdx index bc6daff61bd..14af455bdd4 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CSwapGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.CSwapGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CSwapGate # CSwapGate - + Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") Controlled-SWAP gate, also known as the Fredkin gate. @@ -219,7 +219,7 @@ $$ ### inverse - + Return inverse CSwap gate (itself). **Parameters** diff --git a/docs/api/qiskit/qiskit.circuit.library.CU1Gate.mdx b/docs/api/qiskit/qiskit.circuit.library.CU1Gate.mdx index f816a239437..96e9840734b 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CU1Gate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.CU1Gate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CU1Gate # CU1Gate - + Bases: [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.controlledgate.ControlledGate") Controlled-U1 gate. @@ -179,7 +179,7 @@ $$ ### control - + Controlled version of this gate. **Parameters** @@ -200,7 +200,7 @@ $$ ### inverse - + Return inverted CU1 gate ($CU1(\lambda)^{\dagger} = CU1(-\lambda))$ **Parameters** diff --git a/docs/api/qiskit/qiskit.circuit.library.CU3Gate.mdx b/docs/api/qiskit/qiskit.circuit.library.CU3Gate.mdx index f1c7a3ba706..9a997c3af93 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CU3Gate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.CU3Gate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CU3Gate # CU3Gate - + Bases: [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.controlledgate.ControlledGate") Controlled-U3 gate (3-parameter two-qubit gate). @@ -204,7 +204,7 @@ $$ ### inverse - + Return inverted CU3 gate. $CU3(\theta,\phi,\lambda)^{\dagger} =CU3(-\theta,-\phi,-\lambda))$ diff --git a/docs/api/qiskit/qiskit.circuit.library.CUGate.mdx b/docs/api/qiskit/qiskit.circuit.library.CUGate.mdx index 9b191c407c2..11ec5dc6116 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CUGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.CUGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CUGate # CUGate - + Bases: [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.controlledgate.ControlledGate") Controlled-U gate (4-parameter two-qubit gate). @@ -194,7 +194,7 @@ $$ ### inverse - + Return inverted CU gate. $CU(\theta,\phi,\lambda,\gamma)^{\dagger} = CU(-\theta,-\phi,-\lambda,-\gamma))$ diff --git a/docs/api/qiskit/qiskit.circuit.library.CXGate.mdx b/docs/api/qiskit/qiskit.circuit.library.CXGate.mdx index ffb84c158bb..01d034634e2 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CXGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.CXGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CXGate # CXGate - + Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") Controlled-X gate. @@ -206,7 +206,7 @@ $$ ### control - + Return a controlled-X gate with more control lines. **Parameters** @@ -227,7 +227,7 @@ $$ ### inverse - + Return inverted CX gate (itself). **Parameters** diff --git a/docs/api/qiskit/qiskit.circuit.library.CYGate.mdx b/docs/api/qiskit/qiskit.circuit.library.CYGate.mdx index d09fc7b5dcb..279554b29b9 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CYGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.CYGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CYGate # CYGate - + Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") Controlled-Y gate. @@ -198,7 +198,7 @@ $$ ### inverse - + Return inverted CY gate (itself). **Parameters** diff --git a/docs/api/qiskit/qiskit.circuit.library.CZGate.mdx b/docs/api/qiskit/qiskit.circuit.library.CZGate.mdx index 0ecd4aacf31..cda46d3ba75 100644 --- a/docs/api/qiskit/qiskit.circuit.library.CZGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.CZGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CZGate # CZGate - + Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") Controlled-Z gate. @@ -179,7 +179,7 @@ $$ ### inverse - + Return inverted CZ gate (itself). **Parameters** diff --git a/docs/api/qiskit/qiskit.circuit.library.DCXGate.mdx b/docs/api/qiskit/qiskit.circuit.library.DCXGate.mdx index abf11f39aad..d5030de38cd 100644 --- a/docs/api/qiskit/qiskit.circuit.library.DCXGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.DCXGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.DCXGate # DCXGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") Double-CNOT gate. diff --git a/docs/api/qiskit/qiskit.circuit.library.Diagonal.mdx b/docs/api/qiskit/qiskit.circuit.library.Diagonal.mdx index 207470514dc..3accba93499 100644 --- a/docs/api/qiskit/qiskit.circuit.library.Diagonal.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.Diagonal.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.Diagonal # Diagonal - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") Diagonal circuit. diff --git a/docs/api/qiskit/qiskit.circuit.library.DiagonalGate.mdx b/docs/api/qiskit/qiskit.circuit.library.DiagonalGate.mdx index bd3628454d3..07ea1d0d697 100644 --- a/docs/api/qiskit/qiskit.circuit.library.DiagonalGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.DiagonalGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.DiagonalGate # DiagonalGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Gate implementing a diagonal transformation. @@ -118,13 +118,13 @@ python_api_name: qiskit.circuit.library.DiagonalGate ### inverse - + Return the inverse of the diagonal gate. ### validate\_parameter - + Diagonal Gate parameter should accept complex (in addition to the Gate parameter types) and always return build-in complex. diff --git a/docs/api/qiskit/qiskit.circuit.library.DraperQFTAdder.mdx b/docs/api/qiskit/qiskit.circuit.library.DraperQFTAdder.mdx index 9c93ec9fa34..8ecdd496d0c 100644 --- a/docs/api/qiskit/qiskit.circuit.library.DraperQFTAdder.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.DraperQFTAdder.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.DraperQFTAdder # DraperQFTAdder - + Bases: `Adder` A circuit that uses QFT to perform in-place addition on two qubit registers. diff --git a/docs/api/qiskit/qiskit.circuit.library.ECRGate.mdx b/docs/api/qiskit/qiskit.circuit.library.ECRGate.mdx index 3074245b13e..f5783b0cb62 100644 --- a/docs/api/qiskit/qiskit.circuit.library.ECRGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.ECRGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.ECRGate # ECRGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") An echoed cross-resonance gate. @@ -164,7 +164,7 @@ $$ ### inverse - + Return inverse ECR gate (itself). **Parameters** diff --git a/docs/api/qiskit/qiskit.circuit.library.EfficientSU2.mdx b/docs/api/qiskit/qiskit.circuit.library.EfficientSU2.mdx index 4c128c1cf75..e16b656c7d4 100644 --- a/docs/api/qiskit/qiskit.circuit.library.EfficientSU2.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.EfficientSU2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.EfficientSU2 # EfficientSU2 - + Bases: [`TwoLocal`](qiskit.circuit.library.TwoLocal "qiskit.circuit.library.n_local.two_local.TwoLocal") The hardware efficient SU(2) 2-local circuit. diff --git a/docs/api/qiskit/qiskit.circuit.library.EvolvedOperatorAnsatz.mdx b/docs/api/qiskit/qiskit.circuit.library.EvolvedOperatorAnsatz.mdx index 3ce9a3e368c..3a69b1324ef 100644 --- a/docs/api/qiskit/qiskit.circuit.library.EvolvedOperatorAnsatz.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.EvolvedOperatorAnsatz.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.EvolvedOperatorAnsatz # EvolvedOperatorAnsatz - + Bases: [`NLocal`](qiskit.circuit.library.NLocal "qiskit.circuit.library.n_local.n_local.NLocal") The evolved operator ansatz. diff --git a/docs/api/qiskit/qiskit.circuit.library.ExactReciprocal.mdx b/docs/api/qiskit/qiskit.circuit.library.ExactReciprocal.mdx index 06209093ce4..464476a67c1 100644 --- a/docs/api/qiskit/qiskit.circuit.library.ExactReciprocal.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.ExactReciprocal.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.ExactReciprocal # ExactReciprocal - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") Exact reciprocal diff --git a/docs/api/qiskit/qiskit.circuit.library.ExcitationPreserving.mdx b/docs/api/qiskit/qiskit.circuit.library.ExcitationPreserving.mdx index 9fc7ce5a38a..05fde4b2463 100644 --- a/docs/api/qiskit/qiskit.circuit.library.ExcitationPreserving.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.ExcitationPreserving.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.ExcitationPreserving # ExcitationPreserving - + Bases: [`TwoLocal`](qiskit.circuit.library.TwoLocal "qiskit.circuit.library.n_local.two_local.TwoLocal") The heuristic excitation-preserving wave function ansatz. diff --git a/docs/api/qiskit/qiskit.circuit.library.FourierChecking.mdx b/docs/api/qiskit/qiskit.circuit.library.FourierChecking.mdx index 30cf0b49e42..6db8a49287d 100644 --- a/docs/api/qiskit/qiskit.circuit.library.FourierChecking.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.FourierChecking.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.FourierChecking # FourierChecking - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") Fourier checking circuit. diff --git a/docs/api/qiskit/qiskit.circuit.library.FunctionalPauliRotations.mdx b/docs/api/qiskit/qiskit.circuit.library.FunctionalPauliRotations.mdx index f02d83229b5..d2e6fbad6c0 100644 --- a/docs/api/qiskit/qiskit.circuit.library.FunctionalPauliRotations.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.FunctionalPauliRotations.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.FunctionalPauliRotations # FunctionalPauliRotations - + Bases: `BlueprintCircuit`, [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") Base class for functional Pauli rotations. diff --git a/docs/api/qiskit/qiskit.circuit.library.GMS.mdx b/docs/api/qiskit/qiskit.circuit.library.GMS.mdx index b089e2eee39..7c312e314a5 100644 --- a/docs/api/qiskit/qiskit.circuit.library.GMS.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.GMS.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.GMS # GMS - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") Global Mølmer–Sørensen gate. diff --git a/docs/api/qiskit/qiskit.circuit.library.GR.mdx b/docs/api/qiskit/qiskit.circuit.library.GR.mdx index edb1b4c2eed..644eb0b54ea 100644 --- a/docs/api/qiskit/qiskit.circuit.library.GR.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.GR.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.GR # GR - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") Global R gate. diff --git a/docs/api/qiskit/qiskit.circuit.library.GRX.mdx b/docs/api/qiskit/qiskit.circuit.library.GRX.mdx index f5cfaeedb11..e03b650d57e 100644 --- a/docs/api/qiskit/qiskit.circuit.library.GRX.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.GRX.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.GRX # GRX - + Bases: [`GR`](qiskit.circuit.library.GR "qiskit.circuit.library.generalized_gates.gr.GR") Global RX gate. diff --git a/docs/api/qiskit/qiskit.circuit.library.GRY.mdx b/docs/api/qiskit/qiskit.circuit.library.GRY.mdx index 718a57edc67..2b23bae6077 100644 --- a/docs/api/qiskit/qiskit.circuit.library.GRY.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.GRY.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.GRY # GRY - + Bases: [`GR`](qiskit.circuit.library.GR "qiskit.circuit.library.generalized_gates.gr.GR") Global RY gate. diff --git a/docs/api/qiskit/qiskit.circuit.library.GRZ.mdx b/docs/api/qiskit/qiskit.circuit.library.GRZ.mdx index 2e5e4dfd0ff..8ca5bd03377 100644 --- a/docs/api/qiskit/qiskit.circuit.library.GRZ.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.GRZ.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.GRZ # GRZ - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") Global RZ gate. diff --git a/docs/api/qiskit/qiskit.circuit.library.GlobalPhaseGate.mdx b/docs/api/qiskit/qiskit.circuit.library.GlobalPhaseGate.mdx index 07201f0e52e..4b050503d94 100644 --- a/docs/api/qiskit/qiskit.circuit.library.GlobalPhaseGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.GlobalPhaseGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.GlobalPhaseGate # GlobalPhaseGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") The global phase gate ($e^{i\theta}$). @@ -132,7 +132,7 @@ $$ ### inverse - + Return inverse GlobalPhaseGate gate. $\text{GlobalPhaseGate}(\lambda)^{\dagger} = \text{GlobalPhaseGate}(-\lambda)$ diff --git a/docs/api/qiskit/qiskit.circuit.library.GraphState.mdx b/docs/api/qiskit/qiskit.circuit.library.GraphState.mdx index 3c559a5cfd7..c489ce299a8 100644 --- a/docs/api/qiskit/qiskit.circuit.library.GraphState.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.GraphState.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.GraphState # GraphState - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") Circuit to prepare a graph state. diff --git a/docs/api/qiskit/qiskit.circuit.library.GroverOperator.mdx b/docs/api/qiskit/qiskit.circuit.library.GroverOperator.mdx index ab5fa32d5a8..d915d09fea9 100644 --- a/docs/api/qiskit/qiskit.circuit.library.GroverOperator.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.GroverOperator.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.GroverOperator # GroverOperator - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") The Grover operator. diff --git a/docs/api/qiskit/qiskit.circuit.library.HGate.mdx b/docs/api/qiskit/qiskit.circuit.library.HGate.mdx index 2f9b1df6479..a8b1d2a7183 100644 --- a/docs/api/qiskit/qiskit.circuit.library.HGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.HGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.HGate # HGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") Single-qubit Hadamard gate. @@ -138,7 +138,7 @@ $$ ### control - + Return a (multi-)controlled-H gate. One control qubit returns a CH gate. @@ -161,7 +161,7 @@ $$ ### inverse - + Return inverted H gate (itself). **Parameters** diff --git a/docs/api/qiskit/qiskit.circuit.library.HRSCumulativeMultiplier.mdx b/docs/api/qiskit/qiskit.circuit.library.HRSCumulativeMultiplier.mdx index 7edb3767293..d8c59d200d2 100644 --- a/docs/api/qiskit/qiskit.circuit.library.HRSCumulativeMultiplier.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.HRSCumulativeMultiplier.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.HRSCumulativeMultiplier # HRSCumulativeMultiplier - + Bases: `Multiplier` A multiplication circuit to store product of two input registers out-of-place. diff --git a/docs/api/qiskit/qiskit.circuit.library.HamiltonianGate.mdx b/docs/api/qiskit/qiskit.circuit.library.HamiltonianGate.mdx index 66bb86187a9..78aa5040058 100644 --- a/docs/api/qiskit/qiskit.circuit.library.HamiltonianGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.HamiltonianGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.HamiltonianGate # HamiltonianGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Class for representing evolution by a Hamiltonian operator as a gate. @@ -126,31 +126,31 @@ python_api_name: qiskit.circuit.library.HamiltonianGate ### adjoint - + Return the adjoint of the unitary. ### conjugate - + Return the conjugate of the Hamiltonian. ### inverse - + Return the adjoint of the unitary. ### transpose - + Return the transpose of the Hamiltonian. ### validate\_parameter - + Hamiltonian parameter has to be an ndarray, operator or float. diff --git a/docs/api/qiskit/qiskit.circuit.library.HiddenLinearFunction.mdx b/docs/api/qiskit/qiskit.circuit.library.HiddenLinearFunction.mdx index 29932ac630f..6a1d97ac5e1 100644 --- a/docs/api/qiskit/qiskit.circuit.library.HiddenLinearFunction.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.HiddenLinearFunction.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.HiddenLinearFunction # HiddenLinearFunction - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") Circuit to solve the hidden linear function problem. diff --git a/docs/api/qiskit/qiskit.circuit.library.IGate.mdx b/docs/api/qiskit/qiskit.circuit.library.IGate.mdx index 5173d1a376d..9a7241eed76 100644 --- a/docs/api/qiskit/qiskit.circuit.library.IGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.IGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.IGate # IGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") Identity gate. @@ -137,7 +137,7 @@ $$ ### inverse - + Returne the inverse gate (itself). **Parameters** @@ -157,7 +157,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/qiskit.circuit.library.IQP.mdx b/docs/api/qiskit/qiskit.circuit.library.IQP.mdx index 4090e2205c4..dc0908b2e90 100644 --- a/docs/api/qiskit/qiskit.circuit.library.IQP.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.IQP.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.IQP # IQP - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") Instantaneous quantum polynomial (IQP) circuit. diff --git a/docs/api/qiskit/qiskit.circuit.library.Initialize.mdx b/docs/api/qiskit/qiskit.circuit.library.Initialize.mdx index 657900b0595..b540242f333 100644 --- a/docs/api/qiskit/qiskit.circuit.library.Initialize.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.Initialize.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.Initialize # Initialize - + Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction") Complex amplitude initialization. @@ -130,7 +130,7 @@ python_api_name: qiskit.circuit.library.Initialize ### broadcast\_arguments - + Validation of the arguments. **Parameters** @@ -149,7 +149,7 @@ python_api_name: qiskit.circuit.library.Initialize ### gates\_to\_uncompute - + Call to create a circuit with gates that take the desired vector to zero. **Returns** diff --git a/docs/api/qiskit/qiskit.circuit.library.InnerProduct.mdx b/docs/api/qiskit/qiskit.circuit.library.InnerProduct.mdx index 53bc07d1a60..b8bde7391a7 100644 --- a/docs/api/qiskit/qiskit.circuit.library.InnerProduct.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.InnerProduct.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.InnerProduct # InnerProduct - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") A 2n-qubit Boolean function that computes the inner product of two n-qubit vectors over $F_2$. diff --git a/docs/api/qiskit/qiskit.circuit.library.IntegerComparator.mdx b/docs/api/qiskit/qiskit.circuit.library.IntegerComparator.mdx index 4daa17e0a14..985dabe39cb 100644 --- a/docs/api/qiskit/qiskit.circuit.library.IntegerComparator.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.IntegerComparator.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.IntegerComparator # IntegerComparator - + Bases: `BlueprintCircuit` Integer Comparator. diff --git a/docs/api/qiskit/qiskit.circuit.library.Isometry.mdx b/docs/api/qiskit/qiskit.circuit.library.Isometry.mdx index 0b60372833a..a95f27b54cf 100644 --- a/docs/api/qiskit/qiskit.circuit.library.Isometry.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.Isometry.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.Isometry # Isometry - + Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction") Decomposition of arbitrary isometries from $m$ to $n$ qubits. @@ -131,13 +131,13 @@ python_api_name: qiskit.circuit.library.Isometry ### inv\_gate - + Return the adjoint of the unitary. ### inverse - + Invert this instruction. If annotated is False, the inverse instruction is implemented as a fresh instruction with the recursively inverted definition. @@ -161,7 +161,7 @@ python_api_name: qiskit.circuit.library.Isometry ### validate\_parameter - + Isometry parameter has to be an ndarray. diff --git a/docs/api/qiskit/qiskit.circuit.library.LinearAmplitudeFunction.mdx b/docs/api/qiskit/qiskit.circuit.library.LinearAmplitudeFunction.mdx index e020440b81f..1616a403d19 100644 --- a/docs/api/qiskit/qiskit.circuit.library.LinearAmplitudeFunction.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.LinearAmplitudeFunction.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.LinearAmplitudeFunction # LinearAmplitudeFunction - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") A circuit implementing a (piecewise) linear function on qubit amplitudes. @@ -241,7 +241,7 @@ $$ ### post\_processing - + Map the function value of the approximated $\hat{f}$ to $f$. **Parameters** diff --git a/docs/api/qiskit/qiskit.circuit.library.LinearFunction.mdx b/docs/api/qiskit/qiskit.circuit.library.LinearFunction.mdx index 032fc45f672..18126aff3dd 100644 --- a/docs/api/qiskit/qiskit.circuit.library.LinearFunction.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.LinearFunction.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.LinearFunction # LinearFunction - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") A linear reversible circuit on n qubits. @@ -167,7 +167,7 @@ $$ ### extend\_with\_identity - + Extend linear function to a linear function over nq qubits, with identities on other subsystems. **Parameters** @@ -186,13 +186,13 @@ $$ ### function\_str - + Return string representation of the linear function viewed as a linear transformation. ### is\_permutation - + Returns whether this linear function is a permutation, that is whether every row and every column of the n x n matrix has exactly one 1. **Return type** @@ -202,19 +202,19 @@ $$ ### mat\_str - + Return string representation of the linear function viewed as a matrix with 0/1 entries. ### permutation\_pattern - + This method first checks if a linear function is a permutation and raises a qiskit.circuit.exceptions.CircuitError if not. In the case that this linear function is a permutation, returns the permutation pattern. ### synthesize - + Synthesizes the linear function into a quantum circuit. **Returns** @@ -228,7 +228,7 @@ $$ ### validate\_parameter - + Parameter validation diff --git a/docs/api/qiskit/qiskit.circuit.library.LinearPauliRotations.mdx b/docs/api/qiskit/qiskit.circuit.library.LinearPauliRotations.mdx index 4f3f32077b2..b3dd3c53776 100644 --- a/docs/api/qiskit/qiskit.circuit.library.LinearPauliRotations.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.LinearPauliRotations.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.LinearPauliRotations # LinearPauliRotations - + Bases: [`FunctionalPauliRotations`](qiskit.circuit.library.FunctionalPauliRotations "qiskit.circuit.library.arithmetic.functional_pauli_rotations.FunctionalPauliRotations") Linearly-controlled X, Y or Z rotation. diff --git a/docs/api/qiskit/qiskit.circuit.library.MCMT.mdx b/docs/api/qiskit/qiskit.circuit.library.MCMT.mdx index 7e8d1e6e3cd..c4e4ba3c6b7 100644 --- a/docs/api/qiskit/qiskit.circuit.library.MCMT.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.MCMT.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.MCMT # MCMT - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") The multi-controlled multi-target gate, for an arbitrary singly controlled target gate. @@ -225,13 +225,13 @@ python_api_name: qiskit.circuit.library.MCMT ### control - + Return the controlled version of the MCMT circuit. ### inverse - + Return the inverse MCMT circuit, which is itself. diff --git a/docs/api/qiskit/qiskit.circuit.library.MCMTVChain.mdx b/docs/api/qiskit/qiskit.circuit.library.MCMTVChain.mdx index 6629d973914..de910829223 100644 --- a/docs/api/qiskit/qiskit.circuit.library.MCMTVChain.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.MCMTVChain.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.MCMTVChain # MCMTVChain - + Bases: [`MCMT`](qiskit.circuit.library.MCMT "qiskit.circuit.library.generalized_gates.mcmt.MCMT") The MCMT implementation using the CCX V-chain. @@ -249,7 +249,7 @@ python_api_name: qiskit.circuit.library.MCMTVChain ### inverse - + Return the inverse MCMT circuit, which is itself. diff --git a/docs/api/qiskit/qiskit.circuit.library.MCPhaseGate.mdx b/docs/api/qiskit/qiskit.circuit.library.MCPhaseGate.mdx index 2911d380d3f..7280069d2ce 100644 --- a/docs/api/qiskit/qiskit.circuit.library.MCPhaseGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.MCPhaseGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.MCPhaseGate # MCPhaseGate - + Bases: [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.controlledgate.ControlledGate") Multi-controlled-Phase gate. @@ -173,7 +173,7 @@ python_api_name: qiskit.circuit.library.MCPhaseGate ### control - + Controlled version of this gate. **Parameters** @@ -194,7 +194,7 @@ python_api_name: qiskit.circuit.library.MCPhaseGate ### inverse - + Return inverted MCU1 gate ($MCU1(\lambda)^{\dagger} = MCU1(-\lambda)$) diff --git a/docs/api/qiskit/qiskit.circuit.library.MCXGate.mdx b/docs/api/qiskit/qiskit.circuit.library.MCXGate.mdx index dca4200f1f2..8efe0c9df5b 100644 --- a/docs/api/qiskit/qiskit.circuit.library.MCXGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.MCXGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.MCXGate # MCXGate - + Bases: [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.controlledgate.ControlledGate") The general, multi-controlled X gate. @@ -160,7 +160,7 @@ python_api_name: qiskit.circuit.library.MCXGate ### control - + Return a multi-controlled-X gate with more control lines. **Parameters** @@ -181,7 +181,7 @@ python_api_name: qiskit.circuit.library.MCXGate ### get\_num\_ancilla\_qubits - + Get the number of required ancilla qubits without instantiating the class. This staticmethod might be necessary to check the number of ancillas before creating the gate, or to use the number of ancillas in the initialization. @@ -193,7 +193,7 @@ python_api_name: qiskit.circuit.library.MCXGate ### inverse - + Invert this gate. The MCX is its own inverse. **Parameters** diff --git a/docs/api/qiskit/qiskit.circuit.library.MCXGrayCode.mdx b/docs/api/qiskit/qiskit.circuit.library.MCXGrayCode.mdx index 7d0ff824174..7b5bacca406 100644 --- a/docs/api/qiskit/qiskit.circuit.library.MCXGrayCode.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.MCXGrayCode.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.MCXGrayCode # MCXGrayCode - + Bases: [`MCXGate`](qiskit.circuit.library.MCXGate "qiskit.circuit.library.standard_gates.x.MCXGate") Implement the multi-controlled X gate using the Gray code. @@ -160,7 +160,7 @@ python_api_name: qiskit.circuit.library.MCXGrayCode ### inverse - + Invert this gate. The MCX is its own inverse. **Parameters** diff --git a/docs/api/qiskit/qiskit.circuit.library.MCXRecursive.mdx b/docs/api/qiskit/qiskit.circuit.library.MCXRecursive.mdx index 3d5da9fac09..fa3155307e1 100644 --- a/docs/api/qiskit/qiskit.circuit.library.MCXRecursive.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.MCXRecursive.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.MCXRecursive # MCXRecursive - + Bases: [`MCXGate`](qiskit.circuit.library.MCXGate "qiskit.circuit.library.standard_gates.x.MCXGate") Implement the multi-controlled X gate using recursion. @@ -160,13 +160,13 @@ python_api_name: qiskit.circuit.library.MCXRecursive ### get\_num\_ancilla\_qubits - + Get the number of required ancilla qubits. ### inverse - + Invert this gate. The MCX is its own inverse. **Parameters** diff --git a/docs/api/qiskit/qiskit.circuit.library.MCXVChain.mdx b/docs/api/qiskit/qiskit.circuit.library.MCXVChain.mdx index fb85f0c69dd..8d630ea2122 100644 --- a/docs/api/qiskit/qiskit.circuit.library.MCXVChain.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.MCXVChain.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.MCXVChain # MCXVChain - + Bases: [`MCXGate`](qiskit.circuit.library.MCXGate "qiskit.circuit.library.standard_gates.x.MCXGate") Implement the multi-controlled X gate using a V-chain of CX gates. @@ -158,13 +158,13 @@ python_api_name: qiskit.circuit.library.MCXVChain ### get\_num\_ancilla\_qubits - + Get the number of required ancilla qubits. ### inverse - + Invert this gate. The MCX is its own inverse. **Parameters** diff --git a/docs/api/qiskit/qiskit.circuit.library.MSGate.mdx b/docs/api/qiskit/qiskit.circuit.library.MSGate.mdx index 01a5e716f7c..e9582474f6d 100644 --- a/docs/api/qiskit/qiskit.circuit.library.MSGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.MSGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.MSGate # MSGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") MSGate has been deprecated. Please use `GMS` in `qiskit.circuit.generalized_gates` instead. diff --git a/docs/api/qiskit/qiskit.circuit.library.Measure.mdx b/docs/api/qiskit/qiskit.circuit.library.Measure.mdx index 65f13b6976f..8301ff95c03 100644 --- a/docs/api/qiskit/qiskit.circuit.library.Measure.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.Measure.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.Measure # Measure - + Bases: [`SingletonInstruction`](circuit_singleton#qiskit.circuit.singleton.SingletonInstruction "qiskit.circuit.singleton.SingletonInstruction") Quantum measurement in the computational basis. @@ -116,19 +116,19 @@ python_api_name: qiskit.circuit.library.Measure ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction ### broadcast\_arguments - + Validation of the arguments. **Parameters** @@ -147,7 +147,7 @@ python_api_name: qiskit.circuit.library.Measure ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. @@ -157,7 +157,7 @@ python_api_name: qiskit.circuit.library.Measure ### copy - + Copy of the instruction. **Parameters** @@ -175,7 +175,7 @@ python_api_name: qiskit.circuit.library.Measure ### inverse - + Invert this instruction. If annotated is False, the inverse instruction is implemented as a fresh instruction with the recursively inverted definition. @@ -199,13 +199,13 @@ python_api_name: qiskit.circuit.library.Measure ### is\_parameterized - + Return True .IFF. instruction is parameterized else False ### repeat - + Creates an instruction with gate repeated n amount of times. **Parameters** @@ -227,7 +227,7 @@ python_api_name: qiskit.circuit.library.Measure ### reverse\_ops - + For a composite instruction, reverse the order of sub-instructions. This is done by recursively reversing all sub-instructions. It does not invert any gate. @@ -245,7 +245,7 @@ python_api_name: qiskit.circuit.library.Measure ### soft\_compare - + Soft comparison between gates. Their names, number of qubits, and classical bit numbers must match. The number of parameters must match. Each parameter is compared. If one is a ParameterExpression then it is not taken into account. **Parameters** @@ -263,7 +263,7 @@ python_api_name: qiskit.circuit.library.Measure ### to\_mutable - + Return a mutable copy of this gate. This method will return a new mutable copy of this gate instance. If a singleton instance is being used this will be a new unique instance that can be mutated. If the instance is already mutable it will be a deepcopy of that instance. @@ -271,7 +271,7 @@ python_api_name: qiskit.circuit.library.Measure ### validate\_parameter - + Instruction parameters has no validation or normalization. diff --git a/docs/api/qiskit/qiskit.circuit.library.NLocal.mdx b/docs/api/qiskit/qiskit.circuit.library.NLocal.mdx index aa3e702aa81..ed631abad82 100644 --- a/docs/api/qiskit/qiskit.circuit.library.NLocal.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.NLocal.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.NLocal # NLocal - + Bases: `BlueprintCircuit` The n-local circuit class. @@ -318,7 +318,7 @@ python_api_name: qiskit.circuit.library.NLocal ### add\_layer - + Append another layer to the NLocal. **Parameters** @@ -342,7 +342,7 @@ python_api_name: qiskit.circuit.library.NLocal ### assign\_parameters - + Assign parameters to the n-local circuit. This method also supports passing a list instead of a dictionary. If a list is passed, the list must have the same length as the number of unbound parameters in the circuit. The parameters are assigned in the order of the parameters in [`ordered_parameters()`](#qiskit.circuit.library.NLocal.ordered_parameters "qiskit.circuit.library.NLocal.ordered_parameters"). @@ -362,7 +362,7 @@ python_api_name: qiskit.circuit.library.NLocal ### get\_entangler\_map - + Get the entangler map for in the repetition `rep_num` and the block `block_num`. The entangler map for the current block is derived from the value of `self.entanglement`. Below the different cases are listed, where `i` and `j` denote the repetition number and the block number, respectively, and `n` the number of qubits in the block. @@ -403,7 +403,7 @@ python_api_name: qiskit.circuit.library.NLocal ### get\_unentangled\_qubits - + Get the indices of unentangled qubits in a set. **Returns** @@ -417,7 +417,7 @@ python_api_name: qiskit.circuit.library.NLocal ### print\_settings - + Returns information about the setting. **Returns** diff --git a/docs/api/qiskit/qiskit.circuit.library.OR.mdx b/docs/api/qiskit/qiskit.circuit.library.OR.mdx index 827d0de74a6..1cd860330b4 100644 --- a/docs/api/qiskit/qiskit.circuit.library.OR.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.OR.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.OR # OR - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") A circuit implementing the logical OR operation on a number of qubits. diff --git a/docs/api/qiskit/qiskit.circuit.library.PauliEvolutionGate.mdx b/docs/api/qiskit/qiskit.circuit.library.PauliEvolutionGate.mdx index 7c88108981a..6f0aa29d63a 100644 --- a/docs/api/qiskit/qiskit.circuit.library.PauliEvolutionGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.PauliEvolutionGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.PauliEvolutionGate # PauliEvolutionGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Time-evolution of an operator consisting of Paulis. @@ -179,7 +179,7 @@ $$ ### validate\_parameter - + Gate parameters should be int, float, or ParameterExpression **Return type** diff --git a/docs/api/qiskit/qiskit.circuit.library.PauliFeatureMap.mdx b/docs/api/qiskit/qiskit.circuit.library.PauliFeatureMap.mdx index 2b88b43cdb1..da1eda0864f 100644 --- a/docs/api/qiskit/qiskit.circuit.library.PauliFeatureMap.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.PauliFeatureMap.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.PauliFeatureMap # PauliFeatureMap - + Bases: [`NLocal`](qiskit.circuit.library.NLocal "qiskit.circuit.library.n_local.n_local.NLocal") The Pauli Expansion circuit. @@ -381,13 +381,13 @@ $$ ### pauli\_block - + Get the Pauli block for the feature map circuit. ### pauli\_evolution - + Get the evolution block for the given pauli string. diff --git a/docs/api/qiskit/qiskit.circuit.library.PauliGate.mdx b/docs/api/qiskit/qiskit.circuit.library.PauliGate.mdx index f3eacb64c07..b3c1d2c124e 100644 --- a/docs/api/qiskit/qiskit.circuit.library.PauliGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.PauliGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.PauliGate # PauliGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") A multi-qubit Pauli gate. @@ -129,13 +129,13 @@ python_api_name: qiskit.circuit.library.PauliGate ### inverse - + Return inverted pauli gate (itself). ### validate\_parameter - + Gate parameters should be int, float, or ParameterExpression diff --git a/docs/api/qiskit/qiskit.circuit.library.PauliTwoDesign.mdx b/docs/api/qiskit/qiskit.circuit.library.PauliTwoDesign.mdx index 14e8b77fb90..a54a2bff659 100644 --- a/docs/api/qiskit/qiskit.circuit.library.PauliTwoDesign.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.PauliTwoDesign.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.PauliTwoDesign # PauliTwoDesign - + Bases: [`TwoLocal`](qiskit.circuit.library.TwoLocal "qiskit.circuit.library.n_local.two_local.TwoLocal") The Pauli Two-Design ansatz. diff --git a/docs/api/qiskit/qiskit.circuit.library.Permutation.mdx b/docs/api/qiskit/qiskit.circuit.library.Permutation.mdx index 96a70a3c41f..139860d0170 100644 --- a/docs/api/qiskit/qiskit.circuit.library.Permutation.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.Permutation.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.Permutation # Permutation - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") An n\_qubit circuit that permutes qubits. diff --git a/docs/api/qiskit/qiskit.circuit.library.PermutationGate.mdx b/docs/api/qiskit/qiskit.circuit.library.PermutationGate.mdx index a1ddf74cd44..ba69f881561 100644 --- a/docs/api/qiskit/qiskit.circuit.library.PermutationGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.PermutationGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.PermutationGate # PermutationGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") A gate that permutes qubits. @@ -138,13 +138,13 @@ python_api_name: qiskit.circuit.library.PermutationGate ### inverse - + Returns the inverse of the permutation. ### validate\_parameter - + Parameter validation. diff --git a/docs/api/qiskit/qiskit.circuit.library.PhaseEstimation.mdx b/docs/api/qiskit/qiskit.circuit.library.PhaseEstimation.mdx index 0d7929e5819..344b0af174b 100644 --- a/docs/api/qiskit/qiskit.circuit.library.PhaseEstimation.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.PhaseEstimation.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.PhaseEstimation # PhaseEstimation - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") Phase Estimation circuit. diff --git a/docs/api/qiskit/qiskit.circuit.library.PhaseGate.mdx b/docs/api/qiskit/qiskit.circuit.library.PhaseGate.mdx index a82fe5e9480..0dec2af7cc1 100644 --- a/docs/api/qiskit/qiskit.circuit.library.PhaseGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.PhaseGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.PhaseGate # PhaseGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Single-qubit rotation about the Z axis. @@ -162,7 +162,7 @@ $$ ### control - + Return a (multi-)controlled-Phase gate. **Parameters** @@ -183,7 +183,7 @@ $$ ### inverse - + Return inverted Phase gate ($Phase(\lambda)^{\dagger} = Phase(-\lambda)$) **Parameters** @@ -201,7 +201,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/qiskit.circuit.library.PhaseOracle.mdx b/docs/api/qiskit/qiskit.circuit.library.PhaseOracle.mdx index 8f9472d8efa..e7e6f9a2993 100644 --- a/docs/api/qiskit/qiskit.circuit.library.PhaseOracle.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.PhaseOracle.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.PhaseOracle # PhaseOracle - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") Phase Oracle. @@ -203,7 +203,7 @@ python_api_name: qiskit.circuit.library.PhaseOracle ### evaluate\_bitstring - + Evaluate the oracle on a bitstring. This evaluation is done classically without any quantum circuit. **Parameters** @@ -221,7 +221,7 @@ python_api_name: qiskit.circuit.library.PhaseOracle ### from\_dimacs\_file - + Create a PhaseOracle from the string in the DIMACS format. It is possible to build a PhaseOracle from a file in [DIMACS CNF format](http://www.satcompetition.org/2009/format-benchmarks2009.html), which is the standard format for specifying SATisfiability (SAT) problem instances in [Conjunctive Normal Form (CNF)](https://en.wikipedia.org/wiki/Conjunctive_normal_form), which is a conjunction of one or more clauses, where a clause is a disjunction of one or more literals. diff --git a/docs/api/qiskit/qiskit.circuit.library.PiecewiseChebyshev.mdx b/docs/api/qiskit/qiskit.circuit.library.PiecewiseChebyshev.mdx index 794194d9709..c2d05fe5a81 100644 --- a/docs/api/qiskit/qiskit.circuit.library.PiecewiseChebyshev.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.PiecewiseChebyshev.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.PiecewiseChebyshev # PiecewiseChebyshev - + Bases: `BlueprintCircuit` Piecewise Chebyshev approximation to an input function. diff --git a/docs/api/qiskit/qiskit.circuit.library.PiecewiseLinearPauliRotations.mdx b/docs/api/qiskit/qiskit.circuit.library.PiecewiseLinearPauliRotations.mdx index daa99da44f8..7d0cb4cd7d6 100644 --- a/docs/api/qiskit/qiskit.circuit.library.PiecewiseLinearPauliRotations.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.PiecewiseLinearPauliRotations.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.PiecewiseLinearPauliRotations # PiecewiseLinearPauliRotations - + Bases: [`FunctionalPauliRotations`](qiskit.circuit.library.FunctionalPauliRotations "qiskit.circuit.library.arithmetic.functional_pauli_rotations.FunctionalPauliRotations") Piecewise-linearly-controlled Pauli rotations. @@ -237,7 +237,7 @@ $$ ### evaluate - + Classically evaluate the piecewise linear rotation. **Parameters** diff --git a/docs/api/qiskit/qiskit.circuit.library.PiecewisePolynomialPauliRotations.mdx b/docs/api/qiskit/qiskit.circuit.library.PiecewisePolynomialPauliRotations.mdx index 4212e52f3b6..2f8cbecb148 100644 --- a/docs/api/qiskit/qiskit.circuit.library.PiecewisePolynomialPauliRotations.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.PiecewisePolynomialPauliRotations.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.PiecewisePolynomialPauliRotations # PiecewisePolynomialPauliRotations - + Bases: [`FunctionalPauliRotations`](qiskit.circuit.library.FunctionalPauliRotations "qiskit.circuit.library.arithmetic.functional_pauli_rotations.FunctionalPauliRotations") Piecewise-polynomially-controlled Pauli rotations. @@ -269,7 +269,7 @@ $$ ### evaluate - + Classically evaluate the piecewise polynomial rotation. **Parameters** diff --git a/docs/api/qiskit/qiskit.circuit.library.PolynomialPauliRotations.mdx b/docs/api/qiskit/qiskit.circuit.library.PolynomialPauliRotations.mdx index 885654c6693..b191fca360d 100644 --- a/docs/api/qiskit/qiskit.circuit.library.PolynomialPauliRotations.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.PolynomialPauliRotations.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.PolynomialPauliRotations # PolynomialPauliRotations - + Bases: [`FunctionalPauliRotations`](qiskit.circuit.library.FunctionalPauliRotations "qiskit.circuit.library.arithmetic.functional_pauli_rotations.FunctionalPauliRotations") A circuit implementing polynomial Pauli rotations. diff --git a/docs/api/qiskit/qiskit.circuit.library.QAOAAnsatz.mdx b/docs/api/qiskit/qiskit.circuit.library.QAOAAnsatz.mdx index 526a3addb67..30a97f15271 100644 --- a/docs/api/qiskit/qiskit.circuit.library.QAOAAnsatz.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.QAOAAnsatz.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.QAOAAnsatz # QAOAAnsatz - + Bases: [`EvolvedOperatorAnsatz`](qiskit.circuit.library.EvolvedOperatorAnsatz "qiskit.circuit.library.n_local.evolved_operator_ansatz.EvolvedOperatorAnsatz") A generalized QAOA quantum circuit with a support of custom initial states and mixers. diff --git a/docs/api/qiskit/qiskit.circuit.library.QFT.mdx b/docs/api/qiskit/qiskit.circuit.library.QFT.mdx index 77bfba7d787..5a4de0adafe 100644 --- a/docs/api/qiskit/qiskit.circuit.library.QFT.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.QFT.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.QFT # QFT - + Bases: `BlueprintCircuit` Quantum Fourier Transform Circuit. @@ -196,7 +196,7 @@ $$ ### inverse - + Invert this circuit. **Parameters** @@ -214,7 +214,7 @@ $$ ### is\_inverse - + Whether the inverse Fourier transform is implemented. **Returns** diff --git a/docs/api/qiskit/qiskit.circuit.library.QuadraticForm.mdx b/docs/api/qiskit/qiskit.circuit.library.QuadraticForm.mdx index c78a8445887..321cb739fd3 100644 --- a/docs/api/qiskit/qiskit.circuit.library.QuadraticForm.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.QuadraticForm.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.QuadraticForm # QuadraticForm - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") Implements a quadratic form on binary variables encoded in qubit registers. @@ -228,7 +228,7 @@ $$ ### required\_result\_qubits - + Get the number of required result qubits. **Parameters** diff --git a/docs/api/qiskit/qiskit.circuit.library.QuantumVolume.mdx b/docs/api/qiskit/qiskit.circuit.library.QuantumVolume.mdx index 904483a1030..6fd86ef0d5c 100644 --- a/docs/api/qiskit/qiskit.circuit.library.QuantumVolume.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.QuantumVolume.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.QuantumVolume # QuantumVolume - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") A quantum volume model circuit. diff --git a/docs/api/qiskit/qiskit.circuit.library.RC3XGate.mdx b/docs/api/qiskit/qiskit.circuit.library.RC3XGate.mdx index b01c3ddd917..51b944b5869 100644 --- a/docs/api/qiskit/qiskit.circuit.library.RC3XGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.RC3XGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.RC3XGate # RC3XGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") The simplified 3-controlled Toffoli gate. diff --git a/docs/api/qiskit/qiskit.circuit.library.RCCXGate.mdx b/docs/api/qiskit/qiskit.circuit.library.RCCXGate.mdx index c83126a9f7b..852d058ce4b 100644 --- a/docs/api/qiskit/qiskit.circuit.library.RCCXGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.RCCXGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.RCCXGate # RCCXGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") The simplified Toffoli gate, also referred to as Margolus gate. diff --git a/docs/api/qiskit/qiskit.circuit.library.RGQFTMultiplier.mdx b/docs/api/qiskit/qiskit.circuit.library.RGQFTMultiplier.mdx index 8f81f8e8266..ae9e5c7588a 100644 --- a/docs/api/qiskit/qiskit.circuit.library.RGQFTMultiplier.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.RGQFTMultiplier.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.RGQFTMultiplier # RGQFTMultiplier - + Bases: `Multiplier` A QFT multiplication circuit to store product of two input registers out-of-place. diff --git a/docs/api/qiskit/qiskit.circuit.library.RGate.mdx b/docs/api/qiskit/qiskit.circuit.library.RGate.mdx index 435f78802d7..58d1db10bb7 100644 --- a/docs/api/qiskit/qiskit.circuit.library.RGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.RGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.RGate # RGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Rotation θ around the cos(φ)x + sin(φ)y axis. @@ -138,7 +138,7 @@ $$ ### inverse - + Invert this gate as: $r(θ, φ)^dagger = r(-θ, φ)$ **Parameters** @@ -156,7 +156,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/qiskit.circuit.library.RVGate.mdx b/docs/api/qiskit/qiskit.circuit.library.RVGate.mdx index 16936eaa76c..46b40cd42f0 100644 --- a/docs/api/qiskit/qiskit.circuit.library.RVGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.RVGate.mdx @@ -8,10 +8,10 @@ python_api_name: qiskit.circuit.library.RVGate # RVGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") - Rotation around arbitrary rotation axis $v$ where $|v|$ is angle of rotation in radians. + Rotation around arbitrary rotation axis $\vec{v}$ where $\|\vec{v}\|_2$ is angle of rotation in radians. Can be applied to a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") with the [`rv()`](qiskit.circuit.QuantumCircuit#rv "qiskit.circuit.QuantumCircuit.rv") method. @@ -26,14 +26,17 @@ python_api_name: qiskit.circuit.library.RVGate **Matrix Representation:** $$ -\newcommand{\rotationangle}{|\vec{v}|} -\newcommand{\sinc}{\text{sinc}} -R(\vec{v}) = e^{-i \vec{v}\cdot\vec{\sigma}} = +\newcommand{\rotationangle}{\frac{\|\vec{v}\|_2}{2}} +R(\vec{v}) = e^{-i \vec{v}\cdot\vec{\sigma} / 2} = \begin{pmatrix} -\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) +\cos\left(\rotationangle\right) +-i \frac{v_z}{\|\vec{v}\|_2} \sin\left(\rotationangle\right) +& -(i \frac{v_x}{\|\vec{v}\|_2} ++ \frac{v_y}{\|\vec{v}\|_2}) \sin\left(\rotationangle\right) \\ +-(i \frac{v_x}{\|\vec{v}\|_2} +- \frac{v_y}{\|\vec{v}\|_2}) \sin\left(\rotationangle\right) +& \cos\left(\rotationangle\right) ++ i \frac{v_z}{\|\vec{v}\|_2} \sin\left(\rotationangle\right) \end{pmatrix} $$ @@ -147,13 +150,13 @@ $$ ### inverse - + Invert this gate. ### to\_matrix - + Return a numpy.array for the R(v) gate. diff --git a/docs/api/qiskit/qiskit.circuit.library.RXGate.mdx b/docs/api/qiskit/qiskit.circuit.library.RXGate.mdx index 9c724ebc811..c928030b666 100644 --- a/docs/api/qiskit/qiskit.circuit.library.RXGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.RXGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.RXGate # RXGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Single-qubit rotation about the X axis. @@ -138,7 +138,7 @@ $$ ### control - + Return a (multi-)controlled-RX gate. **Parameters** @@ -159,7 +159,7 @@ $$ ### inverse - + Return inverted RX gate. $RX(\lambda)^{\dagger} = RX(-\lambda)$ @@ -179,7 +179,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/qiskit.circuit.library.RXXGate.mdx b/docs/api/qiskit/qiskit.circuit.library.RXXGate.mdx index 925c8c00d39..e5d5e3bd106 100644 --- a/docs/api/qiskit/qiskit.circuit.library.RXXGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.RXXGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.RXXGate # RXXGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") A parametric 2-qubit $X \otimes X$ interaction (rotation about XX). @@ -164,7 +164,7 @@ $$ ### inverse - + Return inverse RXX gate (i.e. with the negative rotation angle). **Parameters** @@ -182,7 +182,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/qiskit.circuit.library.RYGate.mdx b/docs/api/qiskit/qiskit.circuit.library.RYGate.mdx index 639ff790984..def527dda4a 100644 --- a/docs/api/qiskit/qiskit.circuit.library.RYGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.RYGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.RYGate # RYGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Single-qubit rotation about the Y axis. @@ -138,7 +138,7 @@ $$ ### control - + Return a (multi-)controlled-RY gate. **Parameters** @@ -159,7 +159,7 @@ $$ ### inverse - + Return inverse RY gate. $RY(\lambda)^{\dagger} = RY(-\lambda)$ @@ -179,7 +179,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/qiskit.circuit.library.RYYGate.mdx b/docs/api/qiskit/qiskit.circuit.library.RYYGate.mdx index 71bc571bac4..2dc3236199b 100644 --- a/docs/api/qiskit/qiskit.circuit.library.RYYGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.RYYGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.RYYGate # RYYGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") A parametric 2-qubit $Y \otimes Y$ interaction (rotation about YY). @@ -164,7 +164,7 @@ $$ ### inverse - + Return inverse RYY gate (i.e. with the negative rotation angle). **Parameters** @@ -182,7 +182,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/qiskit.circuit.library.RZGate.mdx b/docs/api/qiskit/qiskit.circuit.library.RZGate.mdx index d19c7ff61fc..0c3fae13bfd 100644 --- a/docs/api/qiskit/qiskit.circuit.library.RZGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.RZGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.RZGate # RZGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Single-qubit rotation about the Z axis. @@ -148,7 +148,7 @@ $$ ### control - + Return a (multi-)controlled-RZ gate. **Parameters** @@ -169,7 +169,7 @@ $$ ### inverse - + Return inverted RZ gate $RZ(\lambda)^{\dagger} = RZ(-\lambda)$ @@ -189,7 +189,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/qiskit.circuit.library.RZXGate.mdx b/docs/api/qiskit/qiskit.circuit.library.RZXGate.mdx index a886ba95387..d0e774ab169 100644 --- a/docs/api/qiskit/qiskit.circuit.library.RZXGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.RZXGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.RZXGate # RZXGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") A parametric 2-qubit $Z \otimes X$ interaction (rotation about ZX). @@ -204,7 +204,7 @@ $$ ### inverse - + Return inverse RZX gate (i.e. with the negative rotation angle). **Parameters** @@ -222,7 +222,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/qiskit.circuit.library.RZZGate.mdx b/docs/api/qiskit/qiskit.circuit.library.RZZGate.mdx index ffc29f35640..81128578597 100644 --- a/docs/api/qiskit/qiskit.circuit.library.RZZGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.RZZGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.RZZGate # RZZGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") A parametric 2-qubit $Z \otimes Z$ interaction (rotation about ZZ). @@ -176,7 +176,7 @@ $$ ### inverse - + Return inverse RZZ gate (i.e. with the negative rotation angle). **Parameters** @@ -194,7 +194,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/qiskit.circuit.library.RealAmplitudes.mdx b/docs/api/qiskit/qiskit.circuit.library.RealAmplitudes.mdx index ef0554a650e..a28703ebd3f 100644 --- a/docs/api/qiskit/qiskit.circuit.library.RealAmplitudes.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.RealAmplitudes.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.RealAmplitudes # RealAmplitudes - + Bases: [`TwoLocal`](qiskit.circuit.library.TwoLocal "qiskit.circuit.library.n_local.two_local.TwoLocal") The real-amplitudes 2-local circuit. diff --git a/docs/api/qiskit/qiskit.circuit.library.Reset.mdx b/docs/api/qiskit/qiskit.circuit.library.Reset.mdx index 6ad109704a3..41532ed568e 100644 --- a/docs/api/qiskit/qiskit.circuit.library.Reset.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.Reset.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.Reset # Reset - + Bases: [`SingletonInstruction`](circuit_singleton#qiskit.circuit.singleton.SingletonInstruction "qiskit.circuit.singleton.SingletonInstruction") Qubit reset. @@ -116,19 +116,19 @@ python_api_name: qiskit.circuit.library.Reset ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction ### broadcast\_arguments - + Validation of the arguments. **Parameters** @@ -147,7 +147,7 @@ python_api_name: qiskit.circuit.library.Reset ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. @@ -157,7 +157,7 @@ python_api_name: qiskit.circuit.library.Reset ### copy - + Copy of the instruction. **Parameters** @@ -175,7 +175,7 @@ python_api_name: qiskit.circuit.library.Reset ### inverse - + Invert this instruction. If annotated is False, the inverse instruction is implemented as a fresh instruction with the recursively inverted definition. @@ -199,13 +199,13 @@ python_api_name: qiskit.circuit.library.Reset ### is\_parameterized - + Return True .IFF. instruction is parameterized else False ### repeat - + Creates an instruction with gate repeated n amount of times. **Parameters** @@ -227,7 +227,7 @@ python_api_name: qiskit.circuit.library.Reset ### reverse\_ops - + For a composite instruction, reverse the order of sub-instructions. This is done by recursively reversing all sub-instructions. It does not invert any gate. @@ -245,7 +245,7 @@ python_api_name: qiskit.circuit.library.Reset ### soft\_compare - + Soft comparison between gates. Their names, number of qubits, and classical bit numbers must match. The number of parameters must match. Each parameter is compared. If one is a ParameterExpression then it is not taken into account. **Parameters** @@ -263,7 +263,7 @@ python_api_name: qiskit.circuit.library.Reset ### to\_mutable - + Return a mutable copy of this gate. This method will return a new mutable copy of this gate instance. If a singleton instance is being used this will be a new unique instance that can be mutated. If the instance is already mutable it will be a deepcopy of that instance. @@ -271,7 +271,7 @@ python_api_name: qiskit.circuit.library.Reset ### validate\_parameter - + Instruction parameters has no validation or normalization. diff --git a/docs/api/qiskit/qiskit.circuit.library.SGate.mdx b/docs/api/qiskit/qiskit.circuit.library.SGate.mdx index d9b9f26b7b0..2fcf4e7a86a 100644 --- a/docs/api/qiskit/qiskit.circuit.library.SGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.SGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.SGate # SGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") Single qubit S gate (Z\*\*0.5). @@ -141,7 +141,7 @@ $$ ### inverse - + Return inverse of S (SdgGate). **Parameters** @@ -159,7 +159,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/qiskit.circuit.library.SXGate.mdx b/docs/api/qiskit/qiskit.circuit.library.SXGate.mdx index 845ffbdbb57..3d202d0a80c 100644 --- a/docs/api/qiskit/qiskit.circuit.library.SXGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.SXGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.SXGate # SXGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") The single-qubit Sqrt(X) gate ($\sqrt{X}$). @@ -147,7 +147,7 @@ $$ ### control - + Return a (multi-)controlled-SX gate. One control returns a CSX gate. @@ -170,7 +170,7 @@ $$ ### inverse - + Return inverse SX gate (i.e. SXdg). **Parameters** diff --git a/docs/api/qiskit/qiskit.circuit.library.SXdgGate.mdx b/docs/api/qiskit/qiskit.circuit.library.SXdgGate.mdx index d2301bbf5dc..a288e8d3224 100644 --- a/docs/api/qiskit/qiskit.circuit.library.SXdgGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.SXdgGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.SXdgGate # SXdgGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") The inverse single-qubit Sqrt(X) gate. @@ -137,7 +137,7 @@ $$ ### inverse - + Return inverse SXdg gate (i.e. SX). **Parameters** diff --git a/docs/api/qiskit/qiskit.circuit.library.SdgGate.mdx b/docs/api/qiskit/qiskit.circuit.library.SdgGate.mdx index 1fb37bdd6bf..cc231e44bb8 100644 --- a/docs/api/qiskit/qiskit.circuit.library.SdgGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.SdgGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.SdgGate # SdgGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") Single qubit S-adjoint gate (\~Z\*\*0.5). @@ -141,7 +141,7 @@ $$ ### inverse - + Return inverse of Sdg (SGate). **Parameters** @@ -159,7 +159,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/qiskit.circuit.library.StatePreparation.mdx b/docs/api/qiskit/qiskit.circuit.library.StatePreparation.mdx index 30991737ed9..4294dfc5eb9 100644 --- a/docs/api/qiskit/qiskit.circuit.library.StatePreparation.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.StatePreparation.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.StatePreparation # StatePreparation - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Complex amplitude state preparation. @@ -141,7 +141,7 @@ python_api_name: qiskit.circuit.library.StatePreparation ### broadcast\_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: @@ -190,13 +190,13 @@ python_api_name: qiskit.circuit.library.StatePreparation ### inverse - + Return inverted StatePreparation ### validate\_parameter - + StatePreparation instruction parameter can be str, int, float, and complex. diff --git a/docs/api/qiskit/qiskit.circuit.library.SwapGate.mdx b/docs/api/qiskit/qiskit.circuit.library.SwapGate.mdx index 7a22dc86de5..0a1b8c93b18 100644 --- a/docs/api/qiskit/qiskit.circuit.library.SwapGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.SwapGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.SwapGate # SwapGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") The SWAP gate. @@ -146,7 +146,7 @@ $$ ### control - + Return a (multi-)controlled-SWAP gate. One control returns a CSWAP (Fredkin) gate. @@ -169,7 +169,7 @@ $$ ### inverse - + Return inverse Swap gate (itself). **Parameters** diff --git a/docs/api/qiskit/qiskit.circuit.library.TGate.mdx b/docs/api/qiskit/qiskit.circuit.library.TGate.mdx index 3caeed4b699..121834dace7 100644 --- a/docs/api/qiskit/qiskit.circuit.library.TGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.TGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.TGate # TGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") Single qubit T gate (Z\*\*0.25). @@ -141,7 +141,7 @@ $$ ### inverse - + Return inverse T gate (i.e. Tdg). **Parameters** @@ -159,7 +159,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/qiskit.circuit.library.TdgGate.mdx b/docs/api/qiskit/qiskit.circuit.library.TdgGate.mdx index 13143ef0f2a..ef5130dae2b 100644 --- a/docs/api/qiskit/qiskit.circuit.library.TdgGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.TdgGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.TdgGate # TdgGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") Single qubit T-adjoint gate (\~Z\*\*0.25). @@ -141,7 +141,7 @@ $$ ### inverse - + Return inverse Tdg gate (i.e. T). **Parameters** @@ -159,7 +159,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/qiskit.circuit.library.TwoLocal.mdx b/docs/api/qiskit/qiskit.circuit.library.TwoLocal.mdx index f1906f13d87..b082db688fa 100644 --- a/docs/api/qiskit/qiskit.circuit.library.TwoLocal.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.TwoLocal.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.TwoLocal # TwoLocal - + Bases: [`NLocal`](qiskit.circuit.library.NLocal "qiskit.circuit.library.n_local.n_local.NLocal") The two-local circuit. @@ -382,7 +382,7 @@ python_api_name: qiskit.circuit.library.TwoLocal ### get\_entangler\_map - + Overloading to handle the special case of 1 qubit where the entanglement are ignored. **Return type** diff --git a/docs/api/qiskit/qiskit.circuit.library.U1Gate.mdx b/docs/api/qiskit/qiskit.circuit.library.U1Gate.mdx index 1ab546519df..2092b0318ed 100644 --- a/docs/api/qiskit/qiskit.circuit.library.U1Gate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.U1Gate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.U1Gate # U1Gate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Single-qubit rotation about the Z axis. @@ -175,7 +175,7 @@ $$ ### control - + Return a (multi-)controlled-U1 gate. **Parameters** @@ -196,7 +196,7 @@ $$ ### inverse - + Return inverted U1 gate ($U1(\lambda)^{\dagger} = U1(-\lambda))$ **Parameters** diff --git a/docs/api/qiskit/qiskit.circuit.library.U2Gate.mdx b/docs/api/qiskit/qiskit.circuit.library.U2Gate.mdx index c086c2778a4..32788789e90 100644 --- a/docs/api/qiskit/qiskit.circuit.library.U2Gate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.U2Gate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.U2Gate # U2Gate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Single-qubit rotation about the X+Z axis. @@ -174,7 +174,7 @@ $$ ### inverse - + Return inverted U2 gate. $U2(\phi, \lambda)^{\dagger} =U2(-\lambda-\pi, -\phi+\pi))$ diff --git a/docs/api/qiskit/qiskit.circuit.library.U3Gate.mdx b/docs/api/qiskit/qiskit.circuit.library.U3Gate.mdx index f8adc8e633c..dc46021b9ef 100644 --- a/docs/api/qiskit/qiskit.circuit.library.U3Gate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.U3Gate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.U3Gate # U3Gate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Generic single-qubit rotation gate with 3 Euler angles. @@ -169,7 +169,7 @@ $$ ### control - + Return a (multi-)controlled-U3 gate. **Parameters** @@ -190,7 +190,7 @@ $$ ### inverse - + Return inverted U3 gate. $U3(\theta,\phi,\lambda)^{\dagger} =U3(-\theta,-\lambda,-\phi))$ diff --git a/docs/api/qiskit/qiskit.circuit.library.UCGate.mdx b/docs/api/qiskit/qiskit.circuit.library.UCGate.mdx index 9c5232406cd..fa0ba18cf10 100644 --- a/docs/api/qiskit/qiskit.circuit.library.UCGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.UCGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.UCGate # UCGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Uniformly controlled gate (also called multiplexed gate). @@ -144,7 +144,7 @@ $$ ### inverse - + Return the inverse. This does not re-compute the decomposition for the multiplexer with the inverse of the gates but simply inverts the existing decomposition. @@ -156,7 +156,7 @@ $$ ### validate\_parameter - + Uniformly controlled gate parameter has to be an ndarray. diff --git a/docs/api/qiskit/qiskit.circuit.library.UCPauliRotGate.mdx b/docs/api/qiskit/qiskit.circuit.library.UCPauliRotGate.mdx index 3bdd8bc0fa4..537f81c0e41 100644 --- a/docs/api/qiskit/qiskit.circuit.library.UCPauliRotGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.UCPauliRotGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.UCPauliRotGate # UCPauliRotGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Uniformly controlled Pauli rotations. diff --git a/docs/api/qiskit/qiskit.circuit.library.UCRXGate.mdx b/docs/api/qiskit/qiskit.circuit.library.UCRXGate.mdx index 4629ec7c586..58226b78f5b 100644 --- a/docs/api/qiskit/qiskit.circuit.library.UCRXGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.UCRXGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.UCRXGate # UCRXGate - + Bases: [`UCPauliRotGate`](qiskit.circuit.library.UCPauliRotGate "qiskit.circuit.library.generalized_gates.uc_pauli_rot.UCPauliRotGate") Uniformly controlled Pauli-X rotations. diff --git a/docs/api/qiskit/qiskit.circuit.library.UCRYGate.mdx b/docs/api/qiskit/qiskit.circuit.library.UCRYGate.mdx index c733eea7449..eaea6e56180 100644 --- a/docs/api/qiskit/qiskit.circuit.library.UCRYGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.UCRYGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.UCRYGate # UCRYGate - + Bases: [`UCPauliRotGate`](qiskit.circuit.library.UCPauliRotGate "qiskit.circuit.library.generalized_gates.uc_pauli_rot.UCPauliRotGate") Uniformly controlled Pauli-Y rotations. diff --git a/docs/api/qiskit/qiskit.circuit.library.UCRZGate.mdx b/docs/api/qiskit/qiskit.circuit.library.UCRZGate.mdx index 0e379d2953b..6072e0c3b46 100644 --- a/docs/api/qiskit/qiskit.circuit.library.UCRZGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.UCRZGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.UCRZGate # UCRZGate - + Bases: [`UCPauliRotGate`](qiskit.circuit.library.UCPauliRotGate "qiskit.circuit.library.generalized_gates.uc_pauli_rot.UCPauliRotGate") Uniformly controlled Pauli-Z rotations. diff --git a/docs/api/qiskit/qiskit.circuit.library.UGate.mdx b/docs/api/qiskit/qiskit.circuit.library.UGate.mdx index dae315ddc6a..88fb70a7ae2 100644 --- a/docs/api/qiskit/qiskit.circuit.library.UGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.UGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.UGate # UGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Generic single-qubit rotation gate with 3 Euler angles. @@ -152,7 +152,7 @@ $$ ### control - + Return a (multi-)controlled-U gate. **Parameters** @@ -173,7 +173,7 @@ $$ ### inverse - + Return inverted U gate. $U(\theta,\phi,\lambda)^{\dagger} =U(-\theta,-\lambda,-\phi))$ diff --git a/docs/api/qiskit/qiskit.circuit.library.UnitaryGate.mdx b/docs/api/qiskit/qiskit.circuit.library.UnitaryGate.mdx index dcbf6bcee48..eab7c1a270e 100644 --- a/docs/api/qiskit/qiskit.circuit.library.UnitaryGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.UnitaryGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.UnitaryGate # UnitaryGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Class quantum gates specified by a unitary matrix. @@ -144,19 +144,19 @@ python_api_name: qiskit.circuit.library.UnitaryGate ### adjoint - + Return the adjoint of the unitary. ### conjugate - + Return the conjugate of the unitary. ### control - + Return controlled version of gate. **Parameters** @@ -177,19 +177,19 @@ python_api_name: qiskit.circuit.library.UnitaryGate ### inverse - + Return the adjoint of the unitary. ### transpose - + Return the transpose of the unitary. ### validate\_parameter - + Unitary gate parameter has to be an ndarray. diff --git a/docs/api/qiskit/qiskit.circuit.library.UnitaryOverlap.mdx b/docs/api/qiskit/qiskit.circuit.library.UnitaryOverlap.mdx index 2e1567eb677..743436297ff 100644 --- a/docs/api/qiskit/qiskit.circuit.library.UnitaryOverlap.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.UnitaryOverlap.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.UnitaryOverlap # UnitaryOverlap - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") Circuit that returns the overlap between two unitaries $U_2^{\dag} U_1$. diff --git a/docs/api/qiskit/qiskit.circuit.library.VBERippleCarryAdder.mdx b/docs/api/qiskit/qiskit.circuit.library.VBERippleCarryAdder.mdx index 60e1e422811..d43e3bce899 100644 --- a/docs/api/qiskit/qiskit.circuit.library.VBERippleCarryAdder.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.VBERippleCarryAdder.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.VBERippleCarryAdder # VBERippleCarryAdder - + Bases: `Adder` The VBE ripple carry adder \[1]. diff --git a/docs/api/qiskit/qiskit.circuit.library.WeightedAdder.mdx b/docs/api/qiskit/qiskit.circuit.library.WeightedAdder.mdx index 9ab92873157..ae6210e6902 100644 --- a/docs/api/qiskit/qiskit.circuit.library.WeightedAdder.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.WeightedAdder.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.WeightedAdder # WeightedAdder - + Bases: `BlueprintCircuit` A circuit to compute the weighted sum of qubit registers. diff --git a/docs/api/qiskit/qiskit.circuit.library.XGate.mdx b/docs/api/qiskit/qiskit.circuit.library.XGate.mdx index e37ad5ca070..617208eabf8 100644 --- a/docs/api/qiskit/qiskit.circuit.library.XGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.XGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.XGate # XGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") The single-qubit Pauli-X gate ($\sigma_x$). @@ -156,7 +156,7 @@ $$ ### control - + Return a (multi-)controlled-X gate. One control returns a CX gate. Two controls returns a CCX gate. @@ -179,7 +179,7 @@ $$ ### inverse - + Return inverted X gate (itself). **Parameters** diff --git a/docs/api/qiskit/qiskit.circuit.library.XOR.mdx b/docs/api/qiskit/qiskit.circuit.library.XOR.mdx index 43cba549c43..a48d3e94d4d 100644 --- a/docs/api/qiskit/qiskit.circuit.library.XOR.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.XOR.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.XOR # XOR - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") An n\_qubit circuit for bitwise xor-ing the input with some integer `amount`. diff --git a/docs/api/qiskit/qiskit.circuit.library.XXMinusYYGate.mdx b/docs/api/qiskit/qiskit.circuit.library.XXMinusYYGate.mdx index 7a4b82771b1..c2a39ef4532 100644 --- a/docs/api/qiskit/qiskit.circuit.library.XXMinusYYGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.XXMinusYYGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.XXMinusYYGate # XXMinusYYGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") XX-YY interaction gate. @@ -174,7 +174,7 @@ $$ ### inverse - + Inverse gate. **Parameters** @@ -192,7 +192,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/qiskit.circuit.library.XXPlusYYGate.mdx b/docs/api/qiskit/qiskit.circuit.library.XXPlusYYGate.mdx index a5402b719b8..16acf9ac022 100644 --- a/docs/api/qiskit/qiskit.circuit.library.XXPlusYYGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.XXPlusYYGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.XXPlusYYGate # XXPlusYYGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") XX+YY interaction gate. @@ -174,7 +174,7 @@ $$ ### inverse - + Return inverse XX+YY gate (i.e. with the negative rotation angle and same phase angle). **Parameters** @@ -192,7 +192,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/qiskit.circuit.library.YGate.mdx b/docs/api/qiskit/qiskit.circuit.library.YGate.mdx index e7985e2c145..080c73e89ca 100644 --- a/docs/api/qiskit/qiskit.circuit.library.YGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.YGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.YGate # YGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") The single-qubit Pauli-Y gate ($\sigma_y$). @@ -156,7 +156,7 @@ $$ ### control - + Return a (multi-)controlled-Y gate. One control returns a CY gate. @@ -179,7 +179,7 @@ $$ ### inverse - + Return inverted Y gate ($Y^{\dagger} = Y$) **Parameters** diff --git a/docs/api/qiskit/qiskit.circuit.library.ZFeatureMap.mdx b/docs/api/qiskit/qiskit.circuit.library.ZFeatureMap.mdx index fa0b2f61d62..a2456270320 100644 --- a/docs/api/qiskit/qiskit.circuit.library.ZFeatureMap.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.ZFeatureMap.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.ZFeatureMap # ZFeatureMap - + Bases: [`PauliFeatureMap`](qiskit.circuit.library.PauliFeatureMap "qiskit.circuit.library.data_preparation.pauli_feature_map.PauliFeatureMap") The first order Pauli Z-evolution circuit. diff --git a/docs/api/qiskit/qiskit.circuit.library.ZGate.mdx b/docs/api/qiskit/qiskit.circuit.library.ZGate.mdx index c710719003a..4c5e795913b 100644 --- a/docs/api/qiskit/qiskit.circuit.library.ZGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.ZGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.ZGate # ZGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") The single-qubit Pauli-Z gate ($\sigma_z$). @@ -156,7 +156,7 @@ $$ ### control - + Return a (multi-)controlled-Z gate. One control returns a CZ gate. @@ -179,7 +179,7 @@ $$ ### inverse - + Return inverted Z gate (itself). **Parameters** @@ -197,7 +197,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/qiskit.circuit.library.ZZFeatureMap.mdx b/docs/api/qiskit/qiskit.circuit.library.ZZFeatureMap.mdx index 943c6203ecb..a008e015a8a 100644 --- a/docs/api/qiskit/qiskit.circuit.library.ZZFeatureMap.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.ZZFeatureMap.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.ZZFeatureMap # ZZFeatureMap - + Bases: [`PauliFeatureMap`](qiskit.circuit.library.PauliFeatureMap "qiskit.circuit.library.data_preparation.pauli_feature_map.PauliFeatureMap") Second-order Pauli-Z evolution circuit. diff --git a/docs/api/qiskit/qiskit.circuit.library.iSwapGate.mdx b/docs/api/qiskit/qiskit.circuit.library.iSwapGate.mdx index 962ba0cee26..14ce0c5d205 100644 --- a/docs/api/qiskit/qiskit.circuit.library.iSwapGate.mdx +++ b/docs/api/qiskit/qiskit.circuit.library.iSwapGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.iSwapGate # iSwapGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") iSWAP gate. @@ -169,7 +169,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit.mdx b/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit.mdx index ff9c1af926a..b793c45a96e 100644 --- a/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit.mdx +++ b/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit # DAGCircuit - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Quantum circuit as a directed acyclic graph. @@ -51,7 +51,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### add\_calibration - + Register a low-level, custom pulse definition for the given gate. **Parameters** @@ -68,37 +68,37 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### add\_clbits - + Add individual clbit wires. ### add\_creg - + Add all wires in a classical register. ### add\_qreg - + Add all wires in a quantum register. ### add\_qubits - + Add individual qubit wires. ### ancestors - + Returns set of the ancestors of a node as DAGOpNodes and DAGInNodes. ### apply\_operation\_back - + Apply an operation to the output of the circuit. **Parameters** @@ -123,7 +123,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### apply\_operation\_front - + Apply an operation to the input of the circuit. **Parameters** @@ -148,37 +148,37 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### bfs\_successors - + Returns an iterator of tuples of (DAGNode, \[DAGNodes]) where the DAGNode is the current node and \[DAGNode] is its successors in BFS order. ### classical\_predecessors - + Returns iterator of the predecessors of a node that are connected by a classical edge as DAGOpNodes and DAGInNodes. ### classical\_successors - + Returns iterator of the successors of a node that are connected by a classical edge as DAGOpNodes and DAGInNodes. ### collect\_1q\_runs - + Return a set of non-conditional runs of 1q “op” nodes. ### collect\_2q\_runs - + Return a set of non-conditional runs of 2q “op” nodes. ### collect\_runs - + Return a set of non-conditional runs of “op” nodes with the given names. For example, “… h q\[0]; cx q\[0],q\[1]; cx q\[0],q\[1]; h q\[1]; ..” would produce the tuple of cx nodes as an element of the set returned from a call to collect\_runs(\[“cx”]). If instead the cx nodes were “cx q\[0],q\[1]; cx q\[1],q\[0];”, the method would still return the pair in a tuple. The namelist can contain names that are not in the circuit’s basis. @@ -188,7 +188,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### compose - + Compose the `other` circuit onto the output of this circuit. A subset of input wires of `other` are mapped to a subset of output wires of this circuit. @@ -218,7 +218,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### copy\_empty\_like - + Return a copy of self with the same structure but empty. **That structure includes:** @@ -239,7 +239,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### count\_ops - + Count the occurrences of operation names. **Parameters** @@ -257,7 +257,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### count\_ops\_longest\_path - + Count the occurrences of operation names on the longest path. Returns a dictionary of counts keyed on the operation name. @@ -265,7 +265,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### depth - + Return the circuit depth. If there is control flow present, this count may only be an estimate, as the complete control-flow path cannot be statically known. **Parameters** @@ -288,13 +288,13 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### descendants - + Returns set of the descendants of a node as DAGOpNodes and DAGOutNodes. ### draw - + Draws the dag circuit. 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. @@ -316,7 +316,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### edges - + Iterator for edge values and source and dest node This works by returning the output edges from the specified nodes. If no nodes are specified all edges from the graph are returned. @@ -336,7 +336,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### find\_bit - + Finds locations in the circuit, by mapping the Qubit and Clbit to positional index BitLocations is defined as: BitLocations = namedtuple(“BitLocations”, (“index”, “registers”)) **Parameters** @@ -360,13 +360,13 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### front\_layer - + Return a list of op nodes in the first layer of this dag. ### gate\_nodes - + Get the list of gate nodes in the dag. **Returns** @@ -380,13 +380,13 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### has\_calibration\_for - + Return True if the dag has a calibration defined for the node operation. In this case, the operation does not need to be translated to the device basis. ### idle\_wires - + Return idle wires. **Parameters** @@ -404,19 +404,19 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### is\_predecessor - + Checks if a second node is in the predecessors of node. ### is\_successor - + Checks if a second node is in the successors of node. ### layers - + Yield a shallow view on a layer of this DAGCircuit for all d layers of this circuit. A layer is a circuit whose gates act on disjoint qubits, i.e., a layer has depth 1. The total number of layers equals the circuit depth d. The layers are indexed from 0 to d-1 with the earliest layer at index 0. The layers are constructed using a greedy algorithm. Each returned layer is a dict containing \{“graph”: circuit graph, “partition”: list of qubit lists}. @@ -428,31 +428,31 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### longest\_path - + Returns the longest path in the dag as a list of DAGOpNodes, DAGInNodes, and DAGOutNodes. ### multi\_qubit\_ops - + Get list of 3+ qubit operations. Ignore directives like snapshot and barrier. ### multigraph\_layers - + Yield layers of the multigraph. ### named\_nodes - + Get the set of “op” nodes with the given name. ### node - + Get the node in the dag. **Parameters** @@ -470,7 +470,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### nodes - + Iterator for node values. **Yields** @@ -480,7 +480,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### nodes\_on\_wire - + Iterator for nodes that affect a given wire. **Parameters** @@ -499,25 +499,25 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### num\_clbits - + Return the total number of classical bits used by the circuit. ### num\_qubits - + Return the total number of qubits used by the circuit. num\_qubits() replaces former use of width(). DAGCircuit.width() now returns qubits + clbits for consistency with Circuit.width() \[qiskit-terra #2564]. ### num\_tensor\_factors - + Compute how many components the circuit can decompose into. ### op\_nodes - + Get the list of “op” nodes in the dag. **Parameters** @@ -536,19 +536,19 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### predecessors - + Returns iterator of the predecessors of a node as DAGOpNodes and DAGInNodes. ### properties - + Return a dictionary of circuit properties. ### quantum\_causal\_cone - + Returns causal cone of a qubit. A qubit’s causal cone is the set of qubits that can influence the output of that qubit through interactions, whether through multi-qubit gates or operations. Knowing the causal cone of a qubit can be useful when debugging faulty circuits, as it can help identify which wire(s) may be causing the problem. @@ -570,31 +570,31 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### quantum\_predecessors - + Returns iterator of the predecessors of a node that are connected by a quantum edge as DAGOpNodes and DAGInNodes. ### quantum\_successors - + Returns iterator of the successors of a node that are connected by a quantum edge as Opnodes and DAGOutNodes. ### remove\_all\_ops\_named - + Remove all operation nodes with the given name. ### remove\_ancestors\_of - + Remove all of the ancestor operation nodes of node. ### remove\_clbits - + Remove classical bits from the circuit. All bits MUST be idle. Any registers with references to at least one of the specified bits will also be removed. **Parameters** @@ -608,7 +608,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### remove\_cregs - + Remove classical registers from the circuit, leaving underlying bits in place. **Raises** @@ -619,25 +619,25 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### remove\_descendants\_of - + Remove all of the descendant operation nodes of node. ### remove\_nonancestors\_of - + Remove all of the non-ancestors operation nodes of node. ### remove\_nondescendants\_of - + Remove all of the non-descendants operation nodes of node. ### remove\_op\_node - + Remove an operation node n. Add edges from predecessors to successors. @@ -645,7 +645,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### remove\_qregs - + Remove classical registers from the circuit, leaving underlying bits in place. **Raises** @@ -656,7 +656,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### remove\_qubits - + Remove quantum bits from the circuit. All bits MUST be idle. Any registers with references to at least one of the specified bits will also be removed. **Parameters** @@ -670,7 +670,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### replace\_block\_with\_op - + Replace a block of nodes with a single node. This is used to consolidate a block of DAGOpNodes into a single operation. A typical example is a block of gates being consolidated into a single `UnitaryGate` representing the unitary matrix of the block. @@ -697,7 +697,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### reverse\_ops - + Reverse the operations in the `self` circuit. **Returns** @@ -711,7 +711,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### separable\_circuits - + Decompose the circuit into sets of qubits with no gates connecting them. **Parameters** @@ -733,7 +733,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### serial\_layers - + Yield a layer for all gates of this circuit. A serial layer is a circuit with one gate. The layers have the same structure as in layers(). @@ -741,7 +741,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### size - + Return the number of operations. If there is control flow present, this count may only be an estimate, as the complete control-flow path cannot be statically known. **Parameters** @@ -763,7 +763,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### substitute\_node - + Replace an DAGOpNode with a single operation. qargs, cargs and conditions for the new operation will be inferred from the node to be replaced. The new operation will be checked to match the shape of the replaced operation. **Parameters** @@ -789,7 +789,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### substitute\_node\_with\_dag - + Replace one node with dag. **Parameters** @@ -814,13 +814,13 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### successors - + Returns iterator of the successors of a node as DAGOpNodes and DAGOutNodes. ### swap\_nodes - + Swap connected nodes e.g. due to commutation. **Parameters** @@ -835,7 +835,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### topological\_nodes - + Yield nodes in topological order. **Parameters** @@ -853,7 +853,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### topological\_op\_nodes - + Yield op nodes in topological order. Allowed to pass in specific key to break ties in top order @@ -873,13 +873,13 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### two\_qubit\_ops - + Get list of 2 qubit operations. Ignore directives like snapshot and barrier. ### width - + Return the total number of qubits + clbits used by the circuit. This function formerly returned the number of qubits by the calculation return len(self.\_wires) - self.num\_clbits() but was changed by issue #2564 to return number of qubits + clbits with the new function DAGCircuit.num\_qubits replacing the former semantic of DAGCircuit.width(). diff --git a/docs/api/qiskit/qiskit.dagcircuit.DAGDepNode.mdx b/docs/api/qiskit/qiskit.dagcircuit.DAGDepNode.mdx index b6b384cfaf2..a40a004fff7 100644 --- a/docs/api/qiskit/qiskit.dagcircuit.DAGDepNode.mdx +++ b/docs/api/qiskit/qiskit.dagcircuit.DAGDepNode.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.dagcircuit.DAGDepNode # DAGDepNode - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Object to represent the information at a node in the DAGDependency(). @@ -85,13 +85,13 @@ python_api_name: qiskit.dagcircuit.DAGDepNode ### copy - + Function to copy a DAGDepNode object. :returns: a copy of a DAGDepNode object. :rtype: DAGDepNode ### semantic\_eq - + Check if DAG nodes are considered equivalent, e.g., as a node\_match for nx.is\_isomorphic. **Parameters** diff --git a/docs/api/qiskit/qiskit.dagcircuit.DAGDependency.mdx b/docs/api/qiskit/qiskit.dagcircuit.DAGDependency.mdx index 96f3c6683e6..aae39d2b8c8 100644 --- a/docs/api/qiskit/qiskit.dagcircuit.DAGDependency.mdx +++ b/docs/api/qiskit/qiskit.dagcircuit.DAGDependency.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency # DAGDependency - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Object to represent a quantum circuit as a Directed Acyclic Graph (DAG) via operation dependencies (i.e. lack of commutation). @@ -57,19 +57,19 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### add\_clbits - + Add individual clbit wires. ### add\_creg - + Add clbits in a classical register. ### add\_op\_node - + Add a DAGDepNode to the graph and update the edges. **Parameters** @@ -81,31 +81,31 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### add\_qreg - + Add qubits in a quantum register. ### add\_qubits - + Add individual qubit wires. ### copy - + Function to copy a DAGDependency object. :returns: a copy of a DAGDependency object. :rtype: DAGDependency ### depth - + Return the circuit depth. :returns: the circuit depth :rtype: int ### direct\_predecessors - + Direct predecessors id of a given node as sorted list. **Parameters** @@ -123,7 +123,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### direct\_successors - + Direct successors id of a given node as sorted list. **Parameters** @@ -141,7 +141,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### draw - + Draws the DAGDependency graph. This function needs pydot \<[https://github.com/erocarrera/pydot](https://github.com/erocarrera/pydot)>, which in turn needs Graphviz \<[https://www.graphviz.org/](https://www.graphviz.org/)>\` to be installed. @@ -163,7 +163,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### get\_all\_edges - + Enumeration of all edges. **Returns** @@ -177,7 +177,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### get\_edges - + Edge enumeration between two nodes through method get\_all\_edge\_data. **Parameters** @@ -196,7 +196,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### get\_in\_edges - + Enumeration of all incoming edges for a given node. **Parameters** @@ -214,7 +214,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### get\_node - + **Parameters** **node\_id** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – label of considered node. @@ -230,7 +230,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### get\_nodes - + **Returns** iterator over all the nodes. @@ -242,7 +242,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### get\_out\_edges - + Enumeration of all outgoing edges for a given node. **Parameters** @@ -260,7 +260,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### predecessors - + Predecessors id of a given node as sorted list. **Parameters** @@ -278,7 +278,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### replace\_block\_with\_op - + Replace a block of nodes with a single node. This is used to consolidate a block of DAGDepNodes into a single operation. A typical example is a block of CX and SWAP gates consolidated into a LinearFunction. This function is an adaptation of a similar function from DAGCircuit. @@ -299,13 +299,13 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### size - + Returns the number of gates in the circuit ### successors - + Successors id of a given node as sorted list. **Parameters** @@ -323,13 +323,13 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### to\_retworkx - + Returns the DAGDependency in retworkx format. ### topological\_nodes - + Yield nodes in topological order. **Returns** diff --git a/docs/api/qiskit/qiskit.dagcircuit.DAGInNode.mdx b/docs/api/qiskit/qiskit.dagcircuit.DAGInNode.mdx index ea204889032..e2a6cbb87be 100644 --- a/docs/api/qiskit/qiskit.dagcircuit.DAGInNode.mdx +++ b/docs/api/qiskit/qiskit.dagcircuit.DAGInNode.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.dagcircuit.DAGInNode # DAGInNode - + Bases: [`DAGNode`](qiskit.dagcircuit.DAGNode "qiskit.dagcircuit.dagnode.DAGNode") Object to represent an incoming wire node in the DAGCircuit. @@ -29,7 +29,7 @@ python_api_name: qiskit.dagcircuit.DAGInNode ### semantic\_eq - + Check if DAG nodes are considered equivalent, e.g., as a node\_match for [`rustworkx.is_isomorphic_node_match()`](https://www.rustworkx.org/apiref/rustworkx.is_isomorphic_node_match.html#rustworkx.is_isomorphic_node_match "(in rustworkx v0.14)"). **Parameters** diff --git a/docs/api/qiskit/qiskit.dagcircuit.DAGNode.mdx b/docs/api/qiskit/qiskit.dagcircuit.DAGNode.mdx index 74dccf796db..e8f23de8dc6 100644 --- a/docs/api/qiskit/qiskit.dagcircuit.DAGNode.mdx +++ b/docs/api/qiskit/qiskit.dagcircuit.DAGNode.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.dagcircuit.DAGNode # DAGNode - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Parent class for DAGOpNode, DAGInNode, and DAGOutNode. @@ -19,7 +19,7 @@ python_api_name: qiskit.dagcircuit.DAGNode ### semantic\_eq - + Check if DAG nodes are considered equivalent, e.g., as a node\_match for [`rustworkx.is_isomorphic_node_match()`](https://www.rustworkx.org/apiref/rustworkx.is_isomorphic_node_match.html#rustworkx.is_isomorphic_node_match "(in rustworkx v0.14)"). **Parameters** diff --git a/docs/api/qiskit/qiskit.dagcircuit.DAGOpNode.mdx b/docs/api/qiskit/qiskit.dagcircuit.DAGOpNode.mdx index e2f7aa5ad51..68500c63252 100644 --- a/docs/api/qiskit/qiskit.dagcircuit.DAGOpNode.mdx +++ b/docs/api/qiskit/qiskit.dagcircuit.DAGOpNode.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.dagcircuit.DAGOpNode # DAGOpNode - + Bases: [`DAGNode`](qiskit.dagcircuit.DAGNode "qiskit.dagcircuit.dagnode.DAGNode") Object to represent an Instruction at a node in the DAGCircuit. @@ -43,7 +43,7 @@ python_api_name: qiskit.dagcircuit.DAGOpNode ### semantic\_eq - + Check if DAG nodes are considered equivalent, e.g., as a node\_match for [`rustworkx.is_isomorphic_node_match()`](https://www.rustworkx.org/apiref/rustworkx.is_isomorphic_node_match.html#rustworkx.is_isomorphic_node_match "(in rustworkx v0.14)"). **Parameters** diff --git a/docs/api/qiskit/qiskit.dagcircuit.DAGOutNode.mdx b/docs/api/qiskit/qiskit.dagcircuit.DAGOutNode.mdx index 5833e3ead51..aeb0d077114 100644 --- a/docs/api/qiskit/qiskit.dagcircuit.DAGOutNode.mdx +++ b/docs/api/qiskit/qiskit.dagcircuit.DAGOutNode.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.dagcircuit.DAGOutNode # DAGOutNode - + Bases: [`DAGNode`](qiskit.dagcircuit.DAGNode "qiskit.dagcircuit.dagnode.DAGNode") Object to represent an outgoing wire node in the DAGCircuit. @@ -29,7 +29,7 @@ python_api_name: qiskit.dagcircuit.DAGOutNode ### semantic\_eq - + Check if DAG nodes are considered equivalent, e.g., as a node\_match for [`rustworkx.is_isomorphic_node_match()`](https://www.rustworkx.org/apiref/rustworkx.is_isomorphic_node_match.html#rustworkx.is_isomorphic_node_match "(in rustworkx v0.14)"). **Parameters** diff --git a/docs/api/qiskit/qiskit.passmanager.BaseController.mdx b/docs/api/qiskit/qiskit.passmanager.BaseController.mdx index 8e3a7e5a8b5..802590c348b 100644 --- a/docs/api/qiskit/qiskit.passmanager.BaseController.mdx +++ b/docs/api/qiskit/qiskit.passmanager.BaseController.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.passmanager.BaseController # BaseController - + Bases: `Task`, [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") Base class of controller. @@ -25,7 +25,7 @@ python_api_name: qiskit.passmanager.BaseController ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -45,7 +45,7 @@ python_api_name: qiskit.passmanager.BaseController ### iter\_tasks - + A custom logic to choose a next task to run. Controller subclass can consume the state to build a proper task pipeline. The updated state after a task execution will be fed back in as the “return” value of any `yield` statements. This indicates the order of task execution is only determined at running time. This method is not allowed to mutate the given state object. diff --git a/docs/api/qiskit/qiskit.passmanager.BasePassManager.mdx b/docs/api/qiskit/qiskit.passmanager.BasePassManager.mdx index 5b447b8a3f8..959c0c63ec6 100644 --- a/docs/api/qiskit/qiskit.passmanager.BasePassManager.mdx +++ b/docs/api/qiskit/qiskit.passmanager.BasePassManager.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.passmanager.BasePassManager # BasePassManager - + Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") Pass manager base class. @@ -24,7 +24,7 @@ python_api_name: qiskit.passmanager.BasePassManager ### append - + Append tasks to the schedule of passes. **Parameters** @@ -38,7 +38,7 @@ python_api_name: qiskit.passmanager.BasePassManager ### remove - + Removes a particular pass in the scheduler. **Parameters** @@ -52,7 +52,7 @@ python_api_name: qiskit.passmanager.BasePassManager ### replace - + Replace a particular pass in the scheduler. **Parameters** @@ -68,7 +68,7 @@ python_api_name: qiskit.passmanager.BasePassManager ### run - + Run all the passes on the specified `in_programs`. **Parameters** @@ -116,7 +116,7 @@ python_api_name: qiskit.passmanager.BasePassManager ### to\_flow\_controller - + Linearize this manager into a single [`FlowControllerLinear`](qiskit.passmanager.FlowControllerLinear "qiskit.passmanager.FlowControllerLinear"), so that it can be nested inside another pass manager. **Returns** diff --git a/docs/api/qiskit/qiskit.passmanager.ConditionalController.mdx b/docs/api/qiskit/qiskit.passmanager.ConditionalController.mdx index a2f1f606da4..f7c311e4fce 100644 --- a/docs/api/qiskit/qiskit.passmanager.ConditionalController.mdx +++ b/docs/api/qiskit/qiskit.passmanager.ConditionalController.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.passmanager.ConditionalController # ConditionalController - + Bases: [`BaseController`](qiskit.passmanager.BaseController "qiskit.passmanager.base_tasks.BaseController") A flow controller runs the pipeline once if the condition is true, or does nothing if the condition is false. @@ -31,7 +31,7 @@ python_api_name: qiskit.passmanager.ConditionalController ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -51,7 +51,7 @@ python_api_name: qiskit.passmanager.ConditionalController ### iter\_tasks - + A custom logic to choose a next task to run. Controller subclass can consume the state to build a proper task pipeline. The updated state after a task execution will be fed back in as the “return” value of any `yield` statements. This indicates the order of task execution is only determined at running time. This method is not allowed to mutate the given state object. diff --git a/docs/api/qiskit/qiskit.passmanager.DoWhileController.mdx b/docs/api/qiskit/qiskit.passmanager.DoWhileController.mdx index f36f90ba57e..5a412c58539 100644 --- a/docs/api/qiskit/qiskit.passmanager.DoWhileController.mdx +++ b/docs/api/qiskit/qiskit.passmanager.DoWhileController.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.passmanager.DoWhileController # DoWhileController - + Bases: [`BaseController`](qiskit.passmanager.BaseController "qiskit.passmanager.base_tasks.BaseController") Run the given tasks in a loop until the `do_while` condition on the property set becomes `False`. @@ -33,7 +33,7 @@ python_api_name: qiskit.passmanager.DoWhileController ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -53,7 +53,7 @@ python_api_name: qiskit.passmanager.DoWhileController ### iter\_tasks - + A custom logic to choose a next task to run. Controller subclass can consume the state to build a proper task pipeline. The updated state after a task execution will be fed back in as the “return” value of any `yield` statements. This indicates the order of task execution is only determined at running time. This method is not allowed to mutate the given state object. diff --git a/docs/api/qiskit/qiskit.passmanager.FlowControllerLinear.mdx b/docs/api/qiskit/qiskit.passmanager.FlowControllerLinear.mdx index f4df1335abb..d5c0df8cccb 100644 --- a/docs/api/qiskit/qiskit.passmanager.FlowControllerLinear.mdx +++ b/docs/api/qiskit/qiskit.passmanager.FlowControllerLinear.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.passmanager.FlowControllerLinear # FlowControllerLinear - + Bases: [`BaseController`](qiskit.passmanager.BaseController "qiskit.passmanager.base_tasks.BaseController") A standard flow controller that runs tasks one after the other. @@ -31,7 +31,7 @@ python_api_name: qiskit.passmanager.FlowControllerLinear ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -51,7 +51,7 @@ python_api_name: qiskit.passmanager.FlowControllerLinear ### iter\_tasks - + A custom logic to choose a next task to run. Controller subclass can consume the state to build a proper task pipeline. The updated state after a task execution will be fed back in as the “return” value of any `yield` statements. This indicates the order of task execution is only determined at running time. This method is not allowed to mutate the given state object. diff --git a/docs/api/qiskit/qiskit.passmanager.GenericPass.mdx b/docs/api/qiskit/qiskit.passmanager.GenericPass.mdx index a7bb47c6821..33a1b778cc8 100644 --- a/docs/api/qiskit/qiskit.passmanager.GenericPass.mdx +++ b/docs/api/qiskit/qiskit.passmanager.GenericPass.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.passmanager.GenericPass # GenericPass - + Bases: `Task`, [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") Base class of a single pass manager task. @@ -19,7 +19,7 @@ python_api_name: qiskit.passmanager.GenericPass ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -39,7 +39,7 @@ python_api_name: qiskit.passmanager.GenericPass ### name - + Name of the pass. **Return type** @@ -49,7 +49,7 @@ python_api_name: qiskit.passmanager.GenericPass ### run - + Run optimization task. **Parameters** @@ -67,7 +67,7 @@ python_api_name: qiskit.passmanager.GenericPass ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.passmanager.PassManagerState.mdx b/docs/api/qiskit/qiskit.passmanager.PassManagerState.mdx index 6621fdb7149..96d51222877 100644 --- a/docs/api/qiskit/qiskit.passmanager.PassManagerState.mdx +++ b/docs/api/qiskit/qiskit.passmanager.PassManagerState.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.passmanager.PassManagerState # PassManagerState - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A portable container object that pass manager tasks communicate through generator. diff --git a/docs/api/qiskit/qiskit.passmanager.PropertySet.mdx b/docs/api/qiskit/qiskit.passmanager.PropertySet.mdx index e6140041b1b..43733aa4ed0 100644 --- a/docs/api/qiskit/qiskit.passmanager.PropertySet.mdx +++ b/docs/api/qiskit/qiskit.passmanager.PropertySet.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.passmanager.PropertySet # PropertySet - + Bases: [`dict`](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)") A default dictionary-like object. diff --git a/docs/api/qiskit/qiskit.passmanager.WorkflowStatus.mdx b/docs/api/qiskit/qiskit.passmanager.WorkflowStatus.mdx index ddb5ab6ceaf..0b8a55da681 100644 --- a/docs/api/qiskit/qiskit.passmanager.WorkflowStatus.mdx +++ b/docs/api/qiskit/qiskit.passmanager.WorkflowStatus.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.passmanager.WorkflowStatus # WorkflowStatus - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Collection of compilation status of workflow, i.e. pass manager run. diff --git a/docs/api/qiskit/qiskit.primitives.BackendEstimator.mdx b/docs/api/qiskit/qiskit.primitives.BackendEstimator.mdx index 0c433a5ba8a..7eb5b96b1bf 100644 --- a/docs/api/qiskit/qiskit.primitives.BackendEstimator.mdx +++ b/docs/api/qiskit/qiskit.primitives.BackendEstimator.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.BackendEstimator # BackendEstimator - + Bases: [`BaseEstimatorV1`](qiskit.primitives.BaseEstimatorV1 "qiskit.primitives.base.base_estimator.BaseEstimatorV1")\[[`PrimitiveJob`](qiskit.primitives.PrimitiveJob "qiskit.primitives.primitive_job.PrimitiveJob")\[[`EstimatorResult`](qiskit.primitives.EstimatorResult "qiskit.primitives.base.estimator_result.EstimatorResult")]] Evaluates expectation value using Pauli rotation gates. @@ -69,7 +69,7 @@ python_api_name: qiskit.primitives.BackendEstimator ### run - + Run the job of the estimation of expectation value(s). `circuits`, `observables`, and `parameter_values` should have the same length. The i-th element of the result is the expectation of observable @@ -113,7 +113,7 @@ python_api_name: qiskit.primitives.BackendEstimator ### set\_options - + Set options values for the estimator. **Parameters** @@ -123,7 +123,7 @@ python_api_name: qiskit.primitives.BackendEstimator ### set\_transpile\_options - + Set the transpiler options for transpiler. :param \*\*fields: The fields to update the options diff --git a/docs/api/qiskit/qiskit.primitives.BackendSampler.mdx b/docs/api/qiskit/qiskit.primitives.BackendSampler.mdx index 78298d24bfb..a32d5f4e7bc 100644 --- a/docs/api/qiskit/qiskit.primitives.BackendSampler.mdx +++ b/docs/api/qiskit/qiskit.primitives.BackendSampler.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.BackendSampler # BackendSampler - + Bases: [`BaseSamplerV1`](qiskit.primitives.BaseSamplerV1 "qiskit.primitives.base.base_sampler.BaseSamplerV1")\[[`PrimitiveJob`](qiskit.primitives.PrimitiveJob "qiskit.primitives.primitive_job.PrimitiveJob")\[[`SamplerResult`](qiskit.primitives.SamplerResult "qiskit.primitives.base.sampler_result.SamplerResult")]] A `BaseSampler` implementation that provides an interface for leveraging the sampler interface from any backend. @@ -76,7 +76,7 @@ python_api_name: qiskit.primitives.BackendSampler ### run - + Run the job of the sampling of bitstrings. **Parameters** @@ -100,7 +100,7 @@ python_api_name: qiskit.primitives.BackendSampler ### set\_options - + Set options values for the estimator. **Parameters** @@ -110,7 +110,7 @@ python_api_name: qiskit.primitives.BackendSampler ### set\_transpile\_options - + Set the transpiler options for transpiler. :param \*\*fields: The fields to update the options. **Returns** diff --git a/docs/api/qiskit/qiskit.primitives.BaseEstimator.mdx b/docs/api/qiskit/qiskit.primitives.BaseEstimator.mdx index d6ffab04e84..ebdc7ccb7df 100644 --- a/docs/api/qiskit/qiskit.primitives.BaseEstimator.mdx +++ b/docs/api/qiskit/qiskit.primitives.BaseEstimator.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.BaseEstimator # BaseEstimator - + alias of [`BaseEstimatorV1`](qiskit.primitives.BaseEstimatorV1 "qiskit.primitives.base.base_estimator.BaseEstimatorV1") diff --git a/docs/api/qiskit/qiskit.primitives.BaseEstimatorV1.mdx b/docs/api/qiskit/qiskit.primitives.BaseEstimatorV1.mdx index afd17203a7e..067e50dc9d2 100644 --- a/docs/api/qiskit/qiskit.primitives.BaseEstimatorV1.mdx +++ b/docs/api/qiskit/qiskit.primitives.BaseEstimatorV1.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.BaseEstimatorV1 # BaseEstimatorV1 - + Bases: `BasePrimitive`, [`Generic`](https://docs.python.org/3/library/typing.html#typing.Generic "(in Python v3.12)")\[`T`] Estimator V1 base class. @@ -82,7 +82,7 @@ $$ ### run - + Run the job of the estimation of expectation value(s). `circuits`, `observables`, and `parameter_values` should have the same length. The i-th element of the result is the expectation of observable @@ -126,7 +126,7 @@ $$ ### set\_options - + Set options values for the estimator. **Parameters** diff --git a/docs/api/qiskit/qiskit.primitives.BaseEstimatorV2.mdx b/docs/api/qiskit/qiskit.primitives.BaseEstimatorV2.mdx index 7a7e05f4241..e77f20adab3 100644 --- a/docs/api/qiskit/qiskit.primitives.BaseEstimatorV2.mdx +++ b/docs/api/qiskit/qiskit.primitives.BaseEstimatorV2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.BaseEstimatorV2 # BaseEstimatorV2 - + Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") Estimator V2 base class. @@ -21,7 +21,7 @@ python_api_name: qiskit.primitives.BaseEstimatorV2 ### run - + Estimate expectation values for each provided pub (Primitive Unified Bloc). **Parameters** diff --git a/docs/api/qiskit/qiskit.primitives.BasePrimitiveJob.mdx b/docs/api/qiskit/qiskit.primitives.BasePrimitiveJob.mdx index 9db73b350f3..a7e5cd0380e 100644 --- a/docs/api/qiskit/qiskit.primitives.BasePrimitiveJob.mdx +++ b/docs/api/qiskit/qiskit.primitives.BasePrimitiveJob.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.BasePrimitiveJob # BasePrimitiveJob - + Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)"), [`Generic`](https://docs.python.org/3/library/typing.html#typing.Generic "(in Python v3.12)")\[`ResultT`, `StatusT`] Primitive job abstract base class. @@ -24,13 +24,13 @@ python_api_name: qiskit.primitives.BasePrimitiveJob ### cancel - + Attempt to cancel the job. ### cancelled - + Return whether the job has been cancelled. **Return type** @@ -40,7 +40,7 @@ python_api_name: qiskit.primitives.BasePrimitiveJob ### done - + Return whether the job has successfully run. **Return type** @@ -50,7 +50,7 @@ python_api_name: qiskit.primitives.BasePrimitiveJob ### in\_final\_state - + Return whether the job is in a final job state such as `DONE` or `ERROR`. **Return type** @@ -60,7 +60,7 @@ python_api_name: qiskit.primitives.BasePrimitiveJob ### job\_id - + Return a unique id identifying the job. **Return type** @@ -70,7 +70,7 @@ python_api_name: qiskit.primitives.BasePrimitiveJob ### result - + Return the results of the job. **Return type** @@ -80,7 +80,7 @@ python_api_name: qiskit.primitives.BasePrimitiveJob ### running - + Return whether the job is actively running. **Return type** @@ -90,7 +90,7 @@ python_api_name: qiskit.primitives.BasePrimitiveJob ### status - + Return the status of the job. **Return type** diff --git a/docs/api/qiskit/qiskit.primitives.BaseSampler.mdx b/docs/api/qiskit/qiskit.primitives.BaseSampler.mdx index de3f8ebe7af..1fff1e5773f 100644 --- a/docs/api/qiskit/qiskit.primitives.BaseSampler.mdx +++ b/docs/api/qiskit/qiskit.primitives.BaseSampler.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.BaseSampler # BaseSampler - + alias of [`BaseSamplerV1`](qiskit.primitives.BaseSamplerV1 "qiskit.primitives.base.base_sampler.BaseSamplerV1") diff --git a/docs/api/qiskit/qiskit.primitives.BaseSamplerV1.mdx b/docs/api/qiskit/qiskit.primitives.BaseSamplerV1.mdx index b9525953ac3..af58eee3566 100644 --- a/docs/api/qiskit/qiskit.primitives.BaseSamplerV1.mdx +++ b/docs/api/qiskit/qiskit.primitives.BaseSamplerV1.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.BaseSamplerV1 # BaseSamplerV1 - + Bases: `BasePrimitive`, [`Generic`](https://docs.python.org/3/library/typing.html#typing.Generic "(in Python v3.12)")\[`T`] Sampler V1 base class @@ -81,7 +81,7 @@ python_api_name: qiskit.primitives.BaseSamplerV1 ### run - + Run the job of the sampling of bitstrings. **Parameters** @@ -105,7 +105,7 @@ python_api_name: qiskit.primitives.BaseSamplerV1 ### set\_options - + Set options values for the estimator. **Parameters** diff --git a/docs/api/qiskit/qiskit.primitives.BaseSamplerV2.mdx b/docs/api/qiskit/qiskit.primitives.BaseSamplerV2.mdx index b9cf73d5f2b..a33e28b4857 100644 --- a/docs/api/qiskit/qiskit.primitives.BaseSamplerV2.mdx +++ b/docs/api/qiskit/qiskit.primitives.BaseSamplerV2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.BaseSamplerV2 # BaseSamplerV2 - + Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") Sampler V2 base class. @@ -21,7 +21,7 @@ python_api_name: qiskit.primitives.BaseSamplerV2 ### run - + Run and collect samples from each pub. **Parameters** diff --git a/docs/api/qiskit/qiskit.primitives.BitArray.mdx b/docs/api/qiskit/qiskit.primitives.BitArray.mdx index 714df94be05..87859b0cad2 100644 --- a/docs/api/qiskit/qiskit.primitives.BitArray.mdx +++ b/docs/api/qiskit/qiskit.primitives.BitArray.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.BitArray # BitArray - + Bases: `ShapedMixin` Stores an array of bit values. @@ -65,7 +65,7 @@ python_api_name: qiskit.primitives.BitArray ### bitcount - + Compute the number of ones appearing in the binary representation of each shot. **Returns** @@ -79,7 +79,7 @@ python_api_name: qiskit.primitives.BitArray ### from\_bool\_array - + Construct a new bit array from an array of bools. **Parameters** @@ -98,7 +98,7 @@ python_api_name: qiskit.primitives.BitArray ### from\_counts - + Construct a new bit array from one or more `Counts`-like objects. The `counts` can have keys that are (uniformly) integers, hexstrings, or bitstrings. Their values represent numbers of occurrences of that value. @@ -124,7 +124,7 @@ python_api_name: qiskit.primitives.BitArray ### from\_samples - + Construct a new bit array from an iterable of bitstrings, hexstrings, or integers. All samples are assumed to be integers if the first one is. Strings are all assumed to be bitstrings whenever the first string doesn’t start with `"0x"`. @@ -151,7 +151,7 @@ python_api_name: qiskit.primitives.BitArray ### get\_bitstrings - + Return a list of bitstrings. **Parameters** @@ -169,7 +169,7 @@ python_api_name: qiskit.primitives.BitArray ### get\_counts - + Return a counts dictionary with bitstring keys. **Parameters** @@ -187,7 +187,7 @@ python_api_name: qiskit.primitives.BitArray ### get\_int\_counts - + Return a counts dictionary, where bitstrings are stored as `int`s. **Parameters** @@ -205,7 +205,7 @@ python_api_name: qiskit.primitives.BitArray ### reshape - + Return a new reshaped bit array. The [`num_shots`](#qiskit.primitives.BitArray.num_shots "qiskit.primitives.BitArray.num_shots") axis is either included or excluded from the reshaping procedure depending on which picture the new shape is compatible with. For example, for a bit array with shape `(20, 5)` and `64` shots, a reshape to `(100,)` would leave the number of shots intact, whereas a reshape to `(200, 32)` would change the number of shots to `32`. diff --git a/docs/api/qiskit/qiskit.primitives.DataBin.mdx b/docs/api/qiskit/qiskit.primitives.DataBin.mdx index 1e6d102aac9..1bc22ca23c3 100644 --- a/docs/api/qiskit/qiskit.primitives.DataBin.mdx +++ b/docs/api/qiskit/qiskit.primitives.DataBin.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.DataBin # DataBin - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Base class for data bin containers. diff --git a/docs/api/qiskit/qiskit.primitives.Estimator.mdx b/docs/api/qiskit/qiskit.primitives.Estimator.mdx index 0cc569dc558..6a7ba544c95 100644 --- a/docs/api/qiskit/qiskit.primitives.Estimator.mdx +++ b/docs/api/qiskit/qiskit.primitives.Estimator.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.Estimator # Estimator - + Bases: [`BaseEstimatorV1`](qiskit.primitives.BaseEstimatorV1 "qiskit.primitives.base.base_estimator.BaseEstimatorV1")\[[`PrimitiveJob`](qiskit.primitives.PrimitiveJob "qiskit.primitives.primitive_job.PrimitiveJob")\[[`EstimatorResult`](qiskit.primitives.EstimatorResult "qiskit.primitives.base.estimator_result.EstimatorResult")]] Reference implementation of [`BaseEstimator`](qiskit.primitives.BaseEstimator "qiskit.primitives.BaseEstimator"). @@ -42,7 +42,7 @@ python_api_name: qiskit.primitives.Estimator ### run - + Run the job of the estimation of expectation value(s). `circuits`, `observables`, and `parameter_values` should have the same length. The i-th element of the result is the expectation of observable @@ -86,7 +86,7 @@ python_api_name: qiskit.primitives.Estimator ### set\_options - + Set options values for the estimator. **Parameters** diff --git a/docs/api/qiskit/qiskit.primitives.EstimatorResult.mdx b/docs/api/qiskit/qiskit.primitives.EstimatorResult.mdx index 5cccdcf6021..ece3b9a7792 100644 --- a/docs/api/qiskit/qiskit.primitives.EstimatorResult.mdx +++ b/docs/api/qiskit/qiskit.primitives.EstimatorResult.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.EstimatorResult # EstimatorResult - + Bases: `_BasePrimitiveResult` Result of Estimator. diff --git a/docs/api/qiskit/qiskit.primitives.PrimitiveJob.mdx b/docs/api/qiskit/qiskit.primitives.PrimitiveJob.mdx index 210a6ab0157..c0d1c5fe8ec 100644 --- a/docs/api/qiskit/qiskit.primitives.PrimitiveJob.mdx +++ b/docs/api/qiskit/qiskit.primitives.PrimitiveJob.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.PrimitiveJob # PrimitiveJob - + Bases: [`BasePrimitiveJob`](qiskit.primitives.BasePrimitiveJob "qiskit.primitives.base.base_primitive_job.BasePrimitiveJob")\[`ResultT`, [`JobStatus`](qiskit.providers.JobStatus "qiskit.providers.jobstatus.JobStatus")] Primitive job class for the reference implementations of Primitives. @@ -21,13 +21,13 @@ python_api_name: qiskit.primitives.PrimitiveJob ### cancel - + Attempt to cancel the job. ### cancelled - + Return whether the job has been cancelled. **Return type** @@ -37,7 +37,7 @@ python_api_name: qiskit.primitives.PrimitiveJob ### done - + Return whether the job has successfully run. **Return type** @@ -47,7 +47,7 @@ python_api_name: qiskit.primitives.PrimitiveJob ### in\_final\_state - + Return whether the job is in a final job state such as `DONE` or `ERROR`. **Return type** @@ -57,7 +57,7 @@ python_api_name: qiskit.primitives.PrimitiveJob ### job\_id - + Return a unique id identifying the job. **Return type** @@ -67,7 +67,7 @@ python_api_name: qiskit.primitives.PrimitiveJob ### result - + Return the results of the job. **Return type** @@ -77,7 +77,7 @@ python_api_name: qiskit.primitives.PrimitiveJob ### running - + Return whether the job is actively running. **Return type** @@ -87,7 +87,7 @@ python_api_name: qiskit.primitives.PrimitiveJob ### status - + Return the status of the job. **Return type** diff --git a/docs/api/qiskit/qiskit.primitives.PrimitiveResult.mdx b/docs/api/qiskit/qiskit.primitives.PrimitiveResult.mdx index fbdcb7c0119..d383652be61 100644 --- a/docs/api/qiskit/qiskit.primitives.PrimitiveResult.mdx +++ b/docs/api/qiskit/qiskit.primitives.PrimitiveResult.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.PrimitiveResult # PrimitiveResult - + Bases: [`Generic`](https://docs.python.org/3/library/typing.html#typing.Generic "(in Python v3.12)")\[`T`] A container for multiple pub results and global metadata. diff --git a/docs/api/qiskit/qiskit.primitives.PubResult.mdx b/docs/api/qiskit/qiskit.primitives.PubResult.mdx index 84ce3eb7f2a..34f4dd67e7d 100644 --- a/docs/api/qiskit/qiskit.primitives.PubResult.mdx +++ b/docs/api/qiskit/qiskit.primitives.PubResult.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.PubResult # PubResult - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Result of Primitive Unified Bloc. diff --git a/docs/api/qiskit/qiskit.primitives.Sampler.mdx b/docs/api/qiskit/qiskit.primitives.Sampler.mdx index 9c13e2ef2f0..73bb463559b 100644 --- a/docs/api/qiskit/qiskit.primitives.Sampler.mdx +++ b/docs/api/qiskit/qiskit.primitives.Sampler.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.Sampler # Sampler - + Bases: [`BaseSamplerV1`](qiskit.primitives.BaseSamplerV1 "qiskit.primitives.base.base_sampler.BaseSamplerV1")\[[`PrimitiveJob`](qiskit.primitives.PrimitiveJob "qiskit.primitives.primitive_job.PrimitiveJob")\[[`SamplerResult`](qiskit.primitives.SamplerResult "qiskit.primitives.base.sampler_result.SamplerResult")]] Sampler class. @@ -44,7 +44,7 @@ python_api_name: qiskit.primitives.Sampler ### run - + Run the job of the sampling of bitstrings. **Parameters** @@ -68,7 +68,7 @@ python_api_name: qiskit.primitives.Sampler ### set\_options - + Set options values for the estimator. **Parameters** diff --git a/docs/api/qiskit/qiskit.primitives.SamplerResult.mdx b/docs/api/qiskit/qiskit.primitives.SamplerResult.mdx index a88a61b8521..e791a5c03e0 100644 --- a/docs/api/qiskit/qiskit.primitives.SamplerResult.mdx +++ b/docs/api/qiskit/qiskit.primitives.SamplerResult.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.SamplerResult # SamplerResult - + Bases: `_BasePrimitiveResult` Result of Sampler. diff --git a/docs/api/qiskit/qiskit.primitives.StatevectorEstimator.mdx b/docs/api/qiskit/qiskit.primitives.StatevectorEstimator.mdx index 95d4de70858..a238743d7ed 100644 --- a/docs/api/qiskit/qiskit.primitives.StatevectorEstimator.mdx +++ b/docs/api/qiskit/qiskit.primitives.StatevectorEstimator.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.StatevectorEstimator # StatevectorEstimator - + Bases: [`BaseEstimatorV2`](qiskit.primitives.BaseEstimatorV2 "qiskit.primitives.base.base_estimator.BaseEstimatorV2") Simple implementation of [`BaseEstimatorV2`](qiskit.primitives.BaseEstimatorV2 "qiskit.primitives.BaseEstimatorV2") with full state vector simulation. @@ -101,7 +101,7 @@ python_api_name: qiskit.primitives.StatevectorEstimator ### run - + Estimate expectation values for each provided pub (Primitive Unified Bloc). **Parameters** diff --git a/docs/api/qiskit/qiskit.primitives.StatevectorSampler.mdx b/docs/api/qiskit/qiskit.primitives.StatevectorSampler.mdx index 8fe52c79af4..ebcad24e1c5 100644 --- a/docs/api/qiskit/qiskit.primitives.StatevectorSampler.mdx +++ b/docs/api/qiskit/qiskit.primitives.StatevectorSampler.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.StatevectorSampler # StatevectorSampler - + Bases: [`BaseSamplerV2`](qiskit.primitives.BaseSamplerV2 "qiskit.primitives.base.base_sampler.BaseSamplerV2") Simple implementation of [`BaseSamplerV2`](qiskit.primitives.BaseSamplerV2 "qiskit.primitives.BaseSamplerV2") using full state vector simulation. @@ -108,7 +108,7 @@ python_api_name: qiskit.primitives.StatevectorSampler ### run - + Run and collect samples from each pub. **Parameters** diff --git a/docs/api/qiskit/qiskit.providers.Backend.mdx b/docs/api/qiskit/qiskit.providers.Backend.mdx index 6cdefe2952d..bcf25d41141 100644 --- a/docs/api/qiskit/qiskit.providers.Backend.mdx +++ b/docs/api/qiskit/qiskit.providers.Backend.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.Backend # Backend - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Base common type for all versioned Backend abstract classes. diff --git a/docs/api/qiskit/qiskit.providers.BackendV1.mdx b/docs/api/qiskit/qiskit.providers.BackendV1.mdx index 02453e2eb18..a90fb735f37 100644 --- a/docs/api/qiskit/qiskit.providers.BackendV1.mdx +++ b/docs/api/qiskit/qiskit.providers.BackendV1.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.BackendV1 # BackendV1 - + Bases: [`Backend`](qiskit.providers.Backend "qiskit.providers.backend.Backend"), [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") Abstract class for Backends @@ -21,7 +21,7 @@ python_api_name: qiskit.providers.BackendV1 ### \_default\_options - + Return the default options This method will return a [`qiskit.providers.Options`](qiskit.providers.Options "qiskit.providers.Options") subclass object that will be used for the default options. These should be the default parameters to use for the options of the backend. @@ -51,7 +51,7 @@ python_api_name: qiskit.providers.BackendV1 In addition to the public abstract methods, subclasses should also implement the following private methods: - + Return the default options This method will return a [`qiskit.providers.Options`](qiskit.providers.Options "qiskit.providers.Options") subclass object that will be used for the default options. These should be the default parameters to use for the options of the backend. @@ -85,7 +85,7 @@ python_api_name: qiskit.providers.BackendV1 ### configuration - + Return the backend configuration. **Returns** @@ -99,7 +99,7 @@ python_api_name: qiskit.providers.BackendV1 ### name - + Return the backend name. **Returns** @@ -113,7 +113,7 @@ python_api_name: qiskit.providers.BackendV1 ### properties - + Return the backend properties. **Returns** @@ -127,7 +127,7 @@ python_api_name: qiskit.providers.BackendV1 ### provider - + Return the backend Provider. **Returns** @@ -141,7 +141,7 @@ python_api_name: qiskit.providers.BackendV1 ### run - + Run on the backend. This method returns a [`Job`](qiskit.providers.Job "qiskit.providers.Job") object that runs circuits. Depending on the backend this may be either an async or sync call. It is at the discretion of the provider to decide whether running should block until the execution is finished or not: the Job class can handle either situation. @@ -162,7 +162,7 @@ python_api_name: qiskit.providers.BackendV1 ### set\_options - + Set the options fields for the backend This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. @@ -178,7 +178,7 @@ python_api_name: qiskit.providers.BackendV1 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit/qiskit.providers.BackendV2.mdx b/docs/api/qiskit/qiskit.providers.BackendV2.mdx index 41583ef49d4..22e79c6505a 100644 --- a/docs/api/qiskit/qiskit.providers.BackendV2.mdx +++ b/docs/api/qiskit/qiskit.providers.BackendV2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.BackendV2 # BackendV2 - + Bases: [`Backend`](qiskit.providers.Backend "qiskit.providers.backend.Backend"), [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") Abstract class for Backends @@ -25,7 +25,7 @@ python_api_name: qiskit.providers.BackendV2 ### \_default\_options - + Return the default options This method will return a [`qiskit.providers.Options`](qiskit.providers.Options "qiskit.providers.Options") subclass object that will be used for the default options. These should be the default parameters to use for the options of the backend. @@ -214,7 +214,7 @@ python_api_name: qiskit.providers.BackendV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -234,7 +234,7 @@ python_api_name: qiskit.providers.BackendV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -260,7 +260,7 @@ python_api_name: qiskit.providers.BackendV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -280,7 +280,7 @@ python_api_name: qiskit.providers.BackendV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -300,7 +300,7 @@ python_api_name: qiskit.providers.BackendV2 ### qubit\_properties - + Return QubitProperties for a given qubit. If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. @@ -324,7 +324,7 @@ python_api_name: qiskit.providers.BackendV2 ### run - + Run on the backend. This method returns a [`Job`](qiskit.providers.Job "qiskit.providers.Job") object that runs circuits. Depending on the backend this may be either an async or sync call. It is at the discretion of the provider to decide whether running should block until the execution is finished or not: the Job class can handle either situation. @@ -345,7 +345,7 @@ python_api_name: qiskit.providers.BackendV2 ### set\_options - + Set the options fields for the backend This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. diff --git a/docs/api/qiskit/qiskit.providers.BackendV2Converter.mdx b/docs/api/qiskit/qiskit.providers.BackendV2Converter.mdx index b48d684b64c..6db95358d52 100644 --- a/docs/api/qiskit/qiskit.providers.BackendV2Converter.mdx +++ b/docs/api/qiskit/qiskit.providers.BackendV2Converter.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.BackendV2Converter # BackendV2Converter - + Bases: [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.backend.BackendV2") 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. @@ -167,7 +167,7 @@ python_api_name: qiskit.providers.BackendV2Converter ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -187,7 +187,7 @@ python_api_name: qiskit.providers.BackendV2Converter ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -213,7 +213,7 @@ python_api_name: qiskit.providers.BackendV2Converter ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -233,7 +233,7 @@ python_api_name: qiskit.providers.BackendV2Converter ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -253,7 +253,7 @@ python_api_name: qiskit.providers.BackendV2Converter ### qubit\_properties - + Return QubitProperties for a given qubit. If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. @@ -277,7 +277,7 @@ python_api_name: qiskit.providers.BackendV2Converter ### run - + Run on the backend. This method returns a [`Job`](qiskit.providers.Job "qiskit.providers.Job") object that runs circuits. Depending on the backend this may be either an async or sync call. It is at the discretion of the provider to decide whether running should block until the execution is finished or not: the Job class can handle either situation. @@ -298,7 +298,7 @@ python_api_name: qiskit.providers.BackendV2Converter ### set\_options - + Set the options fields for the backend This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. diff --git a/docs/api/qiskit/qiskit.providers.Job.mdx b/docs/api/qiskit/qiskit.providers.Job.mdx index d9227d61a5d..0250cbe0d03 100644 --- a/docs/api/qiskit/qiskit.providers.Job.mdx +++ b/docs/api/qiskit/qiskit.providers.Job.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.Job # Job - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Base common type for all versioned Job abstract classes. diff --git a/docs/api/qiskit/qiskit.providers.JobStatus.mdx b/docs/api/qiskit/qiskit.providers.JobStatus.mdx index c192df47dfd..26c02473cef 100644 --- a/docs/api/qiskit/qiskit.providers.JobStatus.mdx +++ b/docs/api/qiskit/qiskit.providers.JobStatus.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.JobStatus # JobStatus - + Bases: [`Enum`](https://docs.python.org/3/library/enum.html#enum.Enum "(in Python v3.12)") Class for job status enumerated type. diff --git a/docs/api/qiskit/qiskit.providers.JobV1.mdx b/docs/api/qiskit/qiskit.providers.JobV1.mdx index 2f90c305f2d..2a8b4bae11b 100644 --- a/docs/api/qiskit/qiskit.providers.JobV1.mdx +++ b/docs/api/qiskit/qiskit.providers.JobV1.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.JobV1 # JobV1 - + Bases: [`Job`](qiskit.providers.Job "qiskit.providers.job.Job"), [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") Class to handle jobs @@ -33,7 +33,7 @@ python_api_name: qiskit.providers.JobV1 ### backend - + Return the backend where this job was executed. **Return type** @@ -43,13 +43,13 @@ python_api_name: qiskit.providers.JobV1 ### cancel - + Attempt to cancel the job. ### cancelled - + Return whether the job has been cancelled. **Return type** @@ -59,7 +59,7 @@ python_api_name: qiskit.providers.JobV1 ### done - + Return whether the job has successfully run. **Return type** @@ -69,7 +69,7 @@ python_api_name: qiskit.providers.JobV1 ### in\_final\_state - + Return whether the job is in a final job state such as `DONE` or `ERROR`. **Return type** @@ -79,7 +79,7 @@ python_api_name: qiskit.providers.JobV1 ### job\_id - + Return a unique id identifying the job. **Return type** @@ -89,7 +89,7 @@ python_api_name: qiskit.providers.JobV1 ### result - + Return the results of the job. **Return type** @@ -99,7 +99,7 @@ python_api_name: qiskit.providers.JobV1 ### running - + Return whether the job is actively running. **Return type** @@ -109,7 +109,7 @@ python_api_name: qiskit.providers.JobV1 ### status - + Return the status of the job, among the values of `JobStatus`. **Return type** @@ -119,13 +119,13 @@ python_api_name: qiskit.providers.JobV1 ### submit - + Submit the job to the backend for execution. ### wait\_for\_final\_state - + Poll the job status until it progresses to a final state such as `DONE` or `ERROR`. **Parameters** diff --git a/docs/api/qiskit/qiskit.providers.Options.mdx b/docs/api/qiskit/qiskit.providers.Options.mdx index c08df5fc086..b0fa31a1bf3 100644 --- a/docs/api/qiskit/qiskit.providers.Options.mdx +++ b/docs/api/qiskit/qiskit.providers.Options.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.Options # Options - + Bases: [`Mapping`](https://docs.python.org/3/library/collections.abc.html#collections.abc.Mapping "(in Python v3.12)") Base options object @@ -75,7 +75,7 @@ python_api_name: qiskit.providers.Options ### set\_validator - + Set an optional validator for a field in the options Setting a validator enables changes to an options values to be validated for correctness when [`update_options()`](#qiskit.providers.Options.update_options "qiskit.providers.Options.update_options") is called. For example if you have a numeric field like `shots` you can specify a bounds tuple that set an upper and lower bound on the value such as: @@ -100,7 +100,7 @@ python_api_name: qiskit.providers.Options ### update\_options - + Update options with kwargs diff --git a/docs/api/qiskit/qiskit.providers.Provider.mdx b/docs/api/qiskit/qiskit.providers.Provider.mdx index fd82e02ccfa..e64b87f648f 100644 --- a/docs/api/qiskit/qiskit.providers.Provider.mdx +++ b/docs/api/qiskit/qiskit.providers.Provider.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.Provider # Provider - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Base common type for all versioned Provider abstract classes. diff --git a/docs/api/qiskit/qiskit.providers.ProviderV1.mdx b/docs/api/qiskit/qiskit.providers.ProviderV1.mdx index 2ba83db6769..07f70bccd59 100644 --- a/docs/api/qiskit/qiskit.providers.ProviderV1.mdx +++ b/docs/api/qiskit/qiskit.providers.ProviderV1.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.ProviderV1 # ProviderV1 - + Bases: [`Provider`](qiskit.providers.Provider "qiskit.providers.provider.Provider"), [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") Base class for a Backend Provider. @@ -23,7 +23,7 @@ python_api_name: qiskit.providers.ProviderV1 ### backends - + Return a list of backends matching the specified filtering. **Parameters** @@ -44,7 +44,7 @@ python_api_name: qiskit.providers.ProviderV1 ### get\_backend - + Return a single backend matching the specified filtering. **Parameters** diff --git a/docs/api/qiskit/qiskit.providers.QubitProperties.mdx b/docs/api/qiskit/qiskit.providers.QubitProperties.mdx index 0cb811fb057..47a38d82b74 100644 --- a/docs/api/qiskit/qiskit.providers.QubitProperties.mdx +++ b/docs/api/qiskit/qiskit.providers.QubitProperties.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.QubitProperties # QubitProperties - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A representation of the properties of a qubit on a backend. diff --git a/docs/api/qiskit/qiskit.providers.basic_provider.BasicProvider.mdx b/docs/api/qiskit/qiskit.providers.basic_provider.BasicProvider.mdx index 3cc7d06e0cc..9b077c79e3d 100644 --- a/docs/api/qiskit/qiskit.providers.basic_provider.BasicProvider.mdx +++ b/docs/api/qiskit/qiskit.providers.basic_provider.BasicProvider.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.basic_provider.BasicProvider # BasicProvider - + Bases: [`ProviderV1`](qiskit.providers.ProviderV1 "qiskit.providers.provider.ProviderV1") Provider for test simulators. @@ -23,7 +23,7 @@ python_api_name: qiskit.providers.basic_provider.BasicProvider ### backends - + Return a list of backends matching the specified filtering. **Parameters** @@ -44,7 +44,7 @@ python_api_name: qiskit.providers.basic_provider.BasicProvider ### get\_backend - + Return a single backend matching the specified filtering. **Parameters** diff --git a/docs/api/qiskit/qiskit.providers.basic_provider.BasicProviderError.mdx b/docs/api/qiskit/qiskit.providers.basic_provider.BasicProviderError.mdx index c745495d08b..42a128c349c 100644 --- a/docs/api/qiskit/qiskit.providers.basic_provider.BasicProviderError.mdx +++ b/docs/api/qiskit/qiskit.providers.basic_provider.BasicProviderError.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.basic_provider.BasicProviderError # qiskit.providers.basic\_provider.BasicProviderError - + Base class for errors raised by the Basic Provider. Set the error message. diff --git a/docs/api/qiskit/qiskit.providers.basic_provider.BasicProviderJob.mdx b/docs/api/qiskit/qiskit.providers.basic_provider.BasicProviderJob.mdx index 3bc3a20c624..62ae62bd5d7 100644 --- a/docs/api/qiskit/qiskit.providers.basic_provider.BasicProviderJob.mdx +++ b/docs/api/qiskit/qiskit.providers.basic_provider.BasicProviderJob.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.basic_provider.BasicProviderJob # BasicProviderJob - + Bases: [`JobV1`](qiskit.providers.JobV1 "qiskit.providers.job.JobV1") BasicProviderJob class. @@ -31,19 +31,19 @@ python_api_name: qiskit.providers.basic_provider.BasicProviderJob ### backend - + Return the instance of the backend used for this job. ### cancel - + Attempt to cancel the job. ### cancelled - + Return whether the job has been cancelled. **Return type** @@ -53,7 +53,7 @@ python_api_name: qiskit.providers.basic_provider.BasicProviderJob ### done - + Return whether the job has successfully run. **Return type** @@ -63,7 +63,7 @@ python_api_name: qiskit.providers.basic_provider.BasicProviderJob ### in\_final\_state - + Return whether the job is in a final job state such as `DONE` or `ERROR`. **Return type** @@ -73,7 +73,7 @@ python_api_name: qiskit.providers.basic_provider.BasicProviderJob ### job\_id - + Return a unique id identifying the job. **Return type** @@ -83,7 +83,7 @@ python_api_name: qiskit.providers.basic_provider.BasicProviderJob ### result - + Get job result . **Returns** @@ -97,7 +97,7 @@ python_api_name: qiskit.providers.basic_provider.BasicProviderJob ### running - + Return whether the job is actively running. **Return type** @@ -107,7 +107,7 @@ python_api_name: qiskit.providers.basic_provider.BasicProviderJob ### status - + Gets the status of the job by querying the Python’s future **Returns** @@ -121,7 +121,7 @@ python_api_name: qiskit.providers.basic_provider.BasicProviderJob ### submit - + Submit the job to the backend for execution. **Raises** @@ -131,7 +131,7 @@ python_api_name: qiskit.providers.basic_provider.BasicProviderJob ### wait\_for\_final\_state - + Poll the job status until it progresses to a final state such as `DONE` or `ERROR`. **Parameters** diff --git a/docs/api/qiskit/qiskit.providers.basic_provider.BasicSimulator.mdx b/docs/api/qiskit/qiskit.providers.basic_provider.BasicSimulator.mdx index 2c73e0b1dcf..8cbaed99173 100644 --- a/docs/api/qiskit/qiskit.providers.basic_provider.BasicSimulator.mdx +++ b/docs/api/qiskit/qiskit.providers.basic_provider.BasicSimulator.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.basic_provider.BasicSimulator # BasicSimulator - + Bases: [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.backend.BackendV2") Python implementation of a basic (non-efficient) quantum simulator. @@ -175,7 +175,7 @@ python_api_name: qiskit.providers.basic_provider.BasicSimulator ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -195,7 +195,7 @@ python_api_name: qiskit.providers.basic_provider.BasicSimulator ### configuration - + Return the simulator backend configuration. **Returns** @@ -209,7 +209,7 @@ python_api_name: qiskit.providers.basic_provider.BasicSimulator ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -235,7 +235,7 @@ python_api_name: qiskit.providers.basic_provider.BasicSimulator ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -255,7 +255,7 @@ python_api_name: qiskit.providers.basic_provider.BasicSimulator ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -275,7 +275,7 @@ python_api_name: qiskit.providers.basic_provider.BasicSimulator ### qubit\_properties - + Return QubitProperties for a given qubit. If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. @@ -299,7 +299,7 @@ python_api_name: qiskit.providers.basic_provider.BasicSimulator ### run - + Run on the backend. **Parameters** @@ -334,7 +334,7 @@ python_api_name: qiskit.providers.basic_provider.BasicSimulator ### run\_experiment - + Run an experiment (circuit) and return a single experiment result. **Parameters** @@ -372,7 +372,7 @@ python_api_name: qiskit.providers.basic_provider.BasicSimulator ### set\_options - + Set the options fields for the backend This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. diff --git a/docs/api/qiskit/qiskit.providers.convert_to_target.mdx b/docs/api/qiskit/qiskit.providers.convert_to_target.mdx index 7e7d9fa23a4..60017497156 100644 --- a/docs/api/qiskit/qiskit.providers.convert_to_target.mdx +++ b/docs/api/qiskit/qiskit.providers.convert_to_target.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.convert_to_target # qiskit.providers.convert\_to\_target - + Decode transpiler target from backend data set. This function generates `` Target` `` instance from intermediate legacy objects such as [`BackendProperties`](qiskit.providers.models.BackendProperties "qiskit.providers.models.BackendProperties") and [`PulseDefaults`](qiskit.providers.models.PulseDefaults "qiskit.providers.models.PulseDefaults"). These objects are usually components of the legacy [`BackendV1`](qiskit.providers.BackendV1 "qiskit.providers.BackendV1") model. diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.Fake127QPulseV1.mdx b/docs/api/qiskit/qiskit.providers.fake_provider.Fake127QPulseV1.mdx index f068c3b7dcc..535dfe51a5c 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.Fake127QPulseV1.mdx +++ b/docs/api/qiskit/qiskit.providers.fake_provider.Fake127QPulseV1.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.fake_provider.Fake127QPulseV1 # Fake127QPulseV1 - + Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") A fake **pulse** backend with the following characteristics: @@ -68,7 +68,7 @@ python_api_name: qiskit.providers.fake_provider.Fake127QPulseV1 ### configuration - + Return the backend configuration. **Returns** @@ -82,13 +82,13 @@ python_api_name: qiskit.providers.fake_provider.Fake127QPulseV1 ### defaults - + Returns a snapshot of device defaults ### name - + Return the backend name. **Returns** @@ -102,13 +102,13 @@ python_api_name: qiskit.providers.fake_provider.Fake127QPulseV1 ### properties - + Returns a snapshot of device properties ### provider - + Return the backend Provider. **Returns** @@ -122,13 +122,13 @@ python_api_name: qiskit.providers.fake_provider.Fake127QPulseV1 ### run - + Main job in simulator ### set\_options - + Set the options fields for the backend This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. @@ -144,7 +144,7 @@ python_api_name: qiskit.providers.fake_provider.Fake127QPulseV1 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.Fake1Q.mdx b/docs/api/qiskit/qiskit.providers.fake_provider.Fake1Q.mdx index f4dae41f6cb..3767cb20b4a 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.Fake1Q.mdx +++ b/docs/api/qiskit/qiskit.providers.fake_provider.Fake1Q.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.fake_provider.Fake1Q # Fake1Q - + Bases: [`FakeBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakeBackend "qiskit.providers.fake_provider.fake_backend.FakeBackend") A fake 1Q backend. @@ -33,7 +33,7 @@ python_api_name: qiskit.providers.fake_provider.Fake1Q ### configuration - + Return the backend configuration. **Returns** @@ -47,7 +47,7 @@ python_api_name: qiskit.providers.fake_provider.Fake1Q ### name - + Return the backend name. **Returns** @@ -61,13 +61,13 @@ python_api_name: qiskit.providers.fake_provider.Fake1Q ### properties - + Return backend properties ### provider - + Return the backend Provider. **Returns** @@ -81,13 +81,13 @@ python_api_name: qiskit.providers.fake_provider.Fake1Q ### run - + Main job in simulator ### set\_options - + Set the options fields for the backend This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. @@ -103,7 +103,7 @@ python_api_name: qiskit.providers.fake_provider.Fake1Q ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.Fake20QV1.mdx b/docs/api/qiskit/qiskit.providers.fake_provider.Fake20QV1.mdx index 92868c2bd45..069506b2bbd 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.Fake20QV1.mdx +++ b/docs/api/qiskit/qiskit.providers.fake_provider.Fake20QV1.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.fake_provider.Fake20QV1 # Fake20QV1 - + Bases: [`FakeQasmBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakeQasmBackend "qiskit.providers.fake_provider.fake_qasm_backend.FakeQasmBackend") A fake backend with the following characteristics: @@ -70,7 +70,7 @@ python_api_name: qiskit.providers.fake_provider.Fake20QV1 ### configuration - + Return the backend configuration. **Returns** @@ -84,7 +84,7 @@ python_api_name: qiskit.providers.fake_provider.Fake20QV1 ### name - + Return the backend name. **Returns** @@ -98,13 +98,13 @@ python_api_name: qiskit.providers.fake_provider.Fake20QV1 ### properties - + Returns a snapshot of device properties ### provider - + Return the backend Provider. **Returns** @@ -118,13 +118,13 @@ python_api_name: qiskit.providers.fake_provider.Fake20QV1 ### run - + Main job in simulator ### set\_options - + Set the options fields for the backend This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. @@ -140,7 +140,7 @@ python_api_name: qiskit.providers.fake_provider.Fake20QV1 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.Fake27QPulseV1.mdx b/docs/api/qiskit/qiskit.providers.fake_provider.Fake27QPulseV1.mdx index 881fbda6629..e8a09bb51ba 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.Fake27QPulseV1.mdx +++ b/docs/api/qiskit/qiskit.providers.fake_provider.Fake27QPulseV1.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.fake_provider.Fake27QPulseV1 # Fake27QPulseV1 - + Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") A fake **pulse** backend with the following characteristics: @@ -80,7 +80,7 @@ python_api_name: qiskit.providers.fake_provider.Fake27QPulseV1 ### configuration - + Return the backend configuration. **Returns** @@ -94,13 +94,13 @@ python_api_name: qiskit.providers.fake_provider.Fake27QPulseV1 ### defaults - + Returns a snapshot of device defaults ### name - + Return the backend name. **Returns** @@ -114,13 +114,13 @@ python_api_name: qiskit.providers.fake_provider.Fake27QPulseV1 ### properties - + Returns a snapshot of device properties ### provider - + Return the backend Provider. **Returns** @@ -134,13 +134,13 @@ python_api_name: qiskit.providers.fake_provider.Fake27QPulseV1 ### run - + Main job in simulator ### set\_options - + Set the options fields for the backend This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. @@ -156,7 +156,7 @@ python_api_name: qiskit.providers.fake_provider.Fake27QPulseV1 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.Fake5QV1.mdx b/docs/api/qiskit/qiskit.providers.fake_provider.Fake5QV1.mdx index 52bb34a56af..d91f3e8b039 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.Fake5QV1.mdx +++ b/docs/api/qiskit/qiskit.providers.fake_provider.Fake5QV1.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.fake_provider.Fake5QV1 # Fake5QV1 - + Bases: [`FakeQasmBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakeQasmBackend "qiskit.providers.fake_provider.fake_qasm_backend.FakeQasmBackend") A fake backend with the following characteristics: @@ -68,7 +68,7 @@ python_api_name: qiskit.providers.fake_provider.Fake5QV1 ### configuration - + Return the backend configuration. **Returns** @@ -82,7 +82,7 @@ python_api_name: qiskit.providers.fake_provider.Fake5QV1 ### name - + Return the backend name. **Returns** @@ -96,13 +96,13 @@ python_api_name: qiskit.providers.fake_provider.Fake5QV1 ### properties - + Returns a snapshot of device properties ### provider - + Return the backend Provider. **Returns** @@ -116,13 +116,13 @@ python_api_name: qiskit.providers.fake_provider.Fake5QV1 ### run - + Main job in simulator ### set\_options - + Set the options fields for the backend This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. @@ -138,7 +138,7 @@ python_api_name: qiskit.providers.fake_provider.Fake5QV1 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.Fake7QPulseV1.mdx b/docs/api/qiskit/qiskit.providers.fake_provider.Fake7QPulseV1.mdx index 66d6b0afdd7..858ccd14673 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.Fake7QPulseV1.mdx +++ b/docs/api/qiskit/qiskit.providers.fake_provider.Fake7QPulseV1.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.fake_provider.Fake7QPulseV1 # Fake7QPulseV1 - + Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") A fake **pulse** backend with the following characteristics: @@ -74,7 +74,7 @@ python_api_name: qiskit.providers.fake_provider.Fake7QPulseV1 ### configuration - + Return the backend configuration. **Returns** @@ -88,13 +88,13 @@ python_api_name: qiskit.providers.fake_provider.Fake7QPulseV1 ### defaults - + Returns a snapshot of device defaults ### name - + Return the backend name. **Returns** @@ -108,13 +108,13 @@ python_api_name: qiskit.providers.fake_provider.Fake7QPulseV1 ### properties - + Returns a snapshot of device properties ### provider - + Return the backend Provider. **Returns** @@ -128,13 +128,13 @@ python_api_name: qiskit.providers.fake_provider.Fake7QPulseV1 ### run - + Main job in simulator ### set\_options - + Set the options fields for the backend This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. @@ -150,7 +150,7 @@ python_api_name: qiskit.providers.fake_provider.Fake7QPulseV1 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeOpenPulse2Q.mdx b/docs/api/qiskit/qiskit.providers.fake_provider.FakeOpenPulse2Q.mdx index f1d7096734e..76c6831cc44 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeOpenPulse2Q.mdx +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeOpenPulse2Q.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse2Q # FakeOpenPulse2Q - + Bases: [`FakeBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakeBackend "qiskit.providers.fake_provider.fake_backend.FakeBackend") A fake 2 qubit backend for pulse test. @@ -38,7 +38,7 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse2Q ### configuration - + Return the backend configuration. **Returns** @@ -52,13 +52,13 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse2Q ### defaults - + Return the default pulse-related settings provided by the backend (such as gate to Schedule mappings). ### name - + Return the backend name. **Returns** @@ -72,13 +72,13 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse2Q ### properties - + Return the measured characteristics of the backend. ### provider - + Return the backend Provider. **Returns** @@ -92,13 +92,13 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse2Q ### run - + Main job in simulator ### set\_options - + Set the options fields for the backend This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. @@ -114,7 +114,7 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse2Q ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.FakeOpenPulse3Q.mdx b/docs/api/qiskit/qiskit.providers.fake_provider.FakeOpenPulse3Q.mdx index 5ef7671d433..d46c92db3dc 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.FakeOpenPulse3Q.mdx +++ b/docs/api/qiskit/qiskit.providers.fake_provider.FakeOpenPulse3Q.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse3Q # FakeOpenPulse3Q - + Bases: [`FakeBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakeBackend "qiskit.providers.fake_provider.fake_backend.FakeBackend") Trivial extension of the FakeOpenPulse2Q. @@ -38,7 +38,7 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse3Q ### configuration - + Return the backend configuration. **Returns** @@ -52,11 +52,11 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse3Q ### defaults - + ### name - + Return the backend name. **Returns** @@ -70,13 +70,13 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse3Q ### properties - + Return backend properties ### provider - + Return the backend Provider. **Returns** @@ -90,13 +90,13 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse3Q ### run - + Main job in simulator ### set\_options - + Set the options fields for the backend This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. @@ -112,7 +112,7 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse3Q ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit/qiskit.providers.fake_provider.GenericBackendV2.mdx b/docs/api/qiskit/qiskit.providers.fake_provider.GenericBackendV2.mdx index 43f763955bf..b415e688eb8 100644 --- a/docs/api/qiskit/qiskit.providers.fake_provider.GenericBackendV2.mdx +++ b/docs/api/qiskit/qiskit.providers.fake_provider.GenericBackendV2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.fake_provider.GenericBackendV2 # GenericBackendV2 - + Bases: [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.backend.BackendV2") Generic [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2") implementation with a configurable constructor. This class will return a [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2") instance that runs on a local simulator (in the spirit of fake backends) and contains all the necessary information to test backend-interfacing components, such as the transpiler. A [`GenericBackendV2`](#qiskit.providers.fake_provider.GenericBackendV2 "qiskit.providers.fake_provider.GenericBackendV2") instance can be constructed from as little as a specified `num_qubits`, but users can additionally configure the basis gates, coupling map, ability to run dynamic circuits (control flow instructions), instruction calibrations and dtm. The remainder of the backend properties are generated by randomly sampling from default ranges extracted from historical IBM backend data. The seed for this random generation can be fixed to ensure the reproducibility of the backend output. This backend only supports gates in the standard library, if you need a more flexible backend, there is always the option to directly instantiate a [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") object to use for transpilation. @@ -180,7 +180,7 @@ python_api_name: qiskit.providers.fake_provider.GenericBackendV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -200,7 +200,7 @@ python_api_name: qiskit.providers.fake_provider.GenericBackendV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -226,7 +226,7 @@ python_api_name: qiskit.providers.fake_provider.GenericBackendV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -246,7 +246,7 @@ python_api_name: qiskit.providers.fake_provider.GenericBackendV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -266,7 +266,7 @@ python_api_name: qiskit.providers.fake_provider.GenericBackendV2 ### qubit\_properties - + Return QubitProperties for a given qubit. If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. @@ -290,7 +290,7 @@ python_api_name: qiskit.providers.fake_provider.GenericBackendV2 ### run - + Run on the backend using a simulator. This method runs circuit jobs (an individual or a list of [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") ) and pulse jobs (an individual or a list of [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") or [`ScheduleBlock`](qiskit.pulse.ScheduleBlock "qiskit.pulse.ScheduleBlock")) using [`BasicSimulator`](qiskit.providers.basic_provider.BasicSimulator "qiskit.providers.basic_provider.BasicSimulator") or Aer simulator and returns a [`Job`](qiskit.providers.Job "qiskit.providers.Job") object. @@ -319,7 +319,7 @@ python_api_name: qiskit.providers.fake_provider.GenericBackendV2 ### set\_options - + Set the options fields for the backend This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. diff --git a/docs/api/qiskit/qiskit.providers.models.BackendConfiguration.mdx b/docs/api/qiskit/qiskit.providers.models.BackendConfiguration.mdx index 802c3a4688c..a9e0a6869e2 100644 --- a/docs/api/qiskit/qiskit.providers.models.BackendConfiguration.mdx +++ b/docs/api/qiskit/qiskit.providers.models.BackendConfiguration.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.models.BackendConfiguration # BackendConfiguration - + Bases: [`QasmBackendConfiguration`](qiskit.providers.models.QasmBackendConfiguration "qiskit.providers.models.backendconfiguration.QasmBackendConfiguration") Backwards compat shim representing an abstract backend configuration. @@ -99,7 +99,7 @@ python_api_name: qiskit.providers.models.BackendConfiguration ### from\_dict - + Create a new GateConfig object from a dictionary. **Parameters** @@ -117,7 +117,7 @@ python_api_name: qiskit.providers.models.BackendConfiguration ### to\_dict - + Return a dictionary format representation of the GateConfig. **Returns** diff --git a/docs/api/qiskit/qiskit.providers.models.BackendProperties.mdx b/docs/api/qiskit/qiskit.providers.models.BackendProperties.mdx index 1ee60b4c97a..b37e92831bd 100644 --- a/docs/api/qiskit/qiskit.providers.models.BackendProperties.mdx +++ b/docs/api/qiskit/qiskit.providers.models.BackendProperties.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.models.BackendProperties # BackendProperties - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Class representing backend properties @@ -31,19 +31,19 @@ python_api_name: qiskit.providers.models.BackendProperties ### faulty\_gates - + Return a list of faulty gates. ### faulty\_qubits - + Return a list of faulty qubits. ### frequency - + Return the frequency of the given qubit. **Parameters** @@ -61,7 +61,7 @@ python_api_name: qiskit.providers.models.BackendProperties ### from\_dict - + Create a new BackendProperties object from a dictionary. **Parameters** @@ -79,7 +79,7 @@ python_api_name: qiskit.providers.models.BackendProperties ### gate\_error - + Return gate error estimates from backend properties. **Parameters** @@ -98,7 +98,7 @@ python_api_name: qiskit.providers.models.BackendProperties ### gate\_length - + Return the duration of the gate in units of seconds. **Parameters** @@ -117,7 +117,7 @@ python_api_name: qiskit.providers.models.BackendProperties ### gate\_property - + Return the property of the given gate. **Parameters** @@ -141,7 +141,7 @@ python_api_name: qiskit.providers.models.BackendProperties ### is\_gate\_operational - + Return the operational status of the given gate. **Parameters** @@ -160,7 +160,7 @@ python_api_name: qiskit.providers.models.BackendProperties ### is\_qubit\_operational - + Return the operational status of the given qubit. **Parameters** @@ -178,7 +178,7 @@ python_api_name: qiskit.providers.models.BackendProperties ### qubit\_property - + Return the property of the given qubit. **Parameters** @@ -201,7 +201,7 @@ python_api_name: qiskit.providers.models.BackendProperties ### readout\_error - + Return the readout error of the given qubit. **Parameters** @@ -219,7 +219,7 @@ python_api_name: qiskit.providers.models.BackendProperties ### readout\_length - + Return the readout length \[sec] of the given qubit. **Parameters** @@ -237,7 +237,7 @@ python_api_name: qiskit.providers.models.BackendProperties ### t1 - + Return the T1 time of the given qubit. **Parameters** @@ -255,7 +255,7 @@ python_api_name: qiskit.providers.models.BackendProperties ### t2 - + Return the T2 time of the given qubit. **Parameters** @@ -273,7 +273,7 @@ python_api_name: qiskit.providers.models.BackendProperties ### to\_dict - + Return a dictionary format representation of the BackendProperties. **Returns** diff --git a/docs/api/qiskit/qiskit.providers.models.BackendStatus.mdx b/docs/api/qiskit/qiskit.providers.models.BackendStatus.mdx index 6523a776e6b..9bcee0ed36f 100644 --- a/docs/api/qiskit/qiskit.providers.models.BackendStatus.mdx +++ b/docs/api/qiskit/qiskit.providers.models.BackendStatus.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.models.BackendStatus # BackendStatus - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Class representing Backend Status. @@ -31,7 +31,7 @@ python_api_name: qiskit.providers.models.BackendStatus ### from\_dict - + Create a new BackendStatus object from a dictionary. **Parameters** @@ -49,7 +49,7 @@ python_api_name: qiskit.providers.models.BackendStatus ### to\_dict - + Return a dictionary format representation of the BackendStatus. **Returns** diff --git a/docs/api/qiskit/qiskit.providers.models.Command.mdx b/docs/api/qiskit/qiskit.providers.models.Command.mdx index c5661851da9..9fb50470e5e 100644 --- a/docs/api/qiskit/qiskit.providers.models.Command.mdx +++ b/docs/api/qiskit/qiskit.providers.models.Command.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.models.Command # Command - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Class representing a Command. @@ -32,7 +32,7 @@ python_api_name: qiskit.providers.models.Command ### from\_dict - + Create a new Command object from a dictionary. **Parameters** @@ -50,7 +50,7 @@ python_api_name: qiskit.providers.models.Command ### to\_dict - + Return a dictionary format representation of the Command. **Returns** diff --git a/docs/api/qiskit/qiskit.providers.models.GateConfig.mdx b/docs/api/qiskit/qiskit.providers.models.GateConfig.mdx index cb748885c2f..d398fbc70b5 100644 --- a/docs/api/qiskit/qiskit.providers.models.GateConfig.mdx +++ b/docs/api/qiskit/qiskit.providers.models.GateConfig.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.models.GateConfig # GateConfig - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Class representing a Gate Configuration @@ -47,7 +47,7 @@ python_api_name: qiskit.providers.models.GateConfig ### from\_dict - + Create a new GateConfig object from a dictionary. **Parameters** @@ -65,7 +65,7 @@ python_api_name: qiskit.providers.models.GateConfig ### to\_dict - + Return a dictionary format representation of the GateConfig. **Returns** diff --git a/docs/api/qiskit/qiskit.providers.models.GateProperties.mdx b/docs/api/qiskit/qiskit.providers.models.GateProperties.mdx index bb0ad80723b..f6ee0065256 100644 --- a/docs/api/qiskit/qiskit.providers.models.GateProperties.mdx +++ b/docs/api/qiskit/qiskit.providers.models.GateProperties.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.models.GateProperties # GateProperties - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Class representing a gate’s properties @@ -44,7 +44,7 @@ python_api_name: qiskit.providers.models.GateProperties ### from\_dict - + Create a new Gate object from a dictionary. **Parameters** @@ -62,7 +62,7 @@ python_api_name: qiskit.providers.models.GateProperties ### to\_dict - + Return a dictionary format representation of the BackendStatus. **Returns** diff --git a/docs/api/qiskit/qiskit.providers.models.JobStatus.mdx b/docs/api/qiskit/qiskit.providers.models.JobStatus.mdx index bff14be34c6..d9d59bad8ed 100644 --- a/docs/api/qiskit/qiskit.providers.models.JobStatus.mdx +++ b/docs/api/qiskit/qiskit.providers.models.JobStatus.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.models.JobStatus # JobStatus - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Model for JobStatus. @@ -47,7 +47,7 @@ python_api_name: qiskit.providers.models.JobStatus ### from\_dict - + Create a new JobStatus object from a dictionary. **Parameters** @@ -65,7 +65,7 @@ python_api_name: qiskit.providers.models.JobStatus ### to\_dict - + Return a dictionary format representation of the JobStatus. **Returns** diff --git a/docs/api/qiskit/qiskit.providers.models.Nduv.mdx b/docs/api/qiskit/qiskit.providers.models.Nduv.mdx index 01701b4f50b..7231eb48f8a 100644 --- a/docs/api/qiskit/qiskit.providers.models.Nduv.mdx +++ b/docs/api/qiskit/qiskit.providers.models.Nduv.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.models.Nduv # Nduv - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Class representing name-date-unit-value @@ -50,7 +50,7 @@ python_api_name: qiskit.providers.models.Nduv ### from\_dict - + Create a new Nduv object from a dictionary. **Parameters** @@ -68,7 +68,7 @@ python_api_name: qiskit.providers.models.Nduv ### to\_dict - + Return a dictionary format representation of the object. **Returns** diff --git a/docs/api/qiskit/qiskit.providers.models.PulseBackendConfiguration.mdx b/docs/api/qiskit/qiskit.providers.models.PulseBackendConfiguration.mdx index f0b6c82898b..f9dc1e30d1a 100644 --- a/docs/api/qiskit/qiskit.providers.models.PulseBackendConfiguration.mdx +++ b/docs/api/qiskit/qiskit.providers.models.PulseBackendConfiguration.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.models.PulseBackendConfiguration # PulseBackendConfiguration - + Bases: [`QasmBackendConfiguration`](qiskit.providers.models.QasmBackendConfiguration "qiskit.providers.models.backendconfiguration.QasmBackendConfiguration") Static configuration state for an OpenPulse enabled backend. This contains information about the set up of the device which can be useful for building Pulse programs. @@ -83,7 +83,7 @@ python_api_name: qiskit.providers.models.PulseBackendConfiguration ### acquire - + Return the acquisition channel for the given qubit. **Raises** @@ -101,7 +101,7 @@ python_api_name: qiskit.providers.models.PulseBackendConfiguration ### control - + Return the secondary drive channel for the given qubit – typically utilized for controlling multiqubit interactions. This channel is derived from other channels. **Parameters** @@ -123,7 +123,7 @@ python_api_name: qiskit.providers.models.PulseBackendConfiguration ### describe - + Return a basic description of the channel dependency. Derived channels are given weights which describe how their frames are linked to other frames. For instance, the backend could be configured with this setting: ```python @@ -159,7 +159,7 @@ python_api_name: qiskit.providers.models.PulseBackendConfiguration ### drive - + Return the drive channel for the given qubit. **Raises** @@ -177,7 +177,7 @@ python_api_name: qiskit.providers.models.PulseBackendConfiguration ### from\_dict - + Create a new GateConfig object from a dictionary. **Parameters** @@ -195,7 +195,7 @@ python_api_name: qiskit.providers.models.PulseBackendConfiguration ### get\_channel\_qubits - + Return a list of indices for qubits which are operated on directly by the given `channel`. **Raises** @@ -213,7 +213,7 @@ python_api_name: qiskit.providers.models.PulseBackendConfiguration ### get\_qubit\_channels - + Return a list of channels which operate on the given `qubit`. **Raises** @@ -231,7 +231,7 @@ python_api_name: qiskit.providers.models.PulseBackendConfiguration ### measure - + Return the measure stimulus channel for the given qubit. **Raises** @@ -249,7 +249,7 @@ python_api_name: qiskit.providers.models.PulseBackendConfiguration ### to\_dict - + Return a dictionary format representation of the GateConfig. **Returns** diff --git a/docs/api/qiskit/qiskit.providers.models.PulseDefaults.mdx b/docs/api/qiskit/qiskit.providers.models.PulseDefaults.mdx index 72ef39ae4f4..693ba95d4ff 100644 --- a/docs/api/qiskit/qiskit.providers.models.PulseDefaults.mdx +++ b/docs/api/qiskit/qiskit.providers.models.PulseDefaults.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.models.PulseDefaults # PulseDefaults - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Description of default settings for Pulse systems. These are instructions or settings that may be good starting points for the Pulse user. The user may modify these defaults for custom scheduling. @@ -33,7 +33,7 @@ python_api_name: qiskit.providers.models.PulseDefaults ### from\_dict - + Create a new PulseDefaults object from a dictionary. **Parameters** @@ -51,7 +51,7 @@ python_api_name: qiskit.providers.models.PulseDefaults ### to\_dict - + Return a dictionary format representation of the PulseDefaults. :returns: The dictionary form of the PulseDefaults. :rtype: dict diff --git a/docs/api/qiskit/qiskit.providers.models.QasmBackendConfiguration.mdx b/docs/api/qiskit/qiskit.providers.models.QasmBackendConfiguration.mdx index fe8aded409c..db930439ef2 100644 --- a/docs/api/qiskit/qiskit.providers.models.QasmBackendConfiguration.mdx +++ b/docs/api/qiskit/qiskit.providers.models.QasmBackendConfiguration.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.models.QasmBackendConfiguration # QasmBackendConfiguration - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Class representing an OpenQASM 2.0 Backend Configuration. @@ -165,7 +165,7 @@ python_api_name: qiskit.providers.models.QasmBackendConfiguration ### from\_dict - + Create a new GateConfig object from a dictionary. **Parameters** @@ -183,7 +183,7 @@ python_api_name: qiskit.providers.models.QasmBackendConfiguration ### to\_dict - + Return a dictionary format representation of the GateConfig. **Returns** diff --git a/docs/api/qiskit/qiskit.providers.models.UchannelLO.mdx b/docs/api/qiskit/qiskit.providers.models.UchannelLO.mdx index 6e672cb379a..4b4272bf051 100644 --- a/docs/api/qiskit/qiskit.providers.models.UchannelLO.mdx +++ b/docs/api/qiskit/qiskit.providers.models.UchannelLO.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.models.UchannelLO # UchannelLO - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Class representing a U Channel LO @@ -40,7 +40,7 @@ python_api_name: qiskit.providers.models.UchannelLO ### from\_dict - + Create a new UchannelLO object from a dictionary. **Parameters** @@ -58,7 +58,7 @@ python_api_name: qiskit.providers.models.UchannelLO ### to\_dict - + Return a dictionary format representation of the UChannelLO. **Returns** diff --git a/docs/api/qiskit/qiskit.pulse.InstructionScheduleMap.mdx b/docs/api/qiskit/qiskit.pulse.InstructionScheduleMap.mdx index d4a7d18f0f2..153d30609c2 100644 --- a/docs/api/qiskit/qiskit.pulse.InstructionScheduleMap.mdx +++ b/docs/api/qiskit/qiskit.pulse.InstructionScheduleMap.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap # InstructionScheduleMap - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Mapping from [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") [`qiskit.circuit.Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") names and qubits to [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") s. In particular, the mapping is formatted as type: @@ -41,7 +41,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap ### add - + Add a new known instruction for the given qubits and its mapping to a pulse schedule. **Parameters** @@ -58,7 +58,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap ### assert\_has - + Error if the given instruction is not defined. **Parameters** @@ -73,7 +73,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap ### get - + Return the defined [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") or [`ScheduleBlock`](qiskit.pulse.ScheduleBlock "qiskit.pulse.ScheduleBlock") for the given instruction on the given qubits. If all keys are not specified this method returns schedule with unbound parameters. @@ -96,7 +96,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap ### get\_parameters - + Return the list of parameters taken by the given instruction on the given qubits. **Parameters** @@ -115,7 +115,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap ### has - + Is the instruction defined for the given qubits? **Parameters** @@ -134,7 +134,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap ### has\_custom\_gate - + Return `True` if the map has user provided instruction. **Return type** @@ -144,7 +144,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap ### pop - + Remove and return the defined schedule for the given instruction on the given qubits. **Parameters** @@ -165,7 +165,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap ### qubit\_instructions - + Return a list of the instruction names that are defined by the backend for the given qubit or qubits. **Parameters** @@ -185,7 +185,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap ### qubits\_with\_instruction - + Return a list of the qubits for which the given instruction is defined. Single qubit instructions return a flat list, and multiqubit instructions return a list of ordered tuples. **Parameters** @@ -207,7 +207,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap ### remove - + Remove the given instruction from the listing of instructions defined in self. **Parameters** diff --git a/docs/api/qiskit/qiskit.pulse.Schedule.mdx b/docs/api/qiskit/qiskit.pulse.Schedule.mdx index 6f2dfbf9205..d6390404cec 100644 --- a/docs/api/qiskit/qiskit.pulse.Schedule.mdx +++ b/docs/api/qiskit/qiskit.pulse.Schedule.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.Schedule # Schedule - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A quantum program *schedule* with exact time constraints for its instructions, operating over all input signal *channels* and supporting special syntaxes for building. @@ -148,7 +148,7 @@ python_api_name: qiskit.pulse.Schedule ### append - + Return a new schedule with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. $$ @@ -169,7 +169,7 @@ $$ ### assign\_parameters - + Assign the parameters in this schedule according to the input. **Parameters** @@ -188,7 +188,7 @@ $$ ### ch\_duration - + Return the time of the end of the last instruction over the supplied channels. **Parameters** @@ -202,7 +202,7 @@ $$ ### ch\_start\_time - + Return the time of the start of the first instruction over the supplied channels. **Parameters** @@ -216,7 +216,7 @@ $$ ### ch\_stop\_time - + Return maximum start time over supplied channels. **Parameters** @@ -230,7 +230,7 @@ $$ ### draw - + Plot the schedule. **Parameters** @@ -274,7 +274,7 @@ $$ ### exclude - + Return a `Schedule` with only the instructions from this Schedule *failing* at least one of the provided filters. This method is the complement of py:meth:\~self.filter, so that: ```python @@ -297,7 +297,7 @@ $$ ### filter - + Return a new `Schedule` with only the instructions from this `Schedule` which pass though the provided filters; i.e. an instruction will be retained iff every function in `filter_funcs` returns `True`, the instruction occurs on a channel type contained in `channels`, the instruction type is contained in `instruction_types`, and the period over which the instruction operates is *fully* contained in one specified in `time_ranges` or `intervals`. If no arguments are provided, `self` is returned. @@ -318,7 +318,7 @@ $$ ### get\_parameters - + Get parameter object bound to this schedule by string name. Because different `Parameter` objects can have the same name, this method returns a list of `Parameter` s for the provided name. @@ -338,7 +338,7 @@ $$ ### initialize\_from - + Create new schedule object with metadata of another schedule object. **Parameters** @@ -361,7 +361,7 @@ $$ ### insert - + Return a new schedule with `schedule` inserted into `self` at `start_time`. **Parameters** @@ -378,7 +378,7 @@ $$ ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -388,7 +388,7 @@ $$ ### replace - + Return a `Schedule` with the `old` instruction replaced with a `new` instruction. The replacement matching is based on an instruction equality check. @@ -447,7 +447,7 @@ $$ ### shift - + Return a schedule shifted forward by `time`. **Parameters** diff --git a/docs/api/qiskit/qiskit.pulse.ScheduleBlock.mdx b/docs/api/qiskit/qiskit.pulse.ScheduleBlock.mdx index c16db928d63..8ad09e04bc8 100644 --- a/docs/api/qiskit/qiskit.pulse.ScheduleBlock.mdx +++ b/docs/api/qiskit/qiskit.pulse.ScheduleBlock.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.ScheduleBlock # ScheduleBlock - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Time-ordered sequence of instructions with alignment context. @@ -200,7 +200,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### append - + Return a new schedule block with `block` appended to the context block. The execution time is automatically assigned when the block is converted into schedule. **Parameters** @@ -224,7 +224,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### assign\_parameters - + Assign the parameters in this schedule according to the input. **Parameters** @@ -247,7 +247,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### assign\_references - + Assign schedules to references. It is only capable of assigning a schedule block to immediate references which are directly referred within the current scope. Let’s see following example: @@ -305,7 +305,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### ch\_duration - + Return the time of the end of the last instruction over the supplied channels. **Parameters** @@ -319,7 +319,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### draw - + Plot the schedule. **Parameters** @@ -363,7 +363,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### exclude - + Return a new `ScheduleBlock` with only the instructions from this `ScheduleBlock` *failing* at least one of the provided filters. This method is the complement of py:meth:\~self.filter, so that: ```python @@ -388,7 +388,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### filter - + Return a new `ScheduleBlock` with only the instructions from this `ScheduleBlock` which pass though the provided filters; i.e. an instruction will be retained if every function in `filter_funcs` returns `True`, the instruction occurs on a channel type contained in `channels`, and the instruction type is contained in `instruction_types`. @@ -411,7 +411,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### get\_parameters - + Get parameter object bound to this schedule by string name. Note that we can define different parameter objects with the same name, because these different objects are identified by their unique uuid. For example, @@ -449,7 +449,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### initialize\_from - + Create new schedule object with metadata of another schedule object. **Parameters** @@ -472,7 +472,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -482,7 +482,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### is\_referenced - + Return True iff the current schedule block contains reference to subroutine. **Return type** @@ -492,7 +492,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### is\_schedulable - + Return `True` if all durations are assigned. **Return type** @@ -502,7 +502,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### replace - + Return a `ScheduleBlock` with the `old` component replaced with a `new` component. **Parameters** diff --git a/docs/api/qiskit/qiskit.pulse.channels.AcquireChannel.mdx b/docs/api/qiskit/qiskit.pulse.channels.AcquireChannel.mdx index 679b807418a..4bee8ab7f5c 100644 --- a/docs/api/qiskit/qiskit.pulse.channels.AcquireChannel.mdx +++ b/docs/api/qiskit/qiskit.pulse.channels.AcquireChannel.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.channels.AcquireChannel # AcquireChannel - + Bases: [`Channel`](pulse#qiskit.pulse.channels.Channel "qiskit.pulse.channels.Channel") Acquire channels are used to collect data. @@ -49,7 +49,7 @@ python_api_name: qiskit.pulse.channels.AcquireChannel ### is\_parameterized - + Return True iff the channel is parameterized. **Return type** diff --git a/docs/api/qiskit/qiskit.pulse.channels.ControlChannel.mdx b/docs/api/qiskit/qiskit.pulse.channels.ControlChannel.mdx index 96bddcdfda4..6bb480e79f7 100644 --- a/docs/api/qiskit/qiskit.pulse.channels.ControlChannel.mdx +++ b/docs/api/qiskit/qiskit.pulse.channels.ControlChannel.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.channels.ControlChannel # ControlChannel - + Bases: `PulseChannel` Control channels provide supplementary control over the qubit to the drive channel. These are often associated with multi-qubit gate operations. They may not map trivially to a particular qubit index. @@ -49,7 +49,7 @@ python_api_name: qiskit.pulse.channels.ControlChannel ### is\_parameterized - + Return True iff the channel is parameterized. **Return type** diff --git a/docs/api/qiskit/qiskit.pulse.channels.DriveChannel.mdx b/docs/api/qiskit/qiskit.pulse.channels.DriveChannel.mdx index bca82971e97..608c4e1516b 100644 --- a/docs/api/qiskit/qiskit.pulse.channels.DriveChannel.mdx +++ b/docs/api/qiskit/qiskit.pulse.channels.DriveChannel.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.channels.DriveChannel # DriveChannel - + Bases: `PulseChannel` Drive channels transmit signals to qubits which enact gate operations. @@ -49,7 +49,7 @@ python_api_name: qiskit.pulse.channels.DriveChannel ### is\_parameterized - + Return True iff the channel is parameterized. **Return type** diff --git a/docs/api/qiskit/qiskit.pulse.channels.MeasureChannel.mdx b/docs/api/qiskit/qiskit.pulse.channels.MeasureChannel.mdx index 14b03b5e812..e8545f54241 100644 --- a/docs/api/qiskit/qiskit.pulse.channels.MeasureChannel.mdx +++ b/docs/api/qiskit/qiskit.pulse.channels.MeasureChannel.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.channels.MeasureChannel # MeasureChannel - + Bases: `PulseChannel` Measure channels transmit measurement stimulus pulses for readout. @@ -49,7 +49,7 @@ python_api_name: qiskit.pulse.channels.MeasureChannel ### is\_parameterized - + Return True iff the channel is parameterized. **Return type** diff --git a/docs/api/qiskit/qiskit.pulse.channels.MemorySlot.mdx b/docs/api/qiskit/qiskit.pulse.channels.MemorySlot.mdx index 412a1a5b750..0b0643c0d1e 100644 --- a/docs/api/qiskit/qiskit.pulse.channels.MemorySlot.mdx +++ b/docs/api/qiskit/qiskit.pulse.channels.MemorySlot.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.channels.MemorySlot # MemorySlot - + Bases: `ClassicalIOChannel` Memory slot channels represent classical memory storage. @@ -49,7 +49,7 @@ python_api_name: qiskit.pulse.channels.MemorySlot ### is\_parameterized - + Return True iff the channel is parameterized. **Return type** diff --git a/docs/api/qiskit/qiskit.pulse.channels.RegisterSlot.mdx b/docs/api/qiskit/qiskit.pulse.channels.RegisterSlot.mdx index ed50bc2ddf5..6f06a864fbb 100644 --- a/docs/api/qiskit/qiskit.pulse.channels.RegisterSlot.mdx +++ b/docs/api/qiskit/qiskit.pulse.channels.RegisterSlot.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.channels.RegisterSlot # RegisterSlot - + Bases: `ClassicalIOChannel` Classical resister slot channels represent classical registers (low-latency classical memory). @@ -49,7 +49,7 @@ python_api_name: qiskit.pulse.channels.RegisterSlot ### is\_parameterized - + Return True iff the channel is parameterized. **Return type** diff --git a/docs/api/qiskit/qiskit.pulse.channels.SnapshotChannel.mdx b/docs/api/qiskit/qiskit.pulse.channels.SnapshotChannel.mdx index ebc5638b7d2..8bcf0613fa9 100644 --- a/docs/api/qiskit/qiskit.pulse.channels.SnapshotChannel.mdx +++ b/docs/api/qiskit/qiskit.pulse.channels.SnapshotChannel.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.channels.SnapshotChannel # SnapshotChannel - + Bases: `ClassicalIOChannel` Snapshot channels are used to specify instructions for simulators. @@ -45,7 +45,7 @@ python_api_name: qiskit.pulse.channels.SnapshotChannel ### is\_parameterized - + Return True iff the channel is parameterized. **Return type** diff --git a/docs/api/qiskit/qiskit.pulse.instructions.Acquire.mdx b/docs/api/qiskit/qiskit.pulse.instructions.Acquire.mdx index 292a79761e4..891a37bee08 100644 --- a/docs/api/qiskit/qiskit.pulse.instructions.Acquire.mdx +++ b/docs/api/qiskit/qiskit.pulse.instructions.Acquire.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.instructions.Acquire # Acquire - + Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") The Acquire instruction is used to trigger the ADC associated with a particular qubit; e.g. instantiated with AcquireChannel(0), the Acquire command will trigger data collection for the channel associated with qubit 0 readout. This instruction also provides acquisition metadata: @@ -127,7 +127,7 @@ python_api_name: qiskit.pulse.instructions.Acquire ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -146,7 +146,7 @@ python_api_name: qiskit.pulse.instructions.Acquire ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -160,7 +160,7 @@ python_api_name: qiskit.pulse.instructions.Acquire ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -174,7 +174,7 @@ python_api_name: qiskit.pulse.instructions.Acquire ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -188,7 +188,7 @@ python_api_name: qiskit.pulse.instructions.Acquire ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -208,7 +208,7 @@ python_api_name: qiskit.pulse.instructions.Acquire ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -218,7 +218,7 @@ python_api_name: qiskit.pulse.instructions.Acquire ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/qiskit.pulse.instructions.Delay.mdx b/docs/api/qiskit/qiskit.pulse.instructions.Delay.mdx index 5f2adfd87be..bea7b3163b0 100644 --- a/docs/api/qiskit/qiskit.pulse.instructions.Delay.mdx +++ b/docs/api/qiskit/qiskit.pulse.instructions.Delay.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.instructions.Delay # Delay - + Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") A blocking instruction with no other effect. The delay is used for aligning and scheduling other instructions. @@ -101,7 +101,7 @@ python_api_name: qiskit.pulse.instructions.Delay ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -120,7 +120,7 @@ python_api_name: qiskit.pulse.instructions.Delay ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -134,7 +134,7 @@ python_api_name: qiskit.pulse.instructions.Delay ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -148,7 +148,7 @@ python_api_name: qiskit.pulse.instructions.Delay ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -162,7 +162,7 @@ python_api_name: qiskit.pulse.instructions.Delay ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -182,7 +182,7 @@ python_api_name: qiskit.pulse.instructions.Delay ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -192,7 +192,7 @@ python_api_name: qiskit.pulse.instructions.Delay ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/qiskit.pulse.instructions.Play.mdx b/docs/api/qiskit/qiskit.pulse.instructions.Play.mdx index 65bdc03d576..d503dcb6111 100644 --- a/docs/api/qiskit/qiskit.pulse.instructions.Play.mdx +++ b/docs/api/qiskit/qiskit.pulse.instructions.Play.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.instructions.Play # Play - + Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") This instruction is responsible for applying a pulse on a channel. @@ -95,7 +95,7 @@ python_api_name: qiskit.pulse.instructions.Play ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -114,7 +114,7 @@ python_api_name: qiskit.pulse.instructions.Play ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -128,7 +128,7 @@ python_api_name: qiskit.pulse.instructions.Play ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -142,7 +142,7 @@ python_api_name: qiskit.pulse.instructions.Play ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -156,7 +156,7 @@ python_api_name: qiskit.pulse.instructions.Play ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -176,7 +176,7 @@ python_api_name: qiskit.pulse.instructions.Play ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -186,7 +186,7 @@ python_api_name: qiskit.pulse.instructions.Play ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/qiskit.pulse.instructions.Reference.mdx b/docs/api/qiskit/qiskit.pulse.instructions.Reference.mdx index c6ac486ad4c..618f82cc10d 100644 --- a/docs/api/qiskit/qiskit.pulse.instructions.Reference.mdx +++ b/docs/api/qiskit/qiskit.pulse.instructions.Reference.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.instructions.Reference # Reference - + Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") Pulse compiler directive that refers to a subroutine. @@ -100,7 +100,7 @@ python_api_name: qiskit.pulse.instructions.Reference ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -119,7 +119,7 @@ python_api_name: qiskit.pulse.instructions.Reference ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -133,7 +133,7 @@ python_api_name: qiskit.pulse.instructions.Reference ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -147,7 +147,7 @@ python_api_name: qiskit.pulse.instructions.Reference ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -161,7 +161,7 @@ python_api_name: qiskit.pulse.instructions.Reference ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -181,7 +181,7 @@ python_api_name: qiskit.pulse.instructions.Reference ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -191,7 +191,7 @@ python_api_name: qiskit.pulse.instructions.Reference ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/qiskit.pulse.instructions.RelativeBarrier.mdx b/docs/api/qiskit/qiskit.pulse.instructions.RelativeBarrier.mdx index 8c2d3a834a8..2db8ea924ac 100644 --- a/docs/api/qiskit/qiskit.pulse.instructions.RelativeBarrier.mdx +++ b/docs/api/qiskit/qiskit.pulse.instructions.RelativeBarrier.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.instructions.RelativeBarrier # RelativeBarrier - + Bases: `Directive` Pulse `RelativeBarrier` directive. @@ -82,7 +82,7 @@ python_api_name: qiskit.pulse.instructions.RelativeBarrier ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -101,7 +101,7 @@ python_api_name: qiskit.pulse.instructions.RelativeBarrier ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -115,7 +115,7 @@ python_api_name: qiskit.pulse.instructions.RelativeBarrier ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -129,7 +129,7 @@ python_api_name: qiskit.pulse.instructions.RelativeBarrier ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -143,7 +143,7 @@ python_api_name: qiskit.pulse.instructions.RelativeBarrier ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -163,7 +163,7 @@ python_api_name: qiskit.pulse.instructions.RelativeBarrier ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -173,7 +173,7 @@ python_api_name: qiskit.pulse.instructions.RelativeBarrier ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/qiskit.pulse.instructions.SetFrequency.mdx b/docs/api/qiskit/qiskit.pulse.instructions.SetFrequency.mdx index 3bc2f8dbd8d..86f82fa90dc 100644 --- a/docs/api/qiskit/qiskit.pulse.instructions.SetFrequency.mdx +++ b/docs/api/qiskit/qiskit.pulse.instructions.SetFrequency.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.instructions.SetFrequency # SetFrequency - + Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") Set the channel frequency. This instruction operates on `PulseChannel` s. A `PulseChannel` creates pulses of the form @@ -103,7 +103,7 @@ $$ ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -122,7 +122,7 @@ $$ ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -136,7 +136,7 @@ $$ ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -150,7 +150,7 @@ $$ ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -164,7 +164,7 @@ $$ ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -184,7 +184,7 @@ $$ ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -194,7 +194,7 @@ $$ ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/qiskit.pulse.instructions.SetPhase.mdx b/docs/api/qiskit/qiskit.pulse.instructions.SetPhase.mdx index 519ed0bd69b..d2b2d1f8049 100644 --- a/docs/api/qiskit/qiskit.pulse.instructions.SetPhase.mdx +++ b/docs/api/qiskit/qiskit.pulse.instructions.SetPhase.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.instructions.SetPhase # SetPhase - + Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") The set phase instruction sets the phase of the proceeding pulses on that channel to `phase` radians. @@ -101,7 +101,7 @@ $$ ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -120,7 +120,7 @@ $$ ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -134,7 +134,7 @@ $$ ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -148,7 +148,7 @@ $$ ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -162,7 +162,7 @@ $$ ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -182,7 +182,7 @@ $$ ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -192,7 +192,7 @@ $$ ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/qiskit.pulse.instructions.ShiftFrequency.mdx b/docs/api/qiskit/qiskit.pulse.instructions.ShiftFrequency.mdx index 8a76f74a98c..236683243fa 100644 --- a/docs/api/qiskit/qiskit.pulse.instructions.ShiftFrequency.mdx +++ b/docs/api/qiskit/qiskit.pulse.instructions.ShiftFrequency.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.instructions.ShiftFrequency # ShiftFrequency - + Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") Shift the channel frequency away from the current frequency. @@ -93,7 +93,7 @@ python_api_name: qiskit.pulse.instructions.ShiftFrequency ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -112,7 +112,7 @@ python_api_name: qiskit.pulse.instructions.ShiftFrequency ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -126,7 +126,7 @@ python_api_name: qiskit.pulse.instructions.ShiftFrequency ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -140,7 +140,7 @@ python_api_name: qiskit.pulse.instructions.ShiftFrequency ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -154,7 +154,7 @@ python_api_name: qiskit.pulse.instructions.ShiftFrequency ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -174,7 +174,7 @@ python_api_name: qiskit.pulse.instructions.ShiftFrequency ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -184,7 +184,7 @@ python_api_name: qiskit.pulse.instructions.ShiftFrequency ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/qiskit.pulse.instructions.ShiftPhase.mdx b/docs/api/qiskit/qiskit.pulse.instructions.ShiftPhase.mdx index da32fde4669..b40c3275731 100644 --- a/docs/api/qiskit/qiskit.pulse.instructions.ShiftPhase.mdx +++ b/docs/api/qiskit/qiskit.pulse.instructions.ShiftPhase.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.instructions.ShiftPhase # ShiftPhase - + Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") The shift phase instruction updates the modulation phase of proceeding pulses played on the same [`Channel`](pulse#qiskit.pulse.channels.Channel "qiskit.pulse.channels.Channel"). It is a relative increase in phase determined by the `phase` operand. @@ -105,7 +105,7 @@ $$ ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -124,7 +124,7 @@ $$ ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -138,7 +138,7 @@ $$ ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -152,7 +152,7 @@ $$ ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -166,7 +166,7 @@ $$ ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -186,7 +186,7 @@ $$ ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -196,7 +196,7 @@ $$ ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/qiskit.pulse.instructions.Snapshot.mdx b/docs/api/qiskit/qiskit.pulse.instructions.Snapshot.mdx index ee115f56ec0..fa2683cdb8c 100644 --- a/docs/api/qiskit/qiskit.pulse.instructions.Snapshot.mdx +++ b/docs/api/qiskit/qiskit.pulse.instructions.Snapshot.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.instructions.Snapshot # Snapshot - + Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") An instruction targeted for simulators, to capture a moment in the simulation. @@ -99,7 +99,7 @@ python_api_name: qiskit.pulse.instructions.Snapshot ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -118,7 +118,7 @@ python_api_name: qiskit.pulse.instructions.Snapshot ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -132,7 +132,7 @@ python_api_name: qiskit.pulse.instructions.Snapshot ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -146,7 +146,7 @@ python_api_name: qiskit.pulse.instructions.Snapshot ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -160,7 +160,7 @@ python_api_name: qiskit.pulse.instructions.Snapshot ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -180,7 +180,7 @@ python_api_name: qiskit.pulse.instructions.Snapshot ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -190,7 +190,7 @@ python_api_name: qiskit.pulse.instructions.Snapshot ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/qiskit.pulse.instructions.TimeBlockade.mdx b/docs/api/qiskit/qiskit.pulse.instructions.TimeBlockade.mdx index 3e8127631e8..7d3adf76519 100644 --- a/docs/api/qiskit/qiskit.pulse.instructions.TimeBlockade.mdx +++ b/docs/api/qiskit/qiskit.pulse.instructions.TimeBlockade.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.instructions.TimeBlockade # TimeBlockade - + Bases: `Directive` Pulse `TimeBlockade` directive. @@ -118,7 +118,7 @@ python_api_name: qiskit.pulse.instructions.TimeBlockade ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -137,7 +137,7 @@ python_api_name: qiskit.pulse.instructions.TimeBlockade ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -151,7 +151,7 @@ python_api_name: qiskit.pulse.instructions.TimeBlockade ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -165,7 +165,7 @@ python_api_name: qiskit.pulse.instructions.TimeBlockade ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -179,7 +179,7 @@ python_api_name: qiskit.pulse.instructions.TimeBlockade ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -199,7 +199,7 @@ python_api_name: qiskit.pulse.instructions.TimeBlockade ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -209,7 +209,7 @@ python_api_name: qiskit.pulse.instructions.TimeBlockade ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/qiskit.pulse.library.Constant_class.rst.mdx b/docs/api/qiskit/qiskit.pulse.library.Constant_class.rst.mdx index 5222d6fa025..e85dd878f8e 100644 --- a/docs/api/qiskit/qiskit.pulse.library.Constant_class.rst.mdx +++ b/docs/api/qiskit/qiskit.pulse.library.Constant_class.rst.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.library.Constant # Constant - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A simple constant pulse, with an amplitude value and a duration: diff --git a/docs/api/qiskit/qiskit.pulse.library.Cos_class.rst.mdx b/docs/api/qiskit/qiskit.pulse.library.Cos_class.rst.mdx index 819c030170d..ef4e51c6532 100644 --- a/docs/api/qiskit/qiskit.pulse.library.Cos_class.rst.mdx +++ b/docs/api/qiskit/qiskit.pulse.library.Cos_class.rst.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.Cos # qiskit.pulse.library.Cos - + A cosine pulse. The envelope of the pulse is given by: diff --git a/docs/api/qiskit/qiskit.pulse.library.Drag_class.rst.mdx b/docs/api/qiskit/qiskit.pulse.library.Drag_class.rst.mdx index fddb2a4cb1e..c65291cb16f 100644 --- a/docs/api/qiskit/qiskit.pulse.library.Drag_class.rst.mdx +++ b/docs/api/qiskit/qiskit.pulse.library.Drag_class.rst.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.library.Drag # Drag - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") The Derivative Removal by Adiabatic Gate (DRAG) pulse is a standard Gaussian pulse with an additional Gaussian derivative component and lifting applied. diff --git a/docs/api/qiskit/qiskit.pulse.library.GaussianDeriv.mdx b/docs/api/qiskit/qiskit.pulse.library.GaussianDeriv.mdx index 99e649808ad..931aeb82131 100644 --- a/docs/api/qiskit/qiskit.pulse.library.GaussianDeriv.mdx +++ b/docs/api/qiskit/qiskit.pulse.library.GaussianDeriv.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.GaussianDeriv # qiskit.pulse.library.GaussianDeriv - + An unnormalized Gaussian derivative pulse. The Gaussian function is centered around the halfway point of the pulse, and the envelope of the pulse is given by: diff --git a/docs/api/qiskit/qiskit.pulse.library.GaussianSquare.mdx b/docs/api/qiskit/qiskit.pulse.library.GaussianSquare.mdx index 84a62d7ff97..193fe19b2e3 100644 --- a/docs/api/qiskit/qiskit.pulse.library.GaussianSquare.mdx +++ b/docs/api/qiskit/qiskit.pulse.library.GaussianSquare.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.library.GaussianSquare # GaussianSquare - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A square pulse with a Gaussian shaped risefall on both sides lifted such that its first sample is zero. diff --git a/docs/api/qiskit/qiskit.pulse.library.GaussianSquareDrag.mdx b/docs/api/qiskit/qiskit.pulse.library.GaussianSquareDrag.mdx index 785d8e96488..92efaf74f04 100644 --- a/docs/api/qiskit/qiskit.pulse.library.GaussianSquareDrag.mdx +++ b/docs/api/qiskit/qiskit.pulse.library.GaussianSquareDrag.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.GaussianSquareDrag # qiskit.pulse.library.GaussianSquareDrag - + A square pulse with a Drag shaped rise and fall This pulse shape is similar to [`GaussianSquare`](qiskit.pulse.library.GaussianSquare "qiskit.pulse.library.GaussianSquare") but uses [`Drag`](qiskit.pulse.library.Drag_class.rst#qiskit.pulse.library.Drag "qiskit.pulse.library.Drag") for its rise and fall instead of [`Gaussian`](qiskit.pulse.library.Gaussian_class.rst#qiskit.pulse.library.Gaussian "qiskit.pulse.library.Gaussian"). The addition of the DRAG component of the rise and fall is sometimes helpful in suppressing the spectral content of the pulse at frequencies near to, but slightly offset from, the fundamental frequency of the drive. When there is a spectator qubit close in frequency to the fundamental frequency, suppressing the drive at the spectator’s frequency can help avoid unwanted excitation of the spectator. diff --git a/docs/api/qiskit/qiskit.pulse.library.Gaussian_class.rst.mdx b/docs/api/qiskit/qiskit.pulse.library.Gaussian_class.rst.mdx index cbe2f121148..bc56128261f 100644 --- a/docs/api/qiskit/qiskit.pulse.library.Gaussian_class.rst.mdx +++ b/docs/api/qiskit/qiskit.pulse.library.Gaussian_class.rst.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.library.Gaussian # Gaussian - + 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): diff --git a/docs/api/qiskit/qiskit.pulse.library.Sawtooth_class.rst.mdx b/docs/api/qiskit/qiskit.pulse.library.Sawtooth_class.rst.mdx index 49fe6ca622a..0ba87a50028 100644 --- a/docs/api/qiskit/qiskit.pulse.library.Sawtooth_class.rst.mdx +++ b/docs/api/qiskit/qiskit.pulse.library.Sawtooth_class.rst.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.Sawtooth # qiskit.pulse.library.Sawtooth - + A sawtooth pulse. The envelope of the pulse is given by: diff --git a/docs/api/qiskit/qiskit.pulse.library.SechDeriv.mdx b/docs/api/qiskit/qiskit.pulse.library.SechDeriv.mdx index 05f0883b637..fc2a5fb9261 100644 --- a/docs/api/qiskit/qiskit.pulse.library.SechDeriv.mdx +++ b/docs/api/qiskit/qiskit.pulse.library.SechDeriv.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.SechDeriv # qiskit.pulse.library.SechDeriv - + An unnormalized sech derivative pulse. The sech function is centered around the halfway point of the pulse, and the envelope of the pulse is given by: diff --git a/docs/api/qiskit/qiskit.pulse.library.Sech_fun.rst.mdx b/docs/api/qiskit/qiskit.pulse.library.Sech_fun.rst.mdx index 0972b13cf19..467a22b9e5a 100644 --- a/docs/api/qiskit/qiskit.pulse.library.Sech_fun.rst.mdx +++ b/docs/api/qiskit/qiskit.pulse.library.Sech_fun.rst.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.Sech # qiskit.pulse.library.Sech - + An unnormalized sech pulse. The sech function is centered around the halfway point of the pulse, and the envelope of the pulse is given by: diff --git a/docs/api/qiskit/qiskit.pulse.library.Sin_class.rst.mdx b/docs/api/qiskit/qiskit.pulse.library.Sin_class.rst.mdx index f0bcaf74b13..22f6eb569cb 100644 --- a/docs/api/qiskit/qiskit.pulse.library.Sin_class.rst.mdx +++ b/docs/api/qiskit/qiskit.pulse.library.Sin_class.rst.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.Sin # qiskit.pulse.library.Sin - + A sinusoidal pulse. The envelope of the pulse is given by: diff --git a/docs/api/qiskit/qiskit.pulse.library.Square_fun.rst.mdx b/docs/api/qiskit/qiskit.pulse.library.Square_fun.rst.mdx index 1427564ed3b..7ab275b0d7f 100644 --- a/docs/api/qiskit/qiskit.pulse.library.Square_fun.rst.mdx +++ b/docs/api/qiskit/qiskit.pulse.library.Square_fun.rst.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.Square # qiskit.pulse.library.Square - + A square wave pulse. The envelope of the pulse is given by: diff --git a/docs/api/qiskit/qiskit.pulse.library.SymbolicPulse.mdx b/docs/api/qiskit/qiskit.pulse.library.SymbolicPulse.mdx index cb6aa55aa3d..1187f71a72a 100644 --- a/docs/api/qiskit/qiskit.pulse.library.SymbolicPulse.mdx +++ b/docs/api/qiskit/qiskit.pulse.library.SymbolicPulse.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.library.SymbolicPulse # SymbolicPulse - + Bases: `Pulse` The pulse representation model with parameters and symbolic expressions. @@ -172,7 +172,7 @@ $$ ### draw - + Plot the interpolated envelope of pulse. **Parameters** @@ -208,7 +208,7 @@ $$ ### get\_waveform - + Return a Waveform with samples filled according to the formula that the pulse represents and the parameter values it contains. Since the returned array is a discretized time series of the continuous function, this method uses a midpoint sampler. For `duration`, return: @@ -233,7 +233,7 @@ $$ ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -243,7 +243,7 @@ $$ ### validate\_parameters - + Validate parameters. **Raises** diff --git a/docs/api/qiskit/qiskit.pulse.library.Triangle_class.rst.mdx b/docs/api/qiskit/qiskit.pulse.library.Triangle_class.rst.mdx index c8536b7011c..28d88a238e7 100644 --- a/docs/api/qiskit/qiskit.pulse.library.Triangle_class.rst.mdx +++ b/docs/api/qiskit/qiskit.pulse.library.Triangle_class.rst.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.Triangle # qiskit.pulse.library.Triangle - + A triangle wave pulse. The envelope of the pulse is given by: diff --git a/docs/api/qiskit/qiskit.pulse.library.Waveform.mdx b/docs/api/qiskit/qiskit.pulse.library.Waveform.mdx index b2f341f28c1..82169c3b0bc 100644 --- a/docs/api/qiskit/qiskit.pulse.library.Waveform.mdx +++ b/docs/api/qiskit/qiskit.pulse.library.Waveform.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.library.Waveform # Waveform - + Bases: `Pulse` A pulse specified completely by complex-valued samples; each sample is played for the duration of the backend cycle-time, dt. @@ -58,7 +58,7 @@ python_api_name: qiskit.pulse.library.Waveform ### draw - + Plot the interpolated envelope of pulse. **Parameters** @@ -94,7 +94,7 @@ python_api_name: qiskit.pulse.library.Waveform ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** diff --git a/docs/api/qiskit/qiskit.pulse.library.gaussian_square_echo.mdx b/docs/api/qiskit/qiskit.pulse.library.gaussian_square_echo.mdx index f9ec2f4d77c..50b96f5c393 100644 --- a/docs/api/qiskit/qiskit.pulse.library.gaussian_square_echo.mdx +++ b/docs/api/qiskit/qiskit.pulse.library.gaussian_square_echo.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.gaussian_square_echo # qiskit.pulse.library.gaussian\_square\_echo - + 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: diff --git a/docs/api/qiskit/qiskit.pulse.transforms.AlignEquispaced.mdx b/docs/api/qiskit/qiskit.pulse.transforms.AlignEquispaced.mdx index 4aa574f7561..2b99436ef43 100644 --- a/docs/api/qiskit/qiskit.pulse.transforms.AlignEquispaced.mdx +++ b/docs/api/qiskit/qiskit.pulse.transforms.AlignEquispaced.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.transforms.AlignEquispaced # AlignEquispaced - + Bases: [`AlignmentKind`](pulse#qiskit.pulse.transforms.AlignmentKind "qiskit.pulse.transforms.alignments.AlignmentKind") Align instructions with equispaced interval within a specified duration. @@ -37,7 +37,7 @@ python_api_name: qiskit.pulse.transforms.AlignEquispaced ### align - + Reallocate instructions according to the policy. Only top-level sub-schedules are aligned. If sub-schedules are nested, nested schedules are not recursively aligned. diff --git a/docs/api/qiskit/qiskit.pulse.transforms.AlignFunc.mdx b/docs/api/qiskit/qiskit.pulse.transforms.AlignFunc.mdx index 7213a3af2c1..de79b4880c4 100644 --- a/docs/api/qiskit/qiskit.pulse.transforms.AlignFunc.mdx +++ b/docs/api/qiskit/qiskit.pulse.transforms.AlignFunc.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.transforms.AlignFunc # AlignFunc - + Bases: [`AlignmentKind`](pulse#qiskit.pulse.transforms.AlignmentKind "qiskit.pulse.transforms.alignments.AlignmentKind") Allocate instructions at position specified by callback function. @@ -57,7 +57,7 @@ python_api_name: qiskit.pulse.transforms.AlignFunc ### align - + Reallocate instructions according to the policy. Only top-level sub-schedules are aligned. If sub-schedules are nested, nested schedules are not recursively aligned. diff --git a/docs/api/qiskit/qiskit.pulse.transforms.AlignLeft.mdx b/docs/api/qiskit/qiskit.pulse.transforms.AlignLeft.mdx index 9401437d839..9b044220b66 100644 --- a/docs/api/qiskit/qiskit.pulse.transforms.AlignLeft.mdx +++ b/docs/api/qiskit/qiskit.pulse.transforms.AlignLeft.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.transforms.AlignLeft # AlignLeft - + Bases: [`AlignmentKind`](pulse#qiskit.pulse.transforms.AlignmentKind "qiskit.pulse.transforms.alignments.AlignmentKind") Align instructions in as-soon-as-possible manner. @@ -27,7 +27,7 @@ python_api_name: qiskit.pulse.transforms.AlignLeft ### align - + Reallocate instructions according to the policy. Only top-level sub-schedules are aligned. If sub-schedules are nested, nested schedules are not recursively aligned. diff --git a/docs/api/qiskit/qiskit.pulse.transforms.AlignRight.mdx b/docs/api/qiskit/qiskit.pulse.transforms.AlignRight.mdx index 630f0bbf145..4693a212240 100644 --- a/docs/api/qiskit/qiskit.pulse.transforms.AlignRight.mdx +++ b/docs/api/qiskit/qiskit.pulse.transforms.AlignRight.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.transforms.AlignRight # AlignRight - + Bases: [`AlignmentKind`](pulse#qiskit.pulse.transforms.AlignmentKind "qiskit.pulse.transforms.alignments.AlignmentKind") Align instructions in as-late-as-possible manner. @@ -27,7 +27,7 @@ python_api_name: qiskit.pulse.transforms.AlignRight ### align - + Reallocate instructions according to the policy. Only top-level sub-schedules are aligned. If sub-schedules are nested, nested schedules are not recursively aligned. diff --git a/docs/api/qiskit/qiskit.pulse.transforms.AlignSequential.mdx b/docs/api/qiskit/qiskit.pulse.transforms.AlignSequential.mdx index 647e5d35c88..0e527d40dff 100644 --- a/docs/api/qiskit/qiskit.pulse.transforms.AlignSequential.mdx +++ b/docs/api/qiskit/qiskit.pulse.transforms.AlignSequential.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.transforms.AlignSequential # AlignSequential - + Bases: [`AlignmentKind`](pulse#qiskit.pulse.transforms.AlignmentKind "qiskit.pulse.transforms.alignments.AlignmentKind") Align instructions sequentially. @@ -27,7 +27,7 @@ python_api_name: qiskit.pulse.transforms.AlignSequential ### align - + Reallocate instructions according to the policy. Only top-level sub-schedules are aligned. If sub-schedules are nested, nested schedules are not recursively aligned. diff --git a/docs/api/qiskit/qiskit.qobj.GateCalibration.mdx b/docs/api/qiskit/qiskit.qobj.GateCalibration.mdx index e23c07894cd..ee547c17521 100644 --- a/docs/api/qiskit/qiskit.qobj.GateCalibration.mdx +++ b/docs/api/qiskit/qiskit.qobj.GateCalibration.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.GateCalibration # GateCalibration - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Each calibration specifies a unique gate by name, qubits and params, and contains the Pulse instructions to implement it. @@ -26,7 +26,7 @@ python_api_name: qiskit.qobj.GateCalibration ### from\_dict - + Create a new GateCalibration object from a dictionary. **Parameters** @@ -44,7 +44,7 @@ python_api_name: qiskit.qobj.GateCalibration ### to\_dict - + Return a dictionary format representation of the Gate Calibration. **Returns** diff --git a/docs/api/qiskit/qiskit.qobj.PulseLibraryItem.mdx b/docs/api/qiskit/qiskit.qobj.PulseLibraryItem.mdx index 428743520fc..01333717ec3 100644 --- a/docs/api/qiskit/qiskit.qobj.PulseLibraryItem.mdx +++ b/docs/api/qiskit/qiskit.qobj.PulseLibraryItem.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.PulseLibraryItem # PulseLibraryItem - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") An item in a pulse library. @@ -24,7 +24,7 @@ python_api_name: qiskit.qobj.PulseLibraryItem ### from\_dict - + Create a new PulseLibraryItem object from a dictionary. **Parameters** @@ -42,7 +42,7 @@ python_api_name: qiskit.qobj.PulseLibraryItem ### to\_dict - + Return a dictionary format representation of the pulse library item. **Returns** diff --git a/docs/api/qiskit/qiskit.qobj.PulseQobj.mdx b/docs/api/qiskit/qiskit.qobj.PulseQobj.mdx index 30483138e5a..6b6d25a7c12 100644 --- a/docs/api/qiskit/qiskit.qobj.PulseQobj.mdx +++ b/docs/api/qiskit/qiskit.qobj.PulseQobj.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.PulseQobj # PulseQobj - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A Pulse Qobj. @@ -28,7 +28,7 @@ python_api_name: qiskit.qobj.PulseQobj ### from\_dict - + Create a new PulseQobj object from a dictionary. **Parameters** @@ -46,7 +46,7 @@ python_api_name: qiskit.qobj.PulseQobj ### to\_dict - + Return a dictionary format representation of the Pulse Qobj. Note this dict is not in the json wire format expected by IBMQ and qobj specification because complex numbers are still of type complex. Also this may contain native numpy arrays. When serializing this output for use with IBMQ you can leverage a json encoder that converts these as expected. For example: diff --git a/docs/api/qiskit/qiskit.qobj.PulseQobjConfig.mdx b/docs/api/qiskit/qiskit.qobj.PulseQobjConfig.mdx index 197430193f4..d1ddea7c5ce 100644 --- a/docs/api/qiskit/qiskit.qobj.PulseQobjConfig.mdx +++ b/docs/api/qiskit/qiskit.qobj.PulseQobjConfig.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.PulseQobjConfig # PulseQobjConfig - + Bases: `QobjDictField` A configuration for a Pulse Qobj. @@ -34,7 +34,7 @@ python_api_name: qiskit.qobj.PulseQobjConfig ### from\_dict - + Create a new PulseQobjConfig object from a dictionary. **Parameters** @@ -52,7 +52,7 @@ python_api_name: qiskit.qobj.PulseQobjConfig ### to\_dict - + Return a dictionary format representation of the Pulse Qobj config. **Returns** diff --git a/docs/api/qiskit/qiskit.qobj.PulseQobjExperiment.mdx b/docs/api/qiskit/qiskit.qobj.PulseQobjExperiment.mdx index 0134c410922..b569926f852 100644 --- a/docs/api/qiskit/qiskit.qobj.PulseQobjExperiment.mdx +++ b/docs/api/qiskit/qiskit.qobj.PulseQobjExperiment.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.PulseQobjExperiment # PulseQobjExperiment - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A Pulse Qobj Experiment. @@ -27,7 +27,7 @@ python_api_name: qiskit.qobj.PulseQobjExperiment ### from\_dict - + Create a new PulseQobjExperiment object from a dictionary. **Parameters** @@ -45,7 +45,7 @@ python_api_name: qiskit.qobj.PulseQobjExperiment ### to\_dict - + Return a dictionary format representation of the Experiment. **Returns** diff --git a/docs/api/qiskit/qiskit.qobj.PulseQobjExperimentConfig.mdx b/docs/api/qiskit/qiskit.qobj.PulseQobjExperimentConfig.mdx index e264ccbf756..f429535eb26 100644 --- a/docs/api/qiskit/qiskit.qobj.PulseQobjExperimentConfig.mdx +++ b/docs/api/qiskit/qiskit.qobj.PulseQobjExperimentConfig.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.PulseQobjExperimentConfig # PulseQobjExperimentConfig - + Bases: `QobjDictField` A config for a single Pulse experiment in the qobj. @@ -25,7 +25,7 @@ python_api_name: qiskit.qobj.PulseQobjExperimentConfig ### from\_dict - + Create a new QobjHeader object from a dictionary. **Parameters** @@ -43,7 +43,7 @@ python_api_name: qiskit.qobj.PulseQobjExperimentConfig ### to\_dict - + Return a dictionary format representation of the OpenQASM 2 Qobj. **Returns** diff --git a/docs/api/qiskit/qiskit.qobj.PulseQobjInstruction.mdx b/docs/api/qiskit/qiskit.qobj.PulseQobjInstruction.mdx index 3a932ff7f08..3cef3dc0761 100644 --- a/docs/api/qiskit/qiskit.qobj.PulseQobjInstruction.mdx +++ b/docs/api/qiskit/qiskit.qobj.PulseQobjInstruction.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.PulseQobjInstruction # PulseQobjInstruction - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A class representing a single instruction in an PulseQobj Experiment. @@ -39,7 +39,7 @@ python_api_name: qiskit.qobj.PulseQobjInstruction ### from\_dict - + Create a new PulseQobjExperimentConfig object from a dictionary. **Parameters** @@ -57,7 +57,7 @@ python_api_name: qiskit.qobj.PulseQobjInstruction ### to\_dict - + Return a dictionary format representation of the Instruction. **Returns** diff --git a/docs/api/qiskit/qiskit.qobj.QasmExperimentCalibrations.mdx b/docs/api/qiskit/qiskit.qobj.QasmExperimentCalibrations.mdx index 506885d7c20..d7734434264 100644 --- a/docs/api/qiskit/qiskit.qobj.QasmExperimentCalibrations.mdx +++ b/docs/api/qiskit/qiskit.qobj.QasmExperimentCalibrations.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.QasmExperimentCalibrations # QasmExperimentCalibrations - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A container for any calibrations data. The gates attribute contains a list of GateCalibrations. @@ -23,7 +23,7 @@ python_api_name: qiskit.qobj.QasmExperimentCalibrations ### from\_dict - + Create a new GateCalibration object from a dictionary. **Parameters** @@ -41,7 +41,7 @@ python_api_name: qiskit.qobj.QasmExperimentCalibrations ### to\_dict - + Return a dictionary format representation of the calibrations. **Returns** diff --git a/docs/api/qiskit/qiskit.qobj.QasmQobj.mdx b/docs/api/qiskit/qiskit.qobj.QasmQobj.mdx index a754d5beb5e..da2b8eea4bb 100644 --- a/docs/api/qiskit/qiskit.qobj.QasmQobj.mdx +++ b/docs/api/qiskit/qiskit.qobj.QasmQobj.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.QasmQobj # QasmQobj - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") An OpenQASM 2 Qobj. @@ -28,7 +28,7 @@ python_api_name: qiskit.qobj.QasmQobj ### from\_dict - + Create a new QASMQobj object from a dictionary. **Parameters** @@ -46,7 +46,7 @@ python_api_name: qiskit.qobj.QasmQobj ### to\_dict - + Return a dictionary format representation of the OpenQASM 2 Qobj. Note this dict is not in the json wire format expected by IBM and Qobj specification because complex numbers are still of type complex. Also, this may contain native numpy arrays. When serializing this output for use with IBM systems, you can leverage a json encoder that converts these as expected. For example: diff --git a/docs/api/qiskit/qiskit.qobj.QasmQobjConfig.mdx b/docs/api/qiskit/qiskit.qobj.QasmQobjConfig.mdx index 56c2270da1d..3d33b631795 100644 --- a/docs/api/qiskit/qiskit.qobj.QasmQobjConfig.mdx +++ b/docs/api/qiskit/qiskit.qobj.QasmQobjConfig.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.QasmQobjConfig # QasmQobjConfig - + Bases: [`SimpleNamespace`](https://docs.python.org/3/library/types.html#types.SimpleNamespace "(in Python v3.12)") A configuration for an OpenQASM 2 Qobj. @@ -36,7 +36,7 @@ python_api_name: qiskit.qobj.QasmQobjConfig ### from\_dict - + Create a new QasmQobjConfig object from a dictionary. **Parameters** @@ -54,7 +54,7 @@ python_api_name: qiskit.qobj.QasmQobjConfig ### to\_dict - + Return a dictionary format representation of the OpenQASM 2 Qobj config. **Returns** diff --git a/docs/api/qiskit/qiskit.qobj.QasmQobjExperiment.mdx b/docs/api/qiskit/qiskit.qobj.QasmQobjExperiment.mdx index 8418a6bae74..eed672f8f34 100644 --- a/docs/api/qiskit/qiskit.qobj.QasmQobjExperiment.mdx +++ b/docs/api/qiskit/qiskit.qobj.QasmQobjExperiment.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.QasmQobjExperiment # QasmQobjExperiment - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") An OpenQASM 2 Qobj Experiment. @@ -27,7 +27,7 @@ python_api_name: qiskit.qobj.QasmQobjExperiment ### from\_dict - + Create a new QasmQobjExperiment object from a dictionary. **Parameters** @@ -45,7 +45,7 @@ python_api_name: qiskit.qobj.QasmQobjExperiment ### to\_dict - + Return a dictionary format representation of the Experiment. **Returns** diff --git a/docs/api/qiskit/qiskit.qobj.QasmQobjExperimentConfig.mdx b/docs/api/qiskit/qiskit.qobj.QasmQobjExperimentConfig.mdx index 7ff727b7a31..bfa43923c15 100644 --- a/docs/api/qiskit/qiskit.qobj.QasmQobjExperimentConfig.mdx +++ b/docs/api/qiskit/qiskit.qobj.QasmQobjExperimentConfig.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.QasmQobjExperimentConfig # QasmQobjExperimentConfig - + Bases: `QobjDictField` Configuration for a single OpenQASM 2 experiment in the qobj. @@ -24,7 +24,7 @@ python_api_name: qiskit.qobj.QasmQobjExperimentConfig ### from\_dict - + Create a new QobjHeader object from a dictionary. **Parameters** @@ -42,7 +42,7 @@ python_api_name: qiskit.qobj.QasmQobjExperimentConfig ### to\_dict - + Return a dictionary format representation of the OpenQASM 2 Qobj. **Returns** diff --git a/docs/api/qiskit/qiskit.qobj.QasmQobjInstruction.mdx b/docs/api/qiskit/qiskit.qobj.QasmQobjInstruction.mdx index b409a1ba221..f7fd17e29f7 100644 --- a/docs/api/qiskit/qiskit.qobj.QasmQobjInstruction.mdx +++ b/docs/api/qiskit/qiskit.qobj.QasmQobjInstruction.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.QasmQobjInstruction # QasmQobjInstruction - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A class representing a single instruction in an QasmQobj Experiment. @@ -34,7 +34,7 @@ python_api_name: qiskit.qobj.QasmQobjInstruction ### from\_dict - + Create a new QasmQobjInstruction object from a dictionary. **Parameters** @@ -52,7 +52,7 @@ python_api_name: qiskit.qobj.QasmQobjInstruction ### to\_dict - + Return a dictionary format representation of the Instruction. **Returns** diff --git a/docs/api/qiskit/qiskit.qobj.QobjExperimentHeader.mdx b/docs/api/qiskit/qiskit.qobj.QobjExperimentHeader.mdx index 97a5b91231b..7dcdd71f67c 100644 --- a/docs/api/qiskit/qiskit.qobj.QobjExperimentHeader.mdx +++ b/docs/api/qiskit/qiskit.qobj.QobjExperimentHeader.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.QobjExperimentHeader # QobjExperimentHeader - + Bases: [`QobjHeader`](qiskit.qobj.QobjHeader "qiskit.qobj.common.QobjHeader") A class representing a header dictionary for a Qobj Experiment. @@ -23,7 +23,7 @@ python_api_name: qiskit.qobj.QobjExperimentHeader ### from\_dict - + Create a new QobjHeader object from a dictionary. **Parameters** @@ -41,7 +41,7 @@ python_api_name: qiskit.qobj.QobjExperimentHeader ### to\_dict - + Return a dictionary format representation of the OpenQASM 2 Qobj. **Returns** diff --git a/docs/api/qiskit/qiskit.qobj.QobjHeader.mdx b/docs/api/qiskit/qiskit.qobj.QobjHeader.mdx index 8fac0213027..bca903bc3ad 100644 --- a/docs/api/qiskit/qiskit.qobj.QobjHeader.mdx +++ b/docs/api/qiskit/qiskit.qobj.QobjHeader.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.QobjHeader # QobjHeader - + Bases: `QobjDictField` A class used to represent a dictionary header in Qobj objects. @@ -23,7 +23,7 @@ python_api_name: qiskit.qobj.QobjHeader ### from\_dict - + Create a new QobjHeader object from a dictionary. **Parameters** @@ -41,7 +41,7 @@ python_api_name: qiskit.qobj.QobjHeader ### to\_dict - + Return a dictionary format representation of the OpenQASM 2 Qobj. **Returns** diff --git a/docs/api/qiskit/qiskit.qobj.QobjMeasurementOption.mdx b/docs/api/qiskit/qiskit.qobj.QobjMeasurementOption.mdx index dfe120c14e1..3c4834b4854 100644 --- a/docs/api/qiskit/qiskit.qobj.QobjMeasurementOption.mdx +++ b/docs/api/qiskit/qiskit.qobj.QobjMeasurementOption.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.QobjMeasurementOption # QobjMeasurementOption - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") An individual measurement option. @@ -24,7 +24,7 @@ python_api_name: qiskit.qobj.QobjMeasurementOption ### from\_dict - + Create a new QobjMeasurementOption object from a dictionary. **Parameters** @@ -42,7 +42,7 @@ python_api_name: qiskit.qobj.QobjMeasurementOption ### to\_dict - + Return a dict format representation of the QobjMeasurementOption. **Returns** diff --git a/docs/api/qiskit/qiskit.quantum_info.CNOTDihedral.mdx b/docs/api/qiskit/qiskit.quantum_info.CNOTDihedral.mdx index cc8823b41b2..1b25d4e02c0 100644 --- a/docs/api/qiskit/qiskit.quantum_info.CNOTDihedral.mdx +++ b/docs/api/qiskit/qiskit.quantum_info.CNOTDihedral.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.CNOTDihedral # CNOTDihedral - + Bases: `BaseOperator`, `AdjointMixin` An N-qubit operator from the CNOT-Dihedral group. @@ -106,13 +106,13 @@ python_api_name: qiskit.quantum_info.CNOTDihedral ### adjoint - + Return the adjoint of the Operator. ### compose - + Return the operator composition with another CNOTDihedral. **Parameters** @@ -142,19 +142,19 @@ python_api_name: qiskit.quantum_info.CNOTDihedral ### conjugate - + Return the conjugate of the CNOTDihedral. ### copy - + Make a deep copy of current operator. ### dot - + Return the right multiplied operator self \* other. **Parameters** @@ -177,7 +177,7 @@ python_api_name: qiskit.quantum_info.CNOTDihedral ### expand - + Return the reverse-order tensor product with another CNOTDihedral. **Parameters** @@ -197,19 +197,19 @@ python_api_name: qiskit.quantum_info.CNOTDihedral ### input\_dims - + Return tuple of input dimension for specified subsystems. ### output\_dims - + Return tuple of output dimension for specified subsystems. ### power - + Return the compose of a operator with itself n times. **Parameters** @@ -231,7 +231,7 @@ python_api_name: qiskit.quantum_info.CNOTDihedral ### reshape - + Return a shallow copy with reshaped input and output subsystem dimensions. **Parameters** @@ -255,7 +255,7 @@ python_api_name: qiskit.quantum_info.CNOTDihedral ### tensor - + Return the tensor product with another CNOTDihedral. **Parameters** @@ -279,7 +279,7 @@ python_api_name: qiskit.quantum_info.CNOTDihedral ### to\_circuit - + Return a QuantumCircuit implementing the CNOT-Dihedral element. **Returns** @@ -298,19 +298,19 @@ python_api_name: qiskit.quantum_info.CNOTDihedral ### to\_instruction - + Return a Gate instruction implementing the CNOTDihedral object. ### to\_matrix - + Convert operator to Numpy matrix. ### to\_operator - + Convert to an Operator object. **Return type** @@ -320,7 +320,7 @@ python_api_name: qiskit.quantum_info.CNOTDihedral ### transpose - + Return the transpose of the CNOTDihedral. diff --git a/docs/api/qiskit/qiskit.quantum_info.Chi.mdx b/docs/api/qiskit/qiskit.quantum_info.Chi.mdx index 60f411a1870..16fa4f51098 100644 --- a/docs/api/qiskit/qiskit.quantum_info.Chi.mdx +++ b/docs/api/qiskit/qiskit.quantum_info.Chi.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.Chi # Chi - + Bases: `QuantumChannel` Pauli basis Chi-matrix representation of a quantum channel. @@ -87,7 +87,7 @@ $$ ### adjoint - + Return the adjoint quantum channel. @@ -97,7 +97,7 @@ $$ ### compose - + Return the operator composition with another Chi. **Parameters** @@ -127,7 +127,7 @@ $$ ### conjugate - + Return the conjugate quantum channel. @@ -137,13 +137,13 @@ $$ ### copy - + Make a deep copy of current operator. ### dot - + Return the right multiplied operator self \* other. **Parameters** @@ -166,7 +166,7 @@ $$ ### expand - + Return the reverse-order tensor product with another Chi. **Parameters** @@ -186,13 +186,13 @@ $$ ### input\_dims - + Return tuple of input dimension for specified subsystems. ### is\_cp - + Test if Choi-matrix is completely-positive (CP) **Return type** @@ -202,7 +202,7 @@ $$ ### is\_cptp - + Return True if completely-positive trace-preserving (CPTP). **Return type** @@ -212,7 +212,7 @@ $$ ### is\_tp - + Test if a channel is trace-preserving (TP) **Return type** @@ -222,7 +222,7 @@ $$ ### is\_unitary - + Return True if QuantumChannel is a unitary channel. **Return type** @@ -232,13 +232,13 @@ $$ ### output\_dims - + Return tuple of output dimension for specified subsystems. ### power - + Return the power of the quantum channel. **Parameters** @@ -264,7 +264,7 @@ $$ ### reshape - + Return a shallow copy with reshaped input and output subsystem dimensions. **Parameters** @@ -288,7 +288,7 @@ $$ ### tensor - + Return the tensor product with another Chi. **Parameters** @@ -312,7 +312,7 @@ $$ ### to\_instruction - + Convert to a Kraus or UnitaryGate circuit instruction. If the channel is unitary it will be added as a unitary gate, otherwise it will be added as a kraus simulator instruction. @@ -332,7 +332,7 @@ $$ ### to\_operator - + Try to convert channel to a unitary representation Operator. **Return type** @@ -342,7 +342,7 @@ $$ ### transpose - + Return the transpose quantum channel. diff --git a/docs/api/qiskit/qiskit.quantum_info.Choi.mdx b/docs/api/qiskit/qiskit.quantum_info.Choi.mdx index 8d1a1479526..dc8dab7b785 100644 --- a/docs/api/qiskit/qiskit.quantum_info.Choi.mdx +++ b/docs/api/qiskit/qiskit.quantum_info.Choi.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.Choi # Choi - + Bases: `QuantumChannel` Choi-matrix representation of a Quantum Channel. @@ -95,7 +95,7 @@ $$ ### adjoint - + Return the adjoint quantum channel. @@ -109,7 +109,7 @@ $$ ### compose - + Return the operator composition with another Choi. **Parameters** @@ -139,7 +139,7 @@ $$ ### conjugate - + Return the conjugate quantum channel. @@ -149,13 +149,13 @@ $$ ### copy - + Make a deep copy of current operator. ### dot - + Return the right multiplied operator self \* other. **Parameters** @@ -178,7 +178,7 @@ $$ ### expand - + Return the reverse-order tensor product with another Choi. **Parameters** @@ -198,13 +198,13 @@ $$ ### input\_dims - + Return tuple of input dimension for specified subsystems. ### is\_cp - + Test if Choi-matrix is completely-positive (CP) **Return type** @@ -214,7 +214,7 @@ $$ ### is\_cptp - + Return True if completely-positive trace-preserving (CPTP). **Return type** @@ -224,7 +224,7 @@ $$ ### is\_tp - + Test if a channel is trace-preserving (TP) **Return type** @@ -234,7 +234,7 @@ $$ ### is\_unitary - + Return True if QuantumChannel is a unitary channel. **Return type** @@ -244,13 +244,13 @@ $$ ### output\_dims - + Return tuple of output dimension for specified subsystems. ### power - + Return the power of the quantum channel. **Parameters** @@ -276,7 +276,7 @@ $$ ### reshape - + Return a shallow copy with reshaped input and output subsystem dimensions. **Parameters** @@ -300,7 +300,7 @@ $$ ### tensor - + Return the tensor product with another Choi. **Parameters** @@ -324,7 +324,7 @@ $$ ### to\_instruction - + Convert to a Kraus or UnitaryGate circuit instruction. If the channel is unitary it will be added as a unitary gate, otherwise it will be added as a kraus simulator instruction. @@ -344,7 +344,7 @@ $$ ### to\_operator - + Try to convert channel to a unitary representation Operator. **Return type** @@ -354,7 +354,7 @@ $$ ### transpose - + Return the transpose quantum channel. diff --git a/docs/api/qiskit/qiskit.quantum_info.Clifford.mdx b/docs/api/qiskit/qiskit.quantum_info.Clifford.mdx index 21351c2f374..945d3647029 100644 --- a/docs/api/qiskit/qiskit.quantum_info.Clifford.mdx +++ b/docs/api/qiskit/qiskit.quantum_info.Clifford.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.Clifford # Clifford - + Bases: `BaseOperator`, `AdjointMixin`, [`Operation`](qiskit.circuit.Operation "qiskit.circuit.operation.Operation") An N-qubit unitary operator from the Clifford group. @@ -174,13 +174,13 @@ python_api_name: qiskit.quantum_info.Clifford ### adjoint - + Return the adjoint of the Operator. ### compose - + Return the operator composition with another Clifford. **Parameters** @@ -210,19 +210,19 @@ python_api_name: qiskit.quantum_info.Clifford ### conjugate - + Return the conjugate of the Clifford. ### copy - + Make a deep copy of current operator. ### dot - + Return the right multiplied operator self \* other. **Parameters** @@ -245,7 +245,7 @@ python_api_name: qiskit.quantum_info.Clifford ### expand - + Return the reverse-order tensor product with another Clifford. **Parameters** @@ -265,7 +265,7 @@ python_api_name: qiskit.quantum_info.Clifford ### from\_circuit - + Initialize from a QuantumCircuit or Instruction. **Parameters** @@ -287,13 +287,13 @@ python_api_name: qiskit.quantum_info.Clifford ### from\_dict - + Load a Clifford from a dictionary ### from\_label - + Return a tensor product of single-qubit Clifford gates. **Parameters** @@ -341,7 +341,7 @@ python_api_name: qiskit.quantum_info.Clifford ### from\_linear\_function - + Create a Clifford from a Linear Function. If the linear function is represented by a nxn binary invertible matrix A, then the corresponding Clifford has symplectic matrix \[\[A^t, 0], \[0, A^\{-1}]]. @@ -361,7 +361,7 @@ python_api_name: qiskit.quantum_info.Clifford ### from\_matrix - + Create a Clifford from a unitary matrix. Note that this function takes exponentially long time w\.r.t. the number of qubits. @@ -385,7 +385,7 @@ python_api_name: qiskit.quantum_info.Clifford ### from\_operator - + Create a Clifford from a operator. Note that this function takes exponentially long time w\.r.t. the number of qubits. @@ -409,7 +409,7 @@ python_api_name: qiskit.quantum_info.Clifford ### from\_permutation - + Create a Clifford from a PermutationGate. **Parameters** @@ -427,25 +427,25 @@ python_api_name: qiskit.quantum_info.Clifford ### input\_dims - + Return tuple of input dimension for specified subsystems. ### is\_unitary - + Return True if the Clifford table is valid. ### output\_dims - + Return tuple of output dimension for specified subsystems. ### power - + Return the compose of a operator with itself n times. **Parameters** @@ -467,7 +467,7 @@ python_api_name: qiskit.quantum_info.Clifford ### reshape - + Return a shallow copy with reshaped input and output subsystem dimensions. **Parameters** @@ -491,7 +491,7 @@ python_api_name: qiskit.quantum_info.Clifford ### tensor - + Return the tensor product with another Clifford. **Parameters** @@ -515,7 +515,7 @@ python_api_name: qiskit.quantum_info.Clifford ### to\_circuit - + Return a QuantumCircuit implementing the Clifford. For N \<= 3 qubits this is based on optimal CX cost decomposition from reference \[1]. For N > 3 qubits this is done using the general non-optimal compilation routine from reference \[2]. @@ -536,19 +536,19 @@ python_api_name: qiskit.quantum_info.Clifford ### to\_dict - + Return dictionary representation of Clifford object. ### to\_instruction - + Return a Gate instruction implementing the Clifford. ### to\_labels - + Convert a Clifford to a list Pauli (de)stabilizer string labels. For large Clifford converting using the `array=True` kwarg will be more efficient since it allocates memory for the full Numpy array of labels in advance. @@ -584,13 +584,13 @@ python_api_name: qiskit.quantum_info.Clifford ### to\_matrix - + Convert operator to Numpy matrix. ### to\_operator - + Convert to an Operator object. **Return type** @@ -600,7 +600,7 @@ python_api_name: qiskit.quantum_info.Clifford ### transpose - + Return the transpose of the Clifford. diff --git a/docs/api/qiskit/qiskit.quantum_info.DensityMatrix.mdx b/docs/api/qiskit/qiskit.quantum_info.DensityMatrix.mdx index 10a4beb2811..1cab09bf5f9 100644 --- a/docs/api/qiskit/qiskit.quantum_info.DensityMatrix.mdx +++ b/docs/api/qiskit/qiskit.quantum_info.DensityMatrix.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix # DensityMatrix - + Bases: `QuantumState`, `TolerancesMixin` DensityMatrix class @@ -69,25 +69,25 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### conjugate - + Return the conjugate of the density matrix. ### copy - + Make a copy of current operator. ### dims - + Return tuple of input dimension for specified subsystems. ### draw - + Return a visualization of the Statevector. **repr**: ASCII TextMatrix of the state’s `__repr__`. @@ -120,7 +120,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### evolve - + Evolve a quantum state by an operator. **Parameters** @@ -143,7 +143,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### expand - + Return the tensor product state other ⊗ self. **Parameters** @@ -165,7 +165,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### expectation\_value - + Compute the expectation value of an operator. **Parameters** @@ -184,7 +184,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### from\_instruction - + Return the output density matrix of an instruction. The statevector is initialized in the state $|{0,\ldots,0}\rangle$ of the same number of qubits as the input instruction or circuit, evolved by the input instruction, and the output statevector returned. @@ -208,7 +208,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### from\_int - + Return a computational basis state density matrix. **Parameters** @@ -234,7 +234,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### from\_label - + Return a tensor product of Pauli X,Y,Z eigenstates. | Label | Statevector | @@ -265,13 +265,13 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### is\_valid - + Return True if trace 1 and positive semidefinite. ### measure - + Measure subsystems and return outcome and post-measure state. Note that this function uses the QuantumStates internal random number generator for sampling the measurement outcome. The RNG seed can be set using the [`seed()`](#qiskit.quantum_info.DensityMatrix.seed "qiskit.quantum_info.DensityMatrix.seed") method. @@ -293,7 +293,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### partial\_transpose - + Return partially transposed density matrix. **Parameters** @@ -311,7 +311,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### probabilities - + Return the subsystem measurement probability vector. Measurement probabilities are with respect to measurement in the computation (diagonal) basis. @@ -382,7 +382,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### probabilities\_dict - + Return the subsystem measurement probability dictionary. Measurement probabilities are with respect to measurement in the computation (diagonal) basis. @@ -405,13 +405,13 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### purity - + Return the purity of the quantum state. ### reset - + Reset state or subsystems to the 0-state. **Parameters** @@ -433,7 +433,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### reverse\_qargs - + Return a DensityMatrix with reversed subsystem ordering. For a tensor product state this is equivalent to reversing the order of tensor product subsystems. For a density matrix $\rho = \rho_{n-1} \otimes ... \otimes \rho_0$ the returned state will be $\rho_0 \otimes ... \otimes \rho_{n-1}$. @@ -449,7 +449,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### sample\_counts - + Sample a dict of qubit measurement outcomes in the computational basis. **Parameters** @@ -474,7 +474,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### sample\_memory - + Sample a list of qubit measurement outcomes in the computational basis. **Parameters** @@ -499,13 +499,13 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### seed - + Set the seed for the quantum state RNG. ### tensor - + Return the tensor product state self ⊗ other. **Parameters** @@ -527,7 +527,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### to\_dict - + Convert the density matrix to dictionary form. This dictionary representation uses a Ket-like notation where the dictionary keys are qudit strings for the subsystem basis vectors. If any subsystem has a dimension greater than 10 comma delimiters are inserted between integers so that subsystems can be distinguished. @@ -603,7 +603,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### to\_operator - + Convert to Operator **Return type** @@ -613,7 +613,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### to\_statevector - + Return a statevector from a pure density matrix. **Parameters** @@ -638,7 +638,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### trace - + Return the trace of the density matrix. diff --git a/docs/api/qiskit/qiskit.quantum_info.Kraus.mdx b/docs/api/qiskit/qiskit.quantum_info.Kraus.mdx index daf23b921f0..87e21fbd698 100644 --- a/docs/api/qiskit/qiskit.quantum_info.Kraus.mdx +++ b/docs/api/qiskit/qiskit.quantum_info.Kraus.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.Kraus # Kraus - + Bases: `QuantumChannel` Kraus representation of a quantum channel. @@ -91,7 +91,7 @@ $$ ### adjoint - + Return the adjoint quantum channel. @@ -101,7 +101,7 @@ $$ ### compose - + Return the operator composition with another Kraus. **Parameters** @@ -131,7 +131,7 @@ $$ ### conjugate - + Return the conjugate quantum channel. @@ -141,13 +141,13 @@ $$ ### copy - + Make a deep copy of current operator. ### dot - + Return the right multiplied operator self \* other. **Parameters** @@ -170,7 +170,7 @@ $$ ### expand - + Return the reverse-order tensor product with another Kraus. **Parameters** @@ -190,13 +190,13 @@ $$ ### input\_dims - + Return tuple of input dimension for specified subsystems. ### is\_cp - + Test if Choi-matrix is completely-positive (CP) **Return type** @@ -206,13 +206,13 @@ $$ ### is\_cptp - + Return True if completely-positive trace-preserving. ### is\_tp - + Test if a channel is trace-preserving (TP) **Return type** @@ -222,7 +222,7 @@ $$ ### is\_unitary - + Return True if QuantumChannel is a unitary channel. **Return type** @@ -232,13 +232,13 @@ $$ ### output\_dims - + Return tuple of output dimension for specified subsystems. ### power - + Return the power of the quantum channel. **Parameters** @@ -264,7 +264,7 @@ $$ ### reshape - + Return a shallow copy with reshaped input and output subsystem dimensions. **Parameters** @@ -288,7 +288,7 @@ $$ ### tensor - + Return the tensor product with another Kraus. **Parameters** @@ -312,7 +312,7 @@ $$ ### to\_instruction - + Convert to a Kraus or UnitaryGate circuit instruction. If the channel is unitary it will be added as a unitary gate, otherwise it will be added as a kraus simulator instruction. @@ -332,7 +332,7 @@ $$ ### to\_operator - + Try to convert channel to a unitary representation Operator. **Return type** @@ -342,7 +342,7 @@ $$ ### transpose - + Return the transpose quantum channel. diff --git a/docs/api/qiskit/qiskit.quantum_info.Operator.mdx b/docs/api/qiskit/qiskit.quantum_info.Operator.mdx index e61438b8e9f..90d85b12b09 100644 --- a/docs/api/qiskit/qiskit.quantum_info.Operator.mdx +++ b/docs/api/qiskit/qiskit.quantum_info.Operator.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.Operator # Operator - + Bases: `LinearOp` Matrix operator class @@ -85,7 +85,7 @@ $$ ### adjoint - + Return the adjoint of the Operator. **Return type** @@ -95,7 +95,7 @@ $$ ### apply\_permutation - + Modifies operator’s data by composing it with a permutation. **Parameters** @@ -118,7 +118,7 @@ $$ ### compose - + Return the operator composition with another Operator. **Parameters** @@ -148,19 +148,19 @@ $$ ### conjugate - + Return the conjugate of the Operator. ### copy - + Make a deep copy of current operator. ### dot - + Return the right multiplied operator self \* other. **Parameters** @@ -183,7 +183,7 @@ $$ ### draw - + Return a visualization of the Operator. **repr**: String of the state’s `__repr__`. @@ -214,7 +214,7 @@ $$ ### equiv - + Return True if operators are equivalent up to global phase. **Parameters** @@ -234,7 +234,7 @@ $$ ### expand - + Return the reverse-order tensor product with another Operator. **Parameters** @@ -254,7 +254,7 @@ $$ ### from\_circuit - + Create a new Operator object from a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") While a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") object can passed directly as `data` to the class constructor this provides no options on how the circuit is used to create an [`Operator`](#qiskit.quantum_info.Operator "qiskit.quantum_info.Operator"). This constructor method lets you control how the [`Operator`](#qiskit.quantum_info.Operator "qiskit.quantum_info.Operator") is created so it can be adjusted for a particular use case. @@ -279,7 +279,7 @@ $$ ### from\_label - + Return a tensor product of single-qubit operators. **Parameters** @@ -305,25 +305,25 @@ $$ ### input\_dims - + Return tuple of input dimension for specified subsystems. ### is\_unitary - + Return True if operator is a unitary matrix. ### output\_dims - + Return tuple of output dimension for specified subsystems. ### power - + Return the matrix power of the operator. **Parameters** @@ -345,7 +345,7 @@ $$ ### reshape - + Return a shallow copy with reshaped input and output subsystem dimensions. **Parameters** @@ -369,7 +369,7 @@ $$ ### reverse\_qargs - + Return an Operator with reversed subsystem ordering. For a tensor product operator this is equivalent to reversing the order of tensor product subsystems. For an operator $A = A_{n-1} \otimes ... \otimes A_0$ the returned operator will be $A_0 \otimes ... \otimes A_{n-1}$. @@ -385,7 +385,7 @@ $$ ### tensor - + Return the tensor product with another Operator. **Parameters** @@ -409,19 +409,19 @@ $$ ### to\_instruction - + Convert to a UnitaryGate instruction. ### to\_matrix - + Convert operator to NumPy matrix. ### to\_operator - + Convert operator to matrix operator class **Return type** @@ -431,7 +431,7 @@ $$ ### transpose - + Return the transpose of the Operator. diff --git a/docs/api/qiskit/qiskit.quantum_info.PTM.mdx b/docs/api/qiskit/qiskit.quantum_info.PTM.mdx index 1bb7f0a8125..9570757a118 100644 --- a/docs/api/qiskit/qiskit.quantum_info.PTM.mdx +++ b/docs/api/qiskit/qiskit.quantum_info.PTM.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.PTM # PTM - + Bases: `QuantumChannel` Pauli Transfer Matrix (PTM) representation of a Quantum Channel. @@ -95,7 +95,7 @@ $$ ### adjoint - + Return the adjoint quantum channel. @@ -105,7 +105,7 @@ $$ ### compose - + Return the operator composition with another PTM. **Parameters** @@ -135,7 +135,7 @@ $$ ### conjugate - + Return the conjugate quantum channel. @@ -145,13 +145,13 @@ $$ ### copy - + Make a deep copy of current operator. ### dot - + Return the right multiplied operator self \* other. **Parameters** @@ -174,7 +174,7 @@ $$ ### expand - + Return the reverse-order tensor product with another PTM. **Parameters** @@ -194,13 +194,13 @@ $$ ### input\_dims - + Return tuple of input dimension for specified subsystems. ### is\_cp - + Test if Choi-matrix is completely-positive (CP) **Return type** @@ -210,7 +210,7 @@ $$ ### is\_cptp - + Return True if completely-positive trace-preserving (CPTP). **Return type** @@ -220,7 +220,7 @@ $$ ### is\_tp - + Test if a channel is trace-preserving (TP) **Return type** @@ -230,7 +230,7 @@ $$ ### is\_unitary - + Return True if QuantumChannel is a unitary channel. **Return type** @@ -240,13 +240,13 @@ $$ ### output\_dims - + Return tuple of output dimension for specified subsystems. ### power - + Return the power of the quantum channel. **Parameters** @@ -272,7 +272,7 @@ $$ ### reshape - + Return a shallow copy with reshaped input and output subsystem dimensions. **Parameters** @@ -296,7 +296,7 @@ $$ ### tensor - + Return the tensor product with another PTM. **Parameters** @@ -320,7 +320,7 @@ $$ ### to\_instruction - + Convert to a Kraus or UnitaryGate circuit instruction. If the channel is unitary it will be added as a unitary gate, otherwise it will be added as a kraus simulator instruction. @@ -340,7 +340,7 @@ $$ ### to\_operator - + Try to convert channel to a unitary representation Operator. **Return type** @@ -350,7 +350,7 @@ $$ ### transpose - + Return the transpose quantum channel. diff --git a/docs/api/qiskit/qiskit.quantum_info.Pauli.mdx b/docs/api/qiskit/qiskit.quantum_info.Pauli.mdx index 602fcf4e0b0..e4a7ec32e8d 100644 --- a/docs/api/qiskit/qiskit.quantum_info.Pauli.mdx +++ b/docs/api/qiskit/qiskit.quantum_info.Pauli.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.Pauli # Pauli - + Bases: `BasePauli` N-qubit Pauli operator. @@ -169,13 +169,13 @@ $$ ### adjoint - + Return the adjoint of the Operator. ### anticommutes - + Return True if other Pauli anticommutes with self. **Parameters** @@ -194,7 +194,7 @@ $$ ### commutes - + Return True if the Pauli commutes with other. **Parameters** @@ -213,7 +213,7 @@ $$ ### compose - + Return the operator composition with another Pauli. **Parameters** @@ -244,19 +244,19 @@ $$ ### conjugate - + Return the conjugate of each Pauli in the list. ### copy - + Make a deep copy of current operator. ### delete - + Return a Pauli with qubits deleted. **Parameters** @@ -278,7 +278,7 @@ $$ ### dot - + Return the right multiplied operator self \* other. **Parameters** @@ -298,7 +298,7 @@ $$ ### equiv - + Return True if Pauli’s are equivalent up to group phase. **Parameters** @@ -316,7 +316,7 @@ $$ ### evolve - + Performs either Heisenberg (default) or Schrödinger picture evolution of the Pauli by a Clifford and returns the evolved Pauli. Schrödinger picture evolution can be chosen by passing parameter `frame='s'`. This option yields a faster calculation. @@ -347,7 +347,7 @@ $$ ### expand - + Return the reverse-order tensor product with another Pauli. **Parameters** @@ -367,13 +367,13 @@ $$ ### input\_dims - + Return tuple of input dimension for specified subsystems. ### insert - + Insert a Pauli at specific qubit value. **Parameters** @@ -396,19 +396,19 @@ $$ ### inverse - + Return the inverse of the Pauli. ### output\_dims - + Return tuple of output dimension for specified subsystems. ### power - + Return the compose of a operator with itself n times. **Parameters** @@ -430,7 +430,7 @@ $$ ### reshape - + Return a shallow copy with reshaped input and output subsystem dimensions. **Parameters** @@ -454,7 +454,7 @@ $$ ### set\_truncation - + Set the max number of Pauli characters to display before truncation/ **Parameters** @@ -468,7 +468,7 @@ $$ ### tensor - + Return the tensor product with another Pauli. **Parameters** @@ -492,13 +492,13 @@ $$ ### to\_instruction - + Convert to Pauli circuit instruction. ### to\_label - + Convert a Pauli to a string label. @@ -516,7 +516,7 @@ $$ ### to\_matrix - + Convert to a Numpy array or sparse CSR matrix. **Parameters** @@ -534,7 +534,7 @@ $$ ### transpose - + Return the transpose of each Pauli in the list. diff --git a/docs/api/qiskit/qiskit.quantum_info.PauliList.mdx b/docs/api/qiskit/qiskit.quantum_info.PauliList.mdx index 09bc04bf74a..303fb150650 100644 --- a/docs/api/qiskit/qiskit.quantum_info.PauliList.mdx +++ b/docs/api/qiskit/qiskit.quantum_info.PauliList.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.PauliList # PauliList - + Bases: `BasePauli`, `LinearMixin`, `GroupMixin` List of N-qubit Pauli operators. @@ -161,13 +161,13 @@ python_api_name: qiskit.quantum_info.PauliList ### adjoint - + Return the adjoint of each Pauli in the list. ### anticommutes - + Return `True` if other Pauli that anticommutes with other. **Parameters** @@ -186,7 +186,7 @@ python_api_name: qiskit.quantum_info.PauliList ### anticommutes\_with\_all - + Return indexes of rows that commute other. If `other` is a multi-row Pauli list the returned vector indexes rows of the current PauliList that anti-commute with *all* Paulis in other. If no rows satisfy the condition the returned array will be empty. @@ -206,7 +206,7 @@ python_api_name: qiskit.quantum_info.PauliList ### argsort - + Return indices for sorting the rows of the table. The default sort method is lexicographic sorting by qubit number. By using the weight kwarg the output can additionally be sorted by the number of non-identity terms in the Pauli, where the set of all Paulis of a given weight are still ordered lexicographically. @@ -227,7 +227,7 @@ python_api_name: qiskit.quantum_info.PauliList ### commutes - + Return True for each Pauli that commutes with other. **Parameters** @@ -246,7 +246,7 @@ python_api_name: qiskit.quantum_info.PauliList ### commutes\_with\_all - + Return indexes of rows that commute `other`. If `other` is a multi-row Pauli list the returned vector indexes rows of the current PauliList that commute with *all* Paulis in other. If no rows satisfy the condition the returned array will be empty. @@ -266,7 +266,7 @@ python_api_name: qiskit.quantum_info.PauliList ### compose - + Return the composition self∘other for each Pauli in the list. **Parameters** @@ -291,19 +291,19 @@ python_api_name: qiskit.quantum_info.PauliList ### conjugate - + Return the conjugate of each Pauli in the list. ### copy - + Make a deep copy of current operator. ### delete - + Return a copy with Pauli rows deleted from table. When deleting qubits the qubit index is the same as the column index of the underlying `X` and `Z` arrays. @@ -328,7 +328,7 @@ python_api_name: qiskit.quantum_info.PauliList ### dot - + Return the composition other∘self for each Pauli in the list. **Parameters** @@ -352,7 +352,7 @@ python_api_name: qiskit.quantum_info.PauliList ### equiv - + Entrywise comparison of Pauli equivalence up to global phase. **Parameters** @@ -372,7 +372,7 @@ python_api_name: qiskit.quantum_info.PauliList ### evolve - + Performs either Heisenberg (default) or Schrödinger picture evolution of the Pauli by a Clifford and returns the evolved Pauli. Schrödinger picture evolution can be chosen by passing parameter `frame='s'`. This option yields a faster calculation. @@ -402,7 +402,7 @@ python_api_name: qiskit.quantum_info.PauliList ### expand - + Return the expand product of each Pauli in the list. **Parameters** @@ -424,7 +424,7 @@ python_api_name: qiskit.quantum_info.PauliList ### from\_symplectic - + Construct a PauliList from a symplectic data. **Parameters** @@ -444,7 +444,7 @@ python_api_name: qiskit.quantum_info.PauliList ### group\_commuting - + Partition a PauliList into sets of commuting Pauli strings. **Parameters** @@ -473,7 +473,7 @@ python_api_name: qiskit.quantum_info.PauliList ### group\_qubit\_wise\_commuting - + Partition a PauliList into sets of mutually qubit-wise commuting Pauli strings. **Returns** @@ -487,13 +487,13 @@ python_api_name: qiskit.quantum_info.PauliList ### input\_dims - + Return tuple of input dimension for specified subsystems. ### insert - + Insert Paulis into the table. When inserting qubits the qubit index is the same as the column index of the underlying `X` and `Z` arrays. @@ -519,13 +519,13 @@ python_api_name: qiskit.quantum_info.PauliList ### inverse - + Return the inverse of each Pauli in the list. ### label\_iter - + Return a label representation iterator. This is a lazy iterator that converts each row into the string label only as it is used. To convert the entire table to labels use the [`to_labels()`](#qiskit.quantum_info.PauliList.to_labels "qiskit.quantum_info.PauliList.to_labels") method. @@ -541,7 +541,7 @@ python_api_name: qiskit.quantum_info.PauliList ### matrix\_iter - + Return a matrix representation iterator. This is a lazy iterator that converts each row into the Pauli matrix representation only as it is used. To convert the entire table to matrices use the [`to_matrix()`](#qiskit.quantum_info.PauliList.to_matrix "qiskit.quantum_info.PauliList.to_matrix") method. @@ -561,13 +561,13 @@ python_api_name: qiskit.quantum_info.PauliList ### output\_dims - + Return tuple of output dimension for specified subsystems. ### power - + Return the compose of a operator with itself n times. **Parameters** @@ -589,7 +589,7 @@ python_api_name: qiskit.quantum_info.PauliList ### reshape - + Return a shallow copy with reshaped input and output subsystem dimensions. **Parameters** @@ -613,7 +613,7 @@ python_api_name: qiskit.quantum_info.PauliList ### sort - + Sort the rows of the table. The default sort method is lexicographic sorting by qubit number. By using the weight kwarg the output can additionally be sorted by the number of non-identity terms in the Pauli, where the set of all Paulis of a given weight are still ordered lexicographically. @@ -674,7 +674,7 @@ python_api_name: qiskit.quantum_info.PauliList ### tensor - + Return the tensor product with each Pauli in the list. **Parameters** @@ -696,7 +696,7 @@ python_api_name: qiskit.quantum_info.PauliList ### to\_labels - + Convert a PauliList to a list Pauli string labels. For large PauliLists converting using the `array=True` kwarg will be more efficient since it allocates memory for the full Numpy array of labels in advance. @@ -723,7 +723,7 @@ python_api_name: qiskit.quantum_info.PauliList ### to\_matrix - + Convert to a list or array of Pauli matrices. For large PauliLists converting using the `array=True` kwarg will be more efficient since it allocates memory a full rank-3 Numpy array of matrices in advance. @@ -751,13 +751,13 @@ python_api_name: qiskit.quantum_info.PauliList ### transpose - + Return the transpose of each Pauli in the list. ### unique - + Return unique Paulis from the table. **Example** diff --git a/docs/api/qiskit/qiskit.quantum_info.Quaternion.mdx b/docs/api/qiskit/qiskit.quantum_info.Quaternion.mdx index 29e693bfcfe..14067933efb 100644 --- a/docs/api/qiskit/qiskit.quantum_info.Quaternion.mdx +++ b/docs/api/qiskit/qiskit.quantum_info.Quaternion.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.Quaternion # Quaternion - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A class representing a Quaternion. @@ -17,7 +17,7 @@ python_api_name: qiskit.quantum_info.Quaternion ### from\_axis\_rotation - + Return quaternion for rotation about given axis. **Parameters** @@ -40,7 +40,7 @@ python_api_name: qiskit.quantum_info.Quaternion ### from\_euler - + Generate a quaternion from a set of Euler angles. **Parameters** @@ -59,13 +59,13 @@ python_api_name: qiskit.quantum_info.Quaternion ### norm - + Norm of quaternion. ### normalize - + Normalizes a Quaternion to unit length so that it represents a valid rotation. **Parameters** @@ -83,7 +83,7 @@ python_api_name: qiskit.quantum_info.Quaternion ### to\_matrix - + Converts a unit-length quaternion to a rotation matrix. **Returns** @@ -97,7 +97,7 @@ python_api_name: qiskit.quantum_info.Quaternion ### to\_zyz - + Converts a unit-length quaternion to a sequence of ZYZ Euler angles. **Returns** diff --git a/docs/api/qiskit/qiskit.quantum_info.ScalarOp.mdx b/docs/api/qiskit/qiskit.quantum_info.ScalarOp.mdx index 5235b0aa408..6f1a6a3de19 100644 --- a/docs/api/qiskit/qiskit.quantum_info.ScalarOp.mdx +++ b/docs/api/qiskit/qiskit.quantum_info.ScalarOp.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.ScalarOp # ScalarOp - + Bases: `LinearOp` Scalar identity operator class. @@ -64,7 +64,7 @@ python_api_name: qiskit.quantum_info.ScalarOp ### adjoint - + Return the adjoint of the Operator. **Return type** @@ -74,7 +74,7 @@ python_api_name: qiskit.quantum_info.ScalarOp ### compose - + Return the operator composition with another ScalarOp. **Parameters** @@ -104,19 +104,19 @@ python_api_name: qiskit.quantum_info.ScalarOp ### conjugate - + Return the conjugate of the ScalarOp. ### copy - + Make a deep copy of current operator. ### dot - + Return the right multiplied operator self \* other. **Parameters** @@ -139,7 +139,7 @@ python_api_name: qiskit.quantum_info.ScalarOp ### expand - + Return the reverse-order tensor product with another ScalarOp. **Parameters** @@ -159,25 +159,25 @@ python_api_name: qiskit.quantum_info.ScalarOp ### input\_dims - + Return tuple of input dimension for specified subsystems. ### is\_unitary - + Return True if operator is a unitary matrix. ### output\_dims - + Return tuple of output dimension for specified subsystems. ### power - + Return the power of the ScalarOp. **Parameters** @@ -195,7 +195,7 @@ python_api_name: qiskit.quantum_info.ScalarOp ### reshape - + Return a shallow copy with reshaped input and output subsystem dimensions. **Parameters** @@ -219,7 +219,7 @@ python_api_name: qiskit.quantum_info.ScalarOp ### tensor - + Return the tensor product with another ScalarOp. **Parameters** @@ -243,13 +243,13 @@ python_api_name: qiskit.quantum_info.ScalarOp ### to\_matrix - + Convert to a Numpy matrix. ### to\_operator - + Convert to an Operator object. **Return type** @@ -259,7 +259,7 @@ python_api_name: qiskit.quantum_info.ScalarOp ### transpose - + Return the transpose of the ScalarOp. diff --git a/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp.mdx b/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp.mdx index 13776dcbe71..af1dd088a0d 100644 --- a/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp.mdx +++ b/docs/api/qiskit/qiskit.quantum_info.SparsePauliOp.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.SparsePauliOp # SparsePauliOp - + Bases: `LinearOp` Sparse N-qubit operator in a Pauli basis representation. @@ -127,13 +127,13 @@ python_api_name: qiskit.quantum_info.SparsePauliOp ### adjoint - + Return the adjoint of the Operator. ### apply\_layout - + Apply a transpiler layout to this [`SparsePauliOp`](#qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp") **Parameters** @@ -152,7 +152,7 @@ python_api_name: qiskit.quantum_info.SparsePauliOp ### argsort - + Return indices for sorting the rows of the table. Returns the composition of permutations in the order of sorting by coefficient and sorting by Pauli. By using the weight kwarg the output can additionally be sorted by the number of non-identity terms in the Pauli, where the set of all Pauli’s of a given weight are still ordered lexicographically. @@ -220,7 +220,7 @@ python_api_name: qiskit.quantum_info.SparsePauliOp ### assign\_parameters - + Bind the free `Parameter`s in the coefficients to provided values. **Parameters** @@ -239,7 +239,7 @@ python_api_name: qiskit.quantum_info.SparsePauliOp ### chop - + Set real and imaginary parts of the coefficients to 0 if `< tol` in magnitude. For example, the operator representing `1+1e-17j X + 1e-17 Y` with a tolerance larger than `1e-17` will be reduced to `1 X` whereas [`SparsePauliOp.simplify()`](#qiskit.quantum_info.SparsePauliOp.simplify "qiskit.quantum_info.SparsePauliOp.simplify") would return `1+1e-17j X`. @@ -261,7 +261,7 @@ python_api_name: qiskit.quantum_info.SparsePauliOp ### compose - + Return the operator composition with another SparsePauliOp. **Parameters** @@ -291,19 +291,19 @@ python_api_name: qiskit.quantum_info.SparsePauliOp ### conjugate - + Return the conjugate of the SparsePauliOp. ### copy - + Make a deep copy of current operator. ### dot - + Return the right multiplied operator self \* other. **Parameters** @@ -326,7 +326,7 @@ python_api_name: qiskit.quantum_info.SparsePauliOp ### equiv - + Check if two SparsePauliOp operators are equivalent. **Parameters** @@ -345,7 +345,7 @@ python_api_name: qiskit.quantum_info.SparsePauliOp ### expand - + Return the reverse-order tensor product with another SparsePauliOp. **Parameters** @@ -365,7 +365,7 @@ python_api_name: qiskit.quantum_info.SparsePauliOp ### from\_list - + Construct from a list of Pauli strings and coefficients. For example, the 5-qubit Hamiltonian @@ -403,7 +403,7 @@ $$ ### from\_operator - + Construct from an Operator objector. Note that the cost of this construction is exponential in general because the number of possible Pauli terms in the decomposition is exponential in the number of qubits. @@ -431,7 +431,7 @@ $$ ### from\_sparse\_list - + Construct from a list of local Pauli strings and coefficients. Each list element is a 3-tuple of a local Pauli string, indices where to apply it, and a coefficient. @@ -476,7 +476,7 @@ $$ ### group\_commuting - + Partition a SparsePauliOp into sets of commuting Pauli strings. **Parameters** @@ -509,13 +509,13 @@ $$ ### input\_dims - + Return tuple of input dimension for specified subsystems. ### is\_unitary - + Return True if operator is a unitary matrix. **Parameters** @@ -534,7 +534,7 @@ $$ ### label\_iter - + Return a label representation iterator. This is a lazy iterator that converts each term in the SparsePauliOp into a tuple (label, coeff). To convert the entire table to labels use the `to_labels()` method. @@ -550,7 +550,7 @@ $$ ### matrix\_iter - + Return a matrix representation iterator. This is a lazy iterator that converts each term in the SparsePauliOp into a matrix as it is used. To convert to a single matrix use the [`to_matrix()`](#qiskit.quantum_info.SparsePauliOp.to_matrix "qiskit.quantum_info.SparsePauliOp.to_matrix") method. @@ -570,13 +570,13 @@ $$ ### output\_dims - + Return tuple of output dimension for specified subsystems. ### power - + Return the compose of a operator with itself n times. **Parameters** @@ -598,7 +598,7 @@ $$ ### reshape - + Return a shallow copy with reshaped input and output subsystem dimensions. **Parameters** @@ -622,7 +622,7 @@ $$ ### simplify - + Simplify PauliList by combining duplicates and removing zeros. **Parameters** @@ -641,7 +641,7 @@ $$ ### sort - + Sort the rows of the table. After sorting the coefficients using numpy’s argsort, sort by Pauli. Pauli sort takes precedence. If Pauli is the same, it will be sorted by coefficient. By using the weight kwarg the output can additionally be sorted by the number of non-identity terms in the Pauli, where the set of all Pauli’s of a given weight are still ordered lexicographically. @@ -712,7 +712,7 @@ $$ ### sum - + Sum of SparsePauliOps. This is a specialized version of the builtin `sum` function for SparsePauliOp with smaller overhead. @@ -738,7 +738,7 @@ $$ ### tensor - + Return the tensor product with another SparsePauliOp. **Parameters** @@ -762,7 +762,7 @@ $$ ### to\_list - + Convert to a list Pauli string labels and coefficients. For operators with a lot of terms converting using the `array=True` kwarg will be more efficient since it allocates memory for the full Numpy array of labels in advance. @@ -782,7 +782,7 @@ $$ ### to\_matrix - + Convert to a dense or sparse matrix. **Parameters** @@ -800,7 +800,7 @@ $$ ### to\_operator - + Convert to a matrix Operator object **Return type** @@ -810,7 +810,7 @@ $$ ### transpose - + Return the transpose of the SparsePauliOp. diff --git a/docs/api/qiskit/qiskit.quantum_info.StabilizerState.mdx b/docs/api/qiskit/qiskit.quantum_info.StabilizerState.mdx index 93182f54ada..011a23d0289 100644 --- a/docs/api/qiskit/qiskit.quantum_info.StabilizerState.mdx +++ b/docs/api/qiskit/qiskit.quantum_info.StabilizerState.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.StabilizerState # StabilizerState - + Bases: `QuantumState` StabilizerState class. Stabilizer simulator using the convention from reference \[1]. Based on the internal class [`Clifford`](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford"). @@ -83,25 +83,25 @@ python_api_name: qiskit.quantum_info.StabilizerState ### conjugate - + Return the conjugate of the operator. ### copy - + Make a copy of current operator. ### dims - + Return tuple of input dimension for specified subsystems. ### equiv - + Return True if the two generating sets generate the same stabilizer group. **Parameters** @@ -119,7 +119,7 @@ python_api_name: qiskit.quantum_info.StabilizerState ### evolve - + Evolve a stabilizer state by a Clifford operator. **Parameters** @@ -143,7 +143,7 @@ python_api_name: qiskit.quantum_info.StabilizerState ### expand - + Return the tensor product stabilizer state other ⊗ self. **Parameters** @@ -165,7 +165,7 @@ python_api_name: qiskit.quantum_info.StabilizerState ### expectation\_value - + Compute the expectation value of a Pauli operator. **Parameters** @@ -188,7 +188,7 @@ python_api_name: qiskit.quantum_info.StabilizerState ### from\_stabilizer\_list - + Create a stabilizer state from the collection of stabilizers. **Parameters** @@ -208,13 +208,13 @@ python_api_name: qiskit.quantum_info.StabilizerState ### is\_valid - + Return True if a valid StabilizerState. ### measure - + Measure subsystems and return outcome and post-measure state. Note that this function uses the QuantumStates internal random number generator for sampling the measurement outcome. The RNG seed can be set using the [`seed()`](#qiskit.quantum_info.StabilizerState.seed "qiskit.quantum_info.StabilizerState.seed") method. @@ -236,7 +236,7 @@ python_api_name: qiskit.quantum_info.StabilizerState ### probabilities - + Return the subsystem measurement probability vector. Measurement probabilities are with respect to measurement in the computation (diagonal) basis. @@ -257,7 +257,7 @@ python_api_name: qiskit.quantum_info.StabilizerState ### probabilities\_dict - + Return the subsystem measurement probability dictionary. Measurement probabilities are with respect to measurement in the computation (diagonal) basis. @@ -280,7 +280,7 @@ python_api_name: qiskit.quantum_info.StabilizerState ### purity - + Return the purity of the quantum state, which equals to 1, since it is always a pure state. **Returns** @@ -298,7 +298,7 @@ python_api_name: qiskit.quantum_info.StabilizerState ### reset - + Reset state or subsystems to the 0-state. **Parameters** @@ -320,7 +320,7 @@ python_api_name: qiskit.quantum_info.StabilizerState ### sample\_counts - + Sample a dict of qubit measurement outcomes in the computational basis. **Parameters** @@ -345,7 +345,7 @@ python_api_name: qiskit.quantum_info.StabilizerState ### sample\_memory - + Sample a list of qubit measurement outcomes in the computational basis. **Parameters** @@ -370,13 +370,13 @@ python_api_name: qiskit.quantum_info.StabilizerState ### seed - + Set the seed for the quantum state RNG. ### tensor - + Return the tensor product stabilizer state self ⊗ other. **Parameters** @@ -398,7 +398,7 @@ python_api_name: qiskit.quantum_info.StabilizerState ### to\_operator - + Convert state to matrix operator class **Return type** @@ -408,7 +408,7 @@ python_api_name: qiskit.quantum_info.StabilizerState ### trace - + Return the trace of the stabilizer state as a density matrix, which equals to 1, since it is always a pure state. **Returns** diff --git a/docs/api/qiskit/qiskit.quantum_info.Statevector.mdx b/docs/api/qiskit/qiskit.quantum_info.Statevector.mdx index 685f53f6fe9..2efe219e6ed 100644 --- a/docs/api/qiskit/qiskit.quantum_info.Statevector.mdx +++ b/docs/api/qiskit/qiskit.quantum_info.Statevector.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.Statevector # Statevector - + Bases: `QuantumState`, `TolerancesMixin` Statevector class @@ -69,7 +69,7 @@ python_api_name: qiskit.quantum_info.Statevector ### conjugate - + Return the conjugate of the operator. **Return type** @@ -79,19 +79,19 @@ python_api_name: qiskit.quantum_info.Statevector ### copy - + Make a copy of current operator. ### dims - + Return tuple of input dimension for specified subsystems. ### draw - + Return a visualization of the Statevector. **repr**: ASCII TextMatrix of the state’s `__repr__`. @@ -141,7 +141,7 @@ python_api_name: qiskit.quantum_info.Statevector ### equiv - + Return True if other is equivalent as a statevector up to global phase. @@ -165,7 +165,7 @@ python_api_name: qiskit.quantum_info.Statevector ### evolve - + Evolve a quantum state by the operator. **Parameters** @@ -188,7 +188,7 @@ python_api_name: qiskit.quantum_info.Statevector ### expand - + Return the tensor product state other ⊗ self. **Parameters** @@ -210,7 +210,7 @@ python_api_name: qiskit.quantum_info.Statevector ### expectation\_value - + Compute the expectation value of an operator. **Parameters** @@ -229,7 +229,7 @@ python_api_name: qiskit.quantum_info.Statevector ### from\_instruction - + Return the output statevector of an instruction. The statevector is initialized in the state $|{0,\ldots,0}\rangle$ of the same number of qubits as the input instruction or circuit, evolved by the input instruction, and the output statevector returned. @@ -253,7 +253,7 @@ python_api_name: qiskit.quantum_info.Statevector ### from\_int - + Return a computational basis statevector. **Parameters** @@ -279,7 +279,7 @@ python_api_name: qiskit.quantum_info.Statevector ### from\_label - + Return a tensor product of Pauli X,Y,Z eigenstates. | Label | Statevector | @@ -310,7 +310,7 @@ python_api_name: qiskit.quantum_info.Statevector ### inner - + Return the inner product of self and other as $\langle self| other \rangle$. **Parameters** @@ -332,7 +332,7 @@ python_api_name: qiskit.quantum_info.Statevector ### is\_valid - + Return True if a Statevector has norm 1. **Return type** @@ -342,7 +342,7 @@ python_api_name: qiskit.quantum_info.Statevector ### measure - + Measure subsystems and return outcome and post-measure state. Note that this function uses the QuantumStates internal random number generator for sampling the measurement outcome. The RNG seed can be set using the [`seed()`](#qiskit.quantum_info.Statevector.seed "qiskit.quantum_info.Statevector.seed") method. @@ -364,7 +364,7 @@ python_api_name: qiskit.quantum_info.Statevector ### probabilities - + Return the subsystem measurement probability vector. Measurement probabilities are with respect to measurement in the computation (diagonal) basis. @@ -435,7 +435,7 @@ python_api_name: qiskit.quantum_info.Statevector ### probabilities\_dict - + Return the subsystem measurement probability dictionary. Measurement probabilities are with respect to measurement in the computation (diagonal) basis. @@ -458,7 +458,7 @@ python_api_name: qiskit.quantum_info.Statevector ### purity - + Return the purity of the quantum state. **Return type** @@ -468,7 +468,7 @@ python_api_name: qiskit.quantum_info.Statevector ### reset - + Reset state or subsystems to the 0-state. **Parameters** @@ -490,7 +490,7 @@ python_api_name: qiskit.quantum_info.Statevector ### reverse\_qargs - + Return a Statevector with reversed subsystem ordering. For a tensor product state this is equivalent to reversing the order of tensor product subsystems. For a statevector $|\psi \rangle = |\psi_{n-1} \rangle \otimes ... \otimes |\psi_0 \rangle$ the returned statevector will be $|\psi_{0} \rangle \otimes ... \otimes |\psi_{n-1} \rangle$. @@ -506,7 +506,7 @@ python_api_name: qiskit.quantum_info.Statevector ### sample\_counts - + Sample a dict of qubit measurement outcomes in the computational basis. **Parameters** @@ -531,7 +531,7 @@ python_api_name: qiskit.quantum_info.Statevector ### sample\_memory - + Sample a list of qubit measurement outcomes in the computational basis. **Parameters** @@ -556,13 +556,13 @@ python_api_name: qiskit.quantum_info.Statevector ### seed - + Set the seed for the quantum state RNG. ### tensor - + Return the tensor product state self ⊗ other. **Parameters** @@ -584,7 +584,7 @@ python_api_name: qiskit.quantum_info.Statevector ### to\_dict - + Convert the statevector to dictionary form. This dictionary representation uses a Ket-like notation where the dictionary keys are qudit strings for the subsystem basis vectors. If any subsystem has a dimension greater than 10 comma delimiters are inserted between integers so that subsystems can be distinguished. @@ -653,7 +653,7 @@ python_api_name: qiskit.quantum_info.Statevector ### to\_operator - + Convert state to a rank-1 projector operator **Return type** @@ -663,7 +663,7 @@ python_api_name: qiskit.quantum_info.Statevector ### trace - + Return the trace of the quantum state as a density matrix. **Return type** diff --git a/docs/api/qiskit/qiskit.quantum_info.Stinespring.mdx b/docs/api/qiskit/qiskit.quantum_info.Stinespring.mdx index 3fb751d49d5..96ac872ff57 100644 --- a/docs/api/qiskit/qiskit.quantum_info.Stinespring.mdx +++ b/docs/api/qiskit/qiskit.quantum_info.Stinespring.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.Stinespring # Stinespring - + Bases: `QuantumChannel` Stinespring representation of a quantum channel. @@ -91,7 +91,7 @@ $$ ### adjoint - + Return the adjoint quantum channel. @@ -105,7 +105,7 @@ $$ ### compose - + Return the operator composition with another Stinespring. **Parameters** @@ -135,7 +135,7 @@ $$ ### conjugate - + Return the conjugate quantum channel. @@ -145,13 +145,13 @@ $$ ### copy - + Make a deep copy of current operator. ### dot - + Return the right multiplied operator self \* other. **Parameters** @@ -174,7 +174,7 @@ $$ ### expand - + Return the reverse-order tensor product with another Stinespring. **Parameters** @@ -194,13 +194,13 @@ $$ ### input\_dims - + Return tuple of input dimension for specified subsystems. ### is\_cp - + Test if Choi-matrix is completely-positive (CP) **Return type** @@ -210,13 +210,13 @@ $$ ### is\_cptp - + Return True if completely-positive trace-preserving. ### is\_tp - + Test if a channel is trace-preserving (TP) **Return type** @@ -226,7 +226,7 @@ $$ ### is\_unitary - + Return True if QuantumChannel is a unitary channel. **Return type** @@ -236,13 +236,13 @@ $$ ### output\_dims - + Return tuple of output dimension for specified subsystems. ### power - + Return the power of the quantum channel. **Parameters** @@ -268,7 +268,7 @@ $$ ### reshape - + Return a shallow copy with reshaped input and output subsystem dimensions. **Parameters** @@ -292,7 +292,7 @@ $$ ### tensor - + Return the tensor product with another Stinespring. **Parameters** @@ -316,7 +316,7 @@ $$ ### to\_instruction - + Convert to a Kraus or UnitaryGate circuit instruction. If the channel is unitary it will be added as a unitary gate, otherwise it will be added as a kraus simulator instruction. @@ -336,7 +336,7 @@ $$ ### to\_operator - + Try to convert channel to a unitary representation Operator. **Return type** @@ -346,7 +346,7 @@ $$ ### transpose - + Return the transpose quantum channel. diff --git a/docs/api/qiskit/qiskit.quantum_info.SuperOp.mdx b/docs/api/qiskit/qiskit.quantum_info.SuperOp.mdx index 56c7643f3b4..573d63c3327 100644 --- a/docs/api/qiskit/qiskit.quantum_info.SuperOp.mdx +++ b/docs/api/qiskit/qiskit.quantum_info.SuperOp.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.SuperOp # SuperOp - + Bases: `QuantumChannel` Superoperator representation of a quantum channel. @@ -87,7 +87,7 @@ $$ ### adjoint - + Return the adjoint quantum channel. @@ -97,7 +97,7 @@ $$ ### compose - + Return the operator composition with another SuperOp. **Parameters** @@ -127,7 +127,7 @@ $$ ### conjugate - + Return the conjugate quantum channel. @@ -137,13 +137,13 @@ $$ ### copy - + Make a deep copy of current operator. ### dot - + Return the right multiplied operator self \* other. **Parameters** @@ -166,7 +166,7 @@ $$ ### expand - + Return the reverse-order tensor product with another SuperOp. **Parameters** @@ -186,13 +186,13 @@ $$ ### input\_dims - + Return tuple of input dimension for specified subsystems. ### is\_cp - + Test if Choi-matrix is completely-positive (CP) **Return type** @@ -202,7 +202,7 @@ $$ ### is\_cptp - + Return True if completely-positive trace-preserving (CPTP). **Return type** @@ -212,7 +212,7 @@ $$ ### is\_tp - + Test if a channel is trace-preserving (TP) **Return type** @@ -222,7 +222,7 @@ $$ ### is\_unitary - + Return True if QuantumChannel is a unitary channel. **Return type** @@ -232,13 +232,13 @@ $$ ### output\_dims - + Return tuple of output dimension for specified subsystems. ### power - + Return the power of the quantum channel. **Parameters** @@ -264,7 +264,7 @@ $$ ### reshape - + Return a shallow copy with reshaped input and output subsystem dimensions. **Parameters** @@ -288,7 +288,7 @@ $$ ### tensor - + Return the tensor product with another SuperOp. **Parameters** @@ -312,7 +312,7 @@ $$ ### to\_instruction - + Convert to a Kraus or UnitaryGate circuit instruction. If the channel is unitary it will be added as a unitary gate, otherwise it will be added as a kraus simulator instruction. @@ -332,7 +332,7 @@ $$ ### to\_operator - + Try to convert channel to a unitary representation Operator. **Return type** @@ -342,7 +342,7 @@ $$ ### transpose - + Return the transpose quantum channel. diff --git a/docs/api/qiskit/qiskit.quantum_info.Z2Symmetries.mdx b/docs/api/qiskit/qiskit.quantum_info.Z2Symmetries.mdx index 67a77e94496..01b9b8e729f 100644 --- a/docs/api/qiskit/qiskit.quantum_info.Z2Symmetries.mdx +++ b/docs/api/qiskit/qiskit.quantum_info.Z2Symmetries.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.Z2Symmetries # Z2Symmetries - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") 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. For each identified symmetry, one qubit can be eliminated in the Pauli representation at the cost of having to test two symmetry sectors (for the two possible eigenvalues - tapering values - of the symmetry). In certain problems such as the finding of the main operator’s ground state, one can a priori identify the symmetry sector of the solution and thus effectively reduce the computational overhead. @@ -93,7 +93,7 @@ python_api_name: qiskit.quantum_info.Z2Symmetries ### convert\_clifford - + This method operates the first part of the tapering. It converts the operator by composing it with the clifford unitaries defined in the current symmetry. **Parameters** @@ -111,7 +111,7 @@ python_api_name: qiskit.quantum_info.Z2Symmetries ### find\_z2\_symmetries - + Finds Z2 Pauli-type symmetries of a [`SparsePauliOp`](qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp"). **Returns** @@ -125,7 +125,7 @@ python_api_name: qiskit.quantum_info.Z2Symmetries ### is\_empty - + Check the z2\_symmetries is empty or not. **Returns** @@ -139,7 +139,7 @@ python_api_name: qiskit.quantum_info.Z2Symmetries ### taper - + Taper an operator based on the z2\_symmetries info and sector defined by tapering\_values. Returns operator if the symmetry object is empty. The tapering is a two-step algorithm which first converts the operator into a [`SparsePauliOp`](qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp") with same eigenvalues but where some qubits are only acted upon with the Pauli operators I or X. The number M of these redundant qubits is equal to the number M of identified symmetries. @@ -161,7 +161,7 @@ python_api_name: qiskit.quantum_info.Z2Symmetries ### taper\_clifford - + Operate the second part of the tapering. This function assumes that the input operators have already been transformed using [`convert_clifford()`](#qiskit.quantum_info.Z2Symmetries.convert_clifford "qiskit.quantum_info.Z2Symmetries.convert_clifford"). The redundant qubits due to the symmetries are dropped and replaced by their two possible eigenvalues. **Parameters** diff --git a/docs/api/qiskit/qiskit.quantum_info.pauli_basis.mdx b/docs/api/qiskit/qiskit.quantum_info.pauli_basis.mdx index 24ab0cd64c1..74806098756 100644 --- a/docs/api/qiskit/qiskit.quantum_info.pauli_basis.mdx +++ b/docs/api/qiskit/qiskit.quantum_info.pauli_basis.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.quantum_info.pauli_basis # qiskit.quantum\_info.pauli\_basis - + Return the ordered PauliList for the n-qubit Pauli basis. **Parameters** diff --git a/docs/api/qiskit/qiskit.result.BaseReadoutMitigator.mdx b/docs/api/qiskit/qiskit.result.BaseReadoutMitigator.mdx index 73a7d7132f1..52d6cf3c926 100644 --- a/docs/api/qiskit/qiskit.result.BaseReadoutMitigator.mdx +++ b/docs/api/qiskit/qiskit.result.BaseReadoutMitigator.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.result.BaseReadoutMitigator # BaseReadoutMitigator - + Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") Base readout error mitigator class. @@ -17,7 +17,7 @@ python_api_name: qiskit.result.BaseReadoutMitigator ### expectation\_value - + Calculate the expectation value of a diagonal Hermitian operator. **Parameters** @@ -39,7 +39,7 @@ python_api_name: qiskit.result.BaseReadoutMitigator ### quasi\_probabilities - + Convert counts to a dictionary of quasi-probabilities **Parameters** diff --git a/docs/api/qiskit/qiskit.result.CorrelatedReadoutMitigator.mdx b/docs/api/qiskit/qiskit.result.CorrelatedReadoutMitigator.mdx index 4895316e87f..cd18903a527 100644 --- a/docs/api/qiskit/qiskit.result.CorrelatedReadoutMitigator.mdx +++ b/docs/api/qiskit/qiskit.result.CorrelatedReadoutMitigator.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.result.CorrelatedReadoutMitigator # CorrelatedReadoutMitigator - + Bases: [`BaseReadoutMitigator`](qiskit.result.BaseReadoutMitigator "qiskit.result.mitigation.base_readout_mitigator.BaseReadoutMitigator") N-qubit readout error mitigator. @@ -44,7 +44,7 @@ python_api_name: qiskit.result.CorrelatedReadoutMitigator ### assignment\_matrix - + Return the readout assignment matrix for specified qubits. The assignment matrix is the stochastic matrix $A$ which assigns a noisy readout probability distribution to an ideal input readout distribution: $P(i|j) = \langle i | A | j \rangle$. @@ -64,7 +64,7 @@ python_api_name: qiskit.result.CorrelatedReadoutMitigator ### expectation\_value - + Compute the mitigated expectation value of a diagonal observable. This computes the mitigated estimator of $\langle O \rangle = \mbox{Tr}[\rho. O]$ of a diagonal observable $O = \sum_{x\in\{0, 1\}^n} O(x)|x\rangle\!\langle x|$. @@ -92,7 +92,7 @@ python_api_name: qiskit.result.CorrelatedReadoutMitigator ### mitigation\_matrix - + Return the readout mitigation matrix for the specified qubits. The mitigation matrix $A^{-1}$ is defined as the inverse of the [`assignment_matrix()`](#qiskit.result.CorrelatedReadoutMitigator.assignment_matrix "qiskit.result.CorrelatedReadoutMitigator.assignment_matrix") $A$. @@ -112,7 +112,7 @@ python_api_name: qiskit.result.CorrelatedReadoutMitigator ### quasi\_probabilities - + Compute mitigated quasi probabilities value. **Parameters** @@ -135,7 +135,7 @@ python_api_name: qiskit.result.CorrelatedReadoutMitigator ### stddev\_upper\_bound - + Return an upper bound on standard deviation of expval estimator. **Parameters** diff --git a/docs/api/qiskit/qiskit.result.Counts.mdx b/docs/api/qiskit/qiskit.result.Counts.mdx index 89c104ace04..169f8e8b6b4 100644 --- a/docs/api/qiskit/qiskit.result.Counts.mdx +++ b/docs/api/qiskit/qiskit.result.Counts.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.result.Counts # Counts - + Bases: [`dict`](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)") A class to store a counts result from a circuit execution. @@ -67,7 +67,7 @@ python_api_name: qiskit.result.Counts ### hex\_outcomes - + Return a counts dictionary with hexadecimal string keys **Returns** @@ -87,7 +87,7 @@ python_api_name: qiskit.result.Counts ### int\_outcomes - + Build a counts dictionary with integer keys instead of count strings **Returns** @@ -113,7 +113,7 @@ python_api_name: qiskit.result.Counts ### most\_frequent - + Return the most frequent count **Returns** @@ -153,7 +153,7 @@ python_api_name: qiskit.result.Counts ### shots - + Return the number of shots diff --git a/docs/api/qiskit/qiskit.result.LocalReadoutMitigator.mdx b/docs/api/qiskit/qiskit.result.LocalReadoutMitigator.mdx index 71576ba5f9d..51a31556353 100644 --- a/docs/api/qiskit/qiskit.result.LocalReadoutMitigator.mdx +++ b/docs/api/qiskit/qiskit.result.LocalReadoutMitigator.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.result.LocalReadoutMitigator # LocalReadoutMitigator - + Bases: [`BaseReadoutMitigator`](qiskit.result.BaseReadoutMitigator "qiskit.result.mitigation.base_readout_mitigator.BaseReadoutMitigator") 1-qubit tensor product readout error mitigator. @@ -45,7 +45,7 @@ python_api_name: qiskit.result.LocalReadoutMitigator ### assignment\_matrix - + Return the measurement assignment matrix for specified qubits. The assignment matrix is the stochastic matrix $A$ which assigns a noisy measurement probability distribution to an ideal input measurement distribution: $P(i|j) = \langle i | A | j \rangle$. @@ -65,7 +65,7 @@ python_api_name: qiskit.result.LocalReadoutMitigator ### expectation\_value - + Compute the mitigated expectation value of a diagonal observable. This computes the mitigated estimator of $\langle O \rangle = \mbox{Tr}[\rho. O]$ of a diagonal observable $O = \sum_{x\in\{0, 1\}^n} O(x)|x\rangle\!\langle x|$. @@ -93,7 +93,7 @@ python_api_name: qiskit.result.LocalReadoutMitigator ### mitigation\_matrix - + Return the measurement mitigation matrix for the specified qubits. The mitigation matrix $A^{-1}$ is defined as the inverse of the [`assignment_matrix()`](#qiskit.result.LocalReadoutMitigator.assignment_matrix "qiskit.result.LocalReadoutMitigator.assignment_matrix") $A$. @@ -113,7 +113,7 @@ python_api_name: qiskit.result.LocalReadoutMitigator ### quasi\_probabilities - + Compute mitigated quasi probabilities value. **Parameters** @@ -140,7 +140,7 @@ python_api_name: qiskit.result.LocalReadoutMitigator ### stddev\_upper\_bound - + Return an upper bound on standard deviation of expval estimator. **Parameters** diff --git a/docs/api/qiskit/qiskit.result.ProbDistribution.mdx b/docs/api/qiskit/qiskit.result.ProbDistribution.mdx index 496f0acb7be..be4efba5564 100644 --- a/docs/api/qiskit/qiskit.result.ProbDistribution.mdx +++ b/docs/api/qiskit/qiskit.result.ProbDistribution.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.result.ProbDistribution # ProbDistribution - + Bases: [`dict`](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)") A generic dict-like class for probability distributions. @@ -36,7 +36,7 @@ python_api_name: qiskit.result.ProbDistribution ### binary\_probabilities - + Build a probabilities dictionary with binary string keys **Parameters** @@ -76,7 +76,7 @@ python_api_name: qiskit.result.ProbDistribution ### hex\_probabilities - + Build a probabilities dictionary with hexadecimal string keys **Returns** diff --git a/docs/api/qiskit/qiskit.result.QuasiDistribution.mdx b/docs/api/qiskit/qiskit.result.QuasiDistribution.mdx index 87eb99c1e4e..3f6e0231cd2 100644 --- a/docs/api/qiskit/qiskit.result.QuasiDistribution.mdx +++ b/docs/api/qiskit/qiskit.result.QuasiDistribution.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.result.QuasiDistribution # QuasiDistribution - + Bases: [`dict`](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)") A dict-like class for representing quasi-probabilities. @@ -50,7 +50,7 @@ python_api_name: qiskit.result.QuasiDistribution ### binary\_probabilities - + Build a quasi-probabilities dictionary with binary string keys **Parameters** @@ -90,7 +90,7 @@ python_api_name: qiskit.result.QuasiDistribution ### hex\_probabilities - + Build a quasi-probabilities dictionary with hexadecimal string keys **Returns** @@ -114,7 +114,7 @@ python_api_name: qiskit.result.QuasiDistribution ### nearest\_probability\_distribution - + Takes a quasiprobability distribution and maps it to the closest probability distribution as defined by the L2-norm. **Parameters** diff --git a/docs/api/qiskit/qiskit.result.Result.mdx b/docs/api/qiskit/qiskit.result.Result.mdx index 858353f2bc1..e40c61fe7e0 100644 --- a/docs/api/qiskit/qiskit.result.Result.mdx +++ b/docs/api/qiskit/qiskit.result.Result.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.result.Result # Result - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Model for Results. @@ -77,7 +77,7 @@ python_api_name: qiskit.result.Result ### data - + Get the raw data for an experiment. Note this data will be a single classical and quantum register and in a format required by the results schema. We recommend that most users use the get\_xxx method, and the data will be post-processed for the data type. @@ -109,7 +109,7 @@ python_api_name: qiskit.result.Result ### from\_dict - + Create a new ExperimentResultData object from a dictionary. **Parameters** @@ -127,7 +127,7 @@ python_api_name: qiskit.result.Result ### get\_counts - + Get the histogram data of an experiment. **Parameters** @@ -149,7 +149,7 @@ python_api_name: qiskit.result.Result ### get\_memory - + Get the sequence of memory states (readouts) for each shot The data from the experiment is a list of format \[‘00000’, ‘01000’, ‘10100’, ‘10100’, ‘11101’, ‘11100’, ‘00101’, …, ‘01010’] **Parameters** @@ -179,7 +179,7 @@ python_api_name: qiskit.result.Result ### get\_statevector - + Get the final statevector of an experiment. **Parameters** @@ -202,7 +202,7 @@ python_api_name: qiskit.result.Result ### get\_unitary - + Get the final unitary of an experiment. **Parameters** @@ -227,7 +227,7 @@ python_api_name: qiskit.result.Result ### to\_dict - + Return a dictionary format representation of the Result **Returns** diff --git a/docs/api/qiskit/qiskit.result.ResultError.mdx b/docs/api/qiskit/qiskit.result.ResultError.mdx index 48be545e9e9..7c782f141d6 100644 --- a/docs/api/qiskit/qiskit.result.ResultError.mdx +++ b/docs/api/qiskit/qiskit.result.ResultError.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.result.ResultError # qiskit.result.ResultError - + Exceptions raised due to errors in result output. It may be better for the Qiskit API to raise this exception. diff --git a/docs/api/qiskit/qiskit.synthesis.EvolutionSynthesis.mdx b/docs/api/qiskit/qiskit.synthesis.EvolutionSynthesis.mdx index 384d88e3d02..37fec2e4a19 100644 --- a/docs/api/qiskit/qiskit.synthesis.EvolutionSynthesis.mdx +++ b/docs/api/qiskit/qiskit.synthesis.EvolutionSynthesis.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.EvolutionSynthesis # EvolutionSynthesis - + Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") Interface for evolution synthesis algorithms. @@ -33,7 +33,7 @@ python_api_name: qiskit.synthesis.EvolutionSynthesis ### synthesize - + Synthesize an `qiskit.circuit.library.PauliEvolutionGate`. **Parameters** diff --git a/docs/api/qiskit/qiskit.synthesis.LieTrotter.mdx b/docs/api/qiskit/qiskit.synthesis.LieTrotter.mdx index b1543efe589..64d8dc829f6 100644 --- a/docs/api/qiskit/qiskit.synthesis.LieTrotter.mdx +++ b/docs/api/qiskit/qiskit.synthesis.LieTrotter.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.LieTrotter # LieTrotter - + Bases: [`ProductFormula`](qiskit.synthesis.ProductFormula "qiskit.synthesis.evolution.product_formula.ProductFormula") The Lie-Trotter product formula. @@ -56,7 +56,7 @@ $$ ### synthesize - + Synthesize an `qiskit.circuit.library.PauliEvolutionGate`. **Parameters** diff --git a/docs/api/qiskit/qiskit.synthesis.MatrixExponential.mdx b/docs/api/qiskit/qiskit.synthesis.MatrixExponential.mdx index 2d0ae395c5e..45c6ac4fd60 100644 --- a/docs/api/qiskit/qiskit.synthesis.MatrixExponential.mdx +++ b/docs/api/qiskit/qiskit.synthesis.MatrixExponential.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.MatrixExponential # MatrixExponential - + Bases: [`EvolutionSynthesis`](qiskit.synthesis.EvolutionSynthesis "qiskit.synthesis.evolution.evolution_synthesis.EvolutionSynthesis") Exact operator evolution via matrix exponentiation and unitary synthesis. @@ -35,7 +35,7 @@ python_api_name: qiskit.synthesis.MatrixExponential ### synthesize - + Synthesize an `qiskit.circuit.library.PauliEvolutionGate`. **Parameters** diff --git a/docs/api/qiskit/qiskit.synthesis.OneQubitEulerDecomposer.mdx b/docs/api/qiskit/qiskit.synthesis.OneQubitEulerDecomposer.mdx index dfab224d540..d27c896b89c 100644 --- a/docs/api/qiskit/qiskit.synthesis.OneQubitEulerDecomposer.mdx +++ b/docs/api/qiskit/qiskit.synthesis.OneQubitEulerDecomposer.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.OneQubitEulerDecomposer # OneQubitEulerDecomposer - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A class for decomposing 1-qubit unitaries into Euler angle rotations. @@ -32,7 +32,7 @@ python_api_name: qiskit.synthesis.OneQubitEulerDecomposer ### \_\_call\_\_ - + Decompose single qubit gate into a circuit. **Parameters** @@ -79,7 +79,7 @@ python_api_name: qiskit.synthesis.OneQubitEulerDecomposer ### angles - + Return the Euler angles for input array. **Parameters** @@ -97,7 +97,7 @@ python_api_name: qiskit.synthesis.OneQubitEulerDecomposer ### angles\_and\_phase - + Return the Euler angles and phase for input array. **Parameters** @@ -115,7 +115,7 @@ python_api_name: qiskit.synthesis.OneQubitEulerDecomposer ### build\_circuit - + Return the circuit or dag object from a list of gates. diff --git a/docs/api/qiskit/qiskit.synthesis.ProductFormula.mdx b/docs/api/qiskit/qiskit.synthesis.ProductFormula.mdx index 3cb6e5e51dc..46b0ed41cdf 100644 --- a/docs/api/qiskit/qiskit.synthesis.ProductFormula.mdx +++ b/docs/api/qiskit/qiskit.synthesis.ProductFormula.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.ProductFormula # ProductFormula - + Bases: [`EvolutionSynthesis`](qiskit.synthesis.EvolutionSynthesis "qiskit.synthesis.evolution.evolution_synthesis.EvolutionSynthesis") Product formula base class for the decomposition of non-commuting operator exponentials. @@ -43,7 +43,7 @@ python_api_name: qiskit.synthesis.ProductFormula ### synthesize - + Synthesize an `qiskit.circuit.library.PauliEvolutionGate`. **Parameters** diff --git a/docs/api/qiskit/qiskit.synthesis.QDrift.mdx b/docs/api/qiskit/qiskit.synthesis.QDrift.mdx index f4391195c7d..719f28d0c02 100644 --- a/docs/api/qiskit/qiskit.synthesis.QDrift.mdx +++ b/docs/api/qiskit/qiskit.synthesis.QDrift.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.QDrift # QDrift - + Bases: [`ProductFormula`](qiskit.synthesis.ProductFormula "qiskit.synthesis.evolution.product_formula.ProductFormula") The QDrift Trotterization method, which selects each each term in the Trotterization randomly, with a probability proportional to its weight. Based on the work of Earl Campbell in Ref. \[1]. @@ -45,7 +45,7 @@ python_api_name: qiskit.synthesis.QDrift ### synthesize - + Synthesize an `qiskit.circuit.library.PauliEvolutionGate`. **Parameters** diff --git a/docs/api/qiskit/qiskit.synthesis.SolovayKitaevDecomposition.mdx b/docs/api/qiskit/qiskit.synthesis.SolovayKitaevDecomposition.mdx index 2c5f72ba71c..f48a492daa4 100644 --- a/docs/api/qiskit/qiskit.synthesis.SolovayKitaevDecomposition.mdx +++ b/docs/api/qiskit/qiskit.synthesis.SolovayKitaevDecomposition.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.SolovayKitaevDecomposition # SolovayKitaevDecomposition - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") The Solovay Kitaev discrete decomposition algorithm. @@ -23,7 +23,7 @@ python_api_name: qiskit.synthesis.SolovayKitaevDecomposition ### find\_basic\_approximation - + Finds gate in `self._basic_approximations` that best represents `sequence`. **Parameters** @@ -41,7 +41,7 @@ python_api_name: qiskit.synthesis.SolovayKitaevDecomposition ### load\_basic\_approximations - + Load basic approximations. **Parameters** @@ -63,7 +63,7 @@ python_api_name: qiskit.synthesis.SolovayKitaevDecomposition ### run - + Run the algorithm. **Parameters** diff --git a/docs/api/qiskit/qiskit.synthesis.SuzukiTrotter.mdx b/docs/api/qiskit/qiskit.synthesis.SuzukiTrotter.mdx index b3feb46c1ce..b162ea47b98 100644 --- a/docs/api/qiskit/qiskit.synthesis.SuzukiTrotter.mdx +++ b/docs/api/qiskit/qiskit.synthesis.SuzukiTrotter.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.SuzukiTrotter # SuzukiTrotter - + Bases: [`ProductFormula`](qiskit.synthesis.ProductFormula "qiskit.synthesis.evolution.product_formula.ProductFormula") The (higher order) Suzuki-Trotter product formula. @@ -63,7 +63,7 @@ $$ ### synthesize - + Synthesize an `qiskit.circuit.library.PauliEvolutionGate`. **Parameters** diff --git a/docs/api/qiskit/qiskit.synthesis.TwoQubitBasisDecomposer.mdx b/docs/api/qiskit/qiskit.synthesis.TwoQubitBasisDecomposer.mdx index d689ab7ad62..93ddadafe94 100644 --- a/docs/api/qiskit/qiskit.synthesis.TwoQubitBasisDecomposer.mdx +++ b/docs/api/qiskit/qiskit.synthesis.TwoQubitBasisDecomposer.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.TwoQubitBasisDecomposer # TwoQubitBasisDecomposer - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A class for decomposing 2-qubit unitaries into minimal number of uses of a 2-qubit basis gate. @@ -22,7 +22,7 @@ python_api_name: qiskit.synthesis.TwoQubitBasisDecomposer ### \_\_call\_\_ - + Decompose a two-qubit `unitary` over fixed basis and $SU(2)$ using the best approximation given that each basis application has a finite `basis_fidelity`. **Parameters** @@ -49,7 +49,7 @@ python_api_name: qiskit.synthesis.TwoQubitBasisDecomposer ### decomp0 - + Decompose target $\sim U_d(x, y, z)$ with $0$ uses of the basis gate. Result $U_r$ has trace: $$ @@ -62,7 +62,7 @@ $$ ### decomp1 - + Decompose target $\sim U_d(x, y, z)$ with $1$ use of the basis gate $\sim U_d(a, b, c)$. Result $U_r$ has trace: $$ @@ -75,7 +75,7 @@ $$ ### decomp2\_supercontrolled - + Decompose target $\sim U_d(x, y, z)$ with $2$ uses of the basis gate. For supercontrolled basis $\sim U_d(\pi/4, b, 0)$, all b, result $U_r$ has trace @@ -89,19 +89,19 @@ $$ ### decomp3\_supercontrolled - + Decompose target with $3$ uses of the basis. This is an exact decomposition for supercontrolled basis $\sim U_d(\pi/4, b, 0)$, all b, and any target. No guarantees for non-supercontrolled basis. ### num\_basis\_gates - + Computes the number of basis gates needed in a decomposition of input unitary ### traces - + Give the expected traces $\Big\vert\text{Tr}(U \cdot U_\text{target}^{\dag})\Big\vert$ for a different number of basis gates. diff --git a/docs/api/qiskit/qiskit.synthesis.TwoQubitWeylDecomposition.mdx b/docs/api/qiskit/qiskit.synthesis.TwoQubitWeylDecomposition.mdx index e3db21cd00f..cde1b7c83c2 100644 --- a/docs/api/qiskit/qiskit.synthesis.TwoQubitWeylDecomposition.mdx +++ b/docs/api/qiskit/qiskit.synthesis.TwoQubitWeylDecomposition.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.TwoQubitWeylDecomposition # TwoQubitWeylDecomposition - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Two-qubit Weyl decomposition. @@ -97,7 +97,7 @@ $$ ### actual\_fidelity - + Calculates the actual fidelity of the decomposed circuit to the input unitary. **Return type** @@ -107,7 +107,7 @@ $$ ### circuit - + Returns Weyl decomposition in circuit form. **Return type** @@ -117,7 +117,7 @@ $$ ### from\_bytes - + Decode bytes into [`TwoQubitWeylDecomposition`](#qiskit.synthesis.TwoQubitWeylDecomposition "qiskit.synthesis.TwoQubitWeylDecomposition"). **Return type** @@ -127,7 +127,7 @@ $$ ### specialize - + Make changes to the decomposition to comply with any specialization. diff --git a/docs/api/qiskit/qiskit.synthesis.XXDecomposer.mdx b/docs/api/qiskit/qiskit.synthesis.XXDecomposer.mdx index 55d37024e74..0b07992e902 100644 --- a/docs/api/qiskit/qiskit.synthesis.XXDecomposer.mdx +++ b/docs/api/qiskit/qiskit.synthesis.XXDecomposer.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.XXDecomposer # XXDecomposer - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") 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$). @@ -26,7 +26,7 @@ python_api_name: qiskit.synthesis.XXDecomposer ### \_\_call\_\_ - + Fashions a circuit which (perhaps approximately) models the special unitary operation `unitary`, using the circuit templates supplied at initialization as `embodiments`. The routine uses `basis_fidelity` to select the optimal circuit template, including when performing exact synthesis; the contents of `basis_fidelity` is a dictionary mapping interaction strengths (scaled so that $CX = RZX(\pi/2)$ corresponds to $\pi/2$) to circuit fidelities. **Parameters** @@ -48,7 +48,7 @@ python_api_name: qiskit.synthesis.XXDecomposer ### num\_basis\_gates - + Counts the number of gates that would be emitted during re-synthesis. diff --git a/docs/api/qiskit/qiskit.synthesis.unitary.aqc.AQC.mdx b/docs/api/qiskit/qiskit.synthesis.unitary.aqc.AQC.mdx index 47d05771362..1e29e42521e 100644 --- a/docs/api/qiskit/qiskit.synthesis.unitary.aqc.AQC.mdx +++ b/docs/api/qiskit/qiskit.synthesis.unitary.aqc.AQC.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.AQC # AQC - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A generic implementation of the Approximate Quantum Compiler. This implementation is agnostic of the underlying implementation of the approximate circuit, objective, and optimizer. Users may pass corresponding implementations of the abstract classes: @@ -27,7 +27,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.AQC ### compile\_unitary - + Approximately compiles a circuit represented as a unitary matrix by solving an optimization problem defined by `approximating_objective` and using `approximate_circuit` as a template for the approximate circuit. **Parameters** diff --git a/docs/api/qiskit/qiskit.synthesis.unitary.aqc.ApproximateCircuit.mdx b/docs/api/qiskit/qiskit.synthesis.unitary.aqc.ApproximateCircuit.mdx index 252a6789763..e2eacc0549b 100644 --- a/docs/api/qiskit/qiskit.synthesis.unitary.aqc.ApproximateCircuit.mdx +++ b/docs/api/qiskit/qiskit.synthesis.unitary.aqc.ApproximateCircuit.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.ApproximateCircuit # ApproximateCircuit - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit"), [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") A base class that represents an approximate circuit. @@ -204,7 +204,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.ApproximateCircuit ### build - + **Constructs this circuit out of the parameters(thetas). Parameter values must be set before** constructing the circuit. diff --git a/docs/api/qiskit/qiskit.synthesis.unitary.aqc.ApproximatingObjective.mdx b/docs/api/qiskit/qiskit.synthesis.unitary.aqc.ApproximatingObjective.mdx index c9a7d682aa2..0226325bdea 100644 --- a/docs/api/qiskit/qiskit.synthesis.unitary.aqc.ApproximatingObjective.mdx +++ b/docs/api/qiskit/qiskit.synthesis.unitary.aqc.ApproximatingObjective.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.ApproximatingObjective # ApproximatingObjective - + Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") A base class for an optimization problem definition. An implementing class must provide at least an implementation of the `objective` method. In such case only gradient free optimizers can be used. Both method, `objective` and `gradient`, preferable to have in an implementation. @@ -31,7 +31,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.ApproximatingObjective ### gradient - + Computes a gradient with respect to parameters given a vector of parameter values. **Parameters** @@ -49,7 +49,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.ApproximatingObjective ### objective - + Computes a value of the objective function given a vector of parameter values. **Parameters** diff --git a/docs/api/qiskit/qiskit.synthesis.unitary.aqc.CNOTUnitCircuit.mdx b/docs/api/qiskit/qiskit.synthesis.unitary.aqc.CNOTUnitCircuit.mdx index 8640ab196c2..aba8b5009e3 100644 --- a/docs/api/qiskit/qiskit.synthesis.unitary.aqc.CNOTUnitCircuit.mdx +++ b/docs/api/qiskit/qiskit.synthesis.unitary.aqc.CNOTUnitCircuit.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.CNOTUnitCircuit # CNOTUnitCircuit - + Bases: [`ApproximateCircuit`](qiskit.synthesis.unitary.aqc.ApproximateCircuit "qiskit.synthesis.unitary.aqc.approximate.ApproximateCircuit") A class that represents an approximate circuit based on CNOT unit blocks. @@ -210,7 +210,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.CNOTUnitCircuit ### build - + **Constructs a Qiskit quantum circuit out of the parameters (angles) of this circuit. If a** parameter value is less in absolute value than the specified tolerance then the corresponding rotation gate will be skipped in the circuit. diff --git a/docs/api/qiskit/qiskit.synthesis.unitary.aqc.CNOTUnitObjective.mdx b/docs/api/qiskit/qiskit.synthesis.unitary.aqc.CNOTUnitObjective.mdx index 07cb649ceec..683497de1bd 100644 --- a/docs/api/qiskit/qiskit.synthesis.unitary.aqc.CNOTUnitObjective.mdx +++ b/docs/api/qiskit/qiskit.synthesis.unitary.aqc.CNOTUnitObjective.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.CNOTUnitObjective # CNOTUnitObjective - + Bases: [`ApproximatingObjective`](qiskit.synthesis.unitary.aqc.ApproximatingObjective "qiskit.synthesis.unitary.aqc.approximate.ApproximatingObjective"), [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") A base class for a problem definition based on CNOT unit. This class may have different subclasses for objective and gradient computations. diff --git a/docs/api/qiskit/qiskit.synthesis.unitary.aqc.DefaultCNOTUnitObjective.mdx b/docs/api/qiskit/qiskit.synthesis.unitary.aqc.DefaultCNOTUnitObjective.mdx index 64803e6221f..c935b268b23 100644 --- a/docs/api/qiskit/qiskit.synthesis.unitary.aqc.DefaultCNOTUnitObjective.mdx +++ b/docs/api/qiskit/qiskit.synthesis.unitary.aqc.DefaultCNOTUnitObjective.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.DefaultCNOTUnitObjective # DefaultCNOTUnitObjective - + Bases: [`CNOTUnitObjective`](qiskit.synthesis.unitary.aqc.CNOTUnitObjective "qiskit.synthesis.unitary.aqc.cnot_unit_objective.CNOTUnitObjective") A naive implementation of the objective function based on CNOT units. @@ -42,7 +42,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.DefaultCNOTUnitObjective ### gradient - + Computes a gradient with respect to parameters given a vector of parameter values. **Parameters** @@ -60,7 +60,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.DefaultCNOTUnitObjective ### objective - + Computes a value of the objective function given a vector of parameter values. **Parameters** diff --git a/docs/api/qiskit/qiskit.synthesis.unitary.aqc.FastCNOTUnitObjective.mdx b/docs/api/qiskit/qiskit.synthesis.unitary.aqc.FastCNOTUnitObjective.mdx index 070c320a293..89a0b7fb27d 100644 --- a/docs/api/qiskit/qiskit.synthesis.unitary.aqc.FastCNOTUnitObjective.mdx +++ b/docs/api/qiskit/qiskit.synthesis.unitary.aqc.FastCNOTUnitObjective.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.FastCNOTUnitObjective # FastCNOTUnitObjective - + Bases: [`CNOTUnitObjective`](qiskit.synthesis.unitary.aqc.CNOTUnitObjective "qiskit.synthesis.unitary.aqc.cnot_unit_objective.CNOTUnitObjective") Implementation of objective function and gradient calculator, which is similar to `DefaultCNOTUnitObjective` but several times faster. @@ -42,7 +42,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.FastCNOTUnitObjective ### gradient - + Computes the gradient of objective function. See description of the base class method. **Return type** @@ -52,7 +52,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.FastCNOTUnitObjective ### objective - + Computes the objective function and some intermediate data for the subsequent gradient computation. See description of the base class method. **Return type** diff --git a/docs/api/qiskit/qiskit.synthesis.unitary.aqc.mdx b/docs/api/qiskit/qiskit.synthesis.unitary.aqc.mdx index 74135fc0c53..ba5b19e4601 100644 --- a/docs/api/qiskit/qiskit.synthesis.unitary.aqc.mdx +++ b/docs/api/qiskit/qiskit.synthesis.unitary.aqc.mdx @@ -129,7 +129,7 @@ This uses a helper function, [`make_cnot_network`](#qiskit.synthesis.unitary.aqc ### make\_cnot\_network - + 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. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.AnalysisPass.mdx b/docs/api/qiskit/qiskit.transpiler.AnalysisPass.mdx index 5f19f295eaa..4e4e2c5b343 100644 --- a/docs/api/qiskit/qiskit.transpiler.AnalysisPass.mdx +++ b/docs/api/qiskit/qiskit.transpiler.AnalysisPass.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.AnalysisPass # AnalysisPass - + Bases: `BasePass` An analysis pass: change property set, not DAG. @@ -35,7 +35,7 @@ python_api_name: qiskit.transpiler.AnalysisPass ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -55,7 +55,7 @@ python_api_name: qiskit.transpiler.AnalysisPass ### name - + Name of the pass. **Return type** @@ -65,7 +65,7 @@ python_api_name: qiskit.transpiler.AnalysisPass ### run - + Run a pass on the DAGCircuit. This is implemented by the pass developer. **Parameters** @@ -79,7 +79,7 @@ python_api_name: qiskit.transpiler.AnalysisPass ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.CouplingMap.mdx b/docs/api/qiskit/qiskit.transpiler.CouplingMap.mdx index 5dd971a780b..73c3af212d5 100644 --- a/docs/api/qiskit/qiskit.transpiler.CouplingMap.mdx +++ b/docs/api/qiskit/qiskit.transpiler.CouplingMap.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.CouplingMap # CouplingMap - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Directed graph specifying fixed coupling. @@ -58,7 +58,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### add\_edge - + Add directed edge to coupling graph. src (int): source physical qubit dst (int): destination physical qubit @@ -66,7 +66,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### add\_physical\_qubit - + Add a physical qubit to the coupling graph as a node. physical\_qubit (int): An integer representing a physical qubit. @@ -78,7 +78,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### compute\_distance\_matrix - + Compute the full distance matrix on pairs of nodes. The distance map self.\_dist\_matrix is computed from the graph using all\_pairs\_shortest\_path\_length. This is normally handled internally by the [`distance_matrix`](#qiskit.transpiler.CouplingMap.distance_matrix "qiskit.transpiler.CouplingMap.distance_matrix") attribute or the [`distance()`](#qiskit.transpiler.CouplingMap.distance "qiskit.transpiler.CouplingMap.distance") method but can be called if you’re accessing the distance matrix outside of those or want to pre-generate it. @@ -86,7 +86,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### connected\_components - + Separate a [`CouplingMap`](#qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap") into subgraph [`CouplingMap`](#qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap") for each connected component. The connected components of a [`CouplingMap`](#qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap") are the subgraphs that are not part of any larger subgraph. For example, if you had a coupling map that looked like: @@ -142,7 +142,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### distance - + Returns the undirected distance between physical\_qubit1 and physical\_qubit2. **Parameters** @@ -165,7 +165,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### draw - + Draws the coupling map. This function calls the [`graphviz_draw()`](https://www.rustworkx.org/apiref/rustworkx.visualization.graphviz_draw.html#rustworkx.visualization.graphviz_draw "(in rustworkx v0.14)") function from the `rustworkx` package to draw the [`CouplingMap`](#qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap") object. @@ -181,7 +181,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### from\_full - + Return a fully connected coupling map on n qubits. **Return type** @@ -191,7 +191,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### from\_grid - + Return a coupling map of qubits connected on a grid of num\_rows x num\_columns. **Return type** @@ -201,7 +201,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### from\_heavy\_hex - + Return a heavy hexagon graph coupling map. A heavy hexagon graph is described in: @@ -224,7 +224,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### from\_heavy\_square - + Return a heavy square graph coupling map. A heavy square graph is described in: @@ -247,7 +247,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### from\_hexagonal\_lattice - + Return a hexagonal lattice graph coupling map. **Parameters** @@ -267,7 +267,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### from\_line - + Return a coupling map of n qubits connected in a line. **Return type** @@ -277,7 +277,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### from\_ring - + Return a coupling map of n qubits connected to each of their neighbors in a ring. **Return type** @@ -287,7 +287,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### get\_edges - + Gets the list of edges in the coupling graph. **Returns** @@ -301,7 +301,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### is\_connected - + Test if the graph is connected. Return True if connected, False otherwise @@ -309,19 +309,19 @@ python_api_name: qiskit.transpiler.CouplingMap ### largest\_connected\_component - + Return a set of qubits in the largest connected component. ### make\_symmetric - + Convert uni-directional edges into bi-directional. ### neighbors - + Return the nearest neighbors of a physical qubit. Directionality matters, i.e. a neighbor must be reachable by going one hop in the direction of an edge. @@ -329,7 +329,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### reduce - + Returns a reduced coupling map that corresponds to the subgraph of qubits selected in the mapping. **Parameters** @@ -352,7 +352,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### shortest\_undirected\_path - + Returns the shortest undirected path between physical\_qubit1 and physical\_qubit2. **Parameters** @@ -375,7 +375,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### size - + Return the number of physical qubits in this graph. diff --git a/docs/api/qiskit/qiskit.transpiler.InstructionDurations.mdx b/docs/api/qiskit/qiskit.transpiler.InstructionDurations.mdx index 500aacd9e86..3bf5175066d 100644 --- a/docs/api/qiskit/qiskit.transpiler.InstructionDurations.mdx +++ b/docs/api/qiskit/qiskit.transpiler.InstructionDurations.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.InstructionDurations # InstructionDurations - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Helper class to provide durations of instructions for scheduling. @@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.InstructionDurations ### from\_backend - + Construct an [`InstructionDurations`](#qiskit.transpiler.InstructionDurations "qiskit.transpiler.InstructionDurations") object from the backend. **Parameters** @@ -41,7 +41,7 @@ python_api_name: qiskit.transpiler.InstructionDurations ### get - + Get the duration of the instruction with the name, qubits, and parameters. Some instructions may have a parameter dependent duration. @@ -68,7 +68,7 @@ python_api_name: qiskit.transpiler.InstructionDurations ### units\_used - + Get the set of all units used in this instruction durations. **Returns** @@ -82,7 +82,7 @@ python_api_name: qiskit.transpiler.InstructionDurations ### update - + Update self with inst\_durations (inst\_durations overwrite self). **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.InstructionProperties.mdx b/docs/api/qiskit/qiskit.transpiler.InstructionProperties.mdx index 9331d7bcd4f..59b4ab5e745 100644 --- a/docs/api/qiskit/qiskit.transpiler.InstructionProperties.mdx +++ b/docs/api/qiskit/qiskit.transpiler.InstructionProperties.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.InstructionProperties # InstructionProperties - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A representation of the properties of a gate implementation. diff --git a/docs/api/qiskit/qiskit.transpiler.Layout.mdx b/docs/api/qiskit/qiskit.transpiler.Layout.mdx index dcc4df83a49..87b723b86de 100644 --- a/docs/api/qiskit/qiskit.transpiler.Layout.mdx +++ b/docs/api/qiskit/qiskit.transpiler.Layout.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.Layout # Layout - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Two-ways dict to represent a Layout. @@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.Layout ### add - + Adds a map element between bit and physical\_bit. If physical\_bit is not defined, bit will be mapped to a new physical bit. **Parameters** @@ -30,7 +30,7 @@ python_api_name: qiskit.transpiler.Layout ### add\_register - + Adds at the end physical\_qubits that map each bit in reg. **Parameters** @@ -40,7 +40,7 @@ python_api_name: qiskit.transpiler.Layout ### combine\_into\_edge\_map - + Combines self and another\_layout into an “edge map”. For example: @@ -73,13 +73,13 @@ python_api_name: qiskit.transpiler.Layout ### copy - + Returns a copy of a Layout instance. ### from\_dict - + Populates a Layout from a dictionary. The dictionary must be a bijective mapping between virtual qubits (tuple) and physical qubits (int). @@ -113,7 +113,7 @@ python_api_name: qiskit.transpiler.Layout ### from\_intlist - + Converts a list of integers to a Layout mapping virtual qubits (index of the list) to physical qubits (the list values). **Parameters** @@ -136,7 +136,7 @@ python_api_name: qiskit.transpiler.Layout ### from\_qubit\_list - + Populates a Layout from a list containing virtual qubits, Qubit or None. **Parameters** @@ -159,7 +159,7 @@ python_api_name: qiskit.transpiler.Layout ### generate\_trivial\_layout - + Creates a trivial (“one-to-one”) Layout with the registers and qubits in regs. **Parameters** @@ -177,31 +177,31 @@ python_api_name: qiskit.transpiler.Layout ### get\_physical\_bits - + Returns the dictionary where the keys are physical (qu)bits and the values are virtual (qu)bits. ### get\_registers - + Returns the registers in the layout \[QuantumRegister(2, ‘qr0’), QuantumRegister(3, ‘qr1’)] :returns: A set of Registers in the layout :rtype: Set ### get\_virtual\_bits - + Returns the dictionary where the keys are virtual (qu)bits and the values are physical (qu)bits. ### order\_based\_on\_type - + decides which one is physical/virtual based on the type. Returns (virtual, physical) ### reorder\_bits - + Given an ordered list of bits, reorder them according to this layout. The list of bits must exactly match the virtual bits in this layout. @@ -221,7 +221,7 @@ python_api_name: qiskit.transpiler.Layout ### swap - + Swaps the map between left and right. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.PassManager.mdx b/docs/api/qiskit/qiskit.transpiler.PassManager.mdx index d8ff8f371fb..5d6eceb883c 100644 --- a/docs/api/qiskit/qiskit.transpiler.PassManager.mdx +++ b/docs/api/qiskit/qiskit.transpiler.PassManager.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.PassManager # PassManager - + Bases: [`BasePassManager`](qiskit.passmanager.BasePassManager "qiskit.passmanager.passmanager.BasePassManager") Manager for a set of Passes and their scheduling during transpilation. @@ -24,7 +24,7 @@ python_api_name: qiskit.transpiler.PassManager ### append - + Append a Pass Set to the schedule of passes. **Parameters** @@ -38,7 +38,7 @@ python_api_name: qiskit.transpiler.PassManager ### draw - + Draw the pass manager. This function needs [pydot](https://github.com/erocarrera/pydot), which in turn needs [Graphviz](https://www.graphviz.org/) to be installed. @@ -64,7 +64,7 @@ python_api_name: qiskit.transpiler.PassManager ### remove - + Removes a particular pass in the scheduler. **Parameters** @@ -78,7 +78,7 @@ python_api_name: qiskit.transpiler.PassManager ### replace - + Replace a particular pass in the scheduler. **Parameters** @@ -89,7 +89,7 @@ python_api_name: qiskit.transpiler.PassManager ### run - + Run all the passes on the specified `circuits`. **Parameters** @@ -141,7 +141,7 @@ python_api_name: qiskit.transpiler.PassManager ### to\_flow\_controller - + Linearize this manager into a single [`FlowControllerLinear`](qiskit.passmanager.FlowControllerLinear "qiskit.passmanager.FlowControllerLinear"), so that it can be nested inside another pass manager. **Returns** diff --git a/docs/api/qiskit/qiskit.transpiler.PassManagerConfig.mdx b/docs/api/qiskit/qiskit.transpiler.PassManagerConfig.mdx index 59441b122a1..af1fc1a2731 100644 --- a/docs/api/qiskit/qiskit.transpiler.PassManagerConfig.mdx +++ b/docs/api/qiskit/qiskit.transpiler.PassManagerConfig.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.PassManagerConfig # PassManagerConfig - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Pass Manager Configuration. @@ -40,7 +40,7 @@ python_api_name: qiskit.transpiler.PassManagerConfig ### from\_backend - + Construct a configuration based on a backend and user input. This method automatically gererates a PassManagerConfig object based on the backend’s features. User options can be used to overwrite the configuration. diff --git a/docs/api/qiskit/qiskit.transpiler.StagedPassManager.mdx b/docs/api/qiskit/qiskit.transpiler.StagedPassManager.mdx index 0f4ff52fb79..a96fc23803c 100644 --- a/docs/api/qiskit/qiskit.transpiler.StagedPassManager.mdx +++ b/docs/api/qiskit/qiskit.transpiler.StagedPassManager.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.StagedPassManager # StagedPassManager - + Bases: [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.passmanager.PassManager") A pass manager pipeline built from individual stages. @@ -64,7 +64,7 @@ python_api_name: qiskit.transpiler.StagedPassManager ### append - + Append a Pass Set to the schedule of passes. **Parameters** @@ -78,13 +78,13 @@ python_api_name: qiskit.transpiler.StagedPassManager ### draw - + Draw the staged pass manager. ### remove - + Removes a particular pass in the scheduler. **Parameters** @@ -98,7 +98,7 @@ python_api_name: qiskit.transpiler.StagedPassManager ### replace - + Replace a particular pass in the scheduler. **Parameters** @@ -109,7 +109,7 @@ python_api_name: qiskit.transpiler.StagedPassManager ### run - + Run all the passes on the specified `circuits`. **Parameters** @@ -161,7 +161,7 @@ python_api_name: qiskit.transpiler.StagedPassManager ### to\_flow\_controller - + Linearize this manager into a single [`FlowControllerLinear`](qiskit.passmanager.FlowControllerLinear "qiskit.passmanager.FlowControllerLinear"), so that it can be nested inside another pass manager. **Returns** diff --git a/docs/api/qiskit/qiskit.transpiler.Target.mdx b/docs/api/qiskit/qiskit.transpiler.Target.mdx index deab9ed949c..229b4d36e6c 100644 --- a/docs/api/qiskit/qiskit.transpiler.Target.mdx +++ b/docs/api/qiskit/qiskit.transpiler.Target.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.Target # Target - + Bases: [`Mapping`](https://docs.python.org/3/library/collections.abc.html#collections.abc.Mapping "(in Python v3.12)") 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. It currently contains a description of instructions on a backend and their properties as well as some timing information. However, this exact interface may evolve over time as the needs of the compiler change. These changes will be done in a backwards compatible and controlled manner when they are made (either through versioning, subclassing, or mixins) to add on to the set of information exposed by a target. @@ -159,7 +159,7 @@ python_api_name: qiskit.transpiler.Target ### add\_instruction - + 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: @@ -198,7 +198,7 @@ python_api_name: qiskit.transpiler.Target ### build\_coupling\_map - + Get a [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap") from this target. If there is a mix of two qubit operations that have a connectivity constraint and those that are globally defined this will also return `None` because the globally connectivity means there is no constraint on the target. If you wish to see the constraints of the two qubit operations that have constraints you should use the `two_q_gate` argument to limit the output to the gates which have a constraint. @@ -226,7 +226,7 @@ python_api_name: qiskit.transpiler.Target ### durations - + Get an InstructionDurations object from the target **Returns** @@ -242,7 +242,7 @@ python_api_name: qiskit.transpiler.Target ### from\_configuration - + Create a target object from the individual global configuration Prior to the creation of the [`Target`](#qiskit.transpiler.Target "qiskit.transpiler.Target") class, the constraints of a backend were represented by a collection of different objects which combined represent a subset of the information contained in the [`Target`](#qiskit.transpiler.Target "qiskit.transpiler.Target"). This function provides a simple interface to convert those separate objects to a [`Target`](#qiskit.transpiler.Target "qiskit.transpiler.Target"). @@ -283,7 +283,7 @@ python_api_name: qiskit.transpiler.Target ### get\_calibration - + Get calibrated pulse schedule for the instruction. If calibration is templated with parameters, one can also provide those values to build a schedule with assigned parameters. @@ -306,7 +306,7 @@ python_api_name: qiskit.transpiler.Target ### get\_non\_global\_operation\_names - + 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 multi-qubit qargs (for multi-qubit operations). @@ -326,7 +326,7 @@ python_api_name: qiskit.transpiler.Target ### has\_calibration - + Return whether the instruction (operation + qubits) defines a calibration. **Parameters** @@ -345,7 +345,7 @@ python_api_name: qiskit.transpiler.Target ### instruction\_properties - + Get the instruction properties for a specific instruction tuple This method is to be used in conjunction with the [`instructions`](#qiskit.transpiler.Target.instructions "qiskit.transpiler.Target.instructions") attribute of a [`Target`](#qiskit.transpiler.Target "qiskit.transpiler.Target") object. You can use this method to quickly get the instruction properties for an element of [`instructions`](#qiskit.transpiler.Target.instructions "qiskit.transpiler.Target.instructions") by using the index in that list. However, if you’re not working with [`instructions`](#qiskit.transpiler.Target.instructions "qiskit.transpiler.Target.instructions") directly it is likely more efficient to access the target directly via the name and qubits to get the instruction properties. For example, if [`instructions`](#qiskit.transpiler.Target.instructions "qiskit.transpiler.Target.instructions") returned: @@ -383,7 +383,7 @@ python_api_name: qiskit.transpiler.Target ### instruction\_schedule\_map - + Return an [`InstructionScheduleMap`](qiskit.pulse.InstructionScheduleMap "qiskit.pulse.InstructionScheduleMap") for the instructions in the target with a pulse schedule defined. **Returns** @@ -397,7 +397,7 @@ python_api_name: qiskit.transpiler.Target ### instruction\_supported - + Return whether the instruction (operation + qubits) is supported by the target **Parameters** @@ -436,15 +436,15 @@ python_api_name: qiskit.transpiler.Target ### items - + ### keys - + ### operation\_from\_name - + Get the operation class object for a given name **Parameters** @@ -462,7 +462,7 @@ python_api_name: qiskit.transpiler.Target ### operation\_names\_for\_qargs - + Get the operation names for a specified qargs tuple **Parameters** @@ -484,7 +484,7 @@ python_api_name: qiskit.transpiler.Target ### operations\_for\_qargs - + Get the operation class object for a specified qargs tuple **Parameters** @@ -506,7 +506,7 @@ python_api_name: qiskit.transpiler.Target ### qargs\_for\_operation\_name - + Get the qargs for a given operation name **Parameters** @@ -524,7 +524,7 @@ python_api_name: qiskit.transpiler.Target ### timing\_constraints - + Get an `TimingConstraints` object from the target **Returns** @@ -538,7 +538,7 @@ python_api_name: qiskit.transpiler.Target ### update\_from\_instruction\_schedule\_map - + Update the target from an instruction schedule map. If the input instruction schedule map contains new instructions not in the target they will be added. However, if it contains additional qargs for an existing instruction in the target it will error. @@ -570,7 +570,7 @@ python_api_name: qiskit.transpiler.Target ### update\_instruction\_properties - + Update the property object for an instruction qarg pair already in the Target **Parameters** @@ -586,6 +586,6 @@ python_api_name: qiskit.transpiler.Target ### values - + diff --git a/docs/api/qiskit/qiskit.transpiler.TransformationPass.mdx b/docs/api/qiskit/qiskit.transpiler.TransformationPass.mdx index c9282135af2..68c5da19b18 100644 --- a/docs/api/qiskit/qiskit.transpiler.TransformationPass.mdx +++ b/docs/api/qiskit/qiskit.transpiler.TransformationPass.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.TransformationPass # TransformationPass - + Bases: `BasePass` A transformation pass: change DAG, not property set. @@ -35,7 +35,7 @@ python_api_name: qiskit.transpiler.TransformationPass ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -55,7 +55,7 @@ python_api_name: qiskit.transpiler.TransformationPass ### name - + Name of the pass. **Return type** @@ -65,7 +65,7 @@ python_api_name: qiskit.transpiler.TransformationPass ### run - + Run a pass on the DAGCircuit. This is implemented by the pass developer. **Parameters** @@ -79,7 +79,7 @@ python_api_name: qiskit.transpiler.TransformationPass ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.TranspileLayout.mdx b/docs/api/qiskit/qiskit.transpiler.TranspileLayout.mdx index 7520f6ceb2c..b56df6ac98d 100644 --- a/docs/api/qiskit/qiskit.transpiler.TranspileLayout.mdx +++ b/docs/api/qiskit/qiskit.transpiler.TranspileLayout.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.TranspileLayout # TranspileLayout - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Layout attributes from output circuit from transpiler. @@ -65,7 +65,7 @@ python_api_name: qiskit.transpiler.TranspileLayout ### final\_index\_layout - + Generate the final layout as an array of integers This method will generate an array of final positions for each qubit in the output circuit. For example, if you had an input circuit like: @@ -110,7 +110,7 @@ python_api_name: qiskit.transpiler.TranspileLayout ### final\_virtual\_layout - + Generate the final layout as a [`Layout`](qiskit.transpiler.Layout "qiskit.transpiler.Layout") object This method will generate an array of final positions for each qubit in the output circuit. For example, if you had an input circuit like: @@ -159,7 +159,7 @@ python_api_name: qiskit.transpiler.TranspileLayout ### initial\_index\_layout - + Generate an initial layout as an array of integers **Parameters** @@ -177,7 +177,7 @@ python_api_name: qiskit.transpiler.TranspileLayout ### initial\_virtual\_layout - + Return a [`Layout`](qiskit.transpiler.Layout "qiskit.transpiler.Layout") object for the initial layout. This returns a mapping of virtual [`Qubit`](qiskit.circuit.Qubit "qiskit.circuit.Qubit") objects in the input circuit to the physical qubit selected during layout. This is analogous to the [`initial_layout`](#qiskit.transpiler.TranspileLayout.initial_layout "qiskit.transpiler.TranspileLayout.initial_layout") attribute. @@ -197,7 +197,7 @@ python_api_name: qiskit.transpiler.TranspileLayout ### routing\_permutation - + Generate a final layout as an array of integers If there is no [`final_layout`](#qiskit.transpiler.TranspileLayout.final_layout "qiskit.transpiler.TranspileLayout.final_layout") attribute present then that indicates there was no output permutation caused by routing or other transpiler transforms. In this case the function will return a list of `[0, 1, 2, .., n]` to indicate this diff --git a/docs/api/qiskit/qiskit.transpiler.passes.ALAPSchedule.mdx b/docs/api/qiskit/qiskit.transpiler.passes.ALAPSchedule.mdx index 2d28f46c98b..66e745de348 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.ALAPSchedule.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.ALAPSchedule.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.ALAPSchedule # ALAPSchedule - + Bases: `BaseSchedulerTransform` ALAP Scheduling pass, which schedules the **stop** time of instructions as late as possible. @@ -45,7 +45,7 @@ python_api_name: qiskit.transpiler.passes.ALAPSchedule ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -65,7 +65,7 @@ python_api_name: qiskit.transpiler.passes.ALAPSchedule ### name - + Name of the pass. **Return type** @@ -75,7 +75,7 @@ python_api_name: qiskit.transpiler.passes.ALAPSchedule ### run - + Run the ALAPSchedule pass on dag. **Parameters** @@ -98,7 +98,7 @@ python_api_name: qiskit.transpiler.passes.ALAPSchedule ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.ALAPScheduleAnalysis.mdx b/docs/api/qiskit/qiskit.transpiler.passes.ALAPScheduleAnalysis.mdx index 00bddca000d..fd6fe835e72 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.ALAPScheduleAnalysis.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.ALAPScheduleAnalysis.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.ALAPScheduleAnalysis # ALAPScheduleAnalysis - + Bases: `BaseScheduler` ALAP Scheduling pass, which schedules the **stop** time of instructions as late as possible. @@ -48,7 +48,7 @@ python_api_name: qiskit.transpiler.passes.ALAPScheduleAnalysis ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -68,7 +68,7 @@ python_api_name: qiskit.transpiler.passes.ALAPScheduleAnalysis ### name - + Name of the pass. **Return type** @@ -78,7 +78,7 @@ python_api_name: qiskit.transpiler.passes.ALAPScheduleAnalysis ### run - + Run the ALAPSchedule pass on dag. **Parameters** @@ -101,7 +101,7 @@ python_api_name: qiskit.transpiler.passes.ALAPScheduleAnalysis ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.ASAPSchedule.mdx b/docs/api/qiskit/qiskit.transpiler.passes.ASAPSchedule.mdx index 86436d1b73d..f7c525bc119 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.ASAPSchedule.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.ASAPSchedule.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.ASAPSchedule # ASAPSchedule - + Bases: `BaseSchedulerTransform` ASAP Scheduling pass, which schedules the start time of instructions as early as possible.. @@ -49,7 +49,7 @@ python_api_name: qiskit.transpiler.passes.ASAPSchedule ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -69,7 +69,7 @@ python_api_name: qiskit.transpiler.passes.ASAPSchedule ### name - + Name of the pass. **Return type** @@ -79,7 +79,7 @@ python_api_name: qiskit.transpiler.passes.ASAPSchedule ### run - + Run the ASAPSchedule pass on dag. **Parameters** @@ -102,7 +102,7 @@ python_api_name: qiskit.transpiler.passes.ASAPSchedule ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.ASAPScheduleAnalysis.mdx b/docs/api/qiskit/qiskit.transpiler.passes.ASAPScheduleAnalysis.mdx index 654fe94335f..f031449cc95 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.ASAPScheduleAnalysis.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.ASAPScheduleAnalysis.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.ASAPScheduleAnalysis # ASAPScheduleAnalysis - + Bases: `BaseScheduler` ASAP Scheduling pass, which schedules the start time of instructions as early as possible. @@ -48,7 +48,7 @@ python_api_name: qiskit.transpiler.passes.ASAPScheduleAnalysis ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -68,7 +68,7 @@ python_api_name: qiskit.transpiler.passes.ASAPScheduleAnalysis ### name - + Name of the pass. **Return type** @@ -78,7 +78,7 @@ python_api_name: qiskit.transpiler.passes.ASAPScheduleAnalysis ### run - + Run the ASAPSchedule pass on dag. **Parameters** @@ -101,7 +101,7 @@ python_api_name: qiskit.transpiler.passes.ASAPScheduleAnalysis ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.AlignMeasures.mdx b/docs/api/qiskit/qiskit.transpiler.passes.AlignMeasures.mdx index b28d78681c5..3d4017fee0e 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.AlignMeasures.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.AlignMeasures.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.AlignMeasures # AlignMeasures - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Measurement alignment. @@ -83,7 +83,7 @@ python_api_name: qiskit.transpiler.passes.AlignMeasures ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -103,7 +103,7 @@ python_api_name: qiskit.transpiler.passes.AlignMeasures ### name - + Name of the pass. **Return type** @@ -113,7 +113,7 @@ python_api_name: qiskit.transpiler.passes.AlignMeasures ### run - + Run the measurement alignment pass on dag. **Parameters** @@ -135,7 +135,7 @@ python_api_name: qiskit.transpiler.passes.AlignMeasures ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.ApplyLayout.mdx b/docs/api/qiskit/qiskit.transpiler.passes.ApplyLayout.mdx index 7e5a666ebf9..b7899383d12 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.ApplyLayout.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.ApplyLayout.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.ApplyLayout # ApplyLayout - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Transform a circuit with virtual qubits into a circuit with physical qubits. @@ -39,7 +39,7 @@ python_api_name: qiskit.transpiler.passes.ApplyLayout ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -59,7 +59,7 @@ python_api_name: qiskit.transpiler.passes.ApplyLayout ### name - + Name of the pass. **Return type** @@ -69,7 +69,7 @@ python_api_name: qiskit.transpiler.passes.ApplyLayout ### run - + Run the ApplyLayout pass on `dag`. **Parameters** @@ -91,7 +91,7 @@ python_api_name: qiskit.transpiler.passes.ApplyLayout ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.BarrierBeforeFinalMeasurements.mdx b/docs/api/qiskit/qiskit.transpiler.passes.BarrierBeforeFinalMeasurements.mdx index 61154805aa5..7fba6ba31f5 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.BarrierBeforeFinalMeasurements.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.BarrierBeforeFinalMeasurements.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.BarrierBeforeFinalMeasurements # BarrierBeforeFinalMeasurements - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Add a barrier before final measurements. @@ -37,7 +37,7 @@ python_api_name: qiskit.transpiler.passes.BarrierBeforeFinalMeasurements ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -57,7 +57,7 @@ python_api_name: qiskit.transpiler.passes.BarrierBeforeFinalMeasurements ### name - + Name of the pass. **Return type** @@ -67,13 +67,13 @@ python_api_name: qiskit.transpiler.passes.BarrierBeforeFinalMeasurements ### run - + Run the BarrierBeforeFinalMeasurements pass on dag. ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.BasicSwap.mdx b/docs/api/qiskit/qiskit.transpiler.passes.BasicSwap.mdx index 3c68d4035d2..c1ebaceacff 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.BasicSwap.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.BasicSwap.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.BasicSwap # BasicSwap - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Map (with minimum effort) a DAGCircuit onto a `coupling_map` adding swap gates. @@ -44,7 +44,7 @@ python_api_name: qiskit.transpiler.passes.BasicSwap ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -64,7 +64,7 @@ python_api_name: qiskit.transpiler.passes.BasicSwap ### name - + Name of the pass. **Return type** @@ -74,7 +74,7 @@ python_api_name: qiskit.transpiler.passes.BasicSwap ### run - + Run the BasicSwap pass on dag. **Parameters** @@ -97,7 +97,7 @@ python_api_name: qiskit.transpiler.passes.BasicSwap ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.BasisTranslator.mdx b/docs/api/qiskit/qiskit.transpiler.passes.BasisTranslator.mdx index cc3eae324c3..30d3505c5b8 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.BasisTranslator.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.BasisTranslator.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.BasisTranslator # BasisTranslator - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Translates gates to a target basis by searching for a set of translations from a given EquivalenceLibrary. @@ -90,7 +90,7 @@ python_api_name: qiskit.transpiler.passes.BasisTranslator ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -110,7 +110,7 @@ python_api_name: qiskit.transpiler.passes.BasisTranslator ### name - + Name of the pass. **Return type** @@ -120,7 +120,7 @@ python_api_name: qiskit.transpiler.passes.BasisTranslator ### run - + Translate an input DAGCircuit to the target basis. **Parameters** @@ -142,7 +142,7 @@ python_api_name: qiskit.transpiler.passes.BasisTranslator ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.CSPLayout.mdx b/docs/api/qiskit/qiskit.transpiler.passes.CSPLayout.mdx index 21c5cb5c2af..d3a7e3db138 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.CSPLayout.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.CSPLayout.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.CSPLayout # CSPLayout - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") If possible, chooses a Layout as a CSP, using backtracking. @@ -52,7 +52,7 @@ python_api_name: qiskit.transpiler.passes.CSPLayout ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -72,7 +72,7 @@ python_api_name: qiskit.transpiler.passes.CSPLayout ### name - + Name of the pass. **Return type** @@ -82,13 +82,13 @@ python_api_name: qiskit.transpiler.passes.CSPLayout ### run - + run the layout method ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.CXCancellation.mdx b/docs/api/qiskit/qiskit.transpiler.passes.CXCancellation.mdx index 5f0075579a8..e796f9d3147 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.CXCancellation.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.CXCancellation.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.CXCancellation # CXCancellation - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Cancel back-to-back `cx` gates in dag. @@ -35,7 +35,7 @@ python_api_name: qiskit.transpiler.passes.CXCancellation ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -55,7 +55,7 @@ python_api_name: qiskit.transpiler.passes.CXCancellation ### name - + Name of the pass. **Return type** @@ -65,7 +65,7 @@ python_api_name: qiskit.transpiler.passes.CXCancellation ### run - + Run the CXCancellation pass on dag. **Parameters** @@ -83,7 +83,7 @@ python_api_name: qiskit.transpiler.passes.CXCancellation ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.CheckGateDirection.mdx b/docs/api/qiskit/qiskit.transpiler.passes.CheckGateDirection.mdx index ab0cfbb0544..d4f02cce7bf 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.CheckGateDirection.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.CheckGateDirection.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.CheckGateDirection # CheckGateDirection - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Check if the two-qubit gates follow the right direction with respect to the coupling map. @@ -42,7 +42,7 @@ python_api_name: qiskit.transpiler.passes.CheckGateDirection ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -62,7 +62,7 @@ python_api_name: qiskit.transpiler.passes.CheckGateDirection ### name - + Name of the pass. **Return type** @@ -72,7 +72,7 @@ python_api_name: qiskit.transpiler.passes.CheckGateDirection ### run - + Run the CheckGateDirection pass on dag. If dag is mapped and the direction is correct the property is\_direction\_mapped is set to True (or to False otherwise). @@ -84,7 +84,7 @@ python_api_name: qiskit.transpiler.passes.CheckGateDirection ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.CheckMap.mdx b/docs/api/qiskit/qiskit.transpiler.passes.CheckMap.mdx index 2f5907b7b52..7fc836e077e 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.CheckMap.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.CheckMap.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.CheckMap # CheckMap - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Check if a DAG circuit is already mapped to a coupling map. @@ -44,7 +44,7 @@ python_api_name: qiskit.transpiler.passes.CheckMap ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -64,7 +64,7 @@ python_api_name: qiskit.transpiler.passes.CheckMap ### name - + Name of the pass. **Return type** @@ -74,7 +74,7 @@ python_api_name: qiskit.transpiler.passes.CheckMap ### run - + Run the CheckMap pass on dag. If dag is mapped to coupling\_map, the property is\_swap\_mapped is set to True (or to False otherwise). @@ -86,7 +86,7 @@ python_api_name: qiskit.transpiler.passes.CheckMap ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.Collect1qRuns.mdx b/docs/api/qiskit/qiskit.transpiler.passes.Collect1qRuns.mdx index 5742c28e0b6..63b80b1505e 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.Collect1qRuns.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.Collect1qRuns.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.Collect1qRuns # Collect1qRuns - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Collect one-qubit subcircuits. @@ -35,7 +35,7 @@ python_api_name: qiskit.transpiler.passes.Collect1qRuns ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -55,7 +55,7 @@ python_api_name: qiskit.transpiler.passes.Collect1qRuns ### name - + Name of the pass. **Return type** @@ -65,7 +65,7 @@ python_api_name: qiskit.transpiler.passes.Collect1qRuns ### run - + Run the Collect1qBlocks pass on dag. The blocks contain “op” nodes in topological order such that all gates in a block act on the same qubits and are adjacent in the circuit. @@ -75,7 +75,7 @@ python_api_name: qiskit.transpiler.passes.Collect1qRuns ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.Collect2qBlocks.mdx b/docs/api/qiskit/qiskit.transpiler.passes.Collect2qBlocks.mdx index f435b92a672..59adfcee75d 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.Collect2qBlocks.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.Collect2qBlocks.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.Collect2qBlocks # Collect2qBlocks - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Collect two-qubit subcircuits. @@ -35,7 +35,7 @@ python_api_name: qiskit.transpiler.passes.Collect2qBlocks ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -55,7 +55,7 @@ python_api_name: qiskit.transpiler.passes.Collect2qBlocks ### name - + Name of the pass. **Return type** @@ -65,7 +65,7 @@ python_api_name: qiskit.transpiler.passes.Collect2qBlocks ### run - + Run the Collect2qBlocks pass on dag. The blocks contain “op” nodes in topological order such that all gates in a block act on the same qubits and are adjacent in the circuit. @@ -75,7 +75,7 @@ python_api_name: qiskit.transpiler.passes.Collect2qBlocks ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.CollectCliffords.mdx b/docs/api/qiskit/qiskit.transpiler.passes.CollectCliffords.mdx index f869c86dceb..0b90a08a6dc 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.CollectCliffords.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.CollectCliffords.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.CollectCliffords # CollectCliffords - + Bases: `CollectAndCollapse` Collects blocks of Clifford gates and replaces them by a [`Clifford`](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford") object. @@ -45,7 +45,7 @@ python_api_name: qiskit.transpiler.passes.CollectCliffords ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -65,7 +65,7 @@ python_api_name: qiskit.transpiler.passes.CollectCliffords ### name - + Name of the pass. **Return type** @@ -75,7 +75,7 @@ python_api_name: qiskit.transpiler.passes.CollectCliffords ### run - + Run the CollectLinearFunctions pass on dag. :param dag: the DAG to be optimized. :type dag: DAGCircuit **Returns** @@ -89,7 +89,7 @@ python_api_name: qiskit.transpiler.passes.CollectCliffords ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.CollectLinearFunctions.mdx b/docs/api/qiskit/qiskit.transpiler.passes.CollectLinearFunctions.mdx index 56510e417c8..2dd3cc2f432 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.CollectLinearFunctions.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.CollectLinearFunctions.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.CollectLinearFunctions # CollectLinearFunctions - + Bases: `CollectAndCollapse` 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")). @@ -45,7 +45,7 @@ python_api_name: qiskit.transpiler.passes.CollectLinearFunctions ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -65,7 +65,7 @@ python_api_name: qiskit.transpiler.passes.CollectLinearFunctions ### name - + Name of the pass. **Return type** @@ -75,7 +75,7 @@ python_api_name: qiskit.transpiler.passes.CollectLinearFunctions ### run - + Run the CollectLinearFunctions pass on dag. :param dag: the DAG to be optimized. :type dag: DAGCircuit **Returns** @@ -89,7 +89,7 @@ python_api_name: qiskit.transpiler.passes.CollectLinearFunctions ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.CollectMultiQBlocks.mdx b/docs/api/qiskit/qiskit.transpiler.passes.CollectMultiQBlocks.mdx index 3e8dba35532..0eb3f6bb82d 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.CollectMultiQBlocks.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.CollectMultiQBlocks.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.CollectMultiQBlocks # CollectMultiQBlocks - + 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 @@ -45,7 +45,7 @@ python_api_name: qiskit.transpiler.passes.CollectMultiQBlocks ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -65,13 +65,13 @@ python_api_name: qiskit.transpiler.passes.CollectMultiQBlocks ### find\_set - + DSU function for finding root of set of items If my parent is myself, I am the root. Otherwise we recursively find the root for my parent. After that, we assign my parent to be my root, saving recursion in the future. ### name - + Name of the pass. **Return type** @@ -81,7 +81,7 @@ python_api_name: qiskit.transpiler.passes.CollectMultiQBlocks ### run - + Run the CollectMultiQBlocks pass on dag. The blocks contain “op” nodes in topological sort order such that all gates in a block act on the same set of qubits and are adjacent in the circuit. @@ -93,13 +93,13 @@ python_api_name: qiskit.transpiler.passes.CollectMultiQBlocks ### union\_set - + DSU function for unioning two sets together Find the roots of each set. Then assign one to have the other as its parent, thus liking the sets. Merges smaller set into larger set in order to have better runtime ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.CommutationAnalysis.mdx b/docs/api/qiskit/qiskit.transpiler.passes.CommutationAnalysis.mdx index 26f23ec2966..dc4dbf2a1aa 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.CommutationAnalysis.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.CommutationAnalysis.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.CommutationAnalysis # CommutationAnalysis - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Analysis pass to find commutation relations between DAG nodes. @@ -37,7 +37,7 @@ python_api_name: qiskit.transpiler.passes.CommutationAnalysis ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -57,7 +57,7 @@ python_api_name: qiskit.transpiler.passes.CommutationAnalysis ### name - + Name of the pass. **Return type** @@ -67,7 +67,7 @@ python_api_name: qiskit.transpiler.passes.CommutationAnalysis ### run - + Run the CommutationAnalysis pass on dag. Run the pass on the DAG, and write the discovered commutation relations into the `property_set`. @@ -75,7 +75,7 @@ python_api_name: qiskit.transpiler.passes.CommutationAnalysis ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.CommutativeCancellation.mdx b/docs/api/qiskit/qiskit.transpiler.passes.CommutativeCancellation.mdx index 83e66419f0b..d41600d6f0b 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.CommutativeCancellation.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.CommutativeCancellation.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.CommutativeCancellation # CommutativeCancellation - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Cancel the redundant (self-adjoint) gates through commutation relations. @@ -48,7 +48,7 @@ python_api_name: qiskit.transpiler.passes.CommutativeCancellation ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -68,7 +68,7 @@ python_api_name: qiskit.transpiler.passes.CommutativeCancellation ### name - + Name of the pass. **Return type** @@ -78,7 +78,7 @@ python_api_name: qiskit.transpiler.passes.CommutativeCancellation ### run - + Run the CommutativeCancellation pass on dag. **Parameters** @@ -100,7 +100,7 @@ python_api_name: qiskit.transpiler.passes.CommutativeCancellation ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.CommutativeInverseCancellation.mdx b/docs/api/qiskit/qiskit.transpiler.passes.CommutativeInverseCancellation.mdx index 5deeb94a97a..2bd543bf928 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.CommutativeInverseCancellation.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.CommutativeInverseCancellation.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.CommutativeInverseCancellation # CommutativeInverseCancellation - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Cancel pairs of inverse gates exploiting commutation relations. @@ -40,7 +40,7 @@ python_api_name: qiskit.transpiler.passes.CommutativeInverseCancellation ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -60,7 +60,7 @@ python_api_name: qiskit.transpiler.passes.CommutativeInverseCancellation ### name - + Name of the pass. **Return type** @@ -70,7 +70,7 @@ python_api_name: qiskit.transpiler.passes.CommutativeInverseCancellation ### run - + Run the CommutativeInverseCancellation pass on dag. **Parameters** @@ -88,7 +88,7 @@ python_api_name: qiskit.transpiler.passes.CommutativeInverseCancellation ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.Commuting2qGateRouter.mdx b/docs/api/qiskit/qiskit.transpiler.passes.Commuting2qGateRouter.mdx index b5199209859..7483f2f5a13 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.Commuting2qGateRouter.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.Commuting2qGateRouter.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.Commuting2qGateRouter # Commuting2qGateRouter - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") A class to swap route one or more commuting gates to the coupling map. @@ -97,7 +97,7 @@ python_api_name: qiskit.transpiler.passes.Commuting2qGateRouter ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -117,7 +117,7 @@ python_api_name: qiskit.transpiler.passes.Commuting2qGateRouter ### name - + Name of the pass. **Return type** @@ -127,7 +127,7 @@ python_api_name: qiskit.transpiler.passes.Commuting2qGateRouter ### run - + Run the pass by decomposing the nodes it applies on. **Parameters** @@ -151,7 +151,7 @@ python_api_name: qiskit.transpiler.passes.Commuting2qGateRouter ### swap\_decompose - + Take an instance of `Commuting2qBlock` and map it to the coupling map. The mapping is done with the swap strategy. @@ -174,7 +174,7 @@ python_api_name: qiskit.transpiler.passes.Commuting2qGateRouter ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.ConsolidateBlocks.mdx b/docs/api/qiskit/qiskit.transpiler.passes.ConsolidateBlocks.mdx index 35eb3be7463..d4d844fd2eb 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.ConsolidateBlocks.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.ConsolidateBlocks.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.ConsolidateBlocks # ConsolidateBlocks - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Replace each block of consecutive gates by a single Unitary node. @@ -53,7 +53,7 @@ python_api_name: qiskit.transpiler.passes.ConsolidateBlocks ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -73,7 +73,7 @@ python_api_name: qiskit.transpiler.passes.ConsolidateBlocks ### name - + Name of the pass. **Return type** @@ -83,7 +83,7 @@ python_api_name: qiskit.transpiler.passes.ConsolidateBlocks ### run - + Run the ConsolidateBlocks pass on dag. Iterate over each block and replace it with an equivalent Unitary on the same wires. @@ -91,7 +91,7 @@ python_api_name: qiskit.transpiler.passes.ConsolidateBlocks ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.ConstrainedReschedule.mdx b/docs/api/qiskit/qiskit.transpiler.passes.ConstrainedReschedule.mdx index 5c7b0b4f20c..c66b8a8e008 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.ConstrainedReschedule.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.ConstrainedReschedule.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.ConstrainedReschedule # ConstrainedReschedule - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Rescheduler pass that updates node start times to conform to the hardware alignments. @@ -72,7 +72,7 @@ python_api_name: qiskit.transpiler.passes.ConstrainedReschedule ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -92,7 +92,7 @@ python_api_name: qiskit.transpiler.passes.ConstrainedReschedule ### name - + Name of the pass. **Return type** @@ -102,7 +102,7 @@ python_api_name: qiskit.transpiler.passes.ConstrainedReschedule ### run - + Run rescheduler. This pass should perform rescheduling to satisfy: @@ -145,7 +145,7 @@ python_api_name: qiskit.transpiler.passes.ConstrainedReschedule ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.ContainsInstruction.mdx b/docs/api/qiskit/qiskit.transpiler.passes.ContainsInstruction.mdx index e6ddc36b06f..e464b5b4fe7 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.ContainsInstruction.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.ContainsInstruction.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.ContainsInstruction # ContainsInstruction - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") An analysis pass to detect if the DAG contains a specific instruction. @@ -44,7 +44,7 @@ python_api_name: qiskit.transpiler.passes.ContainsInstruction ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -64,7 +64,7 @@ python_api_name: qiskit.transpiler.passes.ContainsInstruction ### name - + Name of the pass. **Return type** @@ -74,13 +74,13 @@ python_api_name: qiskit.transpiler.passes.ContainsInstruction ### run - + Run the ContainsInstruction pass on dag. ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.ConvertConditionsToIfOps.mdx b/docs/api/qiskit/qiskit.transpiler.passes.ConvertConditionsToIfOps.mdx index 7e5353b9f4b..5489258272b 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.ConvertConditionsToIfOps.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.ConvertConditionsToIfOps.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.ConvertConditionsToIfOps # ConvertConditionsToIfOps - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Convert instructions whose `condition` attribute is set to a non-`None` value into the equivalent single-statement `IfElseBlock`. @@ -37,7 +37,7 @@ python_api_name: qiskit.transpiler.passes.ConvertConditionsToIfOps ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -57,7 +57,7 @@ python_api_name: qiskit.transpiler.passes.ConvertConditionsToIfOps ### name - + Name of the pass. **Return type** @@ -67,7 +67,7 @@ python_api_name: qiskit.transpiler.passes.ConvertConditionsToIfOps ### run - + Run a pass on the DAGCircuit. This is implemented by the pass developer. **Parameters** @@ -81,7 +81,7 @@ python_api_name: qiskit.transpiler.passes.ConvertConditionsToIfOps ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.CountOps.mdx b/docs/api/qiskit/qiskit.transpiler.passes.CountOps.mdx index 082296763fc..2cc6bee238c 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.CountOps.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.CountOps.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.CountOps # CountOps - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Count the operations in a DAG circuit. @@ -37,7 +37,7 @@ python_api_name: qiskit.transpiler.passes.CountOps ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -57,7 +57,7 @@ python_api_name: qiskit.transpiler.passes.CountOps ### name - + Name of the pass. **Return type** @@ -67,13 +67,13 @@ python_api_name: qiskit.transpiler.passes.CountOps ### run - + Run the CountOps pass on dag. ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.CountOpsLongestPath.mdx b/docs/api/qiskit/qiskit.transpiler.passes.CountOpsLongestPath.mdx index 3d2e5ba44d6..5bb8d046005 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.CountOpsLongestPath.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.CountOpsLongestPath.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.CountOpsLongestPath # CountOpsLongestPath - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Count the operations on the longest path in a [`DAGCircuit`](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit"). @@ -37,7 +37,7 @@ python_api_name: qiskit.transpiler.passes.CountOpsLongestPath ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -57,7 +57,7 @@ python_api_name: qiskit.transpiler.passes.CountOpsLongestPath ### name - + Name of the pass. **Return type** @@ -67,13 +67,13 @@ python_api_name: qiskit.transpiler.passes.CountOpsLongestPath ### run - + Run the CountOpsLongestPath pass on dag. ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.DAGFixedPoint.mdx b/docs/api/qiskit/qiskit.transpiler.passes.DAGFixedPoint.mdx index 8dac57e4c3c..3dffa97b93d 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.DAGFixedPoint.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.DAGFixedPoint.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.DAGFixedPoint # DAGFixedPoint - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Check if the DAG has reached a fixed point. @@ -37,7 +37,7 @@ python_api_name: qiskit.transpiler.passes.DAGFixedPoint ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -57,7 +57,7 @@ python_api_name: qiskit.transpiler.passes.DAGFixedPoint ### name - + Name of the pass. **Return type** @@ -67,13 +67,13 @@ python_api_name: qiskit.transpiler.passes.DAGFixedPoint ### run - + Run the DAGFixedPoint pass on dag. ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.DAGLongestPath.mdx b/docs/api/qiskit/qiskit.transpiler.passes.DAGLongestPath.mdx index 8934794293e..ef6e9fcb6c5 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.DAGLongestPath.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.DAGLongestPath.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.DAGLongestPath # DAGLongestPath - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") 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. @@ -35,7 +35,7 @@ python_api_name: qiskit.transpiler.passes.DAGLongestPath ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -55,7 +55,7 @@ python_api_name: qiskit.transpiler.passes.DAGLongestPath ### name - + Name of the pass. **Return type** @@ -65,13 +65,13 @@ python_api_name: qiskit.transpiler.passes.DAGLongestPath ### run - + Run the DAGLongestPath pass on dag. ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.Decompose.mdx b/docs/api/qiskit/qiskit.transpiler.passes.Decompose.mdx index be0f6b8160c..fbf246b5d9e 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.Decompose.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.Decompose.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.Decompose # Decompose - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Expand a gate in a circuit using its decomposition rules. @@ -41,7 +41,7 @@ python_api_name: qiskit.transpiler.passes.Decompose ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -61,7 +61,7 @@ python_api_name: qiskit.transpiler.passes.Decompose ### name - + Name of the pass. **Return type** @@ -71,7 +71,7 @@ python_api_name: qiskit.transpiler.passes.Decompose ### run - + Run the Decompose pass on dag. **Parameters** @@ -89,7 +89,7 @@ python_api_name: qiskit.transpiler.passes.Decompose ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.DenseLayout.mdx b/docs/api/qiskit/qiskit.transpiler.passes.DenseLayout.mdx index d52b222f138..b2ed8289d72 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.DenseLayout.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.DenseLayout.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.DenseLayout # DenseLayout - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Choose a Layout by finding the most connected subset of qubits. @@ -49,7 +49,7 @@ python_api_name: qiskit.transpiler.passes.DenseLayout ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -69,7 +69,7 @@ python_api_name: qiskit.transpiler.passes.DenseLayout ### name - + Name of the pass. **Return type** @@ -79,7 +79,7 @@ python_api_name: qiskit.transpiler.passes.DenseLayout ### run - + Run the DenseLayout pass on dag. Pick a convenient layout depending on the best matching qubit connectivity, and set the property layout. @@ -95,7 +95,7 @@ python_api_name: qiskit.transpiler.passes.DenseLayout ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.Depth.mdx b/docs/api/qiskit/qiskit.transpiler.passes.Depth.mdx index b85c911069c..df57612b3d3 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.Depth.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.Depth.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.Depth # Depth - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Calculate the depth of a DAG circuit. @@ -39,7 +39,7 @@ python_api_name: qiskit.transpiler.passes.Depth ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -59,7 +59,7 @@ python_api_name: qiskit.transpiler.passes.Depth ### name - + Name of the pass. **Return type** @@ -69,13 +69,13 @@ python_api_name: qiskit.transpiler.passes.Depth ### run - + Run the Depth pass on dag. ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.DynamicalDecoupling.mdx b/docs/api/qiskit/qiskit.transpiler.passes.DynamicalDecoupling.mdx index 0628f1b6b31..abcd4e371c7 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.DynamicalDecoupling.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.DynamicalDecoupling.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.DynamicalDecoupling # DynamicalDecoupling - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Dynamical decoupling insertion pass. @@ -118,7 +118,7 @@ python_api_name: qiskit.transpiler.passes.DynamicalDecoupling ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -138,7 +138,7 @@ python_api_name: qiskit.transpiler.passes.DynamicalDecoupling ### name - + Name of the pass. **Return type** @@ -148,7 +148,7 @@ python_api_name: qiskit.transpiler.passes.DynamicalDecoupling ### run - + Run the DynamicalDecoupling pass on dag. **Parameters** @@ -172,7 +172,7 @@ python_api_name: qiskit.transpiler.passes.DynamicalDecoupling ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.EchoRZXWeylDecomposition.mdx b/docs/api/qiskit/qiskit.transpiler.passes.EchoRZXWeylDecomposition.mdx index 4636c5f3312..940030e1ccc 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.EchoRZXWeylDecomposition.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.EchoRZXWeylDecomposition.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.EchoRZXWeylDecomposition # EchoRZXWeylDecomposition - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Rewrite two-qubit gates using the Weyl decomposition. @@ -44,7 +44,7 @@ python_api_name: qiskit.transpiler.passes.EchoRZXWeylDecomposition ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -64,7 +64,7 @@ python_api_name: qiskit.transpiler.passes.EchoRZXWeylDecomposition ### name - + Name of the pass. **Return type** @@ -74,7 +74,7 @@ python_api_name: qiskit.transpiler.passes.EchoRZXWeylDecomposition ### run - + Run the EchoRZXWeylDecomposition pass on dag. Rewrites two-qubit gates in an arbitrary circuit in terms of echoed cross-resonance gates by computing the Weyl decomposition of the corresponding unitary. Modifies the input dag. @@ -98,7 +98,7 @@ python_api_name: qiskit.transpiler.passes.EchoRZXWeylDecomposition ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.EnlargeWithAncilla.mdx b/docs/api/qiskit/qiskit.transpiler.passes.EnlargeWithAncilla.mdx index c5d20a66344..5942b6ede48 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.EnlargeWithAncilla.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.EnlargeWithAncilla.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.EnlargeWithAncilla # EnlargeWithAncilla - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Extend the dag with virtual qubits that are in layout but not in the circuit yet. @@ -37,7 +37,7 @@ python_api_name: qiskit.transpiler.passes.EnlargeWithAncilla ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -57,7 +57,7 @@ python_api_name: qiskit.transpiler.passes.EnlargeWithAncilla ### name - + Name of the pass. **Return type** @@ -67,7 +67,7 @@ python_api_name: qiskit.transpiler.passes.EnlargeWithAncilla ### run - + Run the EnlargeWithAncilla pass on dag. **Parameters** @@ -89,7 +89,7 @@ python_api_name: qiskit.transpiler.passes.EnlargeWithAncilla ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.FilterOpNodes.mdx b/docs/api/qiskit/qiskit.transpiler.passes.FilterOpNodes.mdx index ee73da3dffd..30d279b8b75 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.FilterOpNodes.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.FilterOpNodes.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.FilterOpNodes # FilterOpNodes - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Remove all operations that match a filter function @@ -62,7 +62,7 @@ python_api_name: qiskit.transpiler.passes.FilterOpNodes ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -82,7 +82,7 @@ python_api_name: qiskit.transpiler.passes.FilterOpNodes ### name - + Name of the pass. **Return type** @@ -92,7 +92,7 @@ python_api_name: qiskit.transpiler.passes.FilterOpNodes ### run - + Run the RemoveBarriers pass on dag. **Return type** @@ -102,7 +102,7 @@ python_api_name: qiskit.transpiler.passes.FilterOpNodes ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.FixedPoint.mdx b/docs/api/qiskit/qiskit.transpiler.passes.FixedPoint.mdx index 829dd7e6e49..dd7f45530f0 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.FixedPoint.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.FixedPoint.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.FixedPoint # FixedPoint - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Check if a property reached a fixed point. @@ -43,7 +43,7 @@ python_api_name: qiskit.transpiler.passes.FixedPoint ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -63,7 +63,7 @@ python_api_name: qiskit.transpiler.passes.FixedPoint ### name - + Name of the pass. **Return type** @@ -73,13 +73,13 @@ python_api_name: qiskit.transpiler.passes.FixedPoint ### run - + Run the FixedPoint pass on dag. ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.FullAncillaAllocation.mdx b/docs/api/qiskit/qiskit.transpiler.passes.FullAncillaAllocation.mdx index bc089e3f36c..0ba9bb24dea 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.FullAncillaAllocation.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.FullAncillaAllocation.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.FullAncillaAllocation # FullAncillaAllocation - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Allocate all idle nodes from the coupling map or target as ancilla on the layout. @@ -47,7 +47,7 @@ python_api_name: qiskit.transpiler.passes.FullAncillaAllocation ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -67,7 +67,7 @@ python_api_name: qiskit.transpiler.passes.FullAncillaAllocation ### name - + Name of the pass. **Return type** @@ -77,7 +77,7 @@ python_api_name: qiskit.transpiler.passes.FullAncillaAllocation ### run - + Run the FullAncillaAllocation pass on dag. Extend the layout with new (physical qubit, virtual qubit) pairs. The dag signals which virtual qubits are already in the circuit. This pass will allocate new virtual qubits such that no collision occurs (i.e. Layout bijectivity is preserved) @@ -103,7 +103,7 @@ python_api_name: qiskit.transpiler.passes.FullAncillaAllocation ### update\_status - + Update workflow status. **Parameters** @@ -122,7 +122,7 @@ python_api_name: qiskit.transpiler.passes.FullAncillaAllocation ### validate\_layout - + 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.mdx b/docs/api/qiskit/qiskit.transpiler.passes.GateDirection.mdx index 71a1cacdfff..d97546c2e5e 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.GateDirection.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.GateDirection.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.GateDirection # GateDirection - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Modify asymmetric gates to match the hardware coupling direction. @@ -69,7 +69,7 @@ python_api_name: qiskit.transpiler.passes.GateDirection ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -89,7 +89,7 @@ python_api_name: qiskit.transpiler.passes.GateDirection ### name - + Name of the pass. **Return type** @@ -99,7 +99,7 @@ python_api_name: qiskit.transpiler.passes.GateDirection ### run - + Run the GateDirection pass on dag. Flips the cx nodes to match the directed coupling map. Modifies the input dag. @@ -123,7 +123,7 @@ python_api_name: qiskit.transpiler.passes.GateDirection ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.GatesInBasis.mdx b/docs/api/qiskit/qiskit.transpiler.passes.GatesInBasis.mdx index 3069475c305..fea2867ea48 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.GatesInBasis.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.GatesInBasis.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.GatesInBasis # GatesInBasis - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Check if all gates in a DAG are in a given set of gates @@ -42,7 +42,7 @@ python_api_name: qiskit.transpiler.passes.GatesInBasis ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -62,7 +62,7 @@ python_api_name: qiskit.transpiler.passes.GatesInBasis ### name - + Name of the pass. **Return type** @@ -72,13 +72,13 @@ python_api_name: qiskit.transpiler.passes.GatesInBasis ### run - + Run the GatesInBasis pass on dag. ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.HLSConfig.mdx b/docs/api/qiskit/qiskit.transpiler.passes.HLSConfig.mdx index d5f48063d0e..205f74c6f72 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.HLSConfig.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.HLSConfig.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.HLSConfig # HLSConfig - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") The high-level-synthesis config allows to specify a list of “methods” used by [`HighLevelSynthesis`](qiskit.transpiler.passes.HighLevelSynthesis "qiskit.transpiler.passes.HighLevelSynthesis") transformation pass to synthesize different types of higher-level objects. @@ -56,7 +56,7 @@ python_api_name: qiskit.transpiler.passes.HLSConfig ### set\_methods - + Sets the list of synthesis methods for a given higher-level-object. This overwrites the lists of methods if also set previously. diff --git a/docs/api/qiskit/qiskit.transpiler.passes.HighLevelSynthesis.mdx b/docs/api/qiskit/qiskit.transpiler.passes.HighLevelSynthesis.mdx index f099be0307e..8f92a2039d4 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.HighLevelSynthesis.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.HighLevelSynthesis.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.HighLevelSynthesis # HighLevelSynthesis - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Synthesize higher-level objects and unroll custom definitions. @@ -69,7 +69,7 @@ python_api_name: qiskit.transpiler.passes.HighLevelSynthesis ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -89,7 +89,7 @@ python_api_name: qiskit.transpiler.passes.HighLevelSynthesis ### name - + Name of the pass. **Return type** @@ -99,7 +99,7 @@ python_api_name: qiskit.transpiler.passes.HighLevelSynthesis ### run - + Run the HighLevelSynthesis pass on dag. **Parameters** @@ -122,7 +122,7 @@ python_api_name: qiskit.transpiler.passes.HighLevelSynthesis ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.HoareOptimizer.mdx b/docs/api/qiskit/qiskit.transpiler.passes.HoareOptimizer.mdx index 256cbd5ba32..d475612ed91 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.HoareOptimizer.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.HoareOptimizer.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.HoareOptimizer # HoareOptimizer - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") This is a transpiler pass using Hoare logic circuit optimization. The inner workings of this are detailed in: [https://arxiv.org/abs/1810.00375](https://arxiv.org/abs/1810.00375) @@ -43,7 +43,7 @@ python_api_name: qiskit.transpiler.passes.HoareOptimizer ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -63,7 +63,7 @@ python_api_name: qiskit.transpiler.passes.HoareOptimizer ### name - + Name of the pass. **Return type** @@ -73,7 +73,7 @@ python_api_name: qiskit.transpiler.passes.HoareOptimizer ### run - + **Parameters** **dag** ([*DAGCircuit*](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit")) – the directed acyclic graph to run on. @@ -89,7 +89,7 @@ python_api_name: qiskit.transpiler.passes.HoareOptimizer ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.InstructionDurationCheck.mdx b/docs/api/qiskit/qiskit.transpiler.passes.InstructionDurationCheck.mdx index dcd50d02569..348b2d69bb0 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.InstructionDurationCheck.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.InstructionDurationCheck.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.InstructionDurationCheck # InstructionDurationCheck - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Duration validation pass for reschedule. @@ -48,7 +48,7 @@ python_api_name: qiskit.transpiler.passes.InstructionDurationCheck ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -68,7 +68,7 @@ python_api_name: qiskit.transpiler.passes.InstructionDurationCheck ### name - + Name of the pass. **Return type** @@ -78,7 +78,7 @@ python_api_name: qiskit.transpiler.passes.InstructionDurationCheck ### run - + Run duration validation passes. **Parameters** @@ -88,7 +88,7 @@ python_api_name: qiskit.transpiler.passes.InstructionDurationCheck ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.InverseCancellation.mdx b/docs/api/qiskit/qiskit.transpiler.passes.InverseCancellation.mdx index f4cb529ef72..b5ae6236fc4 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.InverseCancellation.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.InverseCancellation.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.InverseCancellation # InverseCancellation - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Cancel specific Gates which are inverses of each other when they occur back-to- back. @@ -45,7 +45,7 @@ python_api_name: qiskit.transpiler.passes.InverseCancellation ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -65,7 +65,7 @@ python_api_name: qiskit.transpiler.passes.InverseCancellation ### name - + Name of the pass. **Return type** @@ -75,7 +75,7 @@ python_api_name: qiskit.transpiler.passes.InverseCancellation ### run - + Run the InverseCancellation pass on dag. **Parameters** @@ -93,7 +93,7 @@ python_api_name: qiskit.transpiler.passes.InverseCancellation ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.Layout2qDistance.mdx b/docs/api/qiskit/qiskit.transpiler.passes.Layout2qDistance.mdx index d39b9c57e0d..216d7149005 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.Layout2qDistance.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.Layout2qDistance.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.Layout2qDistance # Layout2qDistance - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Evaluate how good the layout selection was. @@ -44,7 +44,7 @@ python_api_name: qiskit.transpiler.passes.Layout2qDistance ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -64,7 +64,7 @@ python_api_name: qiskit.transpiler.passes.Layout2qDistance ### name - + Name of the pass. **Return type** @@ -74,13 +74,13 @@ python_api_name: qiskit.transpiler.passes.Layout2qDistance ### run - + Run the Layout2qDistance pass on dag. :param dag: DAG to evaluate. :type dag: DAGCircuit ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.LinearFunctionsToPermutations.mdx b/docs/api/qiskit/qiskit.transpiler.passes.LinearFunctionsToPermutations.mdx index 0bc76c79490..35261e3ae6a 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.LinearFunctionsToPermutations.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.LinearFunctionsToPermutations.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.LinearFunctionsToPermutations # LinearFunctionsToPermutations - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Promotes linear functions to permutations when possible. @@ -35,7 +35,7 @@ python_api_name: qiskit.transpiler.passes.LinearFunctionsToPermutations ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -55,7 +55,7 @@ python_api_name: qiskit.transpiler.passes.LinearFunctionsToPermutations ### name - + Name of the pass. **Return type** @@ -65,7 +65,7 @@ python_api_name: qiskit.transpiler.passes.LinearFunctionsToPermutations ### run - + Run the LinearFunctionsToPermutations pass on dag. :param dag: input dag. **Returns** @@ -79,7 +79,7 @@ python_api_name: qiskit.transpiler.passes.LinearFunctionsToPermutations ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.LookaheadSwap.mdx b/docs/api/qiskit/qiskit.transpiler.passes.LookaheadSwap.mdx index 8bdd723bf6c..1a6eaee78f9 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.LookaheadSwap.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.LookaheadSwap.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.LookaheadSwap # LookaheadSwap - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Map input circuit onto a backend topology via insertion of SWAPs. @@ -60,7 +60,7 @@ python_api_name: qiskit.transpiler.passes.LookaheadSwap ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -80,7 +80,7 @@ python_api_name: qiskit.transpiler.passes.LookaheadSwap ### name - + Name of the pass. **Return type** @@ -90,7 +90,7 @@ python_api_name: qiskit.transpiler.passes.LookaheadSwap ### run - + Run the LookaheadSwap pass on dag. **Parameters** @@ -115,7 +115,7 @@ python_api_name: qiskit.transpiler.passes.LookaheadSwap ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.MergeAdjacentBarriers.mdx b/docs/api/qiskit/qiskit.transpiler.passes.MergeAdjacentBarriers.mdx index 9889d5f0c11..7a481602596 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.MergeAdjacentBarriers.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.MergeAdjacentBarriers.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.MergeAdjacentBarriers # MergeAdjacentBarriers - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Return a circuit with any adjacent barriers merged together. @@ -72,7 +72,7 @@ python_api_name: qiskit.transpiler.passes.MergeAdjacentBarriers ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -92,7 +92,7 @@ python_api_name: qiskit.transpiler.passes.MergeAdjacentBarriers ### name - + Name of the pass. **Return type** @@ -102,13 +102,13 @@ python_api_name: qiskit.transpiler.passes.MergeAdjacentBarriers ### run - + Run the MergeAdjacentBarriers pass on dag. ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.MinimumPoint.mdx b/docs/api/qiskit/qiskit.transpiler.passes.MinimumPoint.mdx index a6b07df1fa6..5d48ca3bd66 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.MinimumPoint.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.MinimumPoint.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.MinimumPoint # MinimumPoint - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Check if the DAG has reached a relative semi-stable point over previous runs @@ -55,7 +55,7 @@ python_api_name: qiskit.transpiler.passes.MinimumPoint ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -75,7 +75,7 @@ python_api_name: qiskit.transpiler.passes.MinimumPoint ### name - + Name of the pass. **Return type** @@ -85,13 +85,13 @@ python_api_name: qiskit.transpiler.passes.MinimumPoint ### run - + Run the MinimumPoint pass on dag. ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.NormalizeRXAngle.mdx b/docs/api/qiskit/qiskit.transpiler.passes.NormalizeRXAngle.mdx index d3fb45abd96..cfe8085381f 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.NormalizeRXAngle.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.NormalizeRXAngle.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.NormalizeRXAngle # NormalizeRXAngle - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Normalize theta parameter of RXGate instruction. @@ -57,7 +57,7 @@ python_api_name: qiskit.transpiler.passes.NormalizeRXAngle ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -77,7 +77,7 @@ python_api_name: qiskit.transpiler.passes.NormalizeRXAngle ### name - + Name of the pass. **Return type** @@ -87,7 +87,7 @@ python_api_name: qiskit.transpiler.passes.NormalizeRXAngle ### quantize\_angles - + Quantize the RX rotation angles by assigning the same value for the angles that differ within a resolution provided by the user. **Parameters** @@ -106,7 +106,7 @@ python_api_name: qiskit.transpiler.passes.NormalizeRXAngle ### run - + Run the NormalizeRXAngle pass on `dag`. **Parameters** @@ -124,7 +124,7 @@ python_api_name: qiskit.transpiler.passes.NormalizeRXAngle ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.NumTensorFactors.mdx b/docs/api/qiskit/qiskit.transpiler.passes.NumTensorFactors.mdx index ae7bdb0bee9..1d6065b8fb0 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.NumTensorFactors.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.NumTensorFactors.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.NumTensorFactors # NumTensorFactors - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Calculate the number of tensor factors of a DAG circuit. @@ -37,7 +37,7 @@ python_api_name: qiskit.transpiler.passes.NumTensorFactors ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -57,7 +57,7 @@ python_api_name: qiskit.transpiler.passes.NumTensorFactors ### name - + Name of the pass. **Return type** @@ -67,13 +67,13 @@ python_api_name: qiskit.transpiler.passes.NumTensorFactors ### run - + Run the NumTensorFactors pass on dag. ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.Optimize1qGates.mdx b/docs/api/qiskit/qiskit.transpiler.passes.Optimize1qGates.mdx index 99289c0eb08..80533e7c81e 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.Optimize1qGates.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.Optimize1qGates.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGates # Optimize1qGates - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Optimize chains of single-qubit u1, u2, u3 gates by combining them into a single gate. @@ -43,7 +43,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGates ### compose\_u3 - + Return a triple theta, phi, lambda for the product. **u3(theta, phi, lambda)** @@ -55,7 +55,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGates ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -75,7 +75,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGates ### name - + Name of the pass. **Return type** @@ -85,7 +85,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGates ### run - + Run the Optimize1qGates pass on dag. **Parameters** @@ -107,7 +107,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGates ### update\_status - + Update workflow status. **Parameters** @@ -126,7 +126,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGates ### yzy\_to\_zyz - + Express a Y.Z.Y single qubit gate as a Z.Y.Z gate. Solve the equation diff --git a/docs/api/qiskit/qiskit.transpiler.passes.Optimize1qGatesDecomposition.mdx b/docs/api/qiskit/qiskit.transpiler.passes.Optimize1qGatesDecomposition.mdx index b97726f2456..00045884ef3 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.Optimize1qGatesDecomposition.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.Optimize1qGatesDecomposition.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGatesDecomposition # Optimize1qGatesDecomposition - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Optimize chains of single-qubit gates by combining them into a single gate. @@ -51,7 +51,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGatesDecomposition ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -71,7 +71,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGatesDecomposition ### name - + Name of the pass. **Return type** @@ -81,7 +81,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGatesDecomposition ### run - + Run the Optimize1qGatesDecomposition pass on dag. **Parameters** @@ -99,7 +99,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGatesDecomposition ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation.mdx b/docs/api/qiskit/qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation.mdx index a7937bc39eb..9b428edf7f7 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation # Optimize1qGatesSimpleCommutation - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Optimizes 1Q gate strings interrupted by 2Q gates by commuting the components and resynthesizing the results. The commutation rules are stored in `commutation_table`. @@ -47,7 +47,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -67,7 +67,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation ### name - + Name of the pass. **Return type** @@ -77,7 +77,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation ### run - + **Parameters** **dag** ([*DAGCircuit*](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit")) – the DAG to be optimized. @@ -93,7 +93,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.OptimizeAnnotated.mdx b/docs/api/qiskit/qiskit.transpiler.passes.OptimizeAnnotated.mdx index 77f9c29df0a..7b39dcb93cc 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.OptimizeAnnotated.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.OptimizeAnnotated.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.OptimizeAnnotated # OptimizeAnnotated - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Optimization pass on circuits with annotated operations. @@ -50,7 +50,7 @@ python_api_name: qiskit.transpiler.passes.OptimizeAnnotated ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -70,7 +70,7 @@ python_api_name: qiskit.transpiler.passes.OptimizeAnnotated ### name - + Name of the pass. **Return type** @@ -80,7 +80,7 @@ python_api_name: qiskit.transpiler.passes.OptimizeAnnotated ### run - + Run the OptimizeAnnotated pass on dag. **Parameters** @@ -98,7 +98,7 @@ python_api_name: qiskit.transpiler.passes.OptimizeAnnotated ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.OptimizeCliffords.mdx b/docs/api/qiskit/qiskit.transpiler.passes.OptimizeCliffords.mdx index 662908fa4bc..48c4af1c36a 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.OptimizeCliffords.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.OptimizeCliffords.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.OptimizeCliffords # OptimizeCliffords - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Combine consecutive Cliffords over the same qubits. This serves as an example of extra capabilities enabled by storing Cliffords natively on the circuit. @@ -35,7 +35,7 @@ python_api_name: qiskit.transpiler.passes.OptimizeCliffords ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -55,7 +55,7 @@ python_api_name: qiskit.transpiler.passes.OptimizeCliffords ### name - + Name of the pass. **Return type** @@ -65,7 +65,7 @@ python_api_name: qiskit.transpiler.passes.OptimizeCliffords ### run - + Run the OptimizeCliffords pass on dag. **Parameters** @@ -83,7 +83,7 @@ python_api_name: qiskit.transpiler.passes.OptimizeCliffords ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.PadDelay.mdx b/docs/api/qiskit/qiskit.transpiler.passes.PadDelay.mdx index b2ddf0a13cf..96476d71d64 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.PadDelay.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.PadDelay.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.PadDelay # PadDelay - + Bases: `BasePadding` Padding idle time with Delay instructions. @@ -67,7 +67,7 @@ python_api_name: qiskit.transpiler.passes.PadDelay ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -87,7 +87,7 @@ python_api_name: qiskit.transpiler.passes.PadDelay ### name - + Name of the pass. **Return type** @@ -97,7 +97,7 @@ python_api_name: qiskit.transpiler.passes.PadDelay ### run - + Run the padding pass on `dag`. **Parameters** @@ -119,7 +119,7 @@ python_api_name: qiskit.transpiler.passes.PadDelay ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.PadDynamicalDecoupling.mdx b/docs/api/qiskit/qiskit.transpiler.passes.PadDynamicalDecoupling.mdx index d4074a16c28..479b1c28d45 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.PadDynamicalDecoupling.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.PadDynamicalDecoupling.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.PadDynamicalDecoupling # PadDynamicalDecoupling - + Bases: `BasePadding` Dynamical decoupling insertion pass. @@ -125,7 +125,7 @@ python_api_name: qiskit.transpiler.passes.PadDynamicalDecoupling ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -145,7 +145,7 @@ python_api_name: qiskit.transpiler.passes.PadDynamicalDecoupling ### name - + Name of the pass. **Return type** @@ -155,7 +155,7 @@ python_api_name: qiskit.transpiler.passes.PadDynamicalDecoupling ### run - + Run the padding pass on `dag`. **Parameters** @@ -177,7 +177,7 @@ python_api_name: qiskit.transpiler.passes.PadDynamicalDecoupling ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.PulseGates.mdx b/docs/api/qiskit/qiskit.transpiler.passes.PulseGates.mdx index 8156a36d7d0..63980fe8315 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.PulseGates.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.PulseGates.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.PulseGates # PulseGates - + Bases: `CalibrationBuilder` Pulse gate adding pass. @@ -54,7 +54,7 @@ python_api_name: qiskit.transpiler.passes.PulseGates ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -74,7 +74,7 @@ python_api_name: qiskit.transpiler.passes.PulseGates ### get\_calibration - + Gets the calibrated schedule for the given instruction and qubits. **Parameters** @@ -97,7 +97,7 @@ python_api_name: qiskit.transpiler.passes.PulseGates ### name - + Name of the pass. **Return type** @@ -107,7 +107,7 @@ python_api_name: qiskit.transpiler.passes.PulseGates ### run - + Run the calibration adder pass on dag. **Parameters** @@ -125,7 +125,7 @@ python_api_name: qiskit.transpiler.passes.PulseGates ### supported - + Determine if a given node supports the calibration. **Parameters** @@ -144,7 +144,7 @@ python_api_name: qiskit.transpiler.passes.PulseGates ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.RXCalibrationBuilder.mdx b/docs/api/qiskit/qiskit.transpiler.passes.RXCalibrationBuilder.mdx index fd9e60cfa0e..c8ac46abb55 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.RXCalibrationBuilder.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.RXCalibrationBuilder.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.RXCalibrationBuilder # RXCalibrationBuilder - + Bases: `CalibrationBuilder` Add single-pulse RX calibrations that are bootstrapped from the SX calibration. @@ -85,7 +85,7 @@ python_api_name: qiskit.transpiler.passes.RXCalibrationBuilder ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -105,7 +105,7 @@ python_api_name: qiskit.transpiler.passes.RXCalibrationBuilder ### get\_calibration - + Generate RX calibration for the rotation angle specified in node\_op. **Return type** @@ -115,7 +115,7 @@ python_api_name: qiskit.transpiler.passes.RXCalibrationBuilder ### name - + Name of the pass. **Return type** @@ -125,7 +125,7 @@ python_api_name: qiskit.transpiler.passes.RXCalibrationBuilder ### run - + Run the calibration adder pass on dag. **Parameters** @@ -143,7 +143,7 @@ python_api_name: qiskit.transpiler.passes.RXCalibrationBuilder ### supported - + Check if the calibration for SX gate exists and it’s a single DRAG pulse. **Return type** @@ -153,7 +153,7 @@ python_api_name: qiskit.transpiler.passes.RXCalibrationBuilder ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.RZXCalibrationBuilder.mdx b/docs/api/qiskit/qiskit.transpiler.passes.RZXCalibrationBuilder.mdx index 4e56a3e78cf..754c0cf7cf9 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.RZXCalibrationBuilder.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.RZXCalibrationBuilder.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilder # RZXCalibrationBuilder - + Bases: `CalibrationBuilder` Creates calibrations for RZXGate(theta) by stretching and compressing Gaussian square pulses in the CX gate. This is done by retrieving (for a given pair of qubits) the CX schedule in the instruction schedule map of the backend defaults. The CX schedule must be an echoed cross-resonance gate optionally with rotary tones. The cross-resonance drive tones and rotary pulses must be Gaussian square pulses. The width of the Gaussian square pulse is adjusted so as to match the desired rotation angle. If the rotation angle is small such that the width disappears then the amplitude of the zero width Gaussian square pulse (i.e. a Gaussian) is reduced to reach the target rotation angle. Additional details can be found in [https://arxiv.org/abs/2012.11660](https://arxiv.org/abs/2012.11660). @@ -47,7 +47,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilder ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -67,7 +67,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilder ### get\_calibration - + Builds the calibration schedule for the RZXGate(theta) with echos. **Parameters** @@ -92,7 +92,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilder ### name - + Name of the pass. **Return type** @@ -102,7 +102,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilder ### rescale\_cr\_inst - + A builder macro to play stretched pulse. **Parameters** @@ -126,7 +126,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilder ### run - + Run the calibration adder pass on dag. **Parameters** @@ -144,7 +144,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilder ### supported - + Determine if a given node supports the calibration. **Parameters** @@ -163,7 +163,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilder ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho.mdx b/docs/api/qiskit/qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho.mdx index 9e18b7f1d79..6051398a57c 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho # RZXCalibrationBuilderNoEcho - + Bases: [`RZXCalibrationBuilder`](qiskit.transpiler.passes.RZXCalibrationBuilder "qiskit.transpiler.passes.calibration.rzx_builder.RZXCalibrationBuilder") Creates calibrations for RZXGate(theta) by stretching and compressing Gaussian square pulses in the CX gate. @@ -49,7 +49,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -69,7 +69,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho ### get\_calibration - + Builds the calibration schedule for the RZXGate(theta) without echos. **Parameters** @@ -94,7 +94,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho ### name - + Name of the pass. **Return type** @@ -104,7 +104,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho ### rescale\_cr\_inst - + A builder macro to play stretched pulse. **Parameters** @@ -128,7 +128,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho ### run - + Run the calibration adder pass on dag. **Parameters** @@ -146,7 +146,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho ### supported - + Determine if a given node supports the calibration. **Parameters** @@ -165,7 +165,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.RemoveBarriers.mdx b/docs/api/qiskit/qiskit.transpiler.passes.RemoveBarriers.mdx index 0811c8ce59f..0d93bac9cdc 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.RemoveBarriers.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.RemoveBarriers.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.RemoveBarriers # RemoveBarriers - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Return a circuit with any barrier removed. @@ -54,7 +54,7 @@ python_api_name: qiskit.transpiler.passes.RemoveBarriers ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -74,7 +74,7 @@ python_api_name: qiskit.transpiler.passes.RemoveBarriers ### name - + Name of the pass. **Return type** @@ -84,7 +84,7 @@ python_api_name: qiskit.transpiler.passes.RemoveBarriers ### run - + Run the RemoveBarriers pass on dag. **Return type** @@ -94,7 +94,7 @@ python_api_name: qiskit.transpiler.passes.RemoveBarriers ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.RemoveDiagonalGatesBeforeMeasure.mdx b/docs/api/qiskit/qiskit.transpiler.passes.RemoveDiagonalGatesBeforeMeasure.mdx index 5cb0b94c92d..8cbcddc1305 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.RemoveDiagonalGatesBeforeMeasure.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.RemoveDiagonalGatesBeforeMeasure.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.RemoveDiagonalGatesBeforeMeasure # RemoveDiagonalGatesBeforeMeasure - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Remove diagonal gates (including diagonal 2Q gates) before a measurement. @@ -37,7 +37,7 @@ python_api_name: qiskit.transpiler.passes.RemoveDiagonalGatesBeforeMeasure ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -57,7 +57,7 @@ python_api_name: qiskit.transpiler.passes.RemoveDiagonalGatesBeforeMeasure ### name - + Name of the pass. **Return type** @@ -67,7 +67,7 @@ python_api_name: qiskit.transpiler.passes.RemoveDiagonalGatesBeforeMeasure ### run - + Run the RemoveDiagonalGatesBeforeMeasure pass on dag. **Parameters** @@ -85,7 +85,7 @@ python_api_name: qiskit.transpiler.passes.RemoveDiagonalGatesBeforeMeasure ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.RemoveFinalMeasurements.mdx b/docs/api/qiskit/qiskit.transpiler.passes.RemoveFinalMeasurements.mdx index 722ca7ca62e..63fa3df069e 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.RemoveFinalMeasurements.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.RemoveFinalMeasurements.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.RemoveFinalMeasurements # RemoveFinalMeasurements - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Remove final measurements and barriers at the end of a circuit. @@ -39,7 +39,7 @@ python_api_name: qiskit.transpiler.passes.RemoveFinalMeasurements ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -59,7 +59,7 @@ python_api_name: qiskit.transpiler.passes.RemoveFinalMeasurements ### name - + Name of the pass. **Return type** @@ -69,7 +69,7 @@ python_api_name: qiskit.transpiler.passes.RemoveFinalMeasurements ### run - + Run the RemoveFinalMeasurements pass on dag. **Parameters** @@ -87,7 +87,7 @@ python_api_name: qiskit.transpiler.passes.RemoveFinalMeasurements ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.RemoveResetInZeroState.mdx b/docs/api/qiskit/qiskit.transpiler.passes.RemoveResetInZeroState.mdx index 9db5299c3b8..b7532b607bc 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.RemoveResetInZeroState.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.RemoveResetInZeroState.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.RemoveResetInZeroState # RemoveResetInZeroState - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Remove reset gate when the qubit is in zero state. @@ -35,7 +35,7 @@ python_api_name: qiskit.transpiler.passes.RemoveResetInZeroState ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -55,7 +55,7 @@ python_api_name: qiskit.transpiler.passes.RemoveResetInZeroState ### name - + Name of the pass. **Return type** @@ -65,7 +65,7 @@ python_api_name: qiskit.transpiler.passes.RemoveResetInZeroState ### run - + Run the RemoveResetInZeroState pass on dag. **Parameters** @@ -83,7 +83,7 @@ python_api_name: qiskit.transpiler.passes.RemoveResetInZeroState ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.ResetAfterMeasureSimplification.mdx b/docs/api/qiskit/qiskit.transpiler.passes.ResetAfterMeasureSimplification.mdx index 553b76aeccf..c6520eb5925 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.ResetAfterMeasureSimplification.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.ResetAfterMeasureSimplification.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.ResetAfterMeasureSimplification # ResetAfterMeasureSimplification - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") This pass replaces reset after measure with a conditional X gate. @@ -37,7 +37,7 @@ python_api_name: qiskit.transpiler.passes.ResetAfterMeasureSimplification ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -57,7 +57,7 @@ python_api_name: qiskit.transpiler.passes.ResetAfterMeasureSimplification ### name - + Name of the pass. **Return type** @@ -67,13 +67,13 @@ python_api_name: qiskit.transpiler.passes.ResetAfterMeasureSimplification ### run - + Run the pass on a dag. ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.SabreLayout.mdx b/docs/api/qiskit/qiskit.transpiler.passes.SabreLayout.mdx index b77b406ac60..05df15e39e7 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.SabreLayout.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.SabreLayout.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.SabreLayout # SabreLayout - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Choose a Layout via iterative bidirectional routing of the input circuit. @@ -129,7 +129,7 @@ python_api_name: qiskit.transpiler.passes.SabreLayout ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -149,7 +149,7 @@ python_api_name: qiskit.transpiler.passes.SabreLayout ### name - + Name of the pass. **Return type** @@ -159,7 +159,7 @@ python_api_name: qiskit.transpiler.passes.SabreLayout ### run - + Run the SabreLayout pass on dag. **Parameters** @@ -183,7 +183,7 @@ python_api_name: qiskit.transpiler.passes.SabreLayout ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.SabrePreLayout.mdx b/docs/api/qiskit/qiskit.transpiler.passes.SabrePreLayout.mdx index ae11d773637..5424db4cf00 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.SabrePreLayout.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.SabrePreLayout.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.SabrePreLayout # SabrePreLayout - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Choose a starting layout to use for additional Sabre layout trials. @@ -99,7 +99,7 @@ python_api_name: qiskit.transpiler.passes.SabrePreLayout ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -119,7 +119,7 @@ python_api_name: qiskit.transpiler.passes.SabrePreLayout ### name - + Name of the pass. **Return type** @@ -129,7 +129,7 @@ python_api_name: qiskit.transpiler.passes.SabrePreLayout ### run - + Run the SabrePreLayout pass on dag. The discovered starting layout is written to the property set value `sabre_starting_layouts`. @@ -141,7 +141,7 @@ python_api_name: qiskit.transpiler.passes.SabrePreLayout ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.SabreSwap.mdx b/docs/api/qiskit/qiskit.transpiler.passes.SabreSwap.mdx index 6a3f8ed8482..62aa6c21d6b 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.SabreSwap.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.SabreSwap.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.SabreSwap # SabreSwap - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Map input circuit onto a backend topology via insertion of SWAPs. @@ -95,7 +95,7 @@ python_api_name: qiskit.transpiler.passes.SabreSwap ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -115,7 +115,7 @@ python_api_name: qiskit.transpiler.passes.SabreSwap ### name - + Name of the pass. **Return type** @@ -125,7 +125,7 @@ python_api_name: qiskit.transpiler.passes.SabreSwap ### run - + Run the SabreSwap pass on dag. **Parameters** @@ -148,7 +148,7 @@ python_api_name: qiskit.transpiler.passes.SabreSwap ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.SetIOLatency.mdx b/docs/api/qiskit/qiskit.transpiler.passes.SetIOLatency.mdx index 3cd5c6ac81b..2825e8656a3 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.SetIOLatency.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.SetIOLatency.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.SetIOLatency # SetIOLatency - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Set IOLatency information to the input circuit. @@ -46,7 +46,7 @@ python_api_name: qiskit.transpiler.passes.SetIOLatency ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -66,7 +66,7 @@ python_api_name: qiskit.transpiler.passes.SetIOLatency ### name - + Name of the pass. **Return type** @@ -76,7 +76,7 @@ python_api_name: qiskit.transpiler.passes.SetIOLatency ### run - + Add IO latency information. **Parameters** @@ -86,7 +86,7 @@ python_api_name: qiskit.transpiler.passes.SetIOLatency ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.SetLayout.mdx b/docs/api/qiskit/qiskit.transpiler.passes.SetLayout.mdx index b9b53acee6f..ada765dd22d 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.SetLayout.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.SetLayout.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.SetLayout # SetLayout - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Set the `layout` property to the given layout. @@ -48,7 +48,7 @@ python_api_name: qiskit.transpiler.passes.SetLayout ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -68,7 +68,7 @@ python_api_name: qiskit.transpiler.passes.SetLayout ### name - + Name of the pass. **Return type** @@ -78,7 +78,7 @@ python_api_name: qiskit.transpiler.passes.SetLayout ### run - + Run the SetLayout pass on `dag`. **Parameters** @@ -96,7 +96,7 @@ python_api_name: qiskit.transpiler.passes.SetLayout ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.Size.mdx b/docs/api/qiskit/qiskit.transpiler.passes.Size.mdx index 2835e0723f0..563cddcb30e 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.Size.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.Size.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.Size # Size - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Calculate the size of a DAG circuit. @@ -41,7 +41,7 @@ python_api_name: qiskit.transpiler.passes.Size ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -61,7 +61,7 @@ python_api_name: qiskit.transpiler.passes.Size ### name - + Name of the pass. **Return type** @@ -71,13 +71,13 @@ python_api_name: qiskit.transpiler.passes.Size ### run - + Run the Size pass on dag. ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.SolovayKitaev.mdx b/docs/api/qiskit/qiskit.transpiler.passes.SolovayKitaev.mdx index 8a692158042..acc00d078b5 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.SolovayKitaev.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.SolovayKitaev.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.SolovayKitaev # SolovayKitaev - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Approximately decompose 1q gates to a discrete basis using the Solovay-Kitaev algorithm. @@ -124,7 +124,7 @@ python_api_name: qiskit.transpiler.passes.SolovayKitaev ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -144,7 +144,7 @@ python_api_name: qiskit.transpiler.passes.SolovayKitaev ### name - + Name of the pass. **Return type** @@ -154,7 +154,7 @@ python_api_name: qiskit.transpiler.passes.SolovayKitaev ### run - + Run the `SolovayKitaev` pass on dag. **Parameters** @@ -176,7 +176,7 @@ python_api_name: qiskit.transpiler.passes.SolovayKitaev ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.StochasticSwap.mdx b/docs/api/qiskit/qiskit.transpiler.passes.StochasticSwap.mdx index decf878d87e..5b229205917 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.StochasticSwap.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.StochasticSwap.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.StochasticSwap # StochasticSwap - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Map a DAGCircuit onto a coupling\_map adding swap gates. @@ -56,7 +56,7 @@ python_api_name: qiskit.transpiler.passes.StochasticSwap ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -76,7 +76,7 @@ python_api_name: qiskit.transpiler.passes.StochasticSwap ### name - + Name of the pass. **Return type** @@ -86,7 +86,7 @@ python_api_name: qiskit.transpiler.passes.StochasticSwap ### run - + Run the StochasticSwap pass on dag. **Parameters** @@ -109,7 +109,7 @@ python_api_name: qiskit.transpiler.passes.StochasticSwap ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.TemplateOptimization.mdx b/docs/api/qiskit/qiskit.transpiler.passes.TemplateOptimization.mdx index ff8e8d544ca..47795db318c 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.TemplateOptimization.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.TemplateOptimization.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.TemplateOptimization # TemplateOptimization - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Class for the template optimization pass. @@ -42,7 +42,7 @@ python_api_name: qiskit.transpiler.passes.TemplateOptimization ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -62,7 +62,7 @@ python_api_name: qiskit.transpiler.passes.TemplateOptimization ### name - + Name of the pass. **Return type** @@ -72,7 +72,7 @@ python_api_name: qiskit.transpiler.passes.TemplateOptimization ### run - + **Parameters** **dag** ([*DAGCircuit*](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit")) – DAG circuit. @@ -92,7 +92,7 @@ python_api_name: qiskit.transpiler.passes.TemplateOptimization ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.TimeUnitConversion.mdx b/docs/api/qiskit/qiskit.transpiler.passes.TimeUnitConversion.mdx index 1be960ceee0..b3fb8e4bbcc 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.TimeUnitConversion.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.TimeUnitConversion.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.TimeUnitConversion # TimeUnitConversion - + 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. @@ -50,7 +50,7 @@ python_api_name: qiskit.transpiler.passes.TimeUnitConversion ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -70,7 +70,7 @@ python_api_name: qiskit.transpiler.passes.TimeUnitConversion ### name - + Name of the pass. **Return type** @@ -80,7 +80,7 @@ python_api_name: qiskit.transpiler.passes.TimeUnitConversion ### run - + Run the TimeUnitAnalysis pass on dag. **Parameters** @@ -102,7 +102,7 @@ python_api_name: qiskit.transpiler.passes.TimeUnitConversion ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.TranslateParameterizedGates.mdx b/docs/api/qiskit/qiskit.transpiler.passes.TranslateParameterizedGates.mdx index 366c1295643..16764a21e0d 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.TranslateParameterizedGates.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.TranslateParameterizedGates.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.TranslateParameterizedGates # TranslateParameterizedGates - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Translate parameterized gates to a supported basis set. @@ -92,7 +92,7 @@ python_api_name: qiskit.transpiler.passes.TranslateParameterizedGates ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -112,7 +112,7 @@ python_api_name: qiskit.transpiler.passes.TranslateParameterizedGates ### name - + Name of the pass. **Return type** @@ -122,7 +122,7 @@ python_api_name: qiskit.transpiler.passes.TranslateParameterizedGates ### run - + Run the transpiler pass. **Parameters** @@ -144,7 +144,7 @@ python_api_name: qiskit.transpiler.passes.TranslateParameterizedGates ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.TrivialLayout.mdx b/docs/api/qiskit/qiskit.transpiler.passes.TrivialLayout.mdx index 17b69e645eb..7c3fa55b65d 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.TrivialLayout.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.TrivialLayout.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.TrivialLayout # TrivialLayout - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Choose a Layout by assigning `n` circuit qubits to device qubits `0, .., n-1`. @@ -51,7 +51,7 @@ python_api_name: qiskit.transpiler.passes.TrivialLayout ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -71,7 +71,7 @@ python_api_name: qiskit.transpiler.passes.TrivialLayout ### name - + Name of the pass. **Return type** @@ -81,7 +81,7 @@ python_api_name: qiskit.transpiler.passes.TrivialLayout ### run - + Run the TrivialLayout pass on dag. **Parameters** @@ -95,7 +95,7 @@ python_api_name: qiskit.transpiler.passes.TrivialLayout ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.UnitarySynthesis.mdx b/docs/api/qiskit/qiskit.transpiler.passes.UnitarySynthesis.mdx index a78a03b78e5..2052db84bf5 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.UnitarySynthesis.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.UnitarySynthesis.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.UnitarySynthesis # UnitarySynthesis - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Synthesize gates according to their basis gates. @@ -57,7 +57,7 @@ python_api_name: qiskit.transpiler.passes.UnitarySynthesis ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -77,7 +77,7 @@ python_api_name: qiskit.transpiler.passes.UnitarySynthesis ### name - + Name of the pass. **Return type** @@ -87,7 +87,7 @@ python_api_name: qiskit.transpiler.passes.UnitarySynthesis ### run - + Run the UnitarySynthesis pass on `dag`. **Parameters** @@ -105,7 +105,7 @@ python_api_name: qiskit.transpiler.passes.UnitarySynthesis ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.Unroll3qOrMore.mdx b/docs/api/qiskit/qiskit.transpiler.passes.Unroll3qOrMore.mdx index d1310e0bfa0..1cb81a68e2d 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.Unroll3qOrMore.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.Unroll3qOrMore.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.Unroll3qOrMore # Unroll3qOrMore - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Recursively expands 3q+ gates until the circuit only contains 2q or 1q gates. @@ -42,7 +42,7 @@ python_api_name: qiskit.transpiler.passes.Unroll3qOrMore ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -62,7 +62,7 @@ python_api_name: qiskit.transpiler.passes.Unroll3qOrMore ### name - + Name of the pass. **Return type** @@ -72,7 +72,7 @@ python_api_name: qiskit.transpiler.passes.Unroll3qOrMore ### run - + Run the Unroll3qOrMore pass on dag. **Parameters** @@ -94,7 +94,7 @@ python_api_name: qiskit.transpiler.passes.Unroll3qOrMore ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.UnrollCustomDefinitions.mdx b/docs/api/qiskit/qiskit.transpiler.passes.UnrollCustomDefinitions.mdx index a2f683077f0..3dc0ca87bb0 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.UnrollCustomDefinitions.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.UnrollCustomDefinitions.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.UnrollCustomDefinitions # UnrollCustomDefinitions - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Unrolls instructions with custom definitions. @@ -53,7 +53,7 @@ python_api_name: qiskit.transpiler.passes.UnrollCustomDefinitions ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -73,7 +73,7 @@ python_api_name: qiskit.transpiler.passes.UnrollCustomDefinitions ### name - + Name of the pass. **Return type** @@ -83,7 +83,7 @@ python_api_name: qiskit.transpiler.passes.UnrollCustomDefinitions ### run - + Run the UnrollCustomDefinitions pass on dag. **Parameters** @@ -106,7 +106,7 @@ python_api_name: qiskit.transpiler.passes.UnrollCustomDefinitions ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.UnrollForLoops.mdx b/docs/api/qiskit/qiskit.transpiler.passes.UnrollForLoops.mdx index e4526578365..61d3ab2915d 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.UnrollForLoops.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.UnrollForLoops.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.UnrollForLoops # UnrollForLoops - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") `UnrollForLoops` transpilation pass unrolls for-loops when possible. @@ -45,7 +45,7 @@ python_api_name: qiskit.transpiler.passes.UnrollForLoops ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -65,7 +65,7 @@ python_api_name: qiskit.transpiler.passes.UnrollForLoops ### name - + Name of the pass. **Return type** @@ -75,7 +75,7 @@ python_api_name: qiskit.transpiler.passes.UnrollForLoops ### run - + Run the UnrollForLoops pass on `dag`. **Parameters** @@ -93,7 +93,7 @@ python_api_name: qiskit.transpiler.passes.UnrollForLoops ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.VF2Layout.mdx b/docs/api/qiskit/qiskit.transpiler.passes.VF2Layout.mdx index c37bda9402a..6eafe788cb5 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.VF2Layout.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.VF2Layout.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.VF2Layout # VF2Layout - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") A pass for choosing a Layout of a circuit onto a Coupling graph, as a subgraph isomorphism problem, solved by VF2++. @@ -71,7 +71,7 @@ python_api_name: qiskit.transpiler.passes.VF2Layout ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -91,7 +91,7 @@ python_api_name: qiskit.transpiler.passes.VF2Layout ### name - + Name of the pass. **Return type** @@ -101,13 +101,13 @@ python_api_name: qiskit.transpiler.passes.VF2Layout ### run - + run the layout method ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.VF2PostLayout.mdx b/docs/api/qiskit/qiskit.transpiler.passes.VF2PostLayout.mdx index 1fac702dbba..cc73695186a 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.VF2PostLayout.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.VF2PostLayout.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.VF2PostLayout # VF2PostLayout - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") A pass for improving an existing Layout after transpilation of a circuit onto a Coupling graph, as a subgraph isomorphism problem, solved by VF2++. @@ -74,7 +74,7 @@ python_api_name: qiskit.transpiler.passes.VF2PostLayout ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -94,7 +94,7 @@ python_api_name: qiskit.transpiler.passes.VF2PostLayout ### name - + Name of the pass. **Return type** @@ -104,13 +104,13 @@ python_api_name: qiskit.transpiler.passes.VF2PostLayout ### run - + run the layout method ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.ValidatePulseGates.mdx b/docs/api/qiskit/qiskit.transpiler.passes.ValidatePulseGates.mdx index d7b76a5c2f6..259c58f63b5 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.ValidatePulseGates.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.ValidatePulseGates.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.ValidatePulseGates # ValidatePulseGates - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Check custom gate length. @@ -50,7 +50,7 @@ python_api_name: qiskit.transpiler.passes.ValidatePulseGates ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -70,7 +70,7 @@ python_api_name: qiskit.transpiler.passes.ValidatePulseGates ### name - + Name of the pass. **Return type** @@ -80,7 +80,7 @@ python_api_name: qiskit.transpiler.passes.ValidatePulseGates ### run - + Run the pulse gate validation attached to `dag`. **Parameters** @@ -102,7 +102,7 @@ python_api_name: qiskit.transpiler.passes.ValidatePulseGates ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.Width.mdx b/docs/api/qiskit/qiskit.transpiler.passes.Width.mdx index e8895db51c3..d41d84d09b8 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.Width.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.Width.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.Width # Width - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Calculate the width of a DAG circuit. @@ -37,7 +37,7 @@ python_api_name: qiskit.transpiler.passes.Width ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -57,7 +57,7 @@ python_api_name: qiskit.transpiler.passes.Width ### name - + Name of the pass. **Return type** @@ -67,13 +67,13 @@ python_api_name: qiskit.transpiler.passes.Width ### run - + Run the Width pass on dag. ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.aqc_plugin.AQCSynthesisPlugin.mdx b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.aqc_plugin.AQCSynthesisPlugin.mdx index caafae5de9a..5f5588d3b8a 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.aqc_plugin.AQCSynthesisPlugin.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.aqc_plugin.AQCSynthesisPlugin.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.aqc_plugin.AQCSynthesisPlugi # AQCSynthesisPlugin - + Bases: [`UnitarySynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin") An AQC-based Qiskit unitary synthesis plugin. @@ -157,7 +157,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.aqc_plugin.AQCSynthesisPlugi ### run - + Run synthesis for the given unitary matrix **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.ACGSynthesisPermutation.mdx b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.ACGSynthesisPermutation.mdx index a2b8aa7632a..2fa72bd2d8e 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.ACGSynthesisPermutation.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.ACGSynthesisPermutation.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.ACGSynt # ACGSynthesisPermutation - + Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") The permutation synthesis plugin based on the Alon, Chung, Graham method. @@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.ACGSynt ### run - + Run synthesis for the given Permutation. diff --git a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.AGSynthesisClifford.mdx b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.AGSynthesisClifford.mdx index 7f21609ac6b..438feb9d757 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.AGSynthesisClifford.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.AGSynthesisClifford.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.AGSynth # AGSynthesisClifford - + Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") Clifford synthesis plugin based on the Aaronson-Gottesman method. @@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.AGSynth ### run - + Run synthesis for the given Clifford. diff --git a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.BMSynthesisClifford.mdx b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.BMSynthesisClifford.mdx index f99b6e34b84..4340bd10cad 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.BMSynthesisClifford.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.BMSynthesisClifford.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.BMSynth # BMSynthesisClifford - + Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") Clifford synthesis plugin based on the Bravyi-Maslov method. @@ -21,7 +21,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.BMSynth ### run - + Run synthesis for the given Clifford. diff --git a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.BasicSynthesisPermutation.mdx b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.BasicSynthesisPermutation.mdx index f9846021661..d0bb07b54bf 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.BasicSynthesisPermutation.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.BasicSynthesisPermutation.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.BasicSy # BasicSynthesisPermutation - + Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") The permutation synthesis plugin based on sorting. @@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.BasicSy ### run - + Run synthesis for the given Permutation. diff --git a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisClifford.mdx b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisClifford.mdx index a5d5667dc50..b12c387a96b 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisClifford.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisClifford.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.Default # DefaultSynthesisClifford - + Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") The default clifford synthesis plugin. @@ -21,7 +21,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.Default ### run - + Run synthesis for the given Clifford. diff --git a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisLinearFunction.mdx b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisLinearFunction.mdx index 4744b167244..aee2b85e432 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisLinearFunction.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisLinearFunction.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.Default # DefaultSynthesisLinearFunction - + Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") The default linear function synthesis plugin. @@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.Default ### run - + Run synthesis for the given LinearFunction. diff --git a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.GreedySynthesisClifford.mdx b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.GreedySynthesisClifford.mdx index 8d24df92e9b..4dd8f56ba50 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.GreedySynthesisClifford.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.GreedySynthesisClifford.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.GreedyS # GreedySynthesisClifford - + Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") Clifford synthesis plugin based on the greedy synthesis Bravyi-Hu-Maslov-Shaydulin method. @@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.GreedyS ### run - + Run synthesis for the given Clifford. diff --git a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisLinearFunction.mdx b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisLinearFunction.mdx index 31f48066c7d..a0634f34f5b 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisLinearFunction.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisLinearFunction.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynt # KMSSynthesisLinearFunction - + Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") Linear function synthesis plugin based on the Kutin-Moulton-Smithline method. @@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynt ### run - + Run synthesis for the given LinearFunction. diff --git a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisPermutation.mdx b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisPermutation.mdx index 08fe72b7dbe..1c3c1265ea2 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisPermutation.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisPermutation.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynt # KMSSynthesisPermutation - + Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") The permutation synthesis plugin based on the Kutin, Moulton, Smithline method. @@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynt ### run - + Run synthesis for the given Permutation. diff --git a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerLnnSynthesisClifford.mdx b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerLnnSynthesisClifford.mdx index b5323aecf63..381377effad 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerLnnSynthesisClifford.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerLnnSynthesisClifford.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerLn # LayerLnnSynthesisClifford - + Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") Clifford synthesis plugin based on the Bravyi-Maslov method to synthesize Cliffords into layers, with each layer synthesized adhering to LNN connectivity. @@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerLn ### run - + Run synthesis for the given Clifford. diff --git a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerSynthesisClifford.mdx b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerSynthesisClifford.mdx index c1a058ac0d5..46bedfc8358 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerSynthesisClifford.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerSynthesisClifford.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerSy # LayerSynthesisClifford - + Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") Clifford synthesis plugin based on the Bravyi-Maslov method to synthesize Cliffords into layers. @@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerSy ### run - + Run synthesis for the given Clifford. diff --git a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.PMHSynthesisLinearFunction.mdx b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.PMHSynthesisLinearFunction.mdx index e670acfdb3d..48036fc04c0 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.PMHSynthesisLinearFunction.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.PMHSynthesisLinearFunction.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.PMHSynt # PMHSynthesisLinearFunction - + Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") Linear function synthesis plugin based on the Patel-Markov-Hayes method. @@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.PMHSynt ### run - + Run synthesis for the given LinearFunction. diff --git a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.TokenSwapperSynthesisPermutation.mdx b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.TokenSwapperSynthesisPermutation.mdx index 222f209ce4b..9b590d05782 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.TokenSwapperSynthesisPermutation.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.high_level_synthesis.TokenSwapperSynthesisPermutation.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.TokenSw # TokenSwapperSynthesisPermutation - + Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") The permutation synthesis plugin based on the token swapper algorithm. @@ -33,7 +33,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.TokenSw ### run - + Run synthesis for the given Permutation. diff --git a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin.mdx b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin.mdx index 62bc45e7530..0870d4bcde7 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlu # HighLevelSynthesisPlugin - + Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") Abstract high-level synthesis plugin class. @@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlu ### run - + Run synthesis for the given Operation. **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPluginManager.mdx b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPluginManager.mdx index 67a9d728567..f4ae4db68b5 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPluginManager.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPluginManager.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlu # HighLevelSynthesisPluginManager - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Class tracking the installed high-level-synthesis plugins. @@ -17,13 +17,13 @@ python_api_name: qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlu ### method - + Returns the plugin for `op_name` and `method_name`. ### method\_names - + Returns plugin methods for op\_name. diff --git a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin.mdx b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin.mdx index a1f58f98e17..342de3b4844 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugi # UnitarySynthesisPlugin - + Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") Abstract unitary synthesis plugin class @@ -176,7 +176,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugi ### run - + Run synthesis for the given unitary matrix **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPluginManager.mdx b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPluginManager.mdx index feccacf38bf..7cfcf8928d1 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPluginManager.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPluginManager.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugi # UnitarySynthesisPluginManager - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Unitary Synthesis plugin manager class diff --git a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.high_level_synthesis_plugin_names.mdx b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.high_level_synthesis_plugin_names.mdx index 2a2ed37c53e..7568fce90ee 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.high_level_synthesis_plugin_names.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.high_level_synthesis_plugin_names.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.plugin.high_level_synthesis_ # qiskit.transpiler.passes.synthesis.plugin.high\_level\_synthesis\_plugin\_names - + Return a list of plugin names installed for a given high level object name **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.unitary_synthesis_plugin_names.mdx b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.unitary_synthesis_plugin_names.mdx index e875eff1860..4af7d443580 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.unitary_synthesis_plugin_names.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.unitary_synthesis_plugin_names.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.plugin.unitary_synthesis_plu # qiskit.transpiler.passes.synthesis.plugin.unitary\_synthesis\_plugin\_names - + Return a list of installed unitary synthesis plugin names **Returns** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.solovay_kitaev_synthesis.SolovayKitaevSynthesis.mdx b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.solovay_kitaev_synthesis.SolovayKitaevSynthesis.mdx index 6c6da503a40..887060bf2d3 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.solovay_kitaev_synthesis.SolovayKitaevSynthesis.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.solovay_kitaev_synthesis.SolovayKitaevSynthesis.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.solovay_kitaev_synthesis.Sol # SolovayKitaevSynthesis - + Bases: [`UnitarySynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin") A Solovay-Kitaev Qiskit unitary synthesis plugin. @@ -149,7 +149,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.solovay_kitaev_synthesis.Sol ### run - + Run synthesis for the given unitary matrix **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis.mdx b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis.mdx index 9dab5ea964e..ed502b5f5f2 100644 --- a/docs/api/qiskit/qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis.mdx +++ b/docs/api/qiskit/qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUni # DefaultUnitarySynthesis - + Bases: [`UnitarySynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin") The default unitary synthesis plugin. @@ -67,7 +67,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUni ### run - + Run synthesis for the given unitary matrix **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePlugin.mdx b/docs/api/qiskit/qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePlugin.mdx index 86e86d48ba3..9243429d85b 100644 --- a/docs/api/qiskit/qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePlugin.mdx +++ b/docs/api/qiskit/qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePlugin.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePl # PassManagerStagePlugin - + Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") A `PassManagerStagePlugin` is a plugin interface object for using custom stages in [`transpile()`](compiler#qiskit.compiler.transpile "qiskit.compiler.transpile"). @@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePl ### pass\_manager - + This method is designed to return a [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") for the stage this implements **Parameters** diff --git a/docs/api/qiskit/qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePluginManager.mdx b/docs/api/qiskit/qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePluginManager.mdx index 246fd31cbc5..cb37e439cf4 100644 --- a/docs/api/qiskit/qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePluginManager.mdx +++ b/docs/api/qiskit/qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePluginManager.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePl # PassManagerStagePluginManager - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Manager class for preset pass manager stage plugins. @@ -17,7 +17,7 @@ python_api_name: qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePl ### get\_passmanager\_stage - + Get a stage **Return type** diff --git a/docs/api/qiskit/qiskit.visualization.array_to_latex.mdx b/docs/api/qiskit/qiskit.visualization.array_to_latex.mdx index 75cbec8cc85..af8406b002e 100644 --- a/docs/api/qiskit/qiskit.visualization.array_to_latex.mdx +++ b/docs/api/qiskit/qiskit.visualization.array_to_latex.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.array_to_latex # qiskit.visualization.array\_to\_latex - + Latex representation of a complex numpy array (with dimension 1 or 2) **Parameters** diff --git a/docs/api/qiskit/qiskit.visualization.circuit_drawer.mdx b/docs/api/qiskit/qiskit.visualization.circuit_drawer.mdx index 4c199aa9785..037a30bbd75 100644 --- a/docs/api/qiskit/qiskit.visualization.circuit_drawer.mdx +++ b/docs/api/qiskit/qiskit.visualization.circuit_drawer.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.circuit_drawer # qiskit.visualization.circuit\_drawer - + Draw the quantum circuit. Use the output parameter to choose the drawing format: **text**: ASCII art TextDrawing that can be printed in the console. diff --git a/docs/api/qiskit/qiskit.visualization.dag_drawer.mdx b/docs/api/qiskit/qiskit.visualization.dag_drawer.mdx index bbdc81d85f7..6d6d8aeb2fb 100644 --- a/docs/api/qiskit/qiskit.visualization.dag_drawer.mdx +++ b/docs/api/qiskit/qiskit.visualization.dag_drawer.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.dag_drawer # qiskit.visualization.dag\_drawer - + Plot the directed acyclic graph (dag) to represent operation dependencies in a quantum circuit. This function calls the [`graphviz_draw()`](https://www.rustworkx.org/apiref/rustworkx.visualization.graphviz_draw.html#rustworkx.visualization.graphviz_draw "(in rustworkx v0.14)") function from the `rustworkx` package to draw the DAG. diff --git a/docs/api/qiskit/qiskit.visualization.pass_manager_drawer.mdx b/docs/api/qiskit/qiskit.visualization.pass_manager_drawer.mdx index e9dda069fb6..a6dd4efd900 100644 --- a/docs/api/qiskit/qiskit.visualization.pass_manager_drawer.mdx +++ b/docs/api/qiskit/qiskit.visualization.pass_manager_drawer.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.pass_manager_drawer # qiskit.visualization.pass\_manager\_drawer - + Draws the pass manager. This function needs [pydot](https://github.com/pydot/pydot), which in turn needs [Graphviz](https://www.graphviz.org/) to be installed. diff --git a/docs/api/qiskit/qiskit.visualization.plot_bloch_multivector.mdx b/docs/api/qiskit/qiskit.visualization.plot_bloch_multivector.mdx index b950173c34f..a4eb6c9b17f 100644 --- a/docs/api/qiskit/qiskit.visualization.plot_bloch_multivector.mdx +++ b/docs/api/qiskit/qiskit.visualization.plot_bloch_multivector.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.plot_bloch_multivector # qiskit.visualization.plot\_bloch\_multivector - + Plot a Bloch sphere for each qubit. Each component $(x,y,z)$ of the Bloch sphere labeled as ‘qubit i’ represents the expected value of the corresponding Pauli operator acting only on that qubit, that is, the expected value of $I_{N-1} \otimes\dotsb\otimes I_{i+1}\otimes P_i \otimes I_{i-1}\otimes\dotsb\otimes I_0$, where $N$ is the number of qubits, $P\in \{X,Y,Z\}$ and $I$ is the identity operator. @@ -31,7 +31,7 @@ python_api_name: qiskit.visualization.plot_bloch_multivector **Return type** - [`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.3)") + [`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.4)") **Raises** diff --git a/docs/api/qiskit/qiskit.visualization.plot_bloch_vector.mdx b/docs/api/qiskit/qiskit.visualization.plot_bloch_vector.mdx index 2510ac0d902..e63443e0f99 100644 --- a/docs/api/qiskit/qiskit.visualization.plot_bloch_vector.mdx +++ b/docs/api/qiskit/qiskit.visualization.plot_bloch_vector.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.plot_bloch_vector # qiskit.visualization.plot\_bloch\_vector - + Plot the Bloch sphere. Plot a Bloch sphere with the specified coordinates, that can be given in both cartesian and spherical systems. @@ -19,7 +19,7 @@ python_api_name: qiskit.visualization.plot_bloch_vector * **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.3)")) – 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.4)")) – 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. @@ -30,7 +30,7 @@ python_api_name: qiskit.visualization.plot_bloch_vector **Return type** - [`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.3)") + [`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.4)") **Raises** diff --git a/docs/api/qiskit/qiskit.visualization.plot_circuit_layout.mdx b/docs/api/qiskit/qiskit.visualization.plot_circuit_layout.mdx index 16f8306e555..ed56fe468e3 100644 --- a/docs/api/qiskit/qiskit.visualization.plot_circuit_layout.mdx +++ b/docs/api/qiskit/qiskit.visualization.plot_circuit_layout.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.plot_circuit_layout # qiskit.visualization.plot\_circuit\_layout - + Plot the layout of a circuit transpiled for a given target backend. **Parameters** diff --git a/docs/api/qiskit/qiskit.visualization.plot_coupling_map.mdx b/docs/api/qiskit/qiskit.visualization.plot_coupling_map.mdx index e1abedd79f5..b19471b9d3c 100644 --- a/docs/api/qiskit/qiskit.visualization.plot_coupling_map.mdx +++ b/docs/api/qiskit/qiskit.visualization.plot_coupling_map.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.plot_coupling_map # qiskit.visualization.plot\_coupling\_map - + Plots an arbitrary coupling map of qubits (embedded in a plane). **Parameters** diff --git a/docs/api/qiskit/qiskit.visualization.plot_distribution.mdx b/docs/api/qiskit/qiskit.visualization.plot_distribution.mdx index f0f25e84602..f06f86111c4 100644 --- a/docs/api/qiskit/qiskit.visualization.plot_distribution.mdx +++ b/docs/api/qiskit/qiskit.visualization.plot_distribution.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.plot_distribution # qiskit.visualization.plot\_distribution - + Plot a distribution from input sampled data. **Parameters** @@ -24,7 +24,7 @@ python_api_name: qiskit.visualization.plot_distribution * **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.3)")) – 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.4)")) – 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.mdx b/docs/api/qiskit/qiskit.visualization.plot_error_map.mdx index f7776ef9a13..ee58c62acc2 100644 --- a/docs/api/qiskit/qiskit.visualization.plot_error_map.mdx +++ b/docs/api/qiskit/qiskit.visualization.plot_error_map.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.plot_error_map # qiskit.visualization.plot\_error\_map - + Plots the error map of a given backend. **Parameters** diff --git a/docs/api/qiskit/qiskit.visualization.plot_gate_map.mdx b/docs/api/qiskit/qiskit.visualization.plot_gate_map.mdx index 0c5b08d9f6b..22410424fe8 100644 --- a/docs/api/qiskit/qiskit.visualization.plot_gate_map.mdx +++ b/docs/api/qiskit/qiskit.visualization.plot_gate_map.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.plot_gate_map # qiskit.visualization.plot\_gate\_map - + Plots the gate map of a device. **Parameters** diff --git a/docs/api/qiskit/qiskit.visualization.plot_histogram.mdx b/docs/api/qiskit/qiskit.visualization.plot_histogram.mdx index 0739dfb25f7..0d1c813fa17 100644 --- a/docs/api/qiskit/qiskit.visualization.plot_histogram.mdx +++ b/docs/api/qiskit/qiskit.visualization.plot_histogram.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.plot_histogram # qiskit.visualization.plot\_histogram - + Plot a histogram of input counts data. **Parameters** @@ -24,7 +24,7 @@ python_api_name: qiskit.visualization.plot_histogram * **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.3)")) – 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.4)")) – 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.mdx b/docs/api/qiskit/qiskit.visualization.plot_state_city.mdx index ed293b1a78b..ac207cdf28b 100644 --- a/docs/api/qiskit/qiskit.visualization.plot_state_city.mdx +++ b/docs/api/qiskit/qiskit.visualization.plot_state_city.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.plot_state_city # qiskit.visualization.plot\_state\_city - + Plot the cityscape of quantum state. Plot two 3d bar graphs (two dimensional) of the real and imaginary part of the density matrix rho. @@ -22,8 +22,8 @@ python_api_name: qiskit.visualization.plot_state_city * **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.3)")) – 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.3)")) – 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.4)")) – 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.4)")) – 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** @@ -31,7 +31,7 @@ python_api_name: qiskit.visualization.plot_state_city **Return type** - [`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.3)") + [`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.4)") **Raises** diff --git a/docs/api/qiskit/qiskit.visualization.plot_state_hinton.mdx b/docs/api/qiskit/qiskit.visualization.plot_state_hinton.mdx index 32786ebfe9d..67d9bcc9b30 100644 --- a/docs/api/qiskit/qiskit.visualization.plot_state_hinton.mdx +++ b/docs/api/qiskit/qiskit.visualization.plot_state_hinton.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.plot_state_hinton # qiskit.visualization.plot\_state\_hinton - + Plot a hinton diagram for the density matrix of a quantum state. The hinton diagram represents the values of a matrix using squares, whose size indicate the magnitude of their corresponding value and their color, its sign. A white square means the value is positive and a black one means negative. @@ -21,8 +21,8 @@ python_api_name: qiskit.visualization.plot_state_hinton * **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.3)")) – 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.3)")) – 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.4)")) – 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.4)")) – 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** @@ -30,7 +30,7 @@ python_api_name: qiskit.visualization.plot_state_hinton **Return type** - [`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.3)") + [`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.4)") **Raises** diff --git a/docs/api/qiskit/qiskit.visualization.plot_state_paulivec.mdx b/docs/api/qiskit/qiskit.visualization.plot_state_paulivec.mdx index aab24d6ebdb..f4998de2ae6 100644 --- a/docs/api/qiskit/qiskit.visualization.plot_state_paulivec.mdx +++ b/docs/api/qiskit/qiskit.visualization.plot_state_paulivec.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.plot_state_paulivec # qiskit.visualization.plot\_state\_paulivec - + Plot the Pauli-vector representation of a quantum state as bar graph. The Pauli-vector of a density matrix $\rho$ is defined by the expectation of each possible tensor product of single-qubit Pauli operators (including the identity), that is @@ -28,7 +28,7 @@ $$ * **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.3)")) – 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.4)")) – 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** @@ -36,7 +36,7 @@ $$ **Return type** - [`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.3)") + [`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.4)") **Raises** diff --git a/docs/api/qiskit/qiskit.visualization.plot_state_qsphere.mdx b/docs/api/qiskit/qiskit.visualization.plot_state_qsphere.mdx index fd68839ebc5..f613b07bc3c 100644 --- a/docs/api/qiskit/qiskit.visualization.plot_state_qsphere.mdx +++ b/docs/api/qiskit/qiskit.visualization.plot_state_qsphere.mdx @@ -10,14 +10,14 @@ python_api_name: qiskit.visualization.plot_state_qsphere # qiskit.visualization.plot\_state\_qsphere - + 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. **Parameters** * **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.3)")) – 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.4)")) – 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. @@ -28,7 +28,7 @@ python_api_name: qiskit.visualization.plot_state_qsphere **Return type** - [`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.3)") + [`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.4)") **Raises** diff --git a/docs/api/qiskit/qiskit.visualization.timeline_drawer.mdx b/docs/api/qiskit/qiskit.visualization.timeline_drawer.mdx index 0b9df8c1919..6b8c49feda7 100644 --- a/docs/api/qiskit/qiskit.visualization.timeline_drawer.mdx +++ b/docs/api/qiskit/qiskit.visualization.timeline_drawer.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.timeline_drawer # qiskit.visualization.timeline\_drawer - + Generate visualization data for scheduled circuit programs. **Parameters** diff --git a/docs/api/qiskit/qiskit.visualization.visualize_transition.mdx b/docs/api/qiskit/qiskit.visualization.visualize_transition.mdx index 668d554bde0..2d787f526e4 100644 --- a/docs/api/qiskit/qiskit.visualization.visualize_transition.mdx +++ b/docs/api/qiskit/qiskit.visualization.visualize_transition.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.visualize_transition # qiskit.visualization.visualize\_transition - + Creates animation showing transitions between states of a single qubit by applying quantum gates. **Parameters** diff --git a/docs/api/qiskit/qpy.mdx b/docs/api/qiskit/qpy.mdx index 3064b57c3d2..7bd9f9460f0 100644 --- a/docs/api/qiskit/qpy.mdx +++ b/docs/api/qiskit/qpy.mdx @@ -57,7 +57,7 @@ and then loading that file will return a list with all the circuits ### load - + Load a QPY binary file This function is used to load a serialized QPY Qiskit program file and create [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") objects or [`ScheduleBlock`](qiskit.pulse.ScheduleBlock "qiskit.pulse.schedule.ScheduleBlock") objects from its contents. For example: @@ -102,7 +102,7 @@ and then loading that file will return a list with all the circuits ### dump - + Write QPY binary data to a file This function is used to save a circuit to a file for later use or transfer between machines. The QPY format is backwards compatible and can be loaded with future versions of Qiskit. @@ -166,7 +166,7 @@ These functions will raise a custom subclass of [`QiskitError`](exceptions#qiski ### QpyError - + Errors raised by the qpy module. Set the error message. @@ -202,7 +202,7 @@ If a feature being loaded is deprecated in the corresponding qiskit release, QPY ### QPYLoadingDeprecatedFeatureWarning - + Visible deprecation warning for QPY loading functions without a stable point in the call stack. diff --git a/docs/api/qiskit/quantum_info.mdx b/docs/api/qiskit/quantum_info.mdx index ca4a5f61710..3ac4498b8f2 100644 --- a/docs/api/qiskit/quantum_info.mdx +++ b/docs/api/qiskit/quantum_info.mdx @@ -58,7 +58,7 @@ python_api_name: qiskit.quantum_info ### average\_gate\_fidelity - + Return the average gate fidelity of a noisy quantum channel. The average gate fidelity $F_{\text{ave}}$ is given by @@ -98,7 +98,7 @@ $$ ### process\_fidelity - + Return the process fidelity of a noisy quantum channel. The process fidelity $F_{\text{pro}}(\mathcal{E}, \mathcal{F})$ between two quantum channels $\mathcal{E}, \mathcal{F}$ is given by @@ -145,7 +145,7 @@ $$ ### gate\_error - + Return the gate error of a noisy quantum channel. The gate error $E$ is given by the average gate infidelity @@ -180,7 +180,7 @@ $$ ### diamond\_norm - + Return the diamond norm of the input quantum channel object. This function computes the completely-bounded trace-norm (often referred to as the diamond-norm) of the input quantum channel object using the semidefinite-program from reference \[1]. @@ -218,7 +218,7 @@ $$ ### state\_fidelity - + Return the state fidelity between two quantum states. The state fidelity $F$ for density matrix input states $\rho_1, \rho_2$ is given by @@ -252,7 +252,7 @@ $$ ### purity - + Calculate the purity of a quantum state. The purity of a density matrix $\rho$ is @@ -281,7 +281,7 @@ $$ ### concurrence - + Calculate the concurrence of a quantum state. The concurrence of a bipartite [`Statevector`](qiskit.quantum_info.Statevector "qiskit.quantum_info.Statevector") $|\psi\rangle$ is given by @@ -321,7 +321,7 @@ $$ ### entropy - + Calculate the von-Neumann entropy of a quantum state. The entropy $S$ is given by @@ -350,7 +350,7 @@ $$ ### entanglement\_of\_formation - + Calculate the entanglement of formation of quantum state. The input quantum state must be either a bipartite state vector, or a 2-qubit density matrix. @@ -376,7 +376,7 @@ $$ ### mutual\_information - + Calculate the mutual information of a bipartite state. The mutual information $I$ is given by: @@ -414,7 +414,7 @@ $$ ### partial\_trace - + Return reduced density matrix by tracing out part of quantum state. If all subsystems are traced over this returns the [`trace()`](qiskit.quantum_info.DensityMatrix#trace "qiskit.quantum_info.DensityMatrix.trace") of the input state. @@ -439,7 +439,7 @@ $$ ### schmidt\_decomposition - + Return the Schmidt Decomposition of a pure quantum state. For an arbitrary bipartite state: @@ -487,7 +487,7 @@ $$ ### shannon\_entropy - + Compute the Shannon entropy of a probability vector. The shannon entropy of a probability vector $\vec{p} = [p_0, ..., p_{n-1}]$ is defined as @@ -514,7 +514,7 @@ $$ ### commutator - + Compute commutator of a and b. $$ @@ -537,7 +537,7 @@ $$ ### anti\_commutator - + Compute anti-commutator of a and b. $$ @@ -560,7 +560,7 @@ $$ ### double\_commutator - + Compute symmetric double commutator of a, b and c. See also Equation (13.6.18) in \[1]. @@ -607,7 +607,7 @@ $$ ### random\_statevector - + Generator a random Statevector. The statevector is sampled from the uniform distribution. This is the measure induced by the Haar measure on unitary matrices. @@ -632,7 +632,7 @@ $$ ### random\_density\_matrix - + Generator a random DensityMatrix. **Parameters** @@ -657,7 +657,7 @@ $$ ### random\_unitary - + Return a random unitary Operator. The operator is sampled from the unitary Haar measure. @@ -678,7 +678,7 @@ $$ ### random\_hermitian - + Return a random hermitian Operator. The operator is sampled from Gaussian Unitary Ensemble. @@ -700,7 +700,7 @@ $$ ### random\_pauli - + Return a random Pauli. **Parameters** @@ -720,7 +720,7 @@ $$ ### random\_clifford - + Return a random Clifford operator. The Clifford is sampled using the method of Reference \[1]. @@ -745,7 +745,7 @@ $$ ### random\_quantum\_channel - + Return a random CPTP quantum channel. This constructs the Stinespring operator for the quantum channel by sampling a random isometry from the unitary Haar measure. @@ -772,7 +772,7 @@ $$ ### random\_cnotdihedral - + Return a random CNOTDihedral element. **Parameters** @@ -791,7 +791,7 @@ $$ ### random\_pauli\_list - + Return a random PauliList. **Parameters** @@ -814,7 +814,7 @@ $$ ### hellinger\_distance - + Computes the Hellinger distance between two counts distributions. **Parameters** @@ -837,7 +837,7 @@ $$ ### hellinger\_fidelity - + Computes the Hellinger fidelity between two counts distributions. The fidelity is defined as $\left(1-H^{2}\right)^{2}$ where H is the Hellinger distance. This value is bounded in the range \[0, 1]. diff --git a/docs/api/qiskit/release-notes/1.0.mdx b/docs/api/qiskit/release-notes/1.0.mdx index c658ef73842..d01a1132edc 100644 --- a/docs/api/qiskit/release-notes/1.0.mdx +++ b/docs/api/qiskit/release-notes/1.0.mdx @@ -15,6 +15,8 @@ Qiskit 1.0.2 is a minor bugfix release for the 1.0 series. + + ### Bug Fixes * Fixed an issue with [`convert_to_target()`](/api/qiskit/qiskit.providers.convert_to_target "qiskit.providers.convert_to_target") where the converter would incorrectly ignore control flow instructions if they were specified in the `BackendConfiguration.supported_instructions` attribute, which is the typical location that control flow instructions are specified in a [`BackendConfiguration`](/api/qiskit/qiskit.providers.models.BackendConfiguration "qiskit.providers.models.BackendConfiguration") object. Fixed [#11872](https://github.com/Qiskit/qiskit/issues/11872). @@ -41,13 +43,13 @@ Qiskit 1.0.2 is a minor bugfix release for the 1.0 series. - + ## 1.0.1 - + ### Prelude @@ -55,7 +57,7 @@ Qiskit 1.0.1 is a patch release fixing a small number of bugs identified in the - + ### Bug Fixes @@ -69,13 +71,13 @@ Qiskit 1.0.1 is a patch release fixing a small number of bugs identified in the - + ## 1.0.0 - + ### Prelude @@ -354,7 +356,7 @@ This guide is meant to complement the release notes and have a targeted advice f ``` - The noise properties generated by these class do not mimic any concrete quantum device, and should not be used to measure any concrete behaviors. They are “reasonable defaults” that can be used to test backend-interfacing functionality not tied specific noise values of real quantum systems. For a more accurate simulation of existing devices, you can manually build a noise model from the real backend using the functionality offered in [`qiskit_aer`](https://qiskit.github.io/qiskit-aer/apidocs/aer_provider.html#module-qiskit_aer "(in Qiskit Aer v0.13.3)"). + The noise properties generated by these class do not mimic any concrete quantum device, and should not be used to measure any concrete behaviors. They are “reasonable defaults” that can be used to test backend-interfacing functionality not tied specific noise values of real quantum systems. For a more accurate simulation of existing devices, you can manually build a noise model from the real backend using the functionality offered in [`qiskit_aer`](https://qiskit.github.io/qiskit-aer/apidocs/aer_provider.html#module-qiskit_aer "(in Qiskit Aer v0.14.0)"). * The [`qiskit.providers.fake_provider`](/api/qiskit/providers_fake_provider#module-qiskit.providers.fake_provider "qiskit.providers.fake_provider") module now includes a series of generic fake backends following the [`BackendV1`](/api/qiskit/qiskit.providers.BackendV1 "qiskit.providers.BackendV1") interface. They have been introduced as an alternative to the snapshot-based fake backends exposed in the deprecated `FakeProvider` (`FakeVigo`, `FakeTokyo`, etc). The list of new fake backends includes: @@ -1116,7 +1118,7 @@ This guide is meant to complement the release notes and have a targeted advice f - + ### Bug Fixes diff --git a/docs/api/qiskit/result.mdx b/docs/api/qiskit/result.mdx index 2817f7e0553..7ac0ccca53c 100644 --- a/docs/api/qiskit/result.mdx +++ b/docs/api/qiskit/result.mdx @@ -26,7 +26,7 @@ python_api_name: qiskit.result ### marginal\_counts - + Marginalize counts from an experiment over some indices of interest. **Parameters** @@ -54,7 +54,7 @@ python_api_name: qiskit.result ### marginal\_distribution - + Marginalize counts from an experiment over some indices of interest. Unlike [`marginal_counts()`](#qiskit.result.marginal_counts "qiskit.result.marginal_counts") this function respects the order of the input `indices`. If the input `indices` list is specified then the order the bit indices are specified will be the output order of the bitstrings in the marginalized output. @@ -81,7 +81,7 @@ python_api_name: qiskit.result ### marginal\_memory - + Marginalize shot memory This function is multithreaded and will launch a thread pool with threads equal to the number of CPUs by default. You can tune the number of threads with the `RAYON_NUM_THREADS` environment variable. For example, setting `RAYON_NUM_THREADS=4` would limit the thread pool to 4 threads. @@ -119,7 +119,7 @@ python_api_name: qiskit.result ### sampled\_expectation\_value - + Computes expectation value from a sampled distribution Note that passing a raw dict requires bit-string keys. diff --git a/docs/api/qiskit/scheduler.mdx b/docs/api/qiskit/scheduler.mdx index ff5d5d7125d..0d177d6cdf3 100644 --- a/docs/api/qiskit/scheduler.mdx +++ b/docs/api/qiskit/scheduler.mdx @@ -20,7 +20,7 @@ python_api_name: qiskit.scheduler A circuit scheduler compiles a circuit program to a pulse program. - + Configuration for pulse scheduling. Container for information needed to schedule a QuantumCircuit into a pulse Schedule. @@ -34,7 +34,7 @@ A circuit scheduler compiles a circuit program to a pulse program. ### schedule\_circuit - + 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. Supported methods: @@ -68,7 +68,7 @@ Pulse scheduling methods. ### as\_soon\_as\_possible - + Return the pulse Schedule which implements the input circuit using an “as soon as possible” (asap) scheduling policy. Circuit instructions are first each mapped to equivalent pulse Schedules according to the command definition given by the schedule\_config. Then, this circuit instruction-equivalent Schedule is appended at the earliest time at which all qubits involved in the instruction are available. @@ -90,7 +90,7 @@ Pulse scheduling methods. ### as\_late\_as\_possible - + Return the pulse Schedule which implements the input circuit using an “as late as possible” (alap) scheduling policy. Circuit instructions are first each mapped to equivalent pulse Schedules according to the command definition given by the schedule\_config. Then, this circuit instruction-equivalent Schedule is appended at the latest time that it can be without allowing unnecessary time between instructions or allowing instructions with common qubits to overlap. diff --git a/docs/api/qiskit/synthesis.mdx b/docs/api/qiskit/synthesis.mdx index f3f154df607..f2e3b2b9ac6 100644 --- a/docs/api/qiskit/synthesis.mdx +++ b/docs/api/qiskit/synthesis.mdx @@ -35,7 +35,7 @@ python_api_name: qiskit.synthesis ### synth\_cnot\_count\_full\_pmh - + Synthesize linear reversible circuits for all-to-all architecture using Patel, Markov and Hayes method. This function is an implementation of the Patel, Markov and Hayes algorithm from \[1] for optimal synthesis of linear reversible circuits for all-to-all architecture, as specified by an $n \times n$ matrix. @@ -64,7 +64,7 @@ python_api_name: qiskit.synthesis ### synth\_cnot\_depth\_line\_kms - + Synthesize linear reversible circuit for linear nearest-neighbor architectures using Kutin, Moulton, Smithline method. Synthesis algorithm for linear reversible circuits from \[1], section 7. This algorithm synthesizes any linear reversible circuit of $n$ qubits over a linear nearest-neighbor architecture using CX gates with depth at most $5n$. @@ -94,7 +94,7 @@ python_api_name: qiskit.synthesis ### synth\_cz\_depth\_line\_mr - + Synthesis of a CZ circuit for linear nearest neighbour (LNN) connectivity, based on Maslov and Roetteler. Note that this method *reverts* the order of qubits in the circuit, and returns a circuit containing [`CXGate`](qiskit.circuit.library.CXGate "qiskit.circuit.library.CXGate")s and phase gates ([`SGate`](qiskit.circuit.library.SGate "qiskit.circuit.library.SGate"), [`SdgGate`](qiskit.circuit.library.SdgGate "qiskit.circuit.library.SdgGate") or [`ZGate`](qiskit.circuit.library.ZGate "qiskit.circuit.library.ZGate")). @@ -118,7 +118,7 @@ python_api_name: qiskit.synthesis ### synth\_cx\_cz\_depth\_line\_my - + 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. **Parameters** @@ -142,7 +142,7 @@ python_api_name: qiskit.synthesis ### synth\_cnot\_phase\_aam - + This function is an implementation of the GraySynth algorithm of Amy, Azimadeh and Mosca. GraySynth is a heuristic algorithm from \[1] for synthesizing small parity networks. It is inspired by Gray codes. Given a set of binary strings $S$ (called `cnots` bellow), the algorithm synthesizes a parity network for $S$ by repeatedly choosing an index $i$ to expand and then effectively recursing on the co-factors $S_0$ and $S_1$, consisting of the strings $y \in S$, with $y_i = 0$ or $1$ respectively. As a subset $S$ is recursively expanded, `cx` gates are applied so that a designated target bit contains the (partial) parity $\chi_y(x)$ where $y_i = 1$ if and only if $y'_i = 1$ for all $y' \in S$. If $S$ contains a single element $\{y'\}$, then $y = y'$, and the target bit contains the value $\chi_{y'}(x)$ as desired. @@ -195,7 +195,7 @@ python_api_name: qiskit.synthesis ### synth\_permutation\_depth\_lnn\_kms - + Synthesize a permutation circuit for a linear nearest-neighbor architecture using the Kutin, Moulton, Smithline method. This is the permutation synthesis algorithm from \[1], section 6. It synthesizes any permutation of n qubits over linear nearest-neighbor architecture using SWAP gates with depth at most $n$ and size at most $n(n-1)/2$ (where both depth and size are measured with respect to SWAPs). @@ -219,7 +219,7 @@ python_api_name: qiskit.synthesis ### synth\_permutation\_basic - + Synthesize a permutation circuit for a fully-connected architecture using sorting. More precisely, if the input permutation is a cycle of length `m`, then this creates a quantum circuit with `m-1` SWAPs (and of depth `m-1`); if the input permutation consists of several disjoint cycles, then each cycle is essentially treated independently. @@ -239,7 +239,7 @@ python_api_name: qiskit.synthesis ### synth\_permutation\_acg - + Synthesize a permutation circuit for a fully-connected architecture using the Alon, Chung, Graham method. This produces a quantum circuit of depth 2 (measured in the number of SWAPs). @@ -268,7 +268,7 @@ python_api_name: qiskit.synthesis ### synth\_clifford\_full - + Decompose a [`Clifford`](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford") operator into a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). For $N \leq 3$ qubits this is based on optimal CX-cost decomposition from reference \[1]. For $N > 3$ qubits this is done using the general non-optimal greedy compilation routine from reference \[3], which typically yields better CX cost compared to the AG method in \[2]. @@ -295,7 +295,7 @@ python_api_name: qiskit.synthesis ### synth\_clifford\_ag - + Decompose a [`Clifford`](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford") operator into a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") based on Aaronson-Gottesman method \[1]. **Parameters** @@ -317,7 +317,7 @@ python_api_name: qiskit.synthesis ### synth\_clifford\_bm - + Optimal CX-cost decomposition of a [`Clifford`](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford") operator on 2 qubits or 3 qubits into a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") based on the Bravyi-Maslov method \[1]. **Parameters** @@ -343,7 +343,7 @@ python_api_name: qiskit.synthesis ### synth\_clifford\_greedy - + Decompose a [`Clifford`](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford") operator into a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") based on the greedy Clifford compiler that is described in Appendix A of Bravyi, Hu, Maslov and Shaydulin \[1]. This method typically yields better CX cost compared to the Aaronson-Gottesman method. @@ -373,7 +373,7 @@ python_api_name: qiskit.synthesis ### synth\_clifford\_layers - + Synthesis of a [`Clifford`](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford") into layers, it provides a similar decomposition to the synthesis described in Lemma 8 of Bravyi and Maslov \[1]. For example, a 5-qubit Clifford circuit is decomposed into the following layers: @@ -418,7 +418,7 @@ python_api_name: qiskit.synthesis ### synth\_clifford\_depth\_lnn - + Synthesis of a [`Clifford`](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford") into layers for linear-nearest neighbour connectivity. The depth of the synthesized n-qubit circuit is bounded by $7n+2$, which is not optimal. It should be replaced by a better algorithm that provides depth bounded by $7n-4$ \[3]. @@ -446,7 +446,7 @@ python_api_name: qiskit.synthesis ### synth\_cnotdihedral\_full - + Decompose a [`CNOTDihedral`](qiskit.quantum_info.CNOTDihedral "qiskit.quantum_info.CNOTDihedral") element into a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). For $N \leq 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]. @@ -471,7 +471,7 @@ python_api_name: qiskit.synthesis ### synth\_cnotdihedral\_two\_qubits - + Decompose a [`CNOTDihedral`](qiskit.quantum_info.CNOTDihedral "qiskit.quantum_info.CNOTDihedral") element on a single qubit and two qubits into a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). This decomposition has an optimal number of [`CXGate`](qiskit.circuit.library.CXGate "qiskit.circuit.library.CXGate")s. **Parameters** @@ -497,7 +497,7 @@ python_api_name: qiskit.synthesis ### synth\_cnotdihedral\_general - + Decompose a [`CNOTDihedral`](qiskit.quantum_info.CNOTDihedral "qiskit.quantum_info.CNOTDihedral") element into a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). Decompose a general [`CNOTDihedral`](qiskit.quantum_info.CNOTDihedral "qiskit.quantum_info.CNOTDihedral") elements. The number of CX gates is not necessarily optimal. For a decomposition of a 1-qubit or 2-qubit element, call [`synth_cnotdihedral_two_qubits()`](#qiskit.synthesis.synth_cnotdihedral_two_qubits "qiskit.synthesis.synth_cnotdihedral_two_qubits"). @@ -527,7 +527,7 @@ python_api_name: qiskit.synthesis ### synth\_stabilizer\_layers - + Synthesis of a stabilizer state into layers. It provides a similar decomposition to the synthesis described in Lemma 8 of reference \[1], without the initial Hadamard-free sub-circuit which do not affect the stabilizer state. @@ -574,7 +574,7 @@ python_api_name: qiskit.synthesis ### synth\_stabilizer\_depth\_lnn - + Synthesis of an n-qubit stabilizer state for linear-nearest neighbour connectivity, in 2-qubit depth $2n+2$ and two distinct CX layers, using [`CXGate`](qiskit.circuit.library.CXGate "qiskit.circuit.library.CXGate")s and phase gates ([`SGate`](qiskit.circuit.library.SGate "qiskit.circuit.library.SGate"), [`SdgGate`](qiskit.circuit.library.SdgGate "qiskit.circuit.library.SdgGate") or [`ZGate`](qiskit.circuit.library.ZGate "qiskit.circuit.library.ZGate")). **Parameters** @@ -597,7 +597,7 @@ python_api_name: qiskit.synthesis ### synth\_circuit\_from\_stabilizers - + Synthesis of a circuit that generates a state stabilized by the stabilizers using Gaussian elimination with Clifford gates. If the stabilizers are underconstrained, and `allow_underconstrained` is `True`, the circuit will output one of the states stabilized by the stabilizers. Based on stim implementation. **Parameters** @@ -633,7 +633,7 @@ python_api_name: qiskit.synthesis ### generate\_basic\_approximations - + Generates a list of `GateSequence`s with the gates in `basis_gates`. **Parameters** @@ -659,7 +659,7 @@ python_api_name: qiskit.synthesis ### synth\_qft\_line - + Synthesis of a QFT circuit for a linear nearest neighbor connectivity. Based on Fig 2.b in Fowler et al. \[1]. Note that this method *reverts* the order of qubits in the circuit, compared to the original [`QFT`](qiskit.circuit.library.QFT "qiskit.circuit.library.QFT") code. Hence, the default value of the `do_swaps` parameter is `True` since it produces a circuit with fewer CX gates. @@ -689,7 +689,7 @@ Decomposition of general $2^n \times 2^n$ unitary matrices for any number of qub ### qs\_decomposition - + Decomposes a unitary matrix into one and two qubit gates using Quantum Shannon Decomposition, This decomposition is described in Shende et al. \[1]. diff --git a/docs/api/qiskit/transpiler.mdx b/docs/api/qiskit/transpiler.mdx index 07e9e2abe2d..daa4defe28c 100644 --- a/docs/api/qiskit/transpiler.mdx +++ b/docs/api/qiskit/transpiler.mdx @@ -628,7 +628,7 @@ In order to implement a 2-qubit gate between qubits in a quantum circuit that ar However, as with many important things in life, finding the optimal swap mapping is hard. In fact it is in a class of problems called NP-hard, and is thus prohibitively expensive to compute for all but the smallest quantum devices and input circuits. To get around this, by default Qiskit uses a stochastic heuristic algorithm called [`SabreSwap`](qiskit.transpiler.passes.SabreSwap "qiskit.transpiler.passes.SabreSwap") to compute a good, but not necessarily optimal swap mapping. The use of a stochastic method means the circuits generated by [`transpile()`](compiler#qiskit.compiler.transpile "qiskit.compiler.transpile") are not guaranteed to be the same over repeated runs. Indeed, running the same circuit repeatedly will in general result in a distribution of circuit depths and gate counts at the output. -In order to highlight this, we run a GHZ circuit 100 times, using a “bad” (disconnected) initial\_layout: +In order to highlight this, we run a GHZ circuit 100 times, using a “bad” (disconnected) `initial_layout` in a heavy hex coupling map: ![../\_images/transpiler-11.png](/images/api/qiskit/transpiler-11.png) @@ -636,18 +636,22 @@ In order to highlight this, we run a GHZ circuit 100 times, using a “bad” (d import matplotlib.pyplot as plt from qiskit import QuantumCircuit, transpile from qiskit.providers.fake_provider import GenericBackendV2 -backend = GenericBackendV2(16) +from qiskit.transpiler import CouplingMap + +coupling_map = CouplingMap.from_heavy_hex(3) +backend = GenericBackendV2(coupling_map.size(), coupling_map=coupling_map) ghz = QuantumCircuit(15) ghz.h(0) ghz.cx(0, range(1, 15)) depths = [] -for _ in range(100): +for i in range(100): depths.append( transpile( ghz, backend, + seed_transpiler=i, layout_method='trivial' # Fixed layout mapped in circuit order ).depth() ) @@ -933,7 +937,7 @@ See [https://arxiv.org/abs/2102.01682](https://arxiv.org/abs/2102.01682) for mor ### TranspilerError - + Exceptions raised during transpilation. Set the error message. @@ -941,7 +945,7 @@ See [https://arxiv.org/abs/2102.01682](https://arxiv.org/abs/2102.01682) for mor ### TranspilerAccessError - + DEPRECATED: Exception of access error in the transpiler passes. Set the error message. @@ -949,7 +953,7 @@ See [https://arxiv.org/abs/2102.01682](https://arxiv.org/abs/2102.01682) for mor ### CouplingError - + Base class for errors raised by the coupling graph object. Set the error message. @@ -957,7 +961,7 @@ See [https://arxiv.org/abs/2102.01682](https://arxiv.org/abs/2102.01682) for mor ### LayoutError - + Errors raised by the layout object. Set the error message. @@ -965,7 +969,7 @@ See [https://arxiv.org/abs/2102.01682](https://arxiv.org/abs/2102.01682) for mor ### CircuitTooWideForTarget - + Error raised if the circuit is too wide for the target. Set the error message. @@ -973,7 +977,7 @@ See [https://arxiv.org/abs/2102.01682](https://arxiv.org/abs/2102.01682) for mor ### InvalidLayoutError - + Error raised when a user provided layout is invalid. Set the error message. diff --git a/docs/api/qiskit/transpiler_passes.mdx b/docs/api/qiskit/transpiler_passes.mdx index 37e90cf9490..9fcc56f811b 100644 --- a/docs/api/qiskit/transpiler_passes.mdx +++ b/docs/api/qiskit/transpiler_passes.mdx @@ -93,7 +93,7 @@ python_api_name: qiskit.transpiler.passes ### rzx\_templates - + Convenience function to get the cost\_dict and templates for template matching. **Parameters** diff --git a/docs/api/qiskit/transpiler_plugins.mdx b/docs/api/qiskit/transpiler_plugins.mdx index 72aa8a38d2d..dc5ac24a891 100644 --- a/docs/api/qiskit/transpiler_plugins.mdx +++ b/docs/api/qiskit/transpiler_plugins.mdx @@ -97,7 +97,7 @@ There isn’t a limit to the number of plugins a single package can include as l ### list\_stage\_plugins - + Get a list of installed plugins for a stage. **Parameters** @@ -119,7 +119,7 @@ There isn’t a limit to the number of plugins a single package can include as l ### passmanager\_stage\_plugins - + Return a dict with, for each stage name, the class type of the plugin. This function is useful for getting more information about a plugin: diff --git a/docs/api/qiskit/transpiler_preset.mdx b/docs/api/qiskit/transpiler_preset.mdx index 1fa35a35ade..459c025873c 100644 --- a/docs/api/qiskit/transpiler_preset.mdx +++ b/docs/api/qiskit/transpiler_preset.mdx @@ -26,7 +26,7 @@ This module contains functions for generating the preset pass managers for the t ### generate\_preset\_pass\_manager - + Generate a preset [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") This function is used to quickly generate a preset pass manager. A preset pass manager are the default pass managers used by the [`transpile()`](compiler#qiskit.compiler.transpile "qiskit.compiler.transpile") function. This function provides a convenient and simple method to construct a standalone [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") object that mirrors what the transpile @@ -42,7 +42,7 @@ This module contains functions for generating the preset pass managers for the t > * 2: heavy optimization > * 3: even heavier optimization - * **backend** ([*Backend*](qiskit.providers.Backend "qiskit.providers.Backend")) – An optional backend object which can be used as the source of the default values for the `basis_gates`, `inst_map`, `couplig_map`, `backend_properties`, `instruction_durations`, `timing_constraints`, and `target`. If any of those other arguments are specified in addition to `backend` they will take precedence over the value contained in the backend. + * **backend** ([*Backend*](qiskit.providers.Backend "qiskit.providers.Backend")) – An optional backend object which can be used as the source of the default values for the `basis_gates`, `inst_map`, `coupling_map`, `backend_properties`, `instruction_durations`, `timing_constraints`, and `target`. If any of those other arguments are specified in addition to `backend` they will take precedence over the value contained in the backend. * **target** ([*Target*](qiskit.transpiler.Target "qiskit.transpiler.Target")) – The [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") representing a backend compilation target. The following attributes will be inferred from this argument if they are not set: `coupling_map`, `basis_gates`, `instruction_durations`, `inst_map`, `timing_constraints` and `backend_properties`. @@ -58,7 +58,7 @@ This module contains functions for generating the preset pass managers for the t * **initial\_layout** ([*Layout*](qiskit.transpiler.Layout "qiskit.transpiler.Layout")) – Initial position of virtual qubits on physical qubits. - * **layout\_method** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – The `Pass` to use for choosing initial qubit placement. Valid choices are `'trivial'`, `'dense'`, and `'sabre'`, representing [`TrivialLayout`](qiskit.transpiler.passes.TrivialLayout "qiskit.transpiler.passes.TrivialLayout"), `DenseLayout` and [`SabreLayout`](qiskit.transpiler.passes.SabreLayout "qiskit.transpiler.passes.SabreLayout") respectively. This can also be the external plugin name to use for the `layout` stage of the output [`StagedPassManager`](qiskit.transpiler.StagedPassManager "qiskit.transpiler.StagedPassManager"). You can see a list of installed plugins by using [`list_stage_plugins()`](transpiler_plugins#qiskit.transpiler.preset_passmanagers.plugin.list_stage_plugins "qiskit.transpiler.preset_passmanagers.plugin.list_stage_plugins") with `"layout"` for the `stage_name` argument. + * **layout\_method** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – The `Pass` to use for choosing initial qubit placement. Valid choices are `'trivial'`, `'dense'`, and `'sabre'`, representing [`TrivialLayout`](qiskit.transpiler.passes.TrivialLayout "qiskit.transpiler.passes.TrivialLayout"), [`DenseLayout`](qiskit.transpiler.passes.DenseLayout "qiskit.transpiler.passes.DenseLayout") and [`SabreLayout`](qiskit.transpiler.passes.SabreLayout "qiskit.transpiler.passes.SabreLayout") respectively. This can also be the external plugin name to use for the `layout` stage of the output [`StagedPassManager`](qiskit.transpiler.StagedPassManager "qiskit.transpiler.StagedPassManager"). You can see a list of installed plugins by using [`list_stage_plugins()`](transpiler_plugins#qiskit.transpiler.preset_passmanagers.plugin.list_stage_plugins "qiskit.transpiler.preset_passmanagers.plugin.list_stage_plugins") with `"layout"` for the `stage_name` argument. * **routing\_method** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – The pass to use for routing qubits on the architecture. Valid choices are `'basic'`, `'lookahead'`, `'stochastic'`, `'sabre'`, and `'none'` representing [`BasicSwap`](qiskit.transpiler.passes.BasicSwap "qiskit.transpiler.passes.BasicSwap"), [`LookaheadSwap`](qiskit.transpiler.passes.LookaheadSwap "qiskit.transpiler.passes.LookaheadSwap"), [`StochasticSwap`](qiskit.transpiler.passes.StochasticSwap "qiskit.transpiler.passes.StochasticSwap"), [`SabreSwap`](qiskit.transpiler.passes.SabreSwap "qiskit.transpiler.passes.SabreSwap"), and erroring if routing is required respectively. This can also be the external plugin name to use for the `routing` stage of the output [`StagedPassManager`](qiskit.transpiler.StagedPassManager "qiskit.transpiler.StagedPassManager"). You can see a list of installed plugins by using [`list_stage_plugins()`](transpiler_plugins#qiskit.transpiler.preset_passmanagers.plugin.list_stage_plugins "qiskit.transpiler.preset_passmanagers.plugin.list_stage_plugins") with `"routing"` for the `stage_name` argument. @@ -97,7 +97,7 @@ This module contains functions for generating the preset pass managers for the t ### level\_0\_pass\_manager - + Level 0 pass manager: no explicit optimization other than mapping to backend. This pass manager applies the user-given initial layout. If none is given, a trivial layout consisting of mapping the i-th virtual qubit to the i-th physical qubit is used. Any unused physical qubit is allocated as ancilla space. @@ -123,7 +123,7 @@ This module contains functions for generating the preset pass managers for the t ### level\_1\_pass\_manager - + Level 1 pass manager: light optimization by simple adjacent gate collapsing. This pass manager applies the user-given initial layout. If none is given, and a trivial layout (i-th virtual -> i-th physical) makes the circuit fit the coupling map, that is used. Otherwise, the circuit is mapped to the most densely connected coupling subgraph, and swaps are inserted to map. Any unused physical qubit is allocated as ancilla space. The pass manager then unrolls the circuit to the desired basis, and transforms the circuit to match the coupling map. Finally, optimizations in the form of adjacent gate collapse and redundant reset removal are performed. @@ -147,7 +147,7 @@ This module contains functions for generating the preset pass managers for the t ### level\_2\_pass\_manager - + Level 2 pass manager: medium optimization by initial layout selection and gate cancellation using commutativity rules. This pass manager applies the user-given initial layout. If none is given, a search for a perfect layout (i.e. one that satisfies all 2-qubit interactions) is conducted. If no such layout is found, qubits are laid out on the most densely connected subset which also exhibits the best gate fidelities. @@ -173,7 +173,7 @@ This module contains functions for generating the preset pass managers for the t ### level\_3\_pass\_manager - + Level 3 pass manager: heavy optimization by noise adaptive qubit mapping and gate cancellation using commutativity rules and unitary synthesis. This pass manager applies the user-given initial layout. If none is given, a search for a perfect layout (i.e. one that satisfies all 2-qubit interactions) is conducted. If no such layout is found, and device calibration information is available, the circuit is mapped to the qubits with best readouts and to CX gates with highest fidelity. @@ -203,7 +203,7 @@ This module contains functions for generating the preset pass managers for the t ### generate\_control\_flow\_options\_check - + 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. **Returns** @@ -217,13 +217,13 @@ This module contains functions for generating the preset pass managers for the t ### generate\_error\_on\_control\_flow - + Get a pass manager that always raises an error if control flow is present in a given circuit. ### generate\_unroll\_3q - + Generate an unroll >3q [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") **Parameters** @@ -246,7 +246,7 @@ This module contains functions for generating the preset pass managers for the t ### generate\_embed\_passmanager - + Generate a layout embedding [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") This is used to generate a [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") object that can be used to expand and apply an initial layout to a circuit @@ -268,7 +268,7 @@ This module contains functions for generating the preset pass managers for the t ### generate\_routing\_passmanager - + Generate a routing [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") **Parameters** @@ -294,7 +294,7 @@ This module contains functions for generating the preset pass managers for the t ### generate\_pre\_op\_passmanager - + Generate a pre-optimization loop [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") This pass manager will check to ensure that directionality from the coupling map is respected @@ -316,7 +316,7 @@ This module contains functions for generating the preset pass managers for the t ### generate\_translation\_passmanager - + Generate a basis translation [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") **Parameters** @@ -346,7 +346,7 @@ This module contains functions for generating the preset pass managers for the t ### generate\_scheduling - + Generate a post optimization scheduling [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") **Parameters** diff --git a/docs/api/qiskit/utils.mdx b/docs/api/qiskit/utils.mdx index 62967fa5ca8..4d5001defa4 100644 --- a/docs/api/qiskit/utils.mdx +++ b/docs/api/qiskit/utils.mdx @@ -22,7 +22,7 @@ python_api_name: qiskit.utils ### add\_deprecation\_to\_docstring - + Dynamically insert the deprecation message into `func`’s docstring. **Parameters** @@ -35,7 +35,7 @@ python_api_name: qiskit.utils ### deprecate\_arg - + Decorator to indicate an argument has been deprecated in some way. This decorator may be used multiple times on the same function, once per deprecated argument. It should be placed beneath other decorators like `@staticmethod` and property decorators. @@ -63,7 +63,7 @@ python_api_name: qiskit.utils ### deprecate\_arguments - + Deprecated. Instead, use @deprecate\_arg. **Parameters** @@ -83,7 +83,7 @@ python_api_name: qiskit.utils ### deprecate\_func - + Decorator to indicate a function has been deprecated. It should be placed beneath other decorators like @staticmethod and property decorators. @@ -110,7 +110,7 @@ python_api_name: qiskit.utils ### deprecate\_function - + Deprecated. Instead, use @deprecate\_func. **Parameters** @@ -133,7 +133,7 @@ python_api_name: qiskit.utils ### apply\_prefix - + Given a SI unit prefix and value, apply the prefix to convert to standard SI unit. **Parameters** @@ -164,7 +164,7 @@ python_api_name: qiskit.utils ### detach\_prefix - + Given a SI unit value, find the most suitable prefix to scale the value. For example, the `value = 1.3e8` will be converted into a tuple of `(130.0, "M")`, which represents a scaled value and auxiliary unit that may be used to display the value. In above example, that value might be displayed as `130 MHz` (unit is arbitrary here). @@ -208,7 +208,7 @@ python_api_name: qiskit.utils ### wrap\_method - + Wrap the functionality the instance- or class method `cls.name` with additional behaviour `before` and `after`. This mutates `cls`, replacing the attribute `name` with the new functionality. This is useful when creating class decorators. The method is allowed to be defined on any parent class instead. @@ -231,7 +231,7 @@ python_api_name: qiskit.utils ### local\_hardware\_info - + Basic hardware information about the local machine. Gives actual number of CPU’s in the machine, even when hyperthreading is turned on. CPU count defaults to 1 when true count can’t be determined. @@ -247,7 +247,7 @@ python_api_name: qiskit.utils ### is\_main\_process - + Checks whether the current process is the main one @@ -255,7 +255,7 @@ A helper function for calling a custom function with python [`ProcessPoolExecuto ### parallel\_map - + Parallel execution of a mapping of values to the function task. This is functionally equivalent to: ```python @@ -363,7 +363,7 @@ Each of the lazy checkers is an instance of [`LazyDependencyManager`](#qiskit.ut from qiskit.utils import LazyImportTester ``` - + A mananger for some optional features that are expensive to import, or to verify the existence of. These objects can be used as Booleans, such as `if x`, and will evaluate `True` if the dependency they test for is available, and `False` if not. The presence of the dependency will only be tested when the Boolean is evaluated, so it can be used as a runtime test in functions and methods without requiring an import-time test. @@ -403,7 +403,7 @@ from qiskit.utils import LazyImportTester ### \_is\_available - + Subclasses of [`LazyDependencyManager`](#qiskit.utils.LazyDependencyManager "qiskit.utils.LazyDependencyManager") should override this method to implement the actual test of availability. This method should return a Boolean, where `True` indicates that the dependency was available. This method will only ever be called once. **Return type** @@ -419,7 +419,7 @@ from qiskit.utils import LazyImportTester ### require\_in\_call - + Create a decorator for callables that requires that the dependency is available when the decorated function or method is called. **Parameters** @@ -437,7 +437,7 @@ from qiskit.utils import LazyImportTester ### require\_in\_instance - + A class decorator that requires the dependency is available when the class is initialised. This decorator can be used even if the class does not define an `__init__` method. **Parameters** @@ -455,7 +455,7 @@ from qiskit.utils import LazyImportTester ### require\_now - + Eagerly attempt to import the dependencies in this object, and raise an exception if they cannot be imported. **Parameters** @@ -468,7 +468,7 @@ from qiskit.utils import LazyImportTester - + 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. **Parameters** @@ -480,7 +480,7 @@ from qiskit.utils import LazyImportTester [**ValueError**](https://docs.python.org/3/library/exceptions.html#ValueError "(in Python v3.12)") – if no modules are given. - + 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. **Parameters** diff --git a/docs/api/qiskit/visualization.mdx b/docs/api/qiskit/visualization.mdx index 0f3a32446f0..51a1e569382 100644 --- a/docs/api/qiskit/visualization.mdx +++ b/docs/api/qiskit/visualization.mdx @@ -225,7 +225,7 @@ You can find code examples for each visualization functions on the individual fu ### VisualizationError - + For visualization specific errors. Set the error message. diff --git a/public/images/api/qiskit/circuit-1.png b/public/images/api/qiskit/circuit-1.png index a39174d80db24c2b46bb957f484c08ddf10b6a98..068280ce0425fb72e95f3e74a841f4f2b21eb920 100644 GIT binary patch delta 41 wcmeyX`B!s-hn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x<{9 delta 41 xcmeyX`B!s-hn%sFLPkkRL9vy-er{q(K~8>2PG*u`eo?yq@n;di8`GwX002{t5QG2# diff --git a/public/images/api/qiskit/circuit-2.png b/public/images/api/qiskit/circuit-2.png index d579a7b5081547e3c19a643e7415bea98e32dc2a..a00f5f4fa90b359d4d4381ceb6a030c2b9321130 100644 GIT binary patch delta 41 wcmZ1?w?uA&hn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`Jjj0RS|t58VI& diff --git a/public/images/api/qiskit/circuit-3.png b/public/images/api/qiskit/circuit-3.png index 04e076e0c07c81b7806265b4d3f5ead965e43604..e0210ce2ebd82d78548676bfdecaccf8e2ac9466 100644 GIT binary patch delta 41 wcmaE^{aky3hn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`By^0ZkteM*si- diff --git a/public/images/api/qiskit/circuit-4.png b/public/images/api/qiskit/circuit-4.png index 40057e4762a42f6b2179490b93911189e51ac8bf..ac283c80de22b9e0841d0bbce3bc9643044d19bc 100644 GIT binary patch delta 43 ycmaF#obl0f#t9yBCOQfkB_##LR{Hw6i6sR&`6W4-NqYH3>H6}j%B36AYKj4W-Vl`l delta 43 zcmaF#obl0f#t9yB#yScaB_##LR{Hw6i6sR&`6W4-NqYH3>H5c?MFek5t0@Kmiq{el diff --git a/public/images/api/qiskit/circuit-5.png b/public/images/api/qiskit/circuit-5.png index 87ba4e832a1a4d6f9cffcbab4806736f937d2bf0..0e1d007002665928709758cb75d59df1f690598a 100644 GIT binary patch literal 8143 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 I8T0Ue1E>)!3jhEB literal 9343 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 diff --git a/public/images/api/qiskit/circuit_library-1.png b/public/images/api/qiskit/circuit_library-1.png index 8c06ea7a57c59fc835e8b6e6195f2e90e9f88688..0bac395ed940f9b02ac4908f191f11437866c3f3 100644 GIT binary patch delta 41 wcmbPeIMHx|hn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`HEU05fV2Q~&?~ diff --git a/public/images/api/qiskit/converters-1.png b/public/images/api/qiskit/converters-1.png index 6c013dffb909ba1f0d968bef678eb8d8a94aa1dc..a791a9bb8fadec8abfe52df5ee25fde4255bc095 100644 GIT binary patch delta 41 wcmZp0Y;c_5A!nkakWo@nP;8~IpPN`xkdt4MlbNKKUzDyduc}cs#xyAf05aeYNdN!< 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 69d83403d080abef394f770fff26c806b4ade973..119c30485d037803baeae1b9f102dd97aa08b5f8 100644 GIT binary patch delta 41 wcmZ3Nwk~aghn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`Dl00RT<(5U&6L 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 c90ab5576c145014fe55e5e51ea1f14659db93d2..d4cd387a6eb2767d1731d046f3dfcddd949f210f 100644 GIT binary patch delta 43 zcmX@Lf$`J^#t9yBCOQfkB_##LR{Hw6i6sR&`6W4-NqYH3>H6}j%B36Ao`eGcXJZgU delta 43 zcmX@Lf$`J^#t9yB#yScaB_##LR{Hw6i6sR&`6W4-NqYH3>H5c?MFek5dlC)+a$FI< 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 f3700f9e72d1d6a660587df28197cb3f5bb3f97f..afbf45589ed4bc637e035dc244a3577f82023f60 100644 GIT binary patch literal 14194 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 diff --git a/public/images/api/qiskit/pulse-1.png b/public/images/api/qiskit/pulse-1.png index 826ec56cf6915ed24c1f55c87e197f838ea7170a..a60ba9b849639cc8d2e905502b71261046a3d38b 100644 GIT binary patch delta 43 zcmccch4I1{#t9yBCOQfkB_##LR{Hw6i6sR&`6W4-NqYH3>H6}j%B36AUR44Be+Ll% delta 43 zcmccch4I1{#t9yB#yScaB_##LR{Hw6i6sR&`6W4-NqYH3>H5c?MFek5dsPVliU1ON diff --git a/public/images/api/qiskit/pulse-2.png b/public/images/api/qiskit/pulse-2.png index ee24f73d801056d874b5babb47fe507ff2403ee6..c71834aad0dbd7cd72aafacdc73203b2e3d41878 100644 GIT binary patch literal 10937 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�+6 zn?qMuSLm(=-i*hE&4q5I`y<;K$CihYyr{3gMX+Y`Y3lOM@^MvGSsD2oIUg1VG389X z`A%L8rYVtD072%yq{WW+1{+C*TlFmn+mAQMfPcR}WM=}*T%VI`CE{{(Bz@QJ)`$&Q zaUa-7AenBwXC@5po%j&e4eDrNVZjm%N+`qkAm(roh^hiifx#Ofk&%(9e)n#=etWDL zj4-EwbSUf(Fm)DrM#9a_ZCq}Rf2%8<6sCx9jrScL#IAK4Cn53(0+v84^njeu%kuIF zh`fD%!L;aTb4xIV@Db2p`t)!3tY{%)vhK_aeCzMO3?T+aM}BHU3Om)*7LPVD@M480 zEKY3v?vm3SfyvYQ$XX+?-=lk(nQWIFc=g4--N8skht`&smiIQMc@UAaDC1ta12z26 z3oVz6j(uv2^)UWomi9pquqRIf-^Eq|&NG5ZQ@Y^`oe(?rGB0lm9OBC`)XN&d)4s#;OqZ&a2tzK|by`k^ zZ-BoX2|@F`DT3X>|2?mCo4Y-Eq$(Q*(d3FROvD8Vqa8E!RP(|_k_@EMp>d^?Zpr&3 zs3bDSga2R!_A2Vy?f#xGcODW6kBB&2vC)1ef=^5yG= zhZ<@EHM^nECkti#g?!v}Dibo2lcT^VpMnd)=oauR43H89vS+s`Y6C((CCa}Li2{`j0B_$R(mkksx z%%C56#(9tV62N#8E&gLKS!ftji-YAH*3%6wPrjxI2Mp>^!E7uj?4xm3v-Sc{=3h;L31!gEBmuBMWm^+apYF3umBZTi{}Pr3?P60C_6ryEMjUjw zB*OorzN~Tn^Ky!j@R&80=6sJA(LWtlU$vazzctwZ)0dq8ws$*wdqS92xxCC&&eV|? zNOqDU_4~9TnLQuhMc02))=r;cC-s^O#83f-kyX7fG!{Vd_zC}&gZR_{(Em_@%}3LB zRJs^4gbPRmI$w#cOJ)ySy1JJBFGZnX5zMC?r119$CjRHozMo%iZBwU0eQEenuIkOY#0wk%on+s+69$0wT+HSE#Dt~kJFhF}RyP-W zp9)#wf`gP){?y z{ci5==;R*t24StIxuZjKWbqo)YtKbpbd3UC$pCnK@c3~U?5$)16_W7%m9sf{`}pW^ z@U<=RaD~GOFf*~ZC$3$&dFz(-r$<~u7cUw(9jE&KFBV8~y9ouQDKJqAtT! zE+bW~4>?r(+HC(B-=fpDvYVgI03`BTG%&)5y#>5P@M>OA9mBR(rt5fvh6_xpyMBr+ zID{_XyMwWhBhPPArRB)S&rj9a+1b?Fs~7w1ni;rq!hpv)eK7gF2m*!|cDJ}IXJ=-j zVMB>69Nj0QI&gY;lpsFlql7XKumFk0#l`avp$SgGAON$GtrC9*QFe56bjee{s}&T~ z0Q)=?V4r0b6&0!Mb8~VMBGv%yUFW3yuJc3hMRa!GVK_Nq#15U_z_HP1BMaS9Bc|ae zM_@rCz$H)f?t2g}%3fYonUBzY$M^T1C|`SZ>&1 zsk=*fNVVH!D9!7v*kd5?K;~j+|>HVtW8B6V>_P4x`>P=qfmcipSFZXQ{hBJ{7icn{2{| z&7BicUd!_O`c$y7Q6!4TEi20mn!TMTBOoi+dC?XI?-B5jA7H7$*5u{YG;}!xy9F#j zNg%oT<3~c!DlH$v2%II#>Xe-G;o@T&Z6BtVD(wAUJ=3>euJ4AOb5teNef8tG|cgv r!5*1dTT6t^w@sMgRrMaL?gck8s$QGw+Pem8q=@?EtI8#cmZARzZd)vo literal 11049 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 diff --git a/public/images/api/qiskit/pulse-3.png b/public/images/api/qiskit/pulse-3.png index 5a5e91b77444f242cd52c61bee6d3675dcd5ced8..4ed0ee59bf400d4e2915f185646c8e287e605b35 100644 GIT binary patch literal 59773 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

J;JR-~jhoJ60WZ_@A)KGRQ!Y^=K@Q6tDu45_h5 zd5SvgZ5q-eGl&=XY`@>t)%6DYHs5;q`T9KHRo4#&XFHA%5w#yE9?ZyRVToZG?jfT1 zC`enS%Akg>+{~{GKsD0v{yqZ=fy2S|t+~Y&@}ZvPk~X3=cvx zJQzKr?f^bY2;{a#L_hWU)g{3^=Yi5A_VyFD>=UiBNWwVl(m}~aoUj~vsonQzKga4d zcBSG>wT(eWvcf4QW#clMRdWt*yKiqsqcMpD;)wS~wBu4jHoGku|1fz`Ocm3>KgdO% zy^!DG`4WlqoDi^PSY^sAX*l)hgGL7F_Q)8lI!wByQZ7Qmpg8U9G}zl-UWuwfz1L!> zxW+hN?|o1VszQx{8tZFY@@c?IjmuK%$5LKPi`;K2qp?#f)~sQd0`!waG;DQlUn<(m z5lNHG$e|;Ih*2n^`IIwTBqUyn_I3Q*w_rVm#fT~ zFXDr8A=V~wh^_mbH5Y1BC^h^w@`-8O_7;u&B3E4cerd7W0t%@C3EQ4O)a_wZDGhlq zpkG2PquMVKFa@?1sgjf3-bxHmVpr*FS63rc1E#Sma-eH{pj-^JX=o?yp0N%+H*kQ3 zfKdm#-YP&gr?niX(nXj{lqz?bHAE2-jCsRwq3*Q>fQ!NQ7Z#dJQNRlL-M; z3umKK$0^k+3LT;femgXzL#6K)4C%k=JHjRvAHP!x4H7YGnM095;`SBWN%v@pi0Fx| z%*x@(nna76X2nK4$3OBmu|S~L+MTNO;*@-SP4Z3PRPX-b(2Nex9y5GuR=fpt8#;+9 zZ}Mb6G89m(L?M<0Dyp&gI^tu8gtTS#a6L4++{InkLHXo_lR_+QoYA0wY$|#`9%K5&R}oLJ&`V9<+zN?Y?o$QpOkKjnnfVZzi);;E=TI zvssh59*g=?m7wT% zYz52^2~CeCIjDv7H^aA)RzVL>&!qr@-wbw#fx4q9c{4^{|tKuPbS7h}d@gJkENuABfNA7UbsQQeUOd zrEK}d<({+N?bnjW8c9&0i`Cz2a?K|#Z6As;%>~OgeniQ^E+sE7k8Y?%=DO4>^sxg_ zDYu`V3}s~cQNm!eeeli7_fA7Q%1hA5dz%O%atE@=tv=hMLewF`4JpDoUs0F3zy_rd z0OK-ph}4I`Om)jolXI9=S|XE^cJ?osOtQHap|8rt5E?Y%_iui&>5cDBHRaOMQkOcD zdDPg`TcilY4OJrpXr92>tc{kxgFxt>{#-^rRZK0W_Kw*;f0m zxR62!`|$=j6l}eY`KHS!rsMD5r?B~Ra@O7BoZLv91Ug~RK)0iFI*10{Ja(ts^k$=& z<0&9-^00xpwhSy*r1AZ-S&<#JH;vYHj`y}0SruCq_l8ZMHyP;}@`3VbY7 zigH}Cp-1#+_Nt}>#r!loy$?7qqX(8FWEk&f9k)W{wWE1#xO za^{t7RcgO5;H%MEIhqR3j^U&tKR}2joEcR=;n-P`U9~tEB!+a{;RGtfZ@1P32$=-1 zMZDahmU5BjgZ)VdYg45x_xF_}!7+(}oQiFQ2V7CF*O*vK9y!9v#Z~-?R$#eyt_C1X zKqa69-~owBKsCoXOKh}x6(aL~2yaM_j#(G9U+hvi`h+r&&*g?EN>gx{j7|5=<{;|fDX zor3{9%)~}x6&S9BHvRAe2!wr9GAx811C+stkSUNL5w!yZq#Sj8jL-U8zrEIS0YZ-S zC;#PYrn%T0Cweu9jZo_oyNb$w_Q6>uv`D%5VyyDKk~N}`VH_kOuP1%D!T8luJj|6- zfd&olYvu1s6WcXsQ*e7-Y8=|j9VDp}OuSDJ+}eKdWaCIC&SdizY4+)XJ7v5(In=Tf zzSdeP7(AU50@8Ie#@P(m~o%>FU2k#w{S z*IDYPngT(dW%pB4`hXAZNYp~Vl&$LAP~rse85SD0P>E-eX#2WhIjv%_{Br)c9KcLu zL~YRbgJtaQK;eUM8tE_^#vi8C*|Ds}qg>w0m^ER0n2?f1};!zX6{| ztDu-1ER*5+wl9ckLXQ~RDL$^qEO&;%fH-v5&RKQ)H1&z&LYlQ5Gy#O9i>(FwngBf$ z^{z>MhEmK|)kr+5!&*gvBoQcNs#|DbKWLLg+HVBfpME(27@Ty#7rmI#VyNph(dH5K zzy`;lO_zup;outtn2hNu%~#yCZT6jhC;iqpd3lCFR=`SKd-C)tm=nSGfx-fHL}wa~ zzF?vwCx8cz@3G5jQ17KeVhWJtH2k>oxpN_C@8*#rfa}&{_a33=UIVT(K-3|HjhyMG z2-pw`TQDAm?MO!6S?2&YYS zf_B%LJFFhmCYh4Fjze_kdo$1E&Ikhs02(GjLg?KP?QVBwaVSTJ zLyoIR$V_XZ_at5ar0W<>cn~4dRt~ z7!Ib2NMZB5n4-X{;7qhguoW3NA_`(!Rw>oA3y&cd>{`M_5-FS(*xaI)vz542hWL1b zW<#+2^{c8ui^m!jM;4HeNdtQ)CoB?R)VPHu zC=odS<5?WK@-^SPbdzH^`aFz&x`uVL{won9PZZzyx!X7v1$?kn2Xe^RCJ+`;I32(^ ze`-ufd>_W{MJ1i)D_r4(jbC0BZz604w7l~Vfpxf7H_83BC-v(_-hqnBBJ8>4JXG+ zDngAImEtrHLZCO+mb<)V(BALfy>L0`E1wLH4m~hSGNN)L;e_ge^c;cyql7TTWOB5$ zvNqNy8N2A*LqBjgWd}JJ2(WoFX|S zT-!0~s_j6)D?M6@2H)JvUjtEdd{bVO^W=O=2u_?iY4NSN3du7$uL$RP^3{!xClVQC zdDyht-zanD>D4=xRqyC!huSnc9_MUuQZiL>C&Je{GqbpT;x{*u}mVh zVDsWP%IrjI;$7j$fL`r0jF*hg;(Vf7=s0l@-j9u~=yQ1*k|nM={)AimrRx-FNWiIB z3?Ey&gw7NVjY+GmCA}Cp{{bwID*BCiWJn~OQvOdx9;_MQ#kLvpmh;*#8#QAV2W?DT z!9CKG8Dno-;G{85<3XI2N?wPhgPgbG$VhsSz=_veIYBu=Q3%VasDRwXE@3^ zCR1Y%WW09MA4Em^WCIDg65F4;{eJ+sTw@(u-NexnCS>1r4{{-9Wm?@tWh6i?b^yap z9o@v1>=j#ZOS-GG$)~xyEc;&0ngKWhb2Xty?j$AUFthg&@)OA0Wo80~Yu&w=1rPlB zWa3?A(r#dCq%-N?oSv3D?1)w3{3DEET^ajc1J-HH;{LE9+c3Ff44CbtXeN4M|4)og?r0ckC!o;rhKAs2PzZHUq`pFjJj4zHk> zyfA!Vq+$%m3?KLlx2cL9m0UysDzMACH%Z2X@Vx?$Utd6%Z$Eg+5r(j zDu25l!o6S|Aj!8=8Rq}eM{Cj6e(IC82S5l{gtAX)Glg&lBI}#N+?t*QaT~CnS<~Kjja&Q5hMsuDH!(0EF zvD7*%hw-7A(+^{361nhEV9q6`pJz90Cb0u=+8lgmrn!=aqP+$)$B&Wv1_W^YCBtJXz1k32_n666I89g4^%iq0gDtt3B?TH*H2n9 zE`LjIU*WHKwSw5jxp-C5bek>^`iE8h-^(!vm|P%-v%*PWohaOJF1x(3aTj0oSnnng zkYP@@mp@?03TnQCwl=_q#_vrCX5Np2$0K>P)(_?vx3*%w1s$==PT; zBW1m?aK-n>H3uBg{BuCR62E{N|=qeq7UxwI`|K_;Dg;D0HJjLHuF3B=i* z`qFp=YUIVMub-&xH88&_$lV!mOw5Q(-6%caq$+4SMezXAK}JpygtA9#FzaUn^?8?F zx~9*UkZZrE?$Is$tx2@TA-$O4{bLZ545Gs$AOk1hh9>EDR*6J*^|GTeAW{E)S%Lgh z=)$jPEW_7*%=j_}@1F5@m0^`A$cNgD4~_UlRRb2_SP7zYCdx*e#XgajY--Qk0oCQihK=KD&sCux$1 z2vROLS8o`f*TCm0p8`GdP(n5Fv=s5)yz; zRpK*vQ&Z>cI~`X-M6AN-=A{=ae+&n3j{R?sEtqVRx$P&9;+)#OvxyN5vIHI zU_LEz)A!l141pHiZ{uFk>u2)12B3%w&p?xnJ$Nj8oN-j`Chd*W8E+qT;};pA3zD@n z5V*@%ujYWla8~V4MmTQWRSs77L!e`CVIFtl6_}lOoM3% zgknFEYuEhx^bUJ6e?zttY1O7pjTG=lS8u42b>TZ33-v5B{K-*FlX5MES5`1;JJ6HlV{X~>cE{;q_gIUZlQPBRI{779>Ql_F|mV^LX1wA;E?=b|Ks zqzf~b1OQxxqA8NteC-i@N&I;s@_V{EYP_Jd{s3^{w@~;#Lo~uvzH!5Zm)?L=iJ}Mt zx;!uzY5K!klMJ(oDFx)qABG=+xc0(CyEyFD#A2DdV)r-eP&|aXY-zDvWWnL?fOtIa z@M?tM4{K36hEUiVmXG9t2NtgeY=q=sd&v-wA}ymo!q|uYme|k4b_ZYum8q$-=)HbT z2!`)((0r<$_Rt@6ruwY8DT-10F&`64D?3kQJS@9NWKb+ zvgANthvLw<*(W+53iiU=oYGf*&8iuo;kRC{GsBE?z3X?!*jU+g360OYFaN(ljb<+d zb4~urmxEw|k(AchI5^_;o6ESrre}IpX@}OxJahc~IlH|r^F3m1VvQl)=aL{=B5g&W z)ycu24L-AvU(TMHH6>6PJR{Z4aEy@%e|dynFe7IlLaPic(`-j4pOwJYlhGLqG9azz z9JORti?JTnhEbjiC17Z`AZTJAI;}w$SR{Db`|Z_*l|ohKab`sZ(Gsp?mk0>-`-@Zn z2%+5tUR2!}Mvk6`ZjQe|{+pD|V=b*M5Huk!G7yBi3a=EvQ~Q?)TZ$vIQwrA}>d!v^ z8$J3XDYF$ekbK6EL74EN!ob-{)78zL>7tL!{~rKHiyZzPI6AG`+-lwamUTMFq+1An zhFP~FDnja3JzCBS2LBcv{3bu}yBH{7Q&Rj zn0v_{lu+cF0> z)4SU=Y@A!@Uc_Zk&Tu46H~C3`&`DKQLS;zd4-WTcyJk@G0#SclBy9N%Nj4a3X4(5U zp9Ejqb+D!$KDLRpfWmw}5ZylN%94`In~H1WQc-R+D^DJWcqGGAq~{Q5h>^#7PK#`) zG6tjl1l)&#Rh{9ey|mgR=b>OYzts;88va0<(mNMQIz+5T?M}siwLHIFZxZ!=!StYo zc$3aRnC5PXG~25lzp<|9sqQH3@A>fVoea!r%=#J|nX7d+yas~3liJcinshk2cSuv} z_L^X=k8ahizO?Q$#e^@QAb+YVD=4DSBeQnE(Yt!fPrs1XLKf!ZAdV|zYVn!YJPS_MLXSZi8!)C}iHE|VIy?_%X(uoa=)pEQz8Q%H^S3%hxP3`pX~qcwU$b1cdX za#MC(_+}k~@Fca7cjH1urzF>3t9T;?iqaR z=@@e7g0b@$8QCENr4rRpk5S-&7l9qxk+dt1an1wD+(bKbv~%9`!XVv(jlc47!dAdP z-r7+=Wz2P}@?b{&E~qoWHwqknd(@2N`@5a*kNHZFL5Y(M#PPSH1cw`j2mZsbk-i%B zL`mi~zXmS7TPnJDR)W4Pw|8?gP7HCN` zo~=)4`6@N$p{S?)i*F;m|AGZgv`4>P8VBEIOwUfc7d{5GLMnv~j(1G*3v7igy3|th zj4F@v$ZgR$;7XhOluQ2U7-$V?H*6w)8Uzme#ew9G`Wa&LU$5yW&Ng}_p%-Em&t}lq zB!vIP&rbtD7iCs~Af1_v6@(Pv3_LG&_q8zq-49C<)c!`f^c``{ugt~rFhag$OsrE| z_`X#T@tRIQY+!`@LZ-s&_HmRu9w3Pw|FCVOm1VJcT<`1!bH+>>OjYy7MI$&3sgECu znn998Umz|{UwS;cAoqz*<`~Q}Iu#3b=_o=feVoaDSMcd% zEJoc|5=F5a94Msire;25f=q5Fz1TUZB3^rLw&*A1fT5^mP401by6|e(v|l;;e}nh~ z=g>Wf18?T`4y}Gr49Sx&80{p2gSRmM0@%LArH9N~(lm7hdW~4`^dD3oWS%NfE#X&u>-;Ys59&vWHFv2?4(RYy3Jp1`<@M1pd@T4P3$reHbgDSp+Gkg}K@=k)Qbc?_RUr*KD8w#w0?Jx{dhO}~(vICWVKoJ>%} zvb_7F7qbWP#OT^%iQy67Hf-&-8 zM;Wjn!)@ImNtGzWggZX8zljSt8z!v$rx#n>5+N9V(2?NU*ul1ZC^VsOmP^2gp)G^= z(!4KnI34(NTrf6cCSoSc_;ZgaZLGk5O%byFqh z1U-7bms9SR`bLST#bxY+56$)-Ig5^0i5i(Vb=+ad)FtFr*;JJx*aZvx(^eVNr>^JP zxbesR+(Wm%efw7P-A(&s%XP15v$ThcGmkGZc}*=q`HNZs!d}21>JwLQI8OT^8|}qI zC+!!^=yEd^=Zk2EqsPI@5BdUq!!8po5S(t;Mbz0_agiM*8Pc4RU;}a%WwLU!?$AB& zZAl>P=Eypwy)Q-5zPoj`XP&yk_ix`$yuDfr z3$VHRM`s~Js3+Vr;t!l83X-y%mn(cK5fPf1xZPVNs}k{jy#r;Q@}BA z4W_JJ<1Uh0Bj=d+2w&7L9vl2Ag(z6JXm> z=dO&0f|bp#<=e!?9l?<_1NE0y$8$4~ zkq}lgg@XtgxW19X@#EiC_I=Th(mQy=2vX#lK@SmT`Q^Kf5+lV`qU=LfN)3Y8{@}#G z#rgp?^)pURPA6WymYDX(AFaRdQXN~959<4*wZxJ`64~vZo=#*7y!Xj9Zx$YGPN=C2l<2?(J>H7 z6&c-1CSrK0;NKjRl$87o6**k?J_b6hh+hvA0x->XKiMr30_UN7`&I#XscYg<<6FnC z=t|y$X8Y?N7u^?-&G+UxoM3&sz8~h-x)cs`=D0CZcnoizxi6m27C@RNckUr`ul2-(tebHgM9=5pcksqE0)8sp@teillM}aqbQ( zJ;+p%toXu29o6?^(t9`Y#{qSpZAn>||^9sD*xQWx9n6ME>0n@*-II8nQY>i-bo*Lq%+ zut5Xk?#WPxlXj-Z69+zBZ^(=626B~My*Hq_i$;|w<;-x~H;Xe&y2Yr$j~_ptH> zenS@{tvhTkbIC5x3GWzwKDrhON{{=8BtxfeJ%33Ysq5)4yL19TAPLx=DT#q#PtcDcCz} zmM#?s21OnNx9{9pB|#l00A78YwvMQRaE8}N4{eGB8Aj3-WCD}-q95<@WS6ML!anIO zmK74*HZ^_TB~>;Mt&%i_-Fh$eY&v!7*;cbe6-Zzc>hFT>n~8=GK!B&snw2Le?8K=U zpri;;e%_ydK7RCQDO&!VmhpH=9Vna)ohch(J_Ma`Xp z@bF*=1%Q^w0O2tgQb$V#Xcx*ahsuMX9Gz(c_c3&N2*93}pDENF{{&gOlq>2Ex2hjr z5$jU{(}|<@OPHoxg9#+^Z&KgHMV8EQI0p}bx;&)-g_HSW7cX2`BP65(`jeNJ*L@M4 zYl+?cCM6{?H)GBAe}-*SyuKRs2KBqKBDXU`$W$eJmE_(R`&lwPEhe$`sAVrcVy;GZ z4osJqN3HLc0a#b0Zd==Rk)sq5k+N{!o6xE2RHA~2M~7w=)kR_u|H2mC(169EGa6J$ zKP>)|8f_k=Gd1!AnqOD$bbytNKwuUQ`|mhPlCAj9`;{L70Y=na}~5qd)|#n9z* z@$=`ly=U`A?=gsa$(j)h;M(CT>j?lot_1diA*oF2ZmPL}0EEVyWF-``0h(Js(!67V zR?lx!E`eX~;b$!d34?`tu}M0!QNY~=j0oUffRSfnfNVJR>hksVy#E-^_yJ({0Xw{9 zXjBp_Udeg^*zBOn&DHyFp&*Wm82|BiG9|q(4hS;3nx3>uUy~1aDmuQmFurG#^Wu&d z9``pMO8?W4IxP}*c{?%9WD%f?10Gu{^710}HXCHVlleG5U2888E*}^S7HcHzr$!2wc6;njfK1nzg2zy70iC4jVsw7O1tqyrN${BE4NaLa<0MHGyt9xKTLD zB$|RmPU_{$mvEZAIwleU)b1{1{%kybhxm=%j!c#)dz^rg04|X6tG7RowEmWr+CQAi zbFqIl8)J9Y8aT^Ywk5?s0~G^=Pjq-R`GPG9rVo{~B{Nh+OKHP}v9Pjqk|p z`IaOa!sx9KBKq?R(CuS|(NQ{yjCa`iaV>HPoT}n~Tpn}Vf&5a^BK*6Q^zMv2-eq`h z-%J+~Y3<>Gl##gZ8Jz&6bL|Y#%6aW?Uz~~nU z{m+4c-p(x8uZ+G7AMq=@u&+&vP_^DR`{&JlVO+-E6Mnt3Et5w-htH@>nU&d;zRJswjQo0J2*yVD*|`a4v@zn#d6R7U(NQ z*5zsmJQx`D8hya*2&`0FVmX{xVOrxd5ca6s*m+9M&-muS*E` zb+d$^WfJVo&CI2bIvQaWY=KCc(K_@Mt=|@gDw(fFX!* z>dX`hTd@05aw_o|%vnCf15|*Z&<^%A#CeD1x@!H8D?#8joU}iD|ExJ%+wY-vUS{v! zzai+k2nG6}(8$YK^rzPuFhA&De`5-N1{VnaPHfBy9szgeAv+KW>a zhut*3q4(23ONz_sE$+V_I+NF&SoAd_=TR#DX+x@ycAK+lcSAAP~-l9cce?Qh~UYJ+`U@cgKaG`2IUF)#|kmc2QXJY`x z64X`LPOh@-5>{JZkNb~{A1?kqvSjvl)MV{IFC){0tu3&TP(tT#1^A)4RC@?p$)UCu zOU!wAuk^&`EYGavGwts-7M$sz%-9eUcR0%IMFRCvH&Pc68I>*J=z3G9Z@WFh0>UXs zrHfzXKl=QbmmKiQL=G-n_R>RW0)~qCGObpNaou{rNqpcS4x@-&ARSUW5405&_Sj6F zLqTpqcoR)jcjdV3lcX9;To?21Lq?Qt533P%0Y9^C+oY|lFWSt+86RC=CeHbqC^TfL zjmN17eG?R}b_Iift=jhq2X~<7uOD1w4B?q5^7zHU%p&$vCs(*7)HG9q=(wF*Kp?Md zW%WOwo=wJZALXr^-6Cl1AR z&3~R+IC1LvgS277F&ZEhfSgv>0d!4#jL?sO2;@K7iFV`1?*kzN$L=b`9>!;$wg5gO zhZt+@6gr*lSthURu;I$oaxp53+K(5igqYg2uQ9qFFUnk~6zY@`%Sz|Obz$!|A!a=k z;Eh=`YG!?fme{AbSQX?4BXS)!u|}30^GfN9a>>TW!R?IHR0f8lv*7_*85~N}9vM-L{b`w(m*f)B z;*s-Hd?k0_z%^}Ap&eLPe$Rv9#XnH#(#CK`K}~!vBTi!Y66AM{1bMWs-nx173CwqX zer!0x0(lhgfBy98)^v6A)PS)p1oawiHP!&$f>|Tj%U6@6UTL)hpurOl)J{J<5|5F) z{~@^Vf2OAvr&{u0W7D>^C4i4H+cVD&KXAyBS`04&df%2)>B&8nk zrmVL;EkfVtb zxsSF@AaV+7{NP+%fcs!#Wk+L?G8j%dm_5wsB!bs1;Yuh4)-w=OqRfwG1KS_G0|EmcH&6U=o} z=cauXVW+=O15~7z{Zu+1kG!L$MFA=%mTp^A002bFpX;63o}OQJqW1ZB5_(W84xkEf z283qEr@cP#*5HKphO~RJrz*~}vGdE}G}$+$uO&UUZZwaJ(mC#@ca^hH#* zb;r&SV^}uqJvAe!U#3mV=g%RXy>Ti{m|wHr}J& z$|bpBPY!qr23KomD1atF=5#N2T!6LP;jO2RB+=UFo|{JhtKjYlvl#BU9I#<=6;v z!4}K`AaC23`sNKxVY7o9zh-uqfT7W5%Y##csR-wnl54aYTV+HSH7pV^{rl;G2O&Sz zQrP=GH^7;zCFf}Gse#G2IS4mJNLx9(*~N%pE`ds zJ63jCc-Eqm#VTk9kdElWcZ)nL6WGYiijW)to4|o@V-3Z;$?v>`Z#;o>!wA+5yDbhb zbr`Y>4ON+E0M{03`?+}5MbSR}Z~?=9m#t+bhsfwmN$F0WUCSBl>o{A)V9M;ahelxs z`Hp_&uxm@t?}aTGoIB>to9B&O?OwXJ1a#sS^%v2C*mdOqFN^_Sm+ zotnu?=;qx_o>Cwv5+L3zxg2P@nkGQ` z=bu%X{I_V0fVfxN4#p)`*D#3dF0wnscJAsqG&IP?&`Zr&*z1;x#(0bPPdm|Y`Sj^i z;6Y-=wRFjif=7T{SaNZ2?3DN2uZ+tc2?Kz4oMJw%qcilK>1gUTUVh6@k8E8?CY8C* zy=wnSx|man$j@B|6IB+3Oh%~%Kgv_^|3Hv*ir*K8P*U?KfLvGV0K+I6Wu zgge5-!NUGyn63W{a)B!xd)w$Jgb*Rj^zlYV-~9_@@;?V{Aa6*s>jPRk>aCU2V(Qc0 z{Hu;f_!rdSwF6z*(<9EG+01xToIx<}3MBE+;IKm6_VP$#{zON5%rk?v3k1iNzmcZ$ zMHM}a-DcV*#*0GXO-@evpT}G&wSO?`m^FX%ur)G*Wu|0b#+X~bUZ%0g;uj>xh}MwM zY_3X|H#7_xxg*NQk>V+!=gGZ&Po+95W-?en(}YI88hs(gz&j{nq@&U5=;1`83`NuE zoWRxL1q~w^5M2ZrQUO}{2OvU0cCjS2jubYP5>rP~^0S1@JqOl}0-%L*zW!w>Hoj=Bmv&h5z$6jkf2=i+u5d49%2E?PX00V!Wm+|zbPL;v(@*|?{Cklhj zm5CR*>`d0JPQPDWvJ?=Y`|FKeF`-7m0;ibgFm8yG8m;o;n)Pzt&Ha#(VIJAqPt%KO z*G$4q2r_jSa93n(g@jXYGt#z z^e&oM|3XAZ7Dd!2?!5kqm8t#2X(DX8c<}h}!-=Mc4CIvP)#h;}V_-`>bbtmcBtEp7 zaMOp&*V6H{5}2gUQd&yC8a^J28ie*YbbkG6+6|alA`-(t*jEKJjZ@a6BOfpDN%SK6 zm^;{#GMkEpRFwt}fqp{%$Svyu5#>McU%nR5pNnws-S#)zevOt*bEbLWJ&>s`VpYRN zc8C5j)Rw#f4@P%lXD1;o>}KV${DbG|uj660n^i#n6S9HFj!dUHjF8$OE7%{sMe-ey z4#+{AspSul4v3vVq|}bDS9m`h>nUTefFLFZ3C9vK`{G~+`#@%Z`9Y~{Hv6Eel}8+H zr*0x!1*j`G!#y@;_wr!_#N}6#ta+ROl!#J?8n6~DBEKVS`DsRe<}LNj=AgzbqJAyS zD{+74CeKzna^%tPC4$q5vKMeCYCvZAnN?&#yqKdn?As^Eg-&ljsrIUO*mB0&Rd=07J-*9PMtZo)@uDgA=MY zAr>G)HX=N$=_!hTA_($ORC)L3yA`|W_<3smZ{_!5j!S}YOZ_F$l7e;|)Y;XZI{?!} zr&VqVvKj(r1qUA?Jw!3o@8{ux9RLdwl)kfYVe!^*=)7l`SgU=Hdy>uH$7Xery{Gsx zATWQ^ZNfjxkpe7)wOm`b#wJ&>4!B45;gIC%ty8X0);DQ@_2^ujxQ^0@8G zU{=Z^(*9{jZ+}~6B&tzsw{Bj&dJh`Kkg}8GHn+-wqNM)MELw#4h@au>O~s-#&TSjM z7wuy}^A`kJg!=BZHB!e-*yLARy(x!*FpmV;DRFQuP4<5GZg1Iq)t!JeA$`(CrglkL zkWR<>95_o1qEXe(?mg^w0jEt&I?#YlmrRv$nx>?oK|KWq%j41d72=#< z4P$Fp!6-ozt_q)Ttk{FSlZGfIcCY`QJ8jyu9~PI+t7CAvy2kbn6E|D9ZXRv-W z6&+8&E-=lm3vcbx(XR7x)A*dPVdsNtN8s`I za*}oTz47pW6f=f-{*1M-D*p*)SQfNEai*4Xx%^T})2B2Yoo@Zsa z7o2F<3#4`YK2TL;G30>>=QUmmCRPgaf2HPihriWDqf`9MB^!5M3O*dLzdjG_{^vo5 z4zcOQ*H%3+BY$!Er$NBobaR6I1uP=6Ilzoq8YU7myegx$P(VC%&y#eqA_X5WR zSnC=vSco2vco*4=9rb9!dZvtauw*Wy^>IEb>eN0Dc2@3iTn>bfF*3NCMJ4xMX@38} zjPVfrbiZc^R-?L#3V#^k^S1PW%t1zf$RY!b5(jrnxp6BKZ69ba*3D2?Z^%Ztd^9wC z+SwoJ=w##ou%sO7zJT3*58KoI%(;5l5Jgt(2)1lv#N>Je-w-+iRfL%O%p{)OEdp(63x0c7j8*JRNO0L}{aO0;QC zP=;2*)f;tv@?#H4ehfmWZdu|$Zhzgb-RM4gI6|Kbr-dqjYeTDf@Zp%}$<;y)vj}=x zb??^y4fq8+9vFrMT#|NGXLx3tY|=psUwP`)S-xxsIJ4YKwmj1S_#wCbmBElu)_OcF zg5`mwy{$Au>b~kKd#GAmVt#SHx-ux;XY?4E4!l+wgb<=y?psRFXOVBN4ZG#N2!|g3CsE$d< zRYWOOhl~}#=RRb0)B+R{LI>J@Sc`PxyWup?K`q&9P1j&o!kh_d{0rZjh4aI;740y* zaB#xVV4u21G$-MGv&6V?P_6volos4qJ^`(Sa5ix3*sBD~45Rfx zu>`q6-VVxRyCx|6%|>bD zZBTmnnGA1Y%USgYLdt-=flfz&S?jxV_Us+S&yFSl!FY=3GBR<%!S3VjwV~f()&D(? zu^aYmT6p1THz{>A-(Jmv|3L@rvAzq=XJv&iX@6}Y%XgiDK3_ky9R#xMHyq;)c8=O# z$5VceEX8?2>p_p|m9%1t%c54xU|3KqJm$rV``t3i!YZX^vhi`2X(I0Zv`OCAN}iFg zs50x5FsFIAxSKyaYQ1V1BNap~>dU8Pqf<8&X|tRz-2~rjRN2fi@Mkl0**#Qg2YmBn z_ca-F^Qhn9C>8wweC(h7G<+J}GK1KmIw?q$E>$Lnl0xK3c{eNH{<)lf#rb*NAP*B~ z17OmQuR(5O5fAqRXm_&{mVhJ41tA_(+rw+a$W9&kHG?W~;)LH*Y0rug(1nrtgHHn8 zA8hA-N2MsAq-$rh8l~NYaoz9o=P$?vY~gu+4jHS5I*b{C=&266W}E^ef@O4N7l;TX zp*(RVO(Q88%I@Vpc=OI|B5%iJUVvG^$ix-lXP72~EDWsX-D4OhI8x+Cjpn4fkF3K5 zWTla$3A@wiq>E;1q{-@$i($k^fXud?LyF4)2wJ$1V-Yk&rb7AxMOuA7)6(+`3Ah;! z)n}x%jNCrs3<$t)4GxUS=qdIbvX4z2&WC00;z=mKtd;j281|*}KAYF8fN#Bu+)HFt0{l*<$OnZD~kH(J$KRE>R z7;hQTDKzEfqu(;u=FQ4RX%Bo+v>VC#b`Y89_(uO@K9V4&{d)O7Q6899)r>g-7Rhi8 z`$PX(X3OL5sCz$(Yfi`k(KJCV1AH;uL+vpGzCfLyudQI==ov&z%iJ|LM!~Jj2G)!hfNe0EG=LZimI(I*+`3gG`0&$S5e#p-FIXYG{K%@V2d~ma|*ac%W zzIy`t=U6rmwpl7{j~QsdSpmxz4X-MkWc9&|Y4o2A>|{l8OBw}_{8j)CxP@z%U9ksT zc9lPWl70ASuF=Yqb29tTdB#VHRTgqqOo^TTBrdz_=ei?(jaBOJ;SYp&$1y#6HXV@Z zm2h>}v4{n_=Rs?U4Q%wt;KKXfq$3&#v~1+pj0!A~M@8)}a9o-?j`3X#P6zf^P#Hk7 z{54yM)`0>34~`s)=>HWdBg8iK3wAKTNW|H&>oeDI>yMs;l@c6;j}eX6e=ne%PWVs+ z^r^z5u!?dik3K*jACFaJu_zPc6STYEEFZ5qh~*N{&qEE&xadx3U;I(wTB8!BpIA-) z8IYi7V_UZ6{?K3atf&zlh=Q5o^zdZR6ms5nfEb-Ghsl?H@`fKtL}frb`y%0l(h}?t? zkKr)_Jf*QX>>Tq5Cg!xAC>)1lPWyme$5H#6P0=H4M?T1SJ|{_ZbMv>mND!;(Bf+=8n)pH_}0|a2;1$xw%DJfwrK23@(>PSL#nQ(7?Nb(PEDQ|jEXPu zMU3HHe)y8JbBDzrFJ|DG2B86#HMkV*kYrI4y`E0NQ{|4NNXLbL7tBL@Af$B!4dF#U zjB@Dl36&y3nWL0$yNe2zXr6Q6%v?bmMsyoOXzCB=k*Xpc^sPeC?6h7Hwgz0854tA# zp|^{xwpuFRxicr#^4Q0EQ)XVHsUK`?8klB570v*XT8yz^)s}Z zihRMo9hpwF{&I10?&TWj`?V#Z+vbI&D~>}y%Qe7m&(lua+rb{N|A7#q5d2trX*<_Z z7x1Ky$t&kIxSKHX)c^Nk`msAYosTJb1ueTIkNMxB^iK6xQJ>9(tOSOD(0jNGn!GJr zS+TLVOFHXeK{&ITaN*BzLptny#ny1l5wZvc51jZY7J{6POeT)BHT_qp0SJ~o4Y71# zEjpvrE%Ex6Xst1C!2-*ffoH`aXIJW|&&}6#5qXNfhcOWnmazPxsvm zD*8*s9{>aOYbZSw@y^Va>>0Km|NBpsNQDP^!TeeujvoqtE}UnXoxZs~kxfM5>ApjN zgme84$s07Cc+$9Vp~JuxN}7|IkD=-hHe3W`DI`K6(gNrQME*uioEk4ff}aK53bm&O zHR~|!&~HKBfHVoRE!<7vv!mw(j7l5K8*-I3azTQ~d10)H5F7s5C*jLThOr=_ha%S^ z#21ObJo05?K!96L*f$vE*_iLQA3hAiJW_iiBySm{8nYeU74jo$vm?i z%0xo}o+dT7mDOXu*0$b#w$&(T9m-ob(BGzxpz-#)LvmO^ zVD@6wEJAJCs0A6)M1UjwEuQBhsuH>o08g`>nX;Zw>jwumt&S%5AxXxX-ZF`93@zae zJyTLrhV5X%5~K`1x)QSNtTPj)0P+Abe7Y}QCzDMCqV2 z7l2L?7X@k#%f)5LBVKj47Dm?Fq}w%`0j||Bc4o|CW$=$KqJ0My*Q29ItOhHt7hl81 zk1rnb`vB`#Y#c-k4)FwhSP#z@Hx960i0IHr+Lr8UmFNJ>12>kUYtCV<;=5Wz0Jf?QB~EgSP(OCeT4 zqQrO)D~4Aw^V4Dz>CL3?xP0xh!tt=F=p=gB%qUT!&%V?b@HwR~8+EQpx~=g?UmHl8 z^Vaa2-F^IIxnhX^Lc9LfJ@D}HZ1)`M-$V2bx+Z4Bzw@WC2j%wn82MR*s&7SqNXR#K z0ptXTLirT**B(cMAyI0gm|; zz3)O(5A5Hciy{vC(TY>=OaTEUY8?kKkz*h+)B*cBZ2_S80#5M7niNf1mm2HrbE^lY z2tS%FdN2?G;+tR*WJ&OF^?~b!U#&rO?Yk_^5Ko_vccfewm0AZb;?wtA?a}Qf+I=K= zaG-f5x+6MWm?@>0U1XR&IAIDi8yoc_hIAKJP=-kfk@Wd<7wxmWG-d@VH5Oun&G}+n z$svIU8HQ9yA?7r5zThTL8+9UauMJHM;I(MT3Da=McDIO9#3svc|7s%L4B$<|Y;QbC zHEqZ*n)Z^2W@i2I;lX0(0CH48Ht9L!ha zIiaIW#74NZZzgLVx#stx{+83*xs(57@!tK5Hp|Jm@l5Isr|rct@a6ITute5frTYOi_XQsWMHJsb4neOBJZJ=I0D_wOj% z&U=@cui!ar=6c!L5Hk@0d;WCZjMKRYJ0~2UwO+5Ua|SG@wiRuRs_kn|%71z8B8Nn< zN*PaFI!-;vk!fN0hH4(kODw!84BIH{9Dt z4mhROZTqoGEBCRssVn3CdbEhUs#|GYJN-NyfK$-jyMKmkpvd%rQDT8vhG*)*1QZWz z-QP$7&0C0=L`7;ouM*_g3Ltdme-W~1KpD}eJ$ZVD76}gQFF#w zY{Gtd!9|P&2;~q|uf&=^=Jd`Sy77MABP@v^$(9BW=4;rbn`OLNzTyeVD?*#Tdp3S) z_0dy#^+wFaWsy~G2#qzS(xv3LENpc;v4~|_fMx4f8sb(!syIl2Fx0(g1+`T)97u$5 z22mq*o*u|8u|R)?j5w*X+lXlh{uH=?on101F=Wa<`yt;AD3b;weyeY|7j78obn!gH zD)N21jS7g%XV0E(uTq(A+VY9Fu(yW=q$5Qr1t$x)BoBGA&`}=&p63`WWi0vZki(8i_6}f$%6! zI;fve(vZp41(wW-tfJ{=ZRuwG+6@QYg}VBb&TieDn{_u#6VjKJ5=d@8r?T6@d$^)E z9s+7J7*>C;D&&wD8fbQ)A{(O@=H_Oz;J#Dtvl`04(UVgRweRmr8VW{$Ea7TD&~dla zvU29GU3;jXtt)xZZO;B&oDuT{dq584{()91gh-Ufrm8Gh`o2wN!JvM{*-4AAkXd(E z?7Mhi)A81xDDgyuw7C#<(pc^ub z5qMNzJVM~8)g-o5VvSmWH+VR05C1|LDXOv1UvW6UfLmaD>3vh$X>|)8$1K0he3O5z zR7J&HY>-!BGWHi#9ear9EIG5LOam&oCy;gC(`f*k5aXuQr#Z04}lDV>yw$px?z{W$I!b_z!BH>|p0D!=ijY!cI?4Y1_e|6nV> zbR1@gedf3Xg}4I!JpXJRTe%f<;5@A$aZV?&D2Z)?YDBe7Jgy$KQ6H6}c&j#Ye8Ur? zSP`Lb9=~6EUBQn6oe&3}L(jb_Gs60@hL5lPa$%rip!xoKMlSyNER>bylvp^9n?QY@ zp!kqN_?`9aXbK;{XHr&|ZzcMDgKe7@J&+lC`VXL3Q|j|hmc-6hj5VzlZq#V{;*Ty4 z)kTAEqOJz2M-M~EVA6#4exZv#m9P|reLyE9(!qN^0p^G`I`J_~2}m^oCM)jZd-I=a zB!OM+x!4y;W7Ww_LLj=&&fJpp95}1Cb?|%JIZ^6~mN^ zlsD)u@h;d7*84=qMr1dja4!xV8oTa_t;8$ERLIC?n?E0lbYZK@RLz<#rfTsXRPpGz zj3kA=Tw-?aVYAx@IjHDD2ILU}m)~8*;BTyyK-I@o&j|Lis9LI~4m1u7&EAMQXHar- zvT!3hV7uBoO#QmU;qdne*m*j@qux zbG{7@@m8>W1e+|OsRc0H2-0pAO}b=)aV=RGc5alht**yliead^o&Jcl~71b zFRul?tU>d^FORRHhvxQWsKP9l2+5tm@)2lH2N%j#2*$D0C`TL20QG_bybo?e11xo@ zVxH`C)98KiLyDj;vNJ&6-A9Un%5mebUnyGY4*>^S*k9!MUX*BBa2ov<54wUmvem4C z^W;Sj&t9kd0zvjv%5ISCD|e#wagzG6NJf1xbJ0Mhl7pM$M~qP?v|(Q=(c7BJ4inC1 z^L3yzquFx~5T#`jvET2ga7aM*pbV&0Z6M01j0a4&t!#6Skb1HCN|F=x)h4L{YL!o= zA3S|8|MXiCj|2*zl(OQ=22(BEyrGIkw}&Mtm)$WmQp()?=Az`e$rfGd!xP1Q{mDfRX1*Br=&z<{s`L6Fz+8QcN0 zmhx>sqj0hQ?wewX*FHijck4@l4-ttlqH4i^g`r7w9Uz<7wrc`g;k&~DcF|$h!Eo6N zN52)RgTZf5=HW%YLl7e?V8V7}rF!~pZ`myBUsUm|eqf1q%UO=MSjI z$xvW%OP&U-mH6G84IhFG@&qA2)$>W41QJ4fhEQ|OHK8UM5Q|n049;*O?35-ezRDCj zH-?`nkPyl;a1Y%*Mg7v)AoGm6U97ue$;R|E=J}6C3&be=@ihiB-E>2hlM-S5%8jH| zBB^JU_;v4W-vfR6`gCP4*q)8|nqz}~o#7aT4nDV`SAgEow9KySB+9y&T;}yC_J-CL z=y>J=eIj1VvK<#VA>{7}I#Yji(kphD4Pc!h*OSJ9=H^i2Ak#|c*uJK?mG>g7&0ZG9 znbtnW@)ei(q$j$|PAU9}f=#A7qN`kiqF1)@UxC6*oU&APUgbZxkLihtVV^rg08J z$~LU$3iM_BI+qNCmA?e<9dF~UKBT9Ql0W_{3u(=10?Mu!1;y!B-rFblM)EdF0U?EV z>H1D3grSP@Lglx*ior#CxcuYP(9^jv?cfH^W2%R_{P~&Jj*hlW8xkgvEsbIJ?vx8Y zYqo6Z4p3wCG7Di=f-Nz^sX#=vt1zmg^^PvJmI5n75jNC>{=t4X&N&)z zI}Dx_!CR7tGU>vMg^w|u)dyIOojV{y^YyfrbP?`mGpE?+mS>&R%`$jynAF9! z-~Oo2^Pr~8ty8B?{WM(Ui=zjl7^%x2J!S3ved7Sv$1jSecf%AS2(0!0Uk*5lux|es zS(QfXmO#;BuTYD|{LA_5O09mUmWWv$Nb=aS7Hv|i&i0D-2TU%`m&+8fO5!pK)tI>;pjaqkZ#eBCOE3JFrlmu(RfF3Tjr2YGsCKU@a?pTyk?DsikB{3 zBDfH68KLE5^y=CU=bu0%w#4}aVFIi*zGJVaCj9uY7MdiIrC>2aEtZz5w0oOSLps5) z|3wB2D#^WjKVgXt1n*bkGl;whBvvaQ$wK%SY2;w0p;06Kzr-9r1qC&zHkLT-6NuZf zQuDIEQtm;C&vhL_^E48jtS$7OK3aO^@}Bd0r#$lxCmg-F_}WnL@~|TP`#lXaqPb@{ zSoYTHM0B+AMtm!426NN~{>?E-{qBtY*pn=Ku-wPl&6+(sA9W=T3G7x17<9$gl)*zo zFQFG->lFeN-Z!>k^QVj*gc;co0mSZDlo|Fl-av(`7gl0cDBCvH!<=8=BNORK;#cEB zvmv(w?un1?ndIx1ozYN?HlH-J(c+@6@|El}J5nR{GI@0it>OcdjxN}UNYppOf8Tpf zi6o<=Cvw+h8B9;{1QM=&tN#`4K;^eU_ywyXv5bq;ZPS!6&)X=LwSoF za^HVyL7>Ty9{jLoB2qrk8n~7^IxxZuqMuK&BxVV`>2OJOj$u0u8JS0`_C555q+nFB zQ}tV@zUES4y0o7hr}W5^!;+9+>J;;{UOG~Im{hen z|LN*f=aoAdCqsRn$xY^y!3?AvBnly$pJ857xft;fFouE0K&SXiz=iWIoOI|s>WO?N zRpB5@#Y|?VCC$-c*na&@N#tjxP8!STqwS*Zo6f79wt6wBX^ai-7z_JC~5^F4Vl~ z`0p3^VmnLd_Gc3(>%tj`xGnO-0HO^&OvHizVh*(M0tp*Nv85(XP1b0sHkbjH4(i)$ zIXU0C3_oFzMTsfafR4nbxK8|#$mJhOGp2FfR|dblJtClz1F;$LC}J2-wq*$^wO~jL zy%`LM=#4Q3+$&G^r;Nhbu6u-HoOeeEDklfS0eY!S!wxh!YOLZcSt{z!#(7k-)}l|r zt%=Np{*yaJf5{}gT%7*H#KeZ{XZ-vZP|Dnq23mhJF)o0~a;M|)LH`$?W`vReaTp0( z26!oc_ou0O7_+QXekl?^!;l;!&Nz;=%mJtJS<+r&kEWX3) zhk3?no4Oa7%*Y?#HvI2)WLHU2$y#8pF`m)rXO(OQr6gOc#UI_QM?7BU-_?9E|E|u+ zzxkWl7`<%qa$wrYIJV{A9(b}D1nqmMDF~SB%#fX;0(}x}@IjvG=Re)zl1GA}07oI= zRD#06&!EnX`UTHP9t;yFPha-7xhzGHij$uUd>84jaRzd|gt>Te?}k*FIaI)*=H6hn z5*Zx;H<;vxc33h{bVrG9HNuUxa4CVEa29r<+wSh}%`f2gC=aBI8T=-oVqn)E>gnu* z-yzuRK`;|SZbPl9$!s{ZGvCRR`M8IK92fvv8}I$-CqA%r8C3xw!FfQ={SZf!BP1&7 zJ?cX~Zt8M$Y9L8)&lLIbZUwNYSGj}tTf)y~Z1OKRIcsI^zR|IMFY3KBue>=X4F8C? zfuV`I(8Iodc5vNWUr+nG=Fc*JFBZ1^G4=v};X5gv*QB}}!g=t*AGZg@?AK&LGT9T_B zdDt18Fjioht(sb#`h@$e*svjs`nr2Cc_IJX4SD6&O*$Db3e{~I`FFU6!KhT36$9?U zMy<=s-lP9yb8#U8B!j&hAs0WnV6w@KNwBvySPbjY^)pgn4DzmP=v4K$Zwov@O7SpR zz3=Xky&GZS-K>i=c%$Sk&ZDL^pI!zVp`7U4(sC+)G5?H|yIaiymc9QHW$+--00ZCx z3bY=UUoQo=cARqO#8bLjHo*y>b*UsIlSadAvHo)1IG~wx+1ZV9LN&^A&AVHUrW^}f z0Kn(8kOPM91#jV(6Q@O=O$%Rp@2|A*da!^`l^jH-4$3>5ZOb-g6=(;0yP88u8v;WH z`=D9p-;jO~udEIaJkz8BCOU`FP8@bb8Y?!MH$*5Jqd!d z2Yek%a-%>_DnW%Swj)nP%>Xi%PoUK`2}sL!W2OzF#lIGjH1&Zb z6^3bEgsb%m2?~M1aHcAZ`5?O|3$MEEN{tEmF~6U}xbY#Z0N~(;l3P3|9nCRN$v$+Q z!wyrz-f!CZO9<34nD~z*Gg1A+>Y4-MYHB15Rf>uYZpJX?`+U#|vUA_szJ3D_6)p)X zG$!`ettCWS>dv|>(AN0$zpMw_VpHm=^u;393a$!>tCfq`+v>meyYRCV=6;`%vP zTFxVpr7NW@^>*5?fexj2H5?sGas0 zu)0RC4~ru?gVQ@E)Eg9#ZFocZcmN&6CYch)u2mG?!^=ZDjY^4-auJE|1Ren4KN+2f z$Zn17V<$Z<(^hiGgwn)b5L!#jL2O3#P+H1j3Fouv)F){dl(xB{a1H6LdSLX!X&)LB z-GS${;84wK2~3lFDoN-Sk`v56h*0yu`pggwk`(v9g#2mCmMzjY7^wAIPI0Y1@bJ?M z<4SamIS3xjnle#`G%u<2aIwq{RV#kT!{eCIxg^e95!Okl^@aF)SWBX6kP8=M>{F{e ztn0W8zC7E8L8}DbL0}0^kMUY&GAKMGoSrS#^|CA#er}DOF&O8B5>agelOgtw(@>k| zP!8lsz9dN^Gchta%=8FGg+Qvetk@ssGL%|jD5Co~(A3D!Ai8#BItqItser55|6EOuSEI+-D7)x$h?^~Us8F2h43XJ|-MWPyvKl(&bRlOgXg9BAp1 z{UrEOIL;nMPx;QsJ-)}K)wryDiD)?~Z>87uFW8o=GTZ}Uq*ZEAU;r=%_#_OrnHMgs zJ$%0}^U2mjYu}-;8p`M^ZUi;q^Ua}nP5RW*8X8_=r=)H zUyxf50Io4CS^&1M8R|Ou4@ppc>Qu|hYX8^$Da}x0pbPdN7?GcY?H~{&7uLj{D%Si> z>OeOjHpEK})IbRt#JM05n@(y%Kmt@^JP~Tr@oPF=VxIcKu=w;xZsOYf5bo)^!kc(% z$&?>$umyuY3CqDzSQEL{SL64eFm{QRdlDqY0D0eQAerg)6tR=46&17?#;uw|d?dK| zns6gzsIDl3-P3Hjhiz#)NPe;~FX|xv#eAvKqzS#68LGlVze@>o9z8IO<&sVk3o)s5 z-b}vS$^$}=S_EOg2A-Ekb6zs`1qi2hVrRIHx*$rgpbYgQzUW(k_Ze3k%x(+&h40No|LME|?u%nr1INs6qyI;=49^)B#CH zM%qT&H^9?`A^2ge-ljI3nQ)jgg^79zeDp&E@NzK=_=$G~oA{e5j54pIBU6cOTYB1t z?$?+dWNQR?RTc#3m~WkDp^^o*PZDFpM%bH^N*;vTa$V3I9)OTiyxj>3cv;rXhNcgE zyKUZOWMp)uvm%*uJ-Ps{=8amJWw3LCc%!MetWe5$t2;xZ{puAT@QKj+-4zxqDZsM( zSxYIO4SOlN4L1AkqomJ7!_lXte;Vqq7Nef=NgsDC%SIeTyk}Ge+yf0zn}B@6pBQ&j z*llGnEw|Hnm=Y5W< z1tDotya^~rNY?|vB5c~#)m0%>T}0wDmR*{nn4R@7f69^vH5H*^bQ=u&f}oRsA&Q7W z1zqKpV43%;E<&7FG&rfz80vKkECb?4=OUj{7m?1p1eu#u?ZeBZ{mspG0r#}k(rpb0 zf5~kIk&I}rpX?6T2!uE!t0Q}OR7aWTwDgq;H38MZQzGLinjSD+Ru7H;aT#!-my6io z7lRH-c$WbIG5g3J{Z2dlBmyX?$sSO{J;ZSJg=JH_Z~0oyXJ%F`r}g66!eq18x{-_M zvSg$54^f2r0{gu4Y|(D`qk3H@y}m5DJT-dS_xfj{fVF~y<2C%dZ*8z_IZ}yG#HyF} zEDGjMKT3tp$fnyA+1 zL!%Zuciz0?@Qf<3Y>KI#fhvG+8Hk$BSnn3zxN&1QgvrMFY8DIO_82p{Y*GGwUn_HX zdR4;oXfvk#F{ktA7orZl8~j;kY%m|*rKg**)+2@3jbPasLC+%WjJvUHUd0^x-dAP} z1|=hQb-H+w6_tWbhDihFnqb%E*XdO*YU9hC@q`il5B$!U{u|VQ|6M+-tcI`3jW*Ko z)To9@IdtitA-ez8rl)p^1mUQ~StGC!p%Ql}2-F838Dn}GBjkGbu?~2w9+47u1L0Zdoyj4$uzoxty5^SQX}6KW5IMQA-93 z*c+9-;F=tAm4FDQ^69jHql|-91$L2*<_(}7cSy^=s6+jpAsgIS9CRq0(Ow1$Zo7^4 zpd(|Xuz@6;8Qc1n)$TN~ydNpB6cWD?0sbt7M$(o`siU9yfC*V@Vt(4D(nxEHZ#$4* zO|2S9*8-k8BB}qUymJkT`nqOS46}F1%X5~;WALx)dGs5Aa_}A{T*if)|q~9{NymO z`@g*Jd7pF6^E^j}sN{JpPCIw*dD8yY<7VJc=eZ{=Djp5MS(j)HFII_}UnTKTq^cn` zFL_50-}f-ZO&eL`9ryX?V&CY4VGhOhaz}{Npb=L683Z&&&8lVp+)(iP`|-j;6iFiz z4w)drpvZnB-B?#Y?=sA9t?*ix1Q=ru;U*Ih-~=i5`><%bDP6Znj-{=kndMwIJY}31 z6>>a7eA8XvJLrXM0)OR#)}5db#R`91%(^+sYdC&7ygCVA8zJBVC{m$1@_@F|(ku3F z87Lz6!l`gAa_8kbKXUJlKs(XK!lt}F19FED?97}n@Z24v!yzSKPiz{oBD^@NYP7-a zDtoFn=4!cF>D~~Uwf_CACl?)ICrJg{RnBYl2E8t7neR$R)|JOEBVk9}Kmj&-OcG(B zex>3FSEt1ew)lD?5s$2Zn?Jl?%b)Cbb2U>|T6 zr%20>RWAq^WL3%6NXM|dRlAjZx-)7O$7GwnDTX`TH_%=pbp`BQ2jW^++ZC6&!mahp z4Ll1Y_Tt{QNBi3E8q0J?nZ);C&M}+t+PY*kNOZ8JwvpA3KBu`nDS}WWi-0hEoTj%3 zcF`+&lXr-73eD>MD?5K!EHoFmgWpiB$h*H1PkFJ?X5P3J2YJQG`TWe39e?v!YB*EFb0EjoW#YTr60eMJpCHX8Nh#8d1EoB z^P__NYxp#WC3Pjie26ijU*o;w#au=_3P+8K5WEzHm_)_AtA^8-{xHta(3)yaC_@18 z#-B>;J){jOY_#H~dXsiDJV(>R4NReOQ9Rnv=5e(OgWEat=9Og@xF*{kGHXabpA>$T zby)_Ywu1M58Mv(MCo?AB#!{lR{LvRwE+}%K5@=ffbkB)^Vto+W7lA5ukF;F)``s;8uY zKBA@V@IZvJpF5=DK?l$~m^{mx6~28sRywadNu{h)Qc~hCUAp8_y(6b~0xUoqX#dei zwE)YJIs-5uzfLS}R;xFjwI8E|j4=4Ly`md7geB#t=+Xv)@hB{w4Ay=~IXRa$HJio> zCdgHJ`;g~0(Z>jJ{q`6`TsVKap;FwloZwWLZSWCkfxJNSP!~1c(~(cU9|Ni$iVNC8 zy0;3Pr8JFABJj_nULIYfZ@29-vcy43cd@<_Td^0Lc(*ta6rV{oc zX%BLtrk$bqf`Y>$@9Nr)^^Y^SeRYilg)1Qi-5w%rA?y4JEZ24CJ=bP(YN^Hnew$v@ z7QN5S&*pk^&x9N^-B3=zuSY$i>{&c5MSfy zTf?UPec3&qEmTBiL;vi|bqd!OVHmnzT-dqF&dR!M-@;Kf`VYo+9%dQ2s3li9AIhU2 z|0c7(q|oc*(FO+;ui=RN<+w5QFmRtcoP-P@zUb|K-E`5@uZqAFtKhmyzl9L9)+4|+nCwLD-<=Z(wq^>Y z3v*hA=x!h4S|P)tYE(U|s3*Hhb(}tL21n!5=!rUFgD4glPc#n?U72JAQrbfTaNVaW zO7ehROM^J;#ETihEqe6}h(pBHm{@X3)M!9L=~%2l5lW&la@dT(@%=)C+fOD2?^01js6vF zV$TH*AX1bD2NhEj5{jz%?Adlm2!$9Y0#r%U2>Mwn@ejrus1YALy_TR^3q2s1~ zyCJt^)q1^QQYwJmf$C#e(L`$#!Xb#q$UE1wj z;!;rD?%bMa<_DiIM3U&m?-kntl2VfQs>08`Qds&isFZ@OsxVg#B9LN-b zAE-U<=+WvkcAqUFw;lN#sHua6zWv#M>$Hvh&M&V+`j$ceztUtL j&o8cf{QvlDQin&MKjgOc(hco^tazuj8`fmme|+#i<)MPU literal 59935 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 NPo6oEs_^Ia{|4hSFHryh literal 16598 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 K%$GNR_`d)LHH5AJ literal 11621 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 diff --git a/public/images/api/qiskit/pulse-7.png b/public/images/api/qiskit/pulse-7.png index bc88d762250d5b83e72fe1e940e597f65fabaaa1..1c1cfe2a5b8ba9b59bfa64d644ff1563061a0cdb 100644 GIT binary patch literal 14163 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 delta 43 zcmbPuoN?lD#t9yB#yScaB_##LR{Hw6i6sR&`6W4-NqYH3>H5c?MFek5(@q8eWx^26 diff --git a/public/images/api/qiskit/qiskit-circuit-ControlledGate-1.png b/public/images/api/qiskit/qiskit-circuit-ControlledGate-1.png index fc6eb695ba38c21e2c31c3d522d433016bbbe365..a9e8e25fe53579ae6569e293f430da312a86d7e6 100644 GIT binary patch delta 41 wcmaE){789%hn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x@~ delta 41 wcmaE){789%hn%sFLPkkRL9vy-er{q(K~8>2PG*u`eo?yq@n;di8`Ek80Z9=MBme*a diff --git a/public/images/api/qiskit/qiskit-circuit-ControlledGate-2.png b/public/images/api/qiskit/qiskit-circuit-ControlledGate-2.png index 401511039d690b7017b3cb698441c89078d9be3a..8e0acedd8d6eced7d87106ea8a5b42de3990c49e 100644 GIT binary patch literal 7249 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 literal 7246 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 diff --git a/public/images/api/qiskit/qiskit-circuit-InstructionSet-1.png b/public/images/api/qiskit/qiskit-circuit-InstructionSet-1.png index 05a9da72ab1c496f61a8b0c15ad68524bc7722f8..b7253babc37a168ab636474f8693d20a1f076981 100644 GIT binary patch delta 41 wcmaFi`oeXBhn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`GMU099%bivR!s diff --git a/public/images/api/qiskit/qiskit-circuit-Operation-1.png b/public/images/api/qiskit/qiskit-circuit-Operation-1.png index 1b15fad7de52d8f4560c36f611783f523f7f4a55..ebc544440da9ed2dab37a019652d7f368253194b 100644 GIT binary patch delta 41 wcmeya`(1Z}hn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`CC=0RU3m5PSdt 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 0a0c10376ae2fcabf7be01a3c16ecce5db1649c8..feed10a1f8f9d90cbdbcf9404d287efa935c1df4 100644 GIT binary patch delta 41 wcmbQqJCk>Uhn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?xUhn%sFLPkkRL9vy-er{q(K~8>2PG*u`eo?yq@n;di8`F&004neg5&!@I 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 7e52b6b0b6a42e3289dd5fb71559a0e38365622d..310467d8c73c4dc76d4572fce7ab770131a1ec0c 100644 GIT binary patch delta 41 wcmeyR`Ac(xhn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x00000 delta 41 xcmeyR`Ac(xhn%sFLPkkRL9vy-er{q(K~8>2PG*u`eo?yq@n;di8`GwU002^$5PJXs diff --git a/public/images/api/qiskit/qiskit-circuit-QuantumCircuit-1.png b/public/images/api/qiskit/qiskit-circuit-QuantumCircuit-1.png index 04f28dcf5871fdab95058c330ff86ceb798396a6..8d30ef8c737a34d1be47f47143b3ae5f74d85d8e 100644 GIT binary patch delta 41 wcmaEA`qXrShn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`J8g08fk%S^xk5 diff --git a/public/images/api/qiskit/qiskit-circuit-QuantumCircuit-2.png b/public/images/api/qiskit/qiskit-circuit-QuantumCircuit-2.png index 7e15aedacae225fe82988f360037a617afd228df..a96b151a2d3ccb675717001bc4756d241b95ab92 100644 GIT binary patch delta 43 ycmZ44$hfkRae{}OiH<@>Nl8JmmA-y%Vo5rb5>@8hn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?xrb5>@8hn%sFLPkkRL9vy-er{q(K~8>2PG*u`eo?yq@n;di8`GZi0suiV5K{mE diff --git a/public/images/api/qiskit/qiskit-circuit-QuantumCircuit-3_01.png b/public/images/api/qiskit/qiskit-circuit-QuantumCircuit-3_01.png index 402e8d5424e0306908f1bbf552d781166b04ff45..8900cb9a3283786409c98813e5f577b297e9fdd8 100644 GIT binary patch delta 41 wcmdlivsq?>hn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?xhn%sFLPkkRL9vy-er{q(K~8>2PG*u`eo?yq@n;di8`IA60suJO5Cs4L 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 d91c9542336e989117c81dc3fde1cda11ba24e6a..5b2a4cace602efa3ae7d6c85fe47e1c22d21192c 100644 GIT binary patch delta 41 wcmZpaX_T4ZA!nkakWo@nP;8~IpPN`xkdt4MlbNKKUzDyduc}N+403F~B^Z)<= delta 41 wcmZpaX_T4ZA!n?kkWo@nP;8~IpPN`xkdt4MlbNKKUzDzY{8>cs#pcT#SGhn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?xpcT#SGhn%sFLPkkRL9vy-er{q(K~8>2PG*u`eo?yq@n;di8`B>10RTXT5KI67 diff --git a/public/images/api/qiskit/qiskit-circuit-QuantumCircuit-5.png b/public/images/api/qiskit/qiskit-circuit-QuantumCircuit-5.png index 23e024238994e819502a71bb5fd573fa6f134f1e..980a76485e09b3334b9f7e72b8e65fb6cab505c6 100644 GIT binary patch delta 41 wcmeB^?30|}A!nkakWo@nP;8~IpPN`xkdt4MlbNKKUzDyduc}cs#xxBc04o>|4*&oF diff --git a/public/images/api/qiskit/qiskit-circuit-QuantumCircuit-6.png b/public/images/api/qiskit/qiskit-circuit-QuantumCircuit-6.png index 952145ccc457f73c807dc36fb2d797c6f69736d6..6dc0f458e3f2d28ac5ca7221f576e7d81ba5421a 100644 GIT binary patch delta 41 wcmZ3WxIl4&hn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`G==05ebzSpWb4 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 3765c59d712c9ad917a4f49b55bf303310ee3c3f..b88d48db18ad076ab7f8ab7c042add0b064658e2 100644 GIT binary patch delta 43 ycmcc9%y_4nae{}OiH<@>Nl8JmmA-y%Vo5Nl8JmmA-y%Vo5>n-J^( diff --git a/public/images/api/qiskit/qiskit-circuit-library-FourierChecking-1.png b/public/images/api/qiskit/qiskit-circuit-library-FourierChecking-1.png index 281ae00895b7563f16dbba17265e3da4bbaa624f..880f4138db4238b5c517d6fdd93f71009cac7597 100644 GIT binary patch delta 41 wcmZ1#xhiskhn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`E5L07tM80{{R3 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 e511b836f035ebb50b8f383ff3fe0c7070b9659e..d0c3c7dee05eaf6b76cdc485ea7b32e0f76d2de4 100644 GIT binary patch delta 41 wcmZq4Xvvu1A!nkakWo@nP;8~IpPN`xkdt4MlbNKKUzDyduc}RhP05&8Jy8r+H delta 41 wcmZq4Xvvu1A!n?kkWo@nP;8~IpPN`xkdt4MlbNKKUzDzY{8>cs#Nl8JmmA-y%Vo5Nl8JmmA-y%Vo5Nl8JmmA-y%Vo52PG*u`eo?x2PG*u`eo?yq@n;di8`Ey+0RT{-5X%4n 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 113e473400b40c3bdd58236a3cb62851fd9925a5..a670d12b20358b3c491ebd8e1b16bfae38e96817 100644 GIT binary patch delta 41 wcmdm2wXbS|hn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`Eys003Dw5fK0Y diff --git a/public/images/api/qiskit/qiskit-circuit-library-HiddenLinearFunction-1.png b/public/images/api/qiskit/qiskit-circuit-library-HiddenLinearFunction-1.png index 4a0c48c90047035c3976e98ae754965973bc2d43..b9ab8640d3d24d83d66f5f23ebcd1bb3068134d9 100644 GIT binary patch delta 41 wcmbP|HYII>hn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?xhn%sFLPkkRL9vy-er{q(K~8>2PG*u`eo?yq@n;di8`IVq0RTmy5MclS 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 98a957ea72f78faa3f3c5dd694b06e37ffd40937..df9b31b9bbf5581ecda492c9d8842df128e77844 100644 GIT binary patch delta 41 wcmX?VeAIY?hn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`I(?0YtA4^#A|> 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 d39fa1267ef920477ef3a80ddb876531e609aa27..c47b161c41274070478e647cb9dc487c8e2bb5ca 100644 GIT binary patch delta 41 wcmaD{_PA_2PG*u`eo?x2PG*u`eo?yq@n;di8`J(;0RUsx5q1Co 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 ada2e966ddf38d13b9d3148929e28d41c5e665a6..ed06485760d606f37369f23229976ab20bf8c226 100644 GIT binary patch delta 41 wcmbQ0KP!KNhn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`Dh80ZC5~3IG5A 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 424e79afa9ea72ae716f37ce7916c14e03b92b82..959beaa369421f7e179c1efacaefdac079a0e41e 100644 GIT binary patch delta 41 wcmdm7yt#OShn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`FF(0aA+)UjP6A diff --git a/public/images/api/qiskit/qiskit-circuit-library-OR-1.png b/public/images/api/qiskit/qiskit-circuit-library-OR-1.png index da6c20bdb3985e793dbeeaafe8435fd205570773..8fa60729e715c7af61e99e644ed4a4a65cc91bb8 100644 GIT binary patch delta 43 zcmaF3fbro1#t9yBCOQfkB_##LR{Hw6i6sR&`6W4-NqYH3>H6}j%B36Ae)|IeY3>kU delta 43 zcmaF3fbro1#t9yB#yScaB_##LR{Hw6i6sR&`6W4-NqYH3>H5c?MFek5`|S?^bmtM< 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 0dd49d07acc41554741d21e928da912405ad5659..8e4cc31c2efa07005618d40d4945100dc1fedcb2 100644 GIT binary patch delta 43 ycmaDck@3Yu#t9yBCOQfkB_##LR{Hw6i6sR&`6W4-NqYH3>H6}j%B36Anmhnzdk@e6 delta 43 zcmaDck@3Yu#t9yB#yScaB_##LR{Hw6i6sR&`6W4-NqYH3>H5c?MFek5Yw`d9adZ(& diff --git a/public/images/api/qiskit/qiskit-circuit-library-PauliTwoDesign-1.png b/public/images/api/qiskit/qiskit-circuit-library-PauliTwoDesign-1.png index 5eee719cdff17e0959ad7562d0cec66a256bda93..1959dc1561e1d70e6119ead7efc9958fe90f9662 100644 GIT binary patch delta 41 wcmZ1#v?^$Vhn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`F+x002gc5ODwi 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 20e1ce83d137c4842c446235ed61c4254d3646e1..8d919899dafd1a97aed7cbcfcacdfbea64a162d9 100644 GIT binary patch delta 41 wcmX@+cFb*phn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`B;r0RT(X5T^hD 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 05032eaf687120f795b12e6b16830cd1fe76f27d..1793ba666739d349fe12c5f7ab22520168afc4d5 100644 GIT binary patch delta 43 ycmdnd$hf1Cae{}OiH<@>Nl8JmmA-y%Vo52PG*u`eo?x2PG*u`eo?yq@n;di8`Gj>0Y!-q`Tzg` 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 1f2bd9196420c21420f8ef7134f2557d05482844..65cb9455815dd3531e745ff8080f661c65c61c49 100644 GIT binary patch literal 16133 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 YiT2r+?>N7OBk72Wf`)v7tof7w0znV8Jpcdz literal 16225 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 diff --git a/public/images/api/qiskit/qiskit-circuit-library-PhaseEstimation-1.png b/public/images/api/qiskit/qiskit-circuit-library-PhaseEstimation-1.png index f982be6cb185ef376c74832d3a4201eecad473e3..fc0242c86b995f91b81ce32be13137f8397920f1 100644 GIT binary patch literal 12242 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 CHmpSe literal 12231 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 Gd-iYKK?t4z 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 c841bbdb1309823ed6e37b67cba68090b43d2ec7..3873e237d0faf3de981596252823e4676eb421e7 100644 GIT binary patch delta 41 wcmca&eZ_i$hn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`JV+0ZZ`^HUIzs 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 ae29298d4f18ce05ea22148f08b8bac9d514441b..050a27d162c70fa8c19926f30e9bd3f9b398a490 100644 GIT binary patch delta 41 wcmdlJvnOVPhn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`G}o0sv265WoNc 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 e767a72c734e8c17eda8c7921a51086c8a154032..397c4f63faab098ca5e65229a1e1b5515a70df75 100644 GIT binary patch delta 41 wcmaDD`!IHbhn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`G-w09uF;vH$=8 diff --git a/public/images/api/qiskit/qiskit-circuit-library-QFT-3.png b/public/images/api/qiskit/qiskit-circuit-library-QFT-3.png index 167e1ce73037d6bbb0701e9dd52633caa8b23076..abfb0096369c251cb53a238d6103ac6723659be8 100644 GIT binary patch delta 41 wcmX>ScO-6thn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?xScO-6thn%sFLPkkRL9vy-er{q(K~8>2PG*u`eo?yq@n;di8`JLT0RU2r5ZwR( 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 604f6320c966ba3ec02d3d4ebf80222233857320..d7113cf41a77d324a30d88792dc2ff01a239e7b0 100644 GIT binary patch delta 41 wcmZ4Mxz=-nhn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?xo064`CX#fBK delta 41 wcmZ4Mxz=-nhn%sFLPkkRL9vy-er{q(K~8>2PG*u`eo?yq@n;di8`IoX07JeHNl8JmmA-y%Vo5)FIS>5+ delta 43 zcmX@#$9TSvae{}Ov5rDUNl8JmmA-y%Vo52PG*u`eo?x2PG*u`eo?yq@n;di8`Em_0b9usy#N3J diff --git a/public/images/api/qiskit/qiskit-primitives-StatevectorEstimator-1.png b/public/images/api/qiskit/qiskit-primitives-StatevectorEstimator-1.png index 7455151eefd274a504918f6aaff1820c42ba8e69..bfb253827890d6548813d4cbcbe40ae485081f3d 100644 GIT binary patch delta 43 ycmeCY&(wLJX@ZBGiH<@>Nl8JmmA-y%Vo5(^b delta 41 wcmeB-?2Me?A!n?kkWo@nP;8~IpPN`xkdt4MlbNKKUzDzY{8>cs#x!Le06iWLpa1{> 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 b479a528f4cad11103a132bea039a2e1cde95583..11c02a2f4984c6b8dab13684943d70a9a244ab63 100644 GIT binary patch delta 41 wcmZp(ZnK`?A!nkakWo@nP;8~IpPN`xkdt4MlbNKKUzDyduc}cs#xw<405bItOaK4? 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 ebd67d791f9d27e6a202aa8f72c9659c1c9c8c6a..712692edad408b537b01f4d21052631931e484b8 100644 GIT binary patch delta 43 zcmbQdiE;8K#t9yBCOQfkB_##LR{Hw6i6sR&`6W4-NqYH3>H6}j%B36A)H5c?MFek5TN?oYV7w6? 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 d157ddf998be7d502e5c617108e7a80cbb473c6b..fc0b9bbefeaefec6532335e8507b18d073236970 100644 GIT binary patch delta 43 zcmbQggK_>2#t9yBCOQfkB_##LR{Hw6i6sR&`6W4-NqYH3>H6}j%B36Ac18mLTc{7# delta 43 zcmbQggK_>2#t9yB#yScaB_##LR{Hw6i6sR&`6W4-NqYH3>H5c?MFek5+Zhc2W}y*L diff --git a/public/images/api/qiskit/qiskit-transpiler-passes-FilterOpNodes-1.png b/public/images/api/qiskit/qiskit-transpiler-passes-FilterOpNodes-1.png index 647001be4896db54013c137621a2839d18a94025..fe7adbf1c23c6b72afb40553d1f73443f09ef20e 100644 GIT binary patch delta 41 wcmaFL^OR?Thn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`J)?0suq#5OV+k 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 ebd67d791f9d27e6a202aa8f72c9659c1c9c8c6a..712692edad408b537b01f4d21052631931e484b8 100644 GIT binary patch delta 43 zcmbQdiE;8K#t9yBCOQfkB_##LR{Hw6i6sR&`6W4-NqYH3>H6}j%B36A)H5c?MFek5TN?oYV7w6? 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 d157ddf998be7d502e5c617108e7a80cbb473c6b..fc0b9bbefeaefec6532335e8507b18d073236970 100644 GIT binary patch delta 43 zcmbQggK_>2#t9yBCOQfkB_##LR{Hw6i6sR&`6W4-NqYH3>H6}j%B36Ac18mLTc{7# delta 43 zcmbQggK_>2#t9yB#yScaB_##LR{Hw6i6sR&`6W4-NqYH3>H5c?MFek5+Zhc2W}y*L 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 8b71e9bb02d90708675618738f92c4e5eaaed31e..7eeb5f033674eed2773097020eb455b9076cbf3e 100644 GIT binary patch delta 41 wcmdnVvy*3nhn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`Cbc0suAP5AOf~ 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 23e024238994e819502a71bb5fd573fa6f134f1e..980a76485e09b3334b9f7e72b8e65fb6cab505c6 100644 GIT binary patch delta 41 wcmeB^?30|}A!nkakWo@nP;8~IpPN`xkdt4MlbNKKUzDyduc}cs#xxBc04o>|4*&oF 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 ff2783365c95641d97b4b10f2a58a2aea4befee6..2fc807af53f9c8db8f6dcfae539df0cd20814847 100644 GIT binary patch delta 46 zcmZ2~m3949)(IYRCOQfkB_##LR{Hw6i6sR&`6W4-NqYH3>H6}j%B78IThkalvjCg0 B5W@ff delta 46 zcmZ2~m3949)(IYR#yScaB_##LR{Hw6i6sR&`6W4-NqYH3>H5c?MFcmdZB1kJ%mM(b C8WKJL diff --git a/public/images/api/qiskit/qiskit-visualization-plot_bloch_multivector-2.png b/public/images/api/qiskit/qiskit-visualization-plot_bloch_multivector-2.png index 40310e3ce1d09abe155cf1641978ba8225501cb5..67e0f13443b1d8663f57040349ec04716bb75b4f 100644 GIT binary patch delta 46 zcmezTiuLm=)(IYRCOQfkB_##LR{Hw6i6sR&`6W4-NqYH3>H6}j%B78IThkbMO98qH B5kvq0 delta 46 zcmezTiuLm=)(IYR#yScaB_##LR{Hw6i6sR&`6W4-NqYH3>H5c?MFcmdZB1k3Ed>C{ CbP~S+ 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 52f176633f84d4d81ea1ed5d58ab4e806a583181..398d11f43e6c494efc02ca6077438c9a4aace8aa 100644 GIT binary patch delta 46 zcmaE{m*vG?mI)qmCOQfkB_##LR{Hw6i6sR&`6W4-NqYH3>H6}j%B78IThkbuH5c?MFcmdZB1irk^=y? CloD$I 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 d7293d2a224541bb0dceca47e3744ece2a849344..867931776e2a3c55f07b0e7424052a81573022c4 100644 GIT binary patch delta 46 zcmdmWjAhp`mI)qmCOQfkB_##LR{Hw6i6sR&`6W4-NqYH3>H6}j%B78IThkb?C;H5c?MFcmdZB1jmq67e{ CO%iti 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 badfbe8d706fbeb51eb6d021eea3e75e43d3d32c..be5ac987273b93309f48c9097ad68b402f8f1a18 100644 GIT binary patch literal 10065 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 literal 10058 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 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 fde22abbadb5c232eeae67fbb67f670c7a98e264..53b02c610762f98c65b8326ab5a9d6fff706062c 100644 GIT binary patch delta 41 wcmX?Zcie7*hn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`B=j0RTy|5S9P{ 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 48051dad53cb84211bcbe5a68274a6c2d66c2f2b..a392f767f22f5c0b1c8f5083cd857d66234d2cd2 100644 GIT binary patch delta 41 wcmbPIJEeAlhn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x delta 41 wcmbPIJEeAlhn%sFLPkkRL9vy-er{q(K~8>2PG*u`eo?yq@n;di8`Jdc086eA8vpH6}j%B36AruqQ@aGVe) delta 43 zcmex8m+|*p#t9yB#yScaB_##LR{Hw6i6sR&`6W4-NqYH3>H5c?MFek5o9YJudzBHQ 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 227e44113985682d4a9f4e137b1665227b344ffd..46f5193e70e9a3ecc8e0340bca234041f3b0be32 100644 GIT binary patch delta 43 zcmdlok8#U9#t9yBCOQfkB_##LR{Hw6i6sR&`6W4-NqYH3>H6}j%B36A&iMfVT3Qd( delta 43 zcmdlok8#U9#t9yB#yScaB_##LR{Hw6i6sR&`6W4-NqYH3>H5c?MFek5JLd-gWm6GP 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 78388de8f22188c51cc9983d62c27879919b4716..541bc42bff7bb927264439360f677a9fe202a811 100644 GIT binary patch literal 49253 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 literal 49415 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 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 2bd41f9c94604be6059921eeb88c08ff268ac6b0..60f4679ed305ccc0251412e42225eabfc117c991 100644 GIT binary patch delta 41 wcmbR2JlT1Ihn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`E?Z0XdTohX4Qo 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 d52842397d627631b065d47af70229afeb5c1216..14ac689a67dffe0bb4f64d2f050af994250753b4 100644 GIT binary patch delta 41 wcmbP~I4N<0hn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`E?Q077&R&j0`b 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 68d66696d2e81f48f5814a95c4bb26a2cec6de6e..bbde4c950e38db783d37c42df2a5a6042a0ff97b 100644 GIT binary patch delta 41 wcmX?Jcf4+bhn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`B=z0RUZ65jFq- 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 cf5addcc342e8f65369ef9b82ed6e2ed86ecba76..d65db14e27aa77fcc66dc6aaa8cfe2f447d04b75 100644 GIT binary patch delta 41 wcmexa_p@$-hn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`FgC0c%$f%>V!Z 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 67f4e14c5fcf82062bf80b15de3129b1eed0cc23..da7b4d1f3409bbdd70d84ca455eebf8d64f83028 100644 GIT binary patch delta 46 zcmX>zh5gJF_6Z(xCOQfkB_##LR{Hw6i6sR&`6W4-NqYH3>H6}j%B78IThkbyodf`p C@ez9f delta 46 zcmX>zh5gJF_6Z(x#yScaB_##LR{Hw6i6sR&`6W4-NqYH3>H5c?MFcmdZB1i*b`k)g CTN3sF 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 02edff2c6790d59da2ab9a9ec131af327fded2e1..44dee9744305b12e36d06a3dc191acf43f256f1c 100644 GIT binary patch delta 49 zcmZpE$l3gmbApGQiH<@>Nl8JmmA-y%Vo5s E0K};gQUCw| delta 49 zcmZpE$l3gmbApGQv5rDUNl8JmmA-y%Vo5V!Z diff --git a/public/images/api/qiskit/qiskit-visualization-plot_state_hinton-1.png b/public/images/api/qiskit/qiskit-visualization-plot_state_hinton-1.png index a6472b5965732ddd85881fb26917fa10684a8d03..4f9ab2ea07aa8b5a1b7d5ca41e3cc913bcb97692 100644 GIT binary patch delta 41 wcmaD8_9kqChn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`Idd0b1!0LI3~& diff --git a/public/images/api/qiskit/qiskit-visualization-plot_state_paulivec-1.png b/public/images/api/qiskit/qiskit-visualization-plot_state_paulivec-1.png index 289a8195e6da3fa700e93c3b019a3c0e3820b5fa..aaf83e40d954c090a9a90c575fba60c1da4d92b4 100644 GIT binary patch delta 43 ycmdnl&bYIkae{}OiH<@>Nl8JmmA-y%Vo5H6}j%B36AzPJMbVuKJP delta 43 zcmcaLf$`P^#t9yB#yScaB_##LR{Hw6i6sR&`6W4-NqYH3>H5c?MFek5`{E7&ZF~`) diff --git a/public/images/api/qiskit/qiskit-visualization-plot_state_qsphere-1.png b/public/images/api/qiskit/qiskit-visualization-plot_state_qsphere-1.png index b46214f03ba0c6160ec777778efc992674809179..a43e19d8c18fec42fcec5ca52922134aa0ac8317 100644 GIT binary patch delta 43 ycmX@w!F05PX@ZBGiH<@>Nl8JmmA-y%Vo5H6}j%B36A+@=8lTnG=O delta 43 zcmZ3pmTAperU@Q$#yScaB_##LR{Hw6i6sR&`6W4-NqYH3>H5c?MFek5bDIVLX8{o( diff --git a/public/images/api/qiskit/qiskit-visualization-timeline_drawer-1.png b/public/images/api/qiskit/qiskit-visualization-timeline_drawer-1.png index ea184253adc00ba116301f0c80cae6878b87de78..c72a238776183daecd3ff26af33fe6346011b390 100644 GIT binary patch literal 15985 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 M5{mcp?mqDUKRk6NHUIzs literal 16166 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 diff --git a/public/images/api/qiskit/qiskit-visualization-timeline_drawer-2.png b/public/images/api/qiskit/qiskit-visualization-timeline_drawer-2.png index dbfdfe8859b768d59109db2989df9d1892176b1b..9ae5818beadd277970ff959ddef6aae2c1f3c296 100644 GIT binary patch literal 8474 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 diff --git a/public/images/api/qiskit/qiskit-visualization-timeline_drawer-3.png b/public/images/api/qiskit/qiskit-visualization-timeline_drawer-3.png index 3916ec336fba8fd7ffff6098a1e6a1f4b567955b..f7ebc7d2a123e83572fd5689d3e4a85701f217a0 100644 GIT binary patch literal 27012 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 C-k(_j literal 26519 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

N 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 diff --git a/public/images/api/qiskit/transpiler-10.png b/public/images/api/qiskit/transpiler-10.png index fd127e4324b75ee31b25d6e605499d3d3b269d44..6ca7419a60f99f328465991486be4df1c9a37ad7 100644 GIT binary patch delta 41 wcmdmQvEO2Xhn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`Ew|0{}%!5N`kg diff --git a/public/images/api/qiskit/transpiler-11.png b/public/images/api/qiskit/transpiler-11.png index f9a5e874408e9c3e2a974f37bacf56a20aa4729a..3107c25ea81f021658f17dacb0e277f068c250f7 100644 GIT binary patch delta 43 zcmdlri)q&^rU@Q$COQfkB_##LR{Hw6i6sR&`6W4-NqYH3>H6}j%B36AuJix^TcHph delta 43 zcmdlri)q&^rU@Q$#yScaB_##LR{Hw6i6sR&`6W4-NqYH3>H5c?MFek5yV3&yW||S1 diff --git a/public/images/api/qiskit/transpiler-12.png b/public/images/api/qiskit/transpiler-12.png index 9e5a002881ecc832496d442e98ae284ab0f57cce..2d80ab28ad42c6247a8207c1e27f50d321ca7359 100644 GIT binary patch literal 8913 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 literal 9016 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 delta 43 zcmdlri)q&^rU@Q$#yScaB_##LR{Hw6i6sR&`6W4-NqYH3>H5c?MFek5yV3&yW||S1 diff --git a/public/images/api/qiskit/transpiler-14.png b/public/images/api/qiskit/transpiler-14.png index 439b5033095840016175e162978ed6a00991265c..5d0a60038f7f762c89a42457b6976e39c6fb0af6 100644 GIT binary patch delta 43 zcmcaLkMY(##t9yBCOQfkB_##LR{Hw6i6sR&`6W4-NqYH3>H6}j%B36AzW4zEX7~_B delta 43 zcmcaLkMY(##t9yB#yScaB_##LR{Hw6i6sR&`6W4-NqYH3>H5c?MFek5`{D-xaq$ts diff --git a/public/images/api/qiskit/transpiler-15.png b/public/images/api/qiskit/transpiler-15.png index 5c65515ce89f1df3fbc296856edf35183a71e44c..309b84dda450f1b986b7850d0adae635b4309d42 100644 GIT binary patch delta 41 wcmaFt{n&eghn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`El40ad3EivR!s diff --git a/public/images/api/qiskit/transpiler-16.png b/public/images/api/qiskit/transpiler-16.png index 57a31615e62a83148268db9402dde4e4c2bcca4a..2bfd4ad9bc12ef784650aa45691e4f0acdc7f11b 100644 GIT binary patch literal 24853 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 J=PFtF{teK@^{)T` literal 24600 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%0Aw1=j)m4P%3ly@N58hUJR9DYC`&~FR7hV zm|?D|N@RgRS^U+fch;#+nUcugFhjU$0EFC!9{pl>QwEE`V(XpL`z26%2X3n3?`NEM&U<_>+mkkIjp z>Xy9nWM>h_W>#{MO;Xg9X8m%T4(v7Zs|>STW9RojSf%%;J_*XxOPr`;H}@8fZ&40RA1ohqW$#m)(1wDMS z4??of5a-2l>lSg4uT3h~pZ=4{&2PW@PyR6sr28{D% diff --git a/public/images/api/qiskit/transpiler-17.png b/public/images/api/qiskit/transpiler-17.png index b69151376cfbd8459083ab775a87141a8b8ab8f6..b21766e9752b238f9395186c347abfe5544f302b 100644 GIT binary patch literal 19159 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 literal 18520 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 diff --git a/public/images/api/qiskit/transpiler-4.png b/public/images/api/qiskit/transpiler-4.png index fd2148a3bcafec4f4bcd75b2bdd925324f0fa5d5..63022a7d06b65189c70f1cd01a8ffd552c6afdda 100644 GIT binary patch delta 41 wcmbPeIMHx|hn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`HEU05fV2Q~&?~ diff --git a/public/images/api/qiskit/transpiler-5.png b/public/images/api/qiskit/transpiler-5.png index 6ddf41c71a51a20122475e8532c8d2eb132d5559..fc887d9899c7e30b54842d43f0cf35c123a40ac9 100644 GIT binary patch delta 43 ycmaDpm+|>r#t9yBCOQfkB_##LR{Hw6i6sR&`6W4-NqYH3>H6}j%B36A8vOui_z&v< delta 43 zcmaDpm+|>r#t9yB#yScaB_##LR{Hw6i6sR&`6W4-NqYH3>H5c?MFek5YxDyEbny{p diff --git a/public/images/api/qiskit/transpiler-6.png b/public/images/api/qiskit/transpiler-6.png index 7b5d2343788e4f3275b1bd19769fc2bdf25d2614..b5ef1043e7e11218a303c1ba9c78c81d51414a59 100644 GIT binary patch delta 41 wcmaDE_%d*Uhn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`GLK09k4ftN;K2 diff --git a/public/images/api/qiskit/transpiler-7.png b/public/images/api/qiskit/transpiler-7.png index a23a55d8c9062bd2537b8fa0debbcfbc642dd76c..8b4a3165e01c09c838c4071b23e9d045e23813d9 100644 GIT binary patch delta 41 wcmewn_aknChn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x{{R30 delta 41 wcmewn_aknChn%sFLPkkRL9vy-er{q(K~8>2PG*u`eo?yq@n;di8`FgJ0bw-|dH?_b diff --git a/public/images/api/qiskit/transpiler-8.png b/public/images/api/qiskit/transpiler-8.png index 14e6b007d0975a662e4a71213e86abf04e2e7cb3..df01cace192445ca1a0ed5874c7a594202fb9791 100644 GIT binary patch delta 41 wcmZ2$v({#Uhn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`F-<0suh45JLa} diff --git a/public/images/api/qiskit/transpiler-9.png b/public/images/api/qiskit/transpiler-9.png index da85495e467ae4897e78f69362ba33414b1a028a..7aa2a841a5c011e2b52fcd31ed3b12ed3409036c 100644 GIT binary patch delta 41 wcmaE7{my!Vhn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x<{9 delta 41 wcmaE7{my!Vhn%sFLPkkRL9vy-er{q(K~8>2PG*u`eo?yq@n;di8`C;u0aQg0ga7~l diff --git a/public/images/api/qiskit/visualization-1.png b/public/images/api/qiskit/visualization-1.png index 03ed0f43616796fb11b73e7170217e4960d8d0b3..58eeab4cfc3f48b7aa03febffcaad47bbe30aec4 100644 GIT binary patch delta 41 wcmdlLxGQjihn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`DBG07_gC9{>OV diff --git a/public/images/api/qiskit/visualization-2.png b/public/images/api/qiskit/visualization-2.png index 617c4034c1b8f1cdeb64cff07873ed3b8fb04d94..6b9f6f93e6010059748917aa9c398631839211ff 100644 GIT binary patch delta 43 ycmeBeXY6ffoZum6qN9*eQc_TCrLUixSW=LaUy_rVq?ccmt}m~uT)Ht$-5CHy6%M8V delta 43 ycmeBeXY6ffoZum6tfP=oQc_TCrLUixSW=LaUy_rVq?ccmu7CVlMDWHmb!Pxj4iF&# diff --git a/public/images/api/qiskit/visualization-3.png b/public/images/api/qiskit/visualization-3.png index 9e9259f90a48c295b986fe0a4fad1ebc248f6b36..84550d2b54519afef71029a8f25538eb6a6880b1 100644 GIT binary patch delta 41 wcmdn!x6yBchn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x2PG*u`eo?yq@n;di8`Dm!0RTsi5PSdt diff --git a/public/images/api/qiskit/visualization-4.png b/public/images/api/qiskit/visualization-4.png index 1cad6080d6fd0a0f0f25723f651c11744a79247d..7a5e24c28bbb1c26708c2b4f3707f08208cf2e4a 100644 GIT binary patch delta 46 zcmca|k?qPwwh10`COQfkB_##LR{Hw6i6sR&`6W4-NqYH3>H6}j%B78IThkcxRsaB~ C4iRbq delta 46 zcmca|k?qPwwh10`#yScaB_##LR{Hw6i6sR&`6W4-NqYH3>H5c?MFcmdZB1j$TLA#K CcoO9R diff --git a/public/images/api/qiskit/visualization-5.png b/public/images/api/qiskit/visualization-5.png index 151b51c87c6d48f0e3b231529a67bf4b20e86b17..2ee0bbcab206a1ad8898da2bab9b8953bea7c50f 100644 GIT binary patch delta 46 zcmdn}nQixHwh10`COQfkB_##LR{Hw6i6sR&`6W4-NqYH3>H6}j%B78IThkarcLD&a C$`Nz` delta 46 zcmdn}nQixHwh10`#yScaB_##LR{Hw6i6sR&`6W4-NqYH3>H5c?MFcmdZB1hg-3b7? CG!pLs diff --git a/public/images/api/qiskit/visualization-6.png b/public/images/api/qiskit/visualization-6.png index 151b51c87c6d48f0e3b231529a67bf4b20e86b17..2ee0bbcab206a1ad8898da2bab9b8953bea7c50f 100644 GIT binary patch delta 46 zcmdn}nQixHwh10`COQfkB_##LR{Hw6i6sR&`6W4-NqYH3>H6}j%B78IThkarcLD&a C$`Nz` delta 46 zcmdn}nQixHwh10`#yScaB_##LR{Hw6i6sR&`6W4-NqYH3>H5c?MFcmdZB1hg-3b7? CG!pLs