qsharp-lang 1.10.2-dev → 1.10.3-dev
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/katas-content.generated.js +3 -3
- package/dist/katas-content.generated.md.js +3 -3
- package/dist/samples.generated.js +23 -18
- package/docs/Microsoft.Quantum.Core/Length.md +4 -5
- package/docs/Microsoft.Quantum.Core/Repeated.md +4 -5
- package/docs/Microsoft.Quantum.Core/index.md +18 -0
- package/docs/{Microsoft.Quantum.Unstable.Arithmetic → Std.Arithmetic}/AddLE.md +5 -4
- package/docs/{Microsoft.Quantum.Unstable.Arithmetic → Std.Arithmetic}/ApplyIfEqualL.md +5 -4
- package/docs/{Microsoft.Quantum.Unstable.Arithmetic → Std.Arithmetic}/ApplyIfEqualLE.md +5 -4
- package/docs/{Microsoft.Quantum.Unstable.Arithmetic → Std.Arithmetic}/ApplyIfGreaterL.md +5 -4
- package/docs/{Microsoft.Quantum.Unstable.Arithmetic → Std.Arithmetic}/ApplyIfGreaterLE.md +5 -4
- package/docs/{Microsoft.Quantum.Unstable.Arithmetic → Std.Arithmetic}/ApplyIfGreaterOrEqualL.md +5 -4
- package/docs/{Microsoft.Quantum.Unstable.Arithmetic → Std.Arithmetic}/ApplyIfGreaterOrEqualLE.md +5 -4
- package/docs/{Microsoft.Quantum.Unstable.Arithmetic → Std.Arithmetic}/ApplyIfLessL.md +5 -4
- package/docs/{Microsoft.Quantum.Unstable.Arithmetic → Std.Arithmetic}/ApplyIfLessLE.md +5 -4
- package/docs/{Microsoft.Quantum.Unstable.Arithmetic → Std.Arithmetic}/ApplyIfLessOrEqualL.md +5 -4
- package/docs/{Microsoft.Quantum.Unstable.Arithmetic → Std.Arithmetic}/ApplyIfLessOrEqualLE.md +5 -4
- package/docs/{Microsoft.Quantum.Unstable.Arithmetic → Std.Arithmetic}/FourierTDIncByLE.md +5 -4
- package/docs/{Microsoft.Quantum.Unstable.Arithmetic → Std.Arithmetic}/IncByI.md +5 -4
- package/docs/{Microsoft.Quantum.Unstable.Arithmetic → Std.Arithmetic}/IncByIUsingIncByLE.md +5 -4
- package/docs/{Microsoft.Quantum.Unstable.Arithmetic → Std.Arithmetic}/IncByL.md +5 -4
- package/docs/{Microsoft.Quantum.Unstable.Arithmetic → Std.Arithmetic}/IncByLE.md +5 -4
- package/docs/{Microsoft.Quantum.Unstable.Arithmetic → Std.Arithmetic}/IncByLEUsingAddLE.md +5 -4
- package/docs/{Microsoft.Quantum.Unstable.Arithmetic → Std.Arithmetic}/IncByLUsingIncByLE.md +5 -4
- package/docs/{Microsoft.Quantum.Unstable.Arithmetic → Std.Arithmetic}/LookAheadDKRSAddLE.md +5 -4
- package/docs/{Microsoft.Quantum.Unstable.Arithmetic → Std.Arithmetic}/MAJ.md +5 -4
- package/docs/{Microsoft.Quantum.Unstable.Arithmetic → Std.Arithmetic}/ReflectAboutInteger.md +5 -4
- package/docs/{Microsoft.Quantum.Unstable.Arithmetic → Std.Arithmetic}/RippleCarryCGAddLE.md +5 -4
- package/docs/{Microsoft.Quantum.Unstable.Arithmetic → Std.Arithmetic}/RippleCarryCGIncByLE.md +5 -4
- package/docs/{Microsoft.Quantum.Unstable.Arithmetic → Std.Arithmetic}/RippleCarryTTKIncByLE.md +5 -4
- package/docs/Std.Arithmetic/index.md +40 -0
- package/docs/Std.Arrays/All.md +2 -1
- package/docs/Std.Arrays/Any.md +2 -1
- package/docs/Std.Arrays/Chunks.md +2 -1
- package/docs/Std.Arrays/CircularlyShifted.md +2 -1
- package/docs/Std.Arrays/ColumnAt.md +2 -1
- package/docs/Std.Arrays/Count.md +2 -1
- package/docs/Std.Arrays/Diagonal.md +2 -1
- package/docs/Std.Arrays/DrawMany.md +2 -1
- package/docs/Std.Arrays/Enumerated.md +2 -1
- package/docs/Std.Arrays/Excluding.md +2 -1
- package/docs/Std.Arrays/Filtered.md +2 -1
- package/docs/Std.Arrays/FlatMapped.md +2 -1
- package/docs/Std.Arrays/Flattened.md +2 -1
- package/docs/Std.Arrays/Fold.md +2 -1
- package/docs/Std.Arrays/ForEach.md +2 -1
- package/docs/Std.Arrays/Head.md +2 -1
- package/docs/Std.Arrays/HeadAndRest.md +2 -1
- package/docs/Std.Arrays/IndexOf.md +2 -1
- package/docs/Std.Arrays/IndexRange.md +2 -1
- package/docs/Std.Arrays/Interleaved.md +2 -1
- package/docs/Std.Arrays/IsEmpty.md +2 -1
- package/docs/Std.Arrays/IsRectangularArray.md +2 -1
- package/docs/Std.Arrays/IsSorted.md +2 -1
- package/docs/Std.Arrays/IsSquareArray.md +2 -1
- package/docs/Std.Arrays/Mapped.md +2 -1
- package/docs/Std.Arrays/MappedByIndex.md +2 -1
- package/docs/Std.Arrays/MappedOverRange.md +2 -1
- package/docs/Std.Arrays/Most.md +2 -1
- package/docs/Std.Arrays/MostAndTail.md +2 -1
- package/docs/Std.Arrays/Padded.md +2 -1
- package/docs/Std.Arrays/Partitioned.md +2 -1
- package/docs/Std.Arrays/Rest.md +2 -1
- package/docs/Std.Arrays/Reversed.md +2 -1
- package/docs/Std.Arrays/SequenceI.md +2 -1
- package/docs/Std.Arrays/SequenceL.md +2 -1
- package/docs/Std.Arrays/Sorted.md +2 -1
- package/docs/Std.Arrays/Subarray.md +2 -1
- package/docs/Std.Arrays/Swapped.md +2 -1
- package/docs/Std.Arrays/Tail.md +2 -1
- package/docs/Std.Arrays/Transposed.md +2 -1
- package/docs/Std.Arrays/Unzipped.md +2 -1
- package/docs/Std.Arrays/Where.md +2 -1
- package/docs/Std.Arrays/Windows.md +2 -1
- package/docs/Std.Arrays/Zipped.md +2 -1
- package/docs/Std.Arrays/index.md +60 -0
- package/docs/Std.Canon/ApplyCNOTChain.md +2 -1
- package/docs/Std.Canon/ApplyControlledOnBitString.md +2 -1
- package/docs/Std.Canon/ApplyControlledOnInt.md +2 -1
- package/docs/Std.Canon/ApplyP.md +2 -1
- package/docs/Std.Canon/ApplyPauli.md +2 -1
- package/docs/Std.Canon/ApplyPauliFromBitString.md +2 -1
- package/docs/Std.Canon/ApplyPauliFromInt.md +2 -1
- package/docs/Std.Canon/ApplyQFT.md +2 -1
- package/docs/Std.Canon/ApplyToEach.md +2 -1
- package/docs/Std.Canon/ApplyToEachA.md +2 -1
- package/docs/Std.Canon/ApplyToEachC.md +2 -1
- package/docs/Std.Canon/ApplyToEachCA.md +2 -1
- package/docs/Std.Canon/ApplyXorInPlace.md +2 -1
- package/docs/Std.Canon/ApplyXorInPlaceL.md +2 -1
- package/docs/Std.Canon/CX.md +2 -1
- package/docs/Std.Canon/CY.md +2 -1
- package/docs/Std.Canon/CZ.md +2 -1
- package/docs/Std.Canon/Fst.md +2 -1
- package/docs/Std.Canon/Relabel.md +2 -1
- package/docs/Std.Canon/Snd.md +2 -1
- package/docs/Std.Canon/SwapReverseRegister.md +2 -1
- package/docs/Std.Canon/index.md +37 -0
- package/docs/Std.Convert/BigIntAsBoolArray.md +2 -1
- package/docs/Std.Convert/BoolArrayAsBigInt.md +2 -1
- package/docs/Std.Convert/BoolArrayAsInt.md +2 -1
- package/docs/Std.Convert/BoolArrayAsResultArray.md +2 -1
- package/docs/Std.Convert/BoolAsResult.md +2 -1
- package/docs/Std.Convert/ComplexAsComplexPolar.md +2 -1
- package/docs/Std.Convert/ComplexPolarAsComplex.md +2 -1
- package/docs/Std.Convert/DoubleAsStringWithPrecision.md +2 -1
- package/docs/Std.Convert/IntAsBigInt.md +2 -1
- package/docs/Std.Convert/IntAsBoolArray.md +2 -1
- package/docs/Std.Convert/IntAsDouble.md +2 -1
- package/docs/Std.Convert/ResultArrayAsBoolArray.md +2 -1
- package/docs/Std.Convert/ResultArrayAsInt.md +2 -1
- package/docs/Std.Convert/ResultAsBool.md +2 -1
- package/docs/Std.Convert/index.md +30 -0
- package/docs/Std.Core/Length.md +2 -1
- package/docs/Std.Core/Repeated.md +2 -1
- package/docs/Std.Core/index.md +18 -0
- package/docs/Std.Diagnostics/ApplyIdleNoise.md +34 -0
- package/docs/Std.Diagnostics/BitFlipNoise.md +23 -0
- package/docs/Std.Diagnostics/CheckAllZero.md +38 -0
- package/docs/Std.Diagnostics/CheckOperationsAreEqual.md +49 -0
- package/docs/Std.Diagnostics/CheckZero.md +38 -0
- package/docs/Std.Diagnostics/ConfigurePauliNoise.md +38 -0
- package/docs/Std.Diagnostics/DepolarizingNoise.md +23 -0
- package/docs/Std.Diagnostics/DumpMachine.md +2 -1
- package/docs/Std.Diagnostics/DumpOperation.md +3 -2
- package/docs/Std.Diagnostics/DumpRegister.md +2 -1
- package/docs/Std.Diagnostics/Fact.md +2 -1
- package/docs/Std.Diagnostics/NoNoise.md +23 -0
- package/docs/Std.Diagnostics/PhaseFlipNoise.md +23 -0
- package/docs/Std.Diagnostics/StartCountingFunction.md +44 -0
- package/docs/Std.Diagnostics/StartCountingOperation.md +53 -0
- package/docs/Std.Diagnostics/StartCountingQubits.md +39 -0
- package/docs/Std.Diagnostics/StopCountingFunction.md +34 -0
- package/docs/Std.Diagnostics/StopCountingOperation.md +34 -0
- package/docs/Std.Diagnostics/StopCountingQubits.md +30 -0
- package/docs/Std.Diagnostics/index.md +35 -0
- package/docs/Std.Intrinsic/AND.md +3 -2
- package/docs/Std.Intrinsic/CCNOT.md +2 -1
- package/docs/Std.Intrinsic/CNOT.md +2 -1
- package/docs/Std.Intrinsic/Exp.md +2 -1
- package/docs/Std.Intrinsic/H.md +2 -1
- package/docs/Std.Intrinsic/I.md +2 -1
- package/docs/Std.Intrinsic/M.md +2 -1
- package/docs/Std.Intrinsic/Measure.md +2 -1
- package/docs/Std.Intrinsic/Message.md +2 -1
- package/docs/Std.Intrinsic/R.md +2 -1
- package/docs/Std.Intrinsic/R1.md +3 -2
- package/docs/Std.Intrinsic/R1Frac.md +3 -2
- package/docs/Std.Intrinsic/RFrac.md +2 -1
- package/docs/Std.Intrinsic/Reset.md +3 -2
- package/docs/Std.Intrinsic/ResetAll.md +3 -2
- package/docs/Std.Intrinsic/Rx.md +2 -1
- package/docs/Std.Intrinsic/Rxx.md +2 -1
- package/docs/Std.Intrinsic/Ry.md +2 -1
- package/docs/Std.Intrinsic/Ryy.md +2 -1
- package/docs/Std.Intrinsic/Rz.md +2 -1
- package/docs/Std.Intrinsic/Rzz.md +2 -1
- package/docs/Std.Intrinsic/S.md +2 -1
- package/docs/Std.Intrinsic/SWAP.md +2 -1
- package/docs/Std.Intrinsic/T.md +2 -1
- package/docs/Std.Intrinsic/X.md +2 -1
- package/docs/Std.Intrinsic/Y.md +2 -1
- package/docs/Std.Intrinsic/Z.md +2 -1
- package/docs/Std.Intrinsic/index.md +43 -0
- package/docs/Std.Logical/Xor.md +2 -1
- package/docs/Std.Logical/index.md +17 -0
- package/docs/Std.Math/AbsComplex.md +2 -1
- package/docs/Std.Math/AbsComplexPolar.md +2 -1
- package/docs/Std.Math/AbsD.md +2 -1
- package/docs/Std.Math/AbsI.md +2 -1
- package/docs/Std.Math/AbsL.md +6 -2
- package/docs/Std.Math/AbsSquaredComplex.md +2 -1
- package/docs/Std.Math/AbsSquaredComplexPolar.md +2 -1
- package/docs/Std.Math/ApproximateFactorial.md +2 -1
- package/docs/Std.Math/ArcCos.md +2 -1
- package/docs/Std.Math/ArcCosh.md +2 -1
- package/docs/Std.Math/ArcSin.md +2 -1
- package/docs/Std.Math/ArcSinh.md +2 -1
- package/docs/Std.Math/ArcTan.md +2 -1
- package/docs/Std.Math/ArcTan2.md +2 -1
- package/docs/Std.Math/ArcTanh.md +2 -1
- package/docs/Std.Math/ArgComplex.md +2 -1
- package/docs/Std.Math/ArgComplexPolar.md +2 -1
- package/docs/Std.Math/Binom.md +2 -1
- package/docs/Std.Math/BitSizeI.md +2 -1
- package/docs/Std.Math/BitSizeL.md +2 -1
- package/docs/Std.Math/Ceiling.md +2 -1
- package/docs/Std.Math/Complex.md +2 -1
- package/docs/Std.Math/ComplexPolar.md +2 -1
- package/docs/Std.Math/ContinuedFractionConvergentI.md +2 -1
- package/docs/Std.Math/ContinuedFractionConvergentL.md +2 -1
- package/docs/Std.Math/Cos.md +2 -1
- package/docs/Std.Math/Cosh.md +2 -1
- package/docs/Std.Math/DivRemI.md +2 -1
- package/docs/Std.Math/DivRemL.md +2 -1
- package/docs/Std.Math/DividedByC.md +2 -1
- package/docs/Std.Math/DividedByCP.md +2 -1
- package/docs/Std.Math/E.md +2 -1
- package/docs/Std.Math/ExpModI.md +2 -1
- package/docs/Std.Math/ExpModL.md +2 -1
- package/docs/Std.Math/ExtendedGreatestCommonDivisorI.md +2 -1
- package/docs/Std.Math/ExtendedGreatestCommonDivisorL.md +2 -1
- package/docs/Std.Math/FactorialI.md +2 -1
- package/docs/Std.Math/FactorialL.md +2 -1
- package/docs/Std.Math/Floor.md +2 -1
- package/docs/Std.Math/GreatestCommonDivisorI.md +2 -1
- package/docs/Std.Math/GreatestCommonDivisorL.md +2 -1
- package/docs/Std.Math/HammingWeightI.md +2 -1
- package/docs/Std.Math/InverseModI.md +2 -1
- package/docs/Std.Math/InverseModL.md +2 -1
- package/docs/Std.Math/IsCoprimeI.md +2 -1
- package/docs/Std.Math/IsCoprimeL.md +2 -1
- package/docs/Std.Math/IsInfinite.md +2 -1
- package/docs/Std.Math/IsNaN.md +2 -1
- package/docs/Std.Math/LargestFixedPoint.md +2 -1
- package/docs/Std.Math/Lg.md +2 -1
- package/docs/Std.Math/Log.md +2 -1
- package/docs/Std.Math/Log10.md +2 -1
- package/docs/Std.Math/LogFactorialD.md +2 -1
- package/docs/Std.Math/LogGammaD.md +2 -1
- package/docs/Std.Math/LogOf2.md +2 -1
- package/docs/Std.Math/Max.md +2 -1
- package/docs/Std.Math/MaxD.md +2 -1
- package/docs/Std.Math/MaxI.md +2 -1
- package/docs/Std.Math/MaxL.md +2 -1
- package/docs/Std.Math/Min.md +2 -1
- package/docs/Std.Math/MinD.md +2 -1
- package/docs/Std.Math/MinI.md +2 -1
- package/docs/Std.Math/MinL.md +2 -1
- package/docs/Std.Math/MinusC.md +2 -1
- package/docs/Std.Math/MinusCP.md +2 -1
- package/docs/Std.Math/ModulusI.md +2 -1
- package/docs/Std.Math/ModulusL.md +2 -1
- package/docs/Std.Math/NegationC.md +2 -1
- package/docs/Std.Math/NegationCP.md +2 -1
- package/docs/Std.Math/PI.md +2 -1
- package/docs/Std.Math/PNorm.md +3 -2
- package/docs/Std.Math/PNormalized.md +3 -2
- package/docs/Std.Math/PlusC.md +2 -1
- package/docs/Std.Math/PlusCP.md +2 -1
- package/docs/Std.Math/PowC.md +2 -1
- package/docs/Std.Math/PowCP.md +2 -1
- package/docs/Std.Math/RealMod.md +2 -1
- package/docs/Std.Math/Round.md +2 -1
- package/docs/Std.Math/SignD.md +2 -1
- package/docs/Std.Math/SignI.md +2 -1
- package/docs/Std.Math/SignL.md +2 -1
- package/docs/Std.Math/Sin.md +2 -1
- package/docs/Std.Math/Sinh.md +2 -1
- package/docs/Std.Math/SmallestFixedPoint.md +2 -1
- package/docs/Std.Math/Sqrt.md +2 -1
- package/docs/Std.Math/SquaredNorm.md +2 -1
- package/docs/Std.Math/Tan.md +2 -1
- package/docs/Std.Math/Tanh.md +2 -1
- package/docs/Std.Math/TimesC.md +2 -1
- package/docs/Std.Math/TimesCP.md +2 -1
- package/docs/Std.Math/TrailingZeroCountI.md +2 -1
- package/docs/Std.Math/TrailingZeroCountL.md +2 -1
- package/docs/Std.Math/Truncate.md +2 -1
- package/docs/Std.Math/index.md +109 -0
- package/docs/Std.Measurement/MResetEachZ.md +2 -1
- package/docs/Std.Measurement/MResetX.md +2 -1
- package/docs/Std.Measurement/MResetY.md +2 -1
- package/docs/Std.Measurement/MResetZ.md +2 -1
- package/docs/Std.Measurement/MeasureAllZ.md +2 -1
- package/docs/Std.Measurement/MeasureEachZ.md +2 -1
- package/docs/Std.Measurement/MeasureInteger.md +2 -1
- package/docs/Std.Measurement/index.md +23 -0
- package/docs/Std.Random/DrawRandomBool.md +38 -0
- package/docs/Std.Random/DrawRandomDouble.md +40 -0
- package/docs/Std.Random/DrawRandomInt.md +40 -0
- package/docs/Std.Random/index.md +19 -0
- package/docs/Std.Range/IsRangeEmpty.md +2 -1
- package/docs/Std.Range/RangeEnd.md +2 -1
- package/docs/Std.Range/RangeReverse.md +2 -1
- package/docs/Std.Range/RangeStart.md +2 -1
- package/docs/Std.Range/RangeStep.md +2 -1
- package/docs/Std.Range/index.md +21 -0
- package/docs/Std.ResourceEstimation/AccountForEstimates.md +2 -1
- package/docs/Std.ResourceEstimation/AuxQubitCount.md +2 -1
- package/docs/Std.ResourceEstimation/BeginEstimateCaching.md +2 -1
- package/docs/Std.ResourceEstimation/BeginRepeatEstimates.md +2 -1
- package/docs/Std.ResourceEstimation/CczCount.md +2 -1
- package/docs/Std.ResourceEstimation/EndEstimateCaching.md +2 -1
- package/docs/Std.ResourceEstimation/EndRepeatEstimates.md +2 -1
- package/docs/Std.ResourceEstimation/MeasurementCount.md +2 -1
- package/docs/Std.ResourceEstimation/PSSPCLayout.md +2 -1
- package/docs/Std.ResourceEstimation/RepeatEstimates.md +2 -1
- package/docs/Std.ResourceEstimation/RotationCount.md +2 -1
- package/docs/Std.ResourceEstimation/RotationDepth.md +2 -1
- package/docs/Std.ResourceEstimation/SingleVariant.md +2 -1
- package/docs/Std.ResourceEstimation/TCount.md +2 -1
- package/docs/Std.ResourceEstimation/index.md +30 -0
- package/docs/{Microsoft.Quantum.Unstable.StatePreparation → Std.StatePreparation}/ApproximatelyPreparePureStateCP.md +5 -4
- package/docs/{Microsoft.Quantum.Unstable.StatePreparation → Std.StatePreparation}/PreparePureStateD.md +6 -5
- package/docs/Std.StatePreparation/index.md +18 -0
- package/docs/{Microsoft.Quantum.Unstable.TableLookup → Std.TableLookup}/Select.md +5 -4
- package/docs/Std.TableLookup/index.md +17 -0
- package/docs/index.md +32 -0
- package/docs/toc.yml +76 -38
- package/lib/node/qsc_wasm.cjs +1 -1
- package/lib/node/qsc_wasm.d.cts +1 -1
- package/lib/node/qsc_wasm_bg.wasm +0 -0
- package/lib/web/qsc_wasm.d.ts +1 -1
- package/lib/web/qsc_wasm.js +1 -1
- package/lib/web/qsc_wasm_bg.wasm +0 -0
- package/package.json +1 -1
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Std.Diagnostics.CheckAllZero
|
|
3
|
+
title: CheckAllZero operation
|
|
4
|
+
description: "Q# CheckAllZero operation: Checks whether all qubits in the provided array are in the \|0⟩ state. Returns true if they are."
|
|
5
|
+
ms.date: 11/15/2024
|
|
6
|
+
ms.topic: managed-reference
|
|
7
|
+
qsharp.kind: operation
|
|
8
|
+
qsharp.package: __Std__
|
|
9
|
+
qsharp.namespace: Std.Diagnostics
|
|
10
|
+
qsharp.name: CheckAllZero
|
|
11
|
+
qsharp.summary: "Checks whether all qubits in the provided array are in the \|0⟩ state. Returns true if they are."
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# CheckAllZero operation
|
|
15
|
+
|
|
16
|
+
Fully qualified name: Std.Diagnostics.CheckAllZero
|
|
17
|
+
|
|
18
|
+
```qsharp
|
|
19
|
+
operation CheckAllZero(qubits : Qubit[]) : Bool
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Summary
|
|
23
|
+
Checks whether all qubits in the provided array are in the |0⟩ state. Returns true if they are.
|
|
24
|
+
|
|
25
|
+
## Description
|
|
26
|
+
This operation checks whether all qubits in the provided array are in the |0⟩ state. It will return true only
|
|
27
|
+
if all qubits are deterministically in the |0⟩ state, and will return false otherwise. This operation
|
|
28
|
+
does not change the state of the qubits.
|
|
29
|
+
|
|
30
|
+
## Input
|
|
31
|
+
### qubits
|
|
32
|
+
The qubits to check.
|
|
33
|
+
## Output
|
|
34
|
+
True if all qubits are in the |0⟩ state, false otherwise.
|
|
35
|
+
|
|
36
|
+
## Remarks
|
|
37
|
+
This operation is useful for checking whether a qubit is in the |0⟩ state during simulation. It is not possible to check
|
|
38
|
+
this on hardware without measuring the qubit, which could change the state.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Std.Diagnostics.CheckOperationsAreEqual
|
|
3
|
+
title: CheckOperationsAreEqual operation
|
|
4
|
+
description: "Q# CheckOperationsAreEqual operation: Given two operations, checks that they act identically for all input states."
|
|
5
|
+
ms.date: 11/15/2024
|
|
6
|
+
ms.topic: managed-reference
|
|
7
|
+
qsharp.kind: operation
|
|
8
|
+
qsharp.package: __Std__
|
|
9
|
+
qsharp.namespace: Std.Diagnostics
|
|
10
|
+
qsharp.name: CheckOperationsAreEqual
|
|
11
|
+
qsharp.summary: "Given two operations, checks that they act identically for all input states."
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# CheckOperationsAreEqual operation
|
|
15
|
+
|
|
16
|
+
Fully qualified name: Std.Diagnostics.CheckOperationsAreEqual
|
|
17
|
+
|
|
18
|
+
```qsharp
|
|
19
|
+
operation CheckOperationsAreEqual(nQubits : Int, actual : (Qubit[] => Unit), expected : (Qubit[] => Unit is Adj)) : Bool
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Summary
|
|
23
|
+
Given two operations, checks that they act identically for all input states.
|
|
24
|
+
|
|
25
|
+
## Description
|
|
26
|
+
This check is implemented by using the Choi–Jamiołkowski isomorphism to reduce
|
|
27
|
+
this check to a check on two entangled registers.
|
|
28
|
+
Thus, this operation needs only a single call to each operation being tested,
|
|
29
|
+
but requires twice as many qubits to be allocated.
|
|
30
|
+
This check can be used to ensure, for instance, that an optimized version of an
|
|
31
|
+
operation acts identically to its naïve implementation, or that an operation
|
|
32
|
+
which acts on a range of non-quantum inputs agrees with known cases.
|
|
33
|
+
|
|
34
|
+
## Remarks
|
|
35
|
+
This operation requires that the operation modeling the expected behavior is
|
|
36
|
+
adjointable, so that the inverse can be performed on the target register alone.
|
|
37
|
+
Formally, one can specify a transpose operation, which relaxes this requirement,
|
|
38
|
+
but the transpose operation is not in general physically realizable for arbitrary
|
|
39
|
+
quantum operations and thus is not included here as an option.
|
|
40
|
+
|
|
41
|
+
## Input
|
|
42
|
+
### nQubits
|
|
43
|
+
Number of qubits to pass to each operation.
|
|
44
|
+
### actual
|
|
45
|
+
Operation to be tested.
|
|
46
|
+
### expected
|
|
47
|
+
Operation defining the expected behavior for the operation under test.
|
|
48
|
+
## Output
|
|
49
|
+
True if operations are equal, false otherwise.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Std.Diagnostics.CheckZero
|
|
3
|
+
title: CheckZero operation
|
|
4
|
+
description: "Q# CheckZero operation: Checks whether a qubit is in the \|0⟩ state, returning true if it is."
|
|
5
|
+
ms.date: 11/15/2024
|
|
6
|
+
ms.topic: managed-reference
|
|
7
|
+
qsharp.kind: operation
|
|
8
|
+
qsharp.package: __Std__
|
|
9
|
+
qsharp.namespace: Std.Diagnostics
|
|
10
|
+
qsharp.name: CheckZero
|
|
11
|
+
qsharp.summary: "Checks whether a qubit is in the \|0⟩ state, returning true if it is."
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# CheckZero operation
|
|
15
|
+
|
|
16
|
+
Fully qualified name: Std.Diagnostics.CheckZero
|
|
17
|
+
|
|
18
|
+
```qsharp
|
|
19
|
+
operation CheckZero(qubit : Qubit) : Bool
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Summary
|
|
23
|
+
Checks whether a qubit is in the |0⟩ state, returning true if it is.
|
|
24
|
+
|
|
25
|
+
## Description
|
|
26
|
+
This operation checks whether a qubit is in the |0⟩ state. It will return true only
|
|
27
|
+
if the qubit is deterministically in the |0⟩ state, and will return false otherwise. This operation
|
|
28
|
+
does not change the state of the qubit.
|
|
29
|
+
|
|
30
|
+
## Input
|
|
31
|
+
### qubit
|
|
32
|
+
The qubit to check.
|
|
33
|
+
## Output
|
|
34
|
+
True if the qubit is in the |0⟩ state, false otherwise.
|
|
35
|
+
|
|
36
|
+
## Remarks
|
|
37
|
+
This operation is useful for checking whether a qubit is in the |0⟩ state during simulation. It is not possible to check
|
|
38
|
+
this on hardware without measuring the qubit, which could change the state.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Std.Diagnostics.ConfigurePauliNoise
|
|
3
|
+
title: ConfigurePauliNoise function
|
|
4
|
+
description: "Q# ConfigurePauliNoise function: Configures Pauli noise for simulation."
|
|
5
|
+
ms.date: 11/15/2024
|
|
6
|
+
ms.topic: managed-reference
|
|
7
|
+
qsharp.kind: function
|
|
8
|
+
qsharp.package: __Std__
|
|
9
|
+
qsharp.namespace: Std.Diagnostics
|
|
10
|
+
qsharp.name: ConfigurePauliNoise
|
|
11
|
+
qsharp.summary: "Configures Pauli noise for simulation."
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# ConfigurePauliNoise function
|
|
15
|
+
|
|
16
|
+
Fully qualified name: Std.Diagnostics.ConfigurePauliNoise
|
|
17
|
+
|
|
18
|
+
```qsharp
|
|
19
|
+
function ConfigurePauliNoise(px : Double, py : Double, pz : Double) : Unit
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Summary
|
|
23
|
+
Configures Pauli noise for simulation.
|
|
24
|
+
|
|
25
|
+
## Description
|
|
26
|
+
This function configures Pauli noise for simulation. Parameters represent
|
|
27
|
+
probabilities of applying X, Y, and Z gates and must add up to at most 1.0.
|
|
28
|
+
Noise is applied after each gate and before each measurement in the simulator
|
|
29
|
+
backend. Decompositions may affect the number of times noise is applied.
|
|
30
|
+
Use 0.0 for all parameters to simulate without noise.
|
|
31
|
+
|
|
32
|
+
## Input
|
|
33
|
+
### px
|
|
34
|
+
Probability of applying X gate.
|
|
35
|
+
### py
|
|
36
|
+
Probability of applying Y gate.
|
|
37
|
+
### pz
|
|
38
|
+
Probability of applying Z gate.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Std.Diagnostics.DepolarizingNoise
|
|
3
|
+
title: DepolarizingNoise function
|
|
4
|
+
description: "Q# DepolarizingNoise function: The depolarizing noise with probability `p`."
|
|
5
|
+
ms.date: 11/15/2024
|
|
6
|
+
ms.topic: managed-reference
|
|
7
|
+
qsharp.kind: function
|
|
8
|
+
qsharp.package: __Std__
|
|
9
|
+
qsharp.namespace: Std.Diagnostics
|
|
10
|
+
qsharp.name: DepolarizingNoise
|
|
11
|
+
qsharp.summary: "The depolarizing noise with probability `p`."
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# DepolarizingNoise function
|
|
15
|
+
|
|
16
|
+
Fully qualified name: Std.Diagnostics.DepolarizingNoise
|
|
17
|
+
|
|
18
|
+
```qsharp
|
|
19
|
+
function DepolarizingNoise(p : Double) : (Double, Double, Double)
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Summary
|
|
23
|
+
The depolarizing noise with probability `p`.
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Std.Diagnostics.DumpMachine
|
|
3
3
|
title: DumpMachine function
|
|
4
|
-
|
|
4
|
+
description: "Q# DumpMachine function: Dumps the current target machine's status."
|
|
5
|
+
ms.date: 11/15/2024
|
|
5
6
|
ms.topic: managed-reference
|
|
6
7
|
qsharp.kind: function
|
|
7
8
|
qsharp.package: __Std__
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Std.Diagnostics.DumpOperation
|
|
3
3
|
title: DumpOperation operation
|
|
4
|
-
|
|
4
|
+
description: "Q# DumpOperation operation: Given an operation, dumps the matrix representation of the operation action on the given number of qubits."
|
|
5
|
+
ms.date: 11/15/2024
|
|
5
6
|
ms.topic: managed-reference
|
|
6
7
|
qsharp.kind: operation
|
|
7
8
|
qsharp.package: __Std__
|
|
@@ -31,7 +32,7 @@ The operation that is to be diagnosed.
|
|
|
31
32
|
## Remarks
|
|
32
33
|
When run on the sparse-state simulator, the following snippet
|
|
33
34
|
will output the matrix
|
|
34
|
-
$\left(\begin{matrix} 0.
|
|
35
|
+
$\left(\begin{matrix} 0.707 & 0.707 \\\\ 0.707 & -0.707\end{matrix}\right)$:
|
|
35
36
|
|
|
36
37
|
```qsharp
|
|
37
38
|
operation DumpH() : Unit {
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Std.Diagnostics.DumpRegister
|
|
3
3
|
title: DumpRegister function
|
|
4
|
-
|
|
4
|
+
description: "Q# DumpRegister function: Dumps the current target machine's status associated with the given qubits."
|
|
5
|
+
ms.date: 11/15/2024
|
|
5
6
|
ms.topic: managed-reference
|
|
6
7
|
qsharp.kind: function
|
|
7
8
|
qsharp.package: __Std__
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Std.Diagnostics.Fact
|
|
3
3
|
title: Fact function
|
|
4
|
-
|
|
4
|
+
description: "Q# Fact function: Checks whether a given condition is true, failing with a message if it is not."
|
|
5
|
+
ms.date: 11/15/2024
|
|
5
6
|
ms.topic: managed-reference
|
|
6
7
|
qsharp.kind: function
|
|
7
8
|
qsharp.package: __Std__
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Std.Diagnostics.NoNoise
|
|
3
|
+
title: NoNoise function
|
|
4
|
+
description: "Q# NoNoise function: No noise for noiseless operation."
|
|
5
|
+
ms.date: 11/15/2024
|
|
6
|
+
ms.topic: managed-reference
|
|
7
|
+
qsharp.kind: function
|
|
8
|
+
qsharp.package: __Std__
|
|
9
|
+
qsharp.namespace: Std.Diagnostics
|
|
10
|
+
qsharp.name: NoNoise
|
|
11
|
+
qsharp.summary: "No noise for noiseless operation."
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# NoNoise function
|
|
15
|
+
|
|
16
|
+
Fully qualified name: Std.Diagnostics.NoNoise
|
|
17
|
+
|
|
18
|
+
```qsharp
|
|
19
|
+
function NoNoise() : (Double, Double, Double)
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Summary
|
|
23
|
+
No noise for noiseless operation.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Std.Diagnostics.PhaseFlipNoise
|
|
3
|
+
title: PhaseFlipNoise function
|
|
4
|
+
description: "Q# PhaseFlipNoise function: The phase flip noise with probability `p`."
|
|
5
|
+
ms.date: 11/15/2024
|
|
6
|
+
ms.topic: managed-reference
|
|
7
|
+
qsharp.kind: function
|
|
8
|
+
qsharp.package: __Std__
|
|
9
|
+
qsharp.namespace: Std.Diagnostics
|
|
10
|
+
qsharp.name: PhaseFlipNoise
|
|
11
|
+
qsharp.summary: "The phase flip noise with probability `p`."
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# PhaseFlipNoise function
|
|
15
|
+
|
|
16
|
+
Fully qualified name: Std.Diagnostics.PhaseFlipNoise
|
|
17
|
+
|
|
18
|
+
```qsharp
|
|
19
|
+
function PhaseFlipNoise(p : Double) : (Double, Double, Double)
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Summary
|
|
23
|
+
The phase flip noise with probability `p`.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Std.Diagnostics.StartCountingFunction
|
|
3
|
+
title: StartCountingFunction operation
|
|
4
|
+
description: "Q# StartCountingFunction operation: Starts counting the number of times the given function is called. Fails if the function is already being counted."
|
|
5
|
+
ms.date: 11/15/2024
|
|
6
|
+
ms.topic: managed-reference
|
|
7
|
+
qsharp.kind: operation
|
|
8
|
+
qsharp.package: __Std__
|
|
9
|
+
qsharp.namespace: Std.Diagnostics
|
|
10
|
+
qsharp.name: StartCountingFunction
|
|
11
|
+
qsharp.summary: "Starts counting the number of times the given function is called. Fails if the function is already being counted."
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# StartCountingFunction operation
|
|
15
|
+
|
|
16
|
+
Fully qualified name: Std.Diagnostics.StartCountingFunction
|
|
17
|
+
|
|
18
|
+
```qsharp
|
|
19
|
+
operation StartCountingFunction<'In, 'Out>(callable : ('In -> 'Out)) : Unit
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Summary
|
|
23
|
+
Starts counting the number of times the given function is called. Fails if the function is already being counted.
|
|
24
|
+
|
|
25
|
+
## Description
|
|
26
|
+
This operation allows you to count the number of times a given function is called. If the given function is already
|
|
27
|
+
being counted, calling `StartCountingFunction` again will trigger a runtime failure.
|
|
28
|
+
|
|
29
|
+
## Input
|
|
30
|
+
### callable
|
|
31
|
+
The function to be counted.
|
|
32
|
+
|
|
33
|
+
## Remarks
|
|
34
|
+
When counting lambdas, the symbol the lambda is bound to is used to identify the function and it is counted as a separate function. For example,
|
|
35
|
+
```qsharp
|
|
36
|
+
let myFunc = i -> AbsI(i);
|
|
37
|
+
StartCountingFunction(myFunc);
|
|
38
|
+
```
|
|
39
|
+
Will count specifically calls to `myFunc` and not `AbsI`. By contrast, the following code will count calls to `AbsI` itself:
|
|
40
|
+
```qsharp
|
|
41
|
+
let myFunc = AbsI;
|
|
42
|
+
StartCountingFunction(myFunc);
|
|
43
|
+
```
|
|
44
|
+
This is because this code does not define a lambda and instead just creates a binding to `AbsI` directly.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Std.Diagnostics.StartCountingOperation
|
|
3
|
+
title: StartCountingOperation operation
|
|
4
|
+
description: "Q# StartCountingOperation operation: Starts counting the number of times the given operation is called. Fails if the operation is already being counted."
|
|
5
|
+
ms.date: 11/15/2024
|
|
6
|
+
ms.topic: managed-reference
|
|
7
|
+
qsharp.kind: operation
|
|
8
|
+
qsharp.package: __Std__
|
|
9
|
+
qsharp.namespace: Std.Diagnostics
|
|
10
|
+
qsharp.name: StartCountingOperation
|
|
11
|
+
qsharp.summary: "Starts counting the number of times the given operation is called. Fails if the operation is already being counted."
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# StartCountingOperation operation
|
|
15
|
+
|
|
16
|
+
Fully qualified name: Std.Diagnostics.StartCountingOperation
|
|
17
|
+
|
|
18
|
+
```qsharp
|
|
19
|
+
operation StartCountingOperation<'In, 'Out>(callable : ('In => 'Out)) : Unit
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Summary
|
|
23
|
+
Starts counting the number of times the given operation is called. Fails if the operation is already being counted.
|
|
24
|
+
|
|
25
|
+
## Description
|
|
26
|
+
This operation allows you to count the number of times a given operation is called. If the given operation is already
|
|
27
|
+
being counted, calling `StartCountingOperation` again will trigger a runtime failure. Counting is based on the specific
|
|
28
|
+
specialization of the operation invoked, so `X` and `Adjoint X` are counted separately.
|
|
29
|
+
Likewise `Controlled X`, `CNOT`, and `CX` are independent operations that are counted separately, as are `Controlled X`
|
|
30
|
+
and `Controlled Adjoint X`.
|
|
31
|
+
|
|
32
|
+
## Input
|
|
33
|
+
### callable
|
|
34
|
+
The operation to be counted.
|
|
35
|
+
|
|
36
|
+
## Remarks
|
|
37
|
+
Counting operation calls requires specific care in what operation is passed as input. For example, `StartCountingOperation(H)` will
|
|
38
|
+
count only the number of times `H` is called, while `StartCountingOperation(Adjoint H)` will count only the number of times `Adjoint H` is called, even
|
|
39
|
+
though `H` is self-adjoint. This is due to how the execution treats the invocation of these operations as distinct by their specialization.
|
|
40
|
+
In the same way, `StartCountingOperation(Controlled X)` will count only the number of times `Controlled X` is called, while
|
|
41
|
+
`StartCountingOperation(CNOT)` will count only the number of times `CNOT` is called.
|
|
42
|
+
|
|
43
|
+
When counting lambdas, the symbol the lambda is bound to is used to identify the operation and it is counted as a separate operation. For example,
|
|
44
|
+
```qsharp
|
|
45
|
+
let myOp = q => H(q);
|
|
46
|
+
StartCountingOperation(myOp);
|
|
47
|
+
```
|
|
48
|
+
Will count specifically calls to `myOp` and not `H`. By contrast, the following code will count calls to `H` itself:
|
|
49
|
+
```qsharp
|
|
50
|
+
let myOp = H;
|
|
51
|
+
StartCountingOperation(myOp);
|
|
52
|
+
```
|
|
53
|
+
This is because this code does not define a lambda and instead just creates a binding to `H` directly.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Std.Diagnostics.StartCountingQubits
|
|
3
|
+
title: StartCountingQubits operation
|
|
4
|
+
description: "Q# StartCountingQubits operation: Starts counting the number of qubits allocated. Fails if qubits are already being counted."
|
|
5
|
+
ms.date: 11/15/2024
|
|
6
|
+
ms.topic: managed-reference
|
|
7
|
+
qsharp.kind: operation
|
|
8
|
+
qsharp.package: __Std__
|
|
9
|
+
qsharp.namespace: Std.Diagnostics
|
|
10
|
+
qsharp.name: StartCountingQubits
|
|
11
|
+
qsharp.summary: "Starts counting the number of qubits allocated. Fails if qubits are already being counted."
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# StartCountingQubits operation
|
|
15
|
+
|
|
16
|
+
Fully qualified name: Std.Diagnostics.StartCountingQubits
|
|
17
|
+
|
|
18
|
+
```qsharp
|
|
19
|
+
operation StartCountingQubits() : Unit
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Summary
|
|
23
|
+
Starts counting the number of qubits allocated. Fails if qubits are already being counted.
|
|
24
|
+
|
|
25
|
+
## Description
|
|
26
|
+
This operation allows you to count the number of qubits allocated until `StopCountingQubits` is called.
|
|
27
|
+
The counter is incremented only when a new unique qubit is allocated, so reusing the same qubit multiple times
|
|
28
|
+
across separate allocations does not increment the counter.
|
|
29
|
+
|
|
30
|
+
## Remarks
|
|
31
|
+
This operation is useful for tracking the number of unique qubits allocated in a given scope. Along with
|
|
32
|
+
`StopCountingQubits`, it can be used to verify that a given operation does not allocate more qubits than
|
|
33
|
+
expected. For example,
|
|
34
|
+
```qsharp
|
|
35
|
+
StartCountingQubits();
|
|
36
|
+
testOperation();
|
|
37
|
+
let qubitsAllocated = StopCountingQubits();
|
|
38
|
+
Fact(qubitsAllocated <= 4, "Operation should not allocate more than 4 qubits.");
|
|
39
|
+
```
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Std.Diagnostics.StopCountingFunction
|
|
3
|
+
title: StopCountingFunction operation
|
|
4
|
+
description: "Q# StopCountingFunction operation: Stops counting the number of times the given function is called and returns the count. Fails if the function was not being counted."
|
|
5
|
+
ms.date: 11/15/2024
|
|
6
|
+
ms.topic: managed-reference
|
|
7
|
+
qsharp.kind: operation
|
|
8
|
+
qsharp.package: __Std__
|
|
9
|
+
qsharp.namespace: Std.Diagnostics
|
|
10
|
+
qsharp.name: StopCountingFunction
|
|
11
|
+
qsharp.summary: "Stops counting the number of times the given function is called and returns the count. Fails if the function was not being counted."
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# StopCountingFunction operation
|
|
15
|
+
|
|
16
|
+
Fully qualified name: Std.Diagnostics.StopCountingFunction
|
|
17
|
+
|
|
18
|
+
```qsharp
|
|
19
|
+
operation StopCountingFunction<'In, 'Out>(callable : ('In -> 'Out)) : Int
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Summary
|
|
23
|
+
Stops counting the number of times the given function is called and returns the count. Fails
|
|
24
|
+
if the function was not being counted.
|
|
25
|
+
|
|
26
|
+
## Description
|
|
27
|
+
This operation allows you to stop counting the number of times a given function is called and returns the count.
|
|
28
|
+
If the function was not being counted, it triggers a runtime failure.
|
|
29
|
+
|
|
30
|
+
## Input
|
|
31
|
+
### callable
|
|
32
|
+
The function whose count will be returned.
|
|
33
|
+
## Output
|
|
34
|
+
The number of times the function was called since the last call to `StartCountingFunction`.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Std.Diagnostics.StopCountingOperation
|
|
3
|
+
title: StopCountingOperation operation
|
|
4
|
+
description: "Q# StopCountingOperation operation: Stops counting the number of times the given operation is called and returns the count. Fails if the operation was not being counted."
|
|
5
|
+
ms.date: 11/15/2024
|
|
6
|
+
ms.topic: managed-reference
|
|
7
|
+
qsharp.kind: operation
|
|
8
|
+
qsharp.package: __Std__
|
|
9
|
+
qsharp.namespace: Std.Diagnostics
|
|
10
|
+
qsharp.name: StopCountingOperation
|
|
11
|
+
qsharp.summary: "Stops counting the number of times the given operation is called and returns the count. Fails if the operation was not being counted."
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# StopCountingOperation operation
|
|
15
|
+
|
|
16
|
+
Fully qualified name: Std.Diagnostics.StopCountingOperation
|
|
17
|
+
|
|
18
|
+
```qsharp
|
|
19
|
+
operation StopCountingOperation<'In, 'Out>(callable : ('In => 'Out)) : Int
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Summary
|
|
23
|
+
Stops counting the number of times the given operation is called and returns the count. Fails
|
|
24
|
+
if the operation was not being counted.
|
|
25
|
+
|
|
26
|
+
## Description
|
|
27
|
+
This operation allows you to stop counting the number of times a given operation is called and returns the count.
|
|
28
|
+
If the operation was not being counted, it triggers a runtime failure.
|
|
29
|
+
|
|
30
|
+
## Input
|
|
31
|
+
### callable
|
|
32
|
+
The operation whose count will be returned.
|
|
33
|
+
## Output
|
|
34
|
+
The number of times the operation was called since the last call to `StartCountingOperation`.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Std.Diagnostics.StopCountingQubits
|
|
3
|
+
title: StopCountingQubits operation
|
|
4
|
+
description: "Q# StopCountingQubits operation: Stops counting the number of qubits allocated and returns the count. Fails if the qubits were not being counted."
|
|
5
|
+
ms.date: 11/15/2024
|
|
6
|
+
ms.topic: managed-reference
|
|
7
|
+
qsharp.kind: operation
|
|
8
|
+
qsharp.package: __Std__
|
|
9
|
+
qsharp.namespace: Std.Diagnostics
|
|
10
|
+
qsharp.name: StopCountingQubits
|
|
11
|
+
qsharp.summary: "Stops counting the number of qubits allocated and returns the count. Fails if the qubits were not being counted."
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# StopCountingQubits operation
|
|
15
|
+
|
|
16
|
+
Fully qualified name: Std.Diagnostics.StopCountingQubits
|
|
17
|
+
|
|
18
|
+
```qsharp
|
|
19
|
+
operation StopCountingQubits() : Int
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Summary
|
|
23
|
+
Stops counting the number of qubits allocated and returns the count. Fails if the qubits were not being counted.
|
|
24
|
+
|
|
25
|
+
## Description
|
|
26
|
+
This operation allows you to stop counting the number of qubits allocated and returns the count since the
|
|
27
|
+
last call to `StartCountingQubits`. If the qubits were not being counted, it triggers a runtime failure.
|
|
28
|
+
|
|
29
|
+
## Output
|
|
30
|
+
The number of unique qubits allocated since the last call to `StartCountingQubits`.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Std.Diagnostics-toc
|
|
3
|
+
title: Std.Diagnostics namespace
|
|
4
|
+
description: Table of contents for the Q# Diagnostics namespace
|
|
5
|
+
author: {AUTHOR}
|
|
6
|
+
ms.author: {MS_AUTHOR}
|
|
7
|
+
ms.date: 11/15/2024
|
|
8
|
+
ms.topic: landing-page
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Std.Diagnostics
|
|
12
|
+
|
|
13
|
+
The Std.Diagnostics namespace contains the following items:
|
|
14
|
+
|
|
15
|
+
| Name | Description |
|
|
16
|
+
|------|-------------|
|
|
17
|
+
| [ApplyIdleNoise](xref:Qdk.Std.Diagnostics.ApplyIdleNoise) | Applies configured noise to a qubit. |
|
|
18
|
+
| [BitFlipNoise](xref:Qdk.Std.Diagnostics.BitFlipNoise) | The bit flip noise with probability `p`. |
|
|
19
|
+
| [CheckAllZero](xref:Qdk.Std.Diagnostics.CheckAllZero) | Checks whether all qubits in the provided array are in the \|0⟩ state. Returns true if they are. |
|
|
20
|
+
| [CheckOperationsAreEqual](xref:Qdk.Std.Diagnostics.CheckOperationsAreEqual) | Given two operations, checks that they act identically for all input states. |
|
|
21
|
+
| [CheckZero](xref:Qdk.Std.Diagnostics.CheckZero) | Checks whether a qubit is in the \|0⟩ state, returning true if it is. |
|
|
22
|
+
| [ConfigurePauliNoise](xref:Qdk.Std.Diagnostics.ConfigurePauliNoise) | Configures Pauli noise for simulation. |
|
|
23
|
+
| [DepolarizingNoise](xref:Qdk.Std.Diagnostics.DepolarizingNoise) | The depolarizing noise with probability `p`. |
|
|
24
|
+
| [DumpMachine](xref:Qdk.Std.Diagnostics.DumpMachine) | Dumps the current target machine's status. |
|
|
25
|
+
| [DumpOperation](xref:Qdk.Std.Diagnostics.DumpOperation) | Given an operation, dumps the matrix representation of the operation action on the given number of qubits. |
|
|
26
|
+
| [DumpRegister](xref:Qdk.Std.Diagnostics.DumpRegister) | Dumps the current target machine's status associated with the given qubits. |
|
|
27
|
+
| [Fact](xref:Qdk.Std.Diagnostics.Fact) | Checks whether a given condition is true, failing with a message if it is not. |
|
|
28
|
+
| [NoNoise](xref:Qdk.Std.Diagnostics.NoNoise) | No noise for noiseless operation. |
|
|
29
|
+
| [PhaseFlipNoise](xref:Qdk.Std.Diagnostics.PhaseFlipNoise) | The phase flip noise with probability `p`. |
|
|
30
|
+
| [StartCountingFunction](xref:Qdk.Std.Diagnostics.StartCountingFunction) | Starts counting the number of times the given function is called. Fails if the function is already being counted. |
|
|
31
|
+
| [StartCountingOperation](xref:Qdk.Std.Diagnostics.StartCountingOperation) | Starts counting the number of times the given operation is called. Fails if the operation is already being counted. |
|
|
32
|
+
| [StartCountingQubits](xref:Qdk.Std.Diagnostics.StartCountingQubits) | Starts counting the number of qubits allocated. Fails if qubits are already being counted. |
|
|
33
|
+
| [StopCountingFunction](xref:Qdk.Std.Diagnostics.StopCountingFunction) | Stops counting the number of times the given function is called and returns the count. Fails if the function was not being counted. |
|
|
34
|
+
| [StopCountingOperation](xref:Qdk.Std.Diagnostics.StopCountingOperation) | Stops counting the number of times the given operation is called and returns the count. Fails if the operation was not being counted. |
|
|
35
|
+
| [StopCountingQubits](xref:Qdk.Std.Diagnostics.StopCountingQubits) | Stops counting the number of qubits allocated and returns the count. Fails if the qubits were not being counted. |
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Std.Intrinsic.AND
|
|
3
3
|
title: AND operation
|
|
4
|
-
|
|
4
|
+
description: "Q# AND operation: Applies the AND gate that is more efficient for use with decomposition of multi-controlled operations. Note that target qubit must be in \|0⟩ state."
|
|
5
|
+
ms.date: 11/15/2024
|
|
5
6
|
ms.topic: managed-reference
|
|
6
7
|
qsharp.kind: operation
|
|
7
8
|
qsharp.package: __Std__
|
|
8
9
|
qsharp.namespace: Std.Intrinsic
|
|
9
10
|
qsharp.name: AND
|
|
10
|
-
qsharp.summary: "Applies the AND gate that is more efficient for use with decomposition of multi-controlled operations. Note that target qubit must be in
|
|
11
|
+
qsharp.summary: "Applies the AND gate that is more efficient for use with decomposition of multi-controlled operations. Note that target qubit must be in \|0⟩ state."
|
|
11
12
|
---
|
|
12
13
|
|
|
13
14
|
# AND operation
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Std.Intrinsic.CCNOT
|
|
3
3
|
title: CCNOT operation
|
|
4
|
-
|
|
4
|
+
description: "Q# CCNOT operation: Applies the doubly controlled–NOT (CCNOT) gate to three qubits."
|
|
5
|
+
ms.date: 11/15/2024
|
|
5
6
|
ms.topic: managed-reference
|
|
6
7
|
qsharp.kind: operation
|
|
7
8
|
qsharp.package: __Std__
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Std.Intrinsic.CNOT
|
|
3
3
|
title: CNOT operation
|
|
4
|
-
|
|
4
|
+
description: "Q# CNOT operation: Applies the controlled-NOT (CNOT) gate to a pair of qubits."
|
|
5
|
+
ms.date: 11/15/2024
|
|
5
6
|
ms.topic: managed-reference
|
|
6
7
|
qsharp.kind: operation
|
|
7
8
|
qsharp.package: __Std__
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Std.Intrinsic.Exp
|
|
3
3
|
title: Exp operation
|
|
4
|
-
|
|
4
|
+
description: "Q# Exp operation: Applies the exponential of a multi-qubit Pauli operator."
|
|
5
|
+
ms.date: 11/15/2024
|
|
5
6
|
ms.topic: managed-reference
|
|
6
7
|
qsharp.kind: operation
|
|
7
8
|
qsharp.package: __Std__
|
package/docs/Std.Intrinsic/H.md
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Std.Intrinsic.H
|
|
3
3
|
title: H operation
|
|
4
|
-
|
|
4
|
+
description: "Q# H operation: Applies the Hadamard transformation to a single qubit."
|
|
5
|
+
ms.date: 11/15/2024
|
|
5
6
|
ms.topic: managed-reference
|
|
6
7
|
qsharp.kind: operation
|
|
7
8
|
qsharp.package: __Std__
|
package/docs/Std.Intrinsic/I.md
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Std.Intrinsic.I
|
|
3
3
|
title: I operation
|
|
4
|
-
|
|
4
|
+
description: "Q# I operation: Performs the identity operation (no-op) on a single qubit."
|
|
5
|
+
ms.date: 11/15/2024
|
|
5
6
|
ms.topic: managed-reference
|
|
6
7
|
qsharp.kind: operation
|
|
7
8
|
qsharp.package: __Std__
|
package/docs/Std.Intrinsic/M.md
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Std.Intrinsic.M
|
|
3
3
|
title: M operation
|
|
4
|
-
|
|
4
|
+
description: "Q# M operation: Performs a measurement of a single qubit in the Pauli _Z_ basis."
|
|
5
|
+
ms.date: 11/15/2024
|
|
5
6
|
ms.topic: managed-reference
|
|
6
7
|
qsharp.kind: operation
|
|
7
8
|
qsharp.package: __Std__
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Std.Intrinsic.Measure
|
|
3
3
|
title: Measure operation
|
|
4
|
-
|
|
4
|
+
description: "Q# Measure operation: Performs a joint measurement of one or more qubits in the specified Pauli bases. If the basis array and qubit array are different lengths, then the operation will fail."
|
|
5
|
+
ms.date: 11/15/2024
|
|
5
6
|
ms.topic: managed-reference
|
|
6
7
|
qsharp.kind: operation
|
|
7
8
|
qsharp.package: __Std__
|