qsharp-lang 1.9.1-dev → 1.9.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 +4 -4
- package/dist/katas-content.generated.md.js +4 -4
- package/docs/Microsoft.Quantum.Core/Length.md +1 -1
- package/docs/Microsoft.Quantum.Core/Repeated.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/AddLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfEqualL.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfEqualLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterL.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterOrEqualL.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterOrEqualLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessL.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessOrEqualL.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessOrEqualLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/FourierTDIncByLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByI.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByIUsingIncByLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByL.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByLEUsingAddLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByLUsingIncByLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/LookAheadDKRSAddLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/MAJ.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ReflectAboutInteger.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/RippleCarryCGAddLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/RippleCarryCGIncByLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/RippleCarryTTKIncByLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.StatePreparation/ApproximatelyPreparePureStateCP.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.StatePreparation/PreparePureStateD.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.TableLookup/Select.md +1 -1
- package/docs/Std.Arrays/All.md +1 -1
- package/docs/Std.Arrays/Any.md +3 -2
- package/docs/Std.Arrays/Chunks.md +3 -2
- package/docs/Std.Arrays/CircularlyShifted.md +3 -2
- package/docs/Std.Arrays/ColumnAt.md +3 -2
- package/docs/Std.Arrays/Count.md +3 -2
- package/docs/Std.Arrays/Diagonal.md +3 -2
- package/docs/Std.Arrays/DrawMany.md +3 -2
- package/docs/Std.Arrays/Enumerated.md +3 -2
- package/docs/Std.Arrays/Excluding.md +3 -2
- package/docs/Std.Arrays/Filtered.md +3 -2
- package/docs/Std.Arrays/FlatMapped.md +3 -2
- package/docs/Std.Arrays/Flattened.md +3 -2
- package/docs/Std.Arrays/Fold.md +3 -2
- package/docs/Std.Arrays/ForEach.md +3 -2
- package/docs/Std.Arrays/Head.md +3 -2
- package/docs/Std.Arrays/HeadAndRest.md +3 -2
- package/docs/Std.Arrays/IndexOf.md +3 -2
- package/docs/Std.Arrays/IndexRange.md +3 -2
- package/docs/Std.Arrays/Interleaved.md +3 -2
- package/docs/Std.Arrays/IsEmpty.md +3 -2
- package/docs/Std.Arrays/IsRectangularArray.md +3 -2
- package/docs/Std.Arrays/IsSorted.md +3 -2
- package/docs/Std.Arrays/IsSquareArray.md +3 -2
- package/docs/Std.Arrays/Mapped.md +3 -2
- package/docs/Std.Arrays/MappedByIndex.md +3 -2
- package/docs/Std.Arrays/MappedOverRange.md +3 -2
- package/docs/Std.Arrays/Most.md +3 -2
- package/docs/Std.Arrays/MostAndTail.md +3 -2
- package/docs/Std.Arrays/Padded.md +3 -2
- package/docs/Std.Arrays/Partitioned.md +3 -2
- package/docs/Std.Arrays/Rest.md +3 -2
- package/docs/Std.Arrays/Reversed.md +3 -2
- package/docs/Std.Arrays/SequenceI.md +3 -2
- package/docs/Std.Arrays/SequenceL.md +3 -2
- package/docs/Std.Arrays/Sorted.md +3 -2
- package/docs/Std.Arrays/Subarray.md +3 -2
- package/docs/Std.Arrays/Swapped.md +3 -2
- package/docs/Std.Arrays/Tail.md +3 -2
- package/docs/Std.Arrays/Transposed.md +3 -2
- package/docs/Std.Arrays/Unzipped.md +3 -2
- package/docs/Std.Arrays/Where.md +3 -2
- package/docs/Std.Arrays/Windows.md +3 -2
- package/docs/Std.Arrays/Zipped.md +3 -2
- package/docs/Std.Canon/ApplyCNOTChain.md +1 -1
- package/docs/Std.Canon/ApplyControlledOnBitString.md +1 -1
- package/docs/Std.Canon/ApplyControlledOnInt.md +1 -1
- package/docs/Std.Canon/ApplyP.md +1 -1
- package/docs/Std.Canon/ApplyPauli.md +1 -1
- package/docs/Std.Canon/ApplyPauliFromBitString.md +1 -1
- package/docs/Std.Canon/ApplyPauliFromInt.md +1 -1
- package/docs/Std.Canon/ApplyQFT.md +1 -1
- package/docs/Std.Canon/ApplyToEach.md +1 -1
- package/docs/Std.Canon/ApplyToEachA.md +1 -1
- package/docs/Std.Canon/ApplyToEachC.md +1 -1
- package/docs/Std.Canon/ApplyToEachCA.md +1 -1
- package/docs/Std.Canon/ApplyXorInPlace.md +1 -1
- package/docs/Std.Canon/ApplyXorInPlaceL.md +1 -1
- package/docs/Std.Canon/CX.md +1 -1
- package/docs/Std.Canon/CY.md +1 -1
- package/docs/Std.Canon/CZ.md +1 -1
- package/docs/Std.Canon/Fst.md +1 -1
- package/docs/Std.Canon/Relabel.md +1 -1
- package/docs/Std.Canon/Snd.md +1 -1
- package/docs/Std.Canon/SwapReverseRegister.md +1 -1
- package/docs/Std.Convert/BigIntAsBoolArray.md +3 -2
- package/docs/Std.Convert/BoolArrayAsBigInt.md +3 -2
- package/docs/Std.Convert/BoolArrayAsInt.md +3 -2
- package/docs/Std.Convert/BoolArrayAsResultArray.md +3 -2
- package/docs/Std.Convert/BoolAsResult.md +3 -2
- package/docs/Std.Convert/ComplexAsComplexPolar.md +3 -2
- package/docs/Std.Convert/ComplexPolarAsComplex.md +3 -2
- package/docs/Std.Convert/DoubleAsStringWithPrecision.md +3 -2
- package/docs/Std.Convert/IntAsBigInt.md +2 -1
- package/docs/Std.Convert/IntAsBoolArray.md +3 -2
- package/docs/Std.Convert/IntAsDouble.md +1 -1
- package/docs/Std.Convert/ResultArrayAsBoolArray.md +3 -2
- package/docs/Std.Convert/ResultArrayAsInt.md +3 -2
- package/docs/Std.Convert/ResultAsBool.md +3 -2
- package/docs/Std.Core/Length.md +1 -1
- package/docs/Std.Core/Repeated.md +1 -1
- package/docs/Std.Diagnostics/DumpMachine.md +1 -1
- package/docs/Std.Diagnostics/DumpOperation.md +1 -1
- package/docs/Std.Diagnostics/DumpRegister.md +3 -2
- package/docs/Std.Diagnostics/Fact.md +3 -2
- package/docs/Std.Intrinsic/AND.md +3 -2
- package/docs/Std.Intrinsic/CCNOT.md +3 -2
- package/docs/Std.Intrinsic/CNOT.md +3 -2
- package/docs/Std.Intrinsic/Exp.md +3 -2
- package/docs/Std.Intrinsic/H.md +3 -2
- package/docs/Std.Intrinsic/I.md +3 -2
- package/docs/Std.Intrinsic/M.md +3 -2
- package/docs/Std.Intrinsic/Measure.md +3 -2
- package/docs/Std.Intrinsic/Message.md +3 -2
- package/docs/Std.Intrinsic/R.md +3 -2
- package/docs/Std.Intrinsic/R1.md +3 -2
- package/docs/Std.Intrinsic/R1Frac.md +3 -2
- package/docs/Std.Intrinsic/RFrac.md +3 -2
- package/docs/Std.Intrinsic/Reset.md +3 -2
- package/docs/Std.Intrinsic/ResetAll.md +3 -2
- package/docs/Std.Intrinsic/Rx.md +3 -2
- package/docs/Std.Intrinsic/Rxx.md +3 -2
- package/docs/Std.Intrinsic/Ry.md +3 -2
- package/docs/Std.Intrinsic/Ryy.md +3 -2
- package/docs/Std.Intrinsic/Rz.md +3 -2
- package/docs/Std.Intrinsic/Rzz.md +3 -2
- package/docs/Std.Intrinsic/S.md +3 -2
- package/docs/Std.Intrinsic/SWAP.md +3 -2
- package/docs/Std.Intrinsic/T.md +3 -2
- package/docs/Std.Intrinsic/X.md +3 -2
- package/docs/Std.Intrinsic/Y.md +3 -2
- package/docs/Std.Intrinsic/Z.md +3 -2
- package/docs/Std.Logical/Xor.md +1 -1
- package/docs/Std.Math/AbsComplex.md +3 -2
- package/docs/Std.Math/AbsComplexPolar.md +3 -2
- package/docs/Std.Math/AbsD.md +2 -1
- package/docs/Std.Math/AbsI.md +2 -1
- package/docs/Std.Math/AbsL.md +1 -1
- package/docs/Std.Math/AbsSquaredComplex.md +3 -2
- package/docs/Std.Math/AbsSquaredComplexPolar.md +3 -2
- package/docs/Std.Math/ApproximateFactorial.md +3 -2
- package/docs/Std.Math/ArcCos.md +1 -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 +3 -2
- package/docs/Std.Math/ArgComplexPolar.md +3 -2
- package/docs/Std.Math/Binom.md +3 -2
- package/docs/Std.Math/BitSizeI.md +1 -1
- package/docs/Std.Math/BitSizeL.md +2 -1
- package/docs/Std.Math/Ceiling.md +2 -1
- package/docs/Std.Math/Complex.md +1 -1
- package/docs/Std.Math/ComplexPolar.md +3 -2
- 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 +1 -1
- package/docs/Std.Math/DivRemL.md +2 -1
- package/docs/Std.Math/DividedByC.md +3 -2
- package/docs/Std.Math/DividedByCP.md +3 -2
- package/docs/Std.Math/E.md +3 -2
- 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 +1 -1
- package/docs/Std.Math/FactorialL.md +3 -2
- package/docs/Std.Math/Floor.md +2 -1
- package/docs/Std.Math/GreatestCommonDivisorI.md +1 -1
- package/docs/Std.Math/GreatestCommonDivisorL.md +2 -1
- package/docs/Std.Math/HammingWeightI.md +2 -1
- package/docs/Std.Math/InverseModI.md +3 -2
- package/docs/Std.Math/InverseModL.md +3 -2
- package/docs/Std.Math/IsCoprimeI.md +3 -2
- package/docs/Std.Math/IsCoprimeL.md +3 -2
- package/docs/Std.Math/IsInfinite.md +3 -2
- package/docs/Std.Math/IsNaN.md +1 -1
- package/docs/Std.Math/LargestFixedPoint.md +3 -2
- 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 +3 -2
- package/docs/Std.Math/LogGammaD.md +3 -2
- package/docs/Std.Math/LogOf2.md +3 -2
- package/docs/Std.Math/Max.md +3 -2
- 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 +3 -2
- 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 +3 -2
- package/docs/Std.Math/MinusCP.md +3 -2
- package/docs/Std.Math/ModulusI.md +2 -1
- package/docs/Std.Math/ModulusL.md +2 -1
- package/docs/Std.Math/NegationC.md +3 -2
- package/docs/Std.Math/NegationCP.md +3 -2
- package/docs/Std.Math/PI.md +1 -1
- package/docs/Std.Math/PNorm.md +3 -2
- package/docs/Std.Math/PNormalized.md +3 -2
- package/docs/Std.Math/PlusC.md +3 -2
- package/docs/Std.Math/PlusCP.md +3 -2
- package/docs/Std.Math/PowC.md +3 -2
- package/docs/Std.Math/PowCP.md +3 -2
- package/docs/Std.Math/RealMod.md +3 -2
- package/docs/Std.Math/Round.md +2 -1
- package/docs/Std.Math/SignD.md +2 -1
- package/docs/Std.Math/SignI.md +1 -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 +1 -1
- package/docs/Std.Math/Sqrt.md +1 -1
- package/docs/Std.Math/SquaredNorm.md +1 -1
- package/docs/Std.Math/Tan.md +2 -1
- package/docs/Std.Math/Tanh.md +2 -1
- package/docs/Std.Math/TimesC.md +3 -2
- package/docs/Std.Math/TimesCP.md +3 -2
- package/docs/Std.Math/TrailingZeroCountI.md +2 -1
- package/docs/Std.Math/TrailingZeroCountL.md +2 -1
- package/docs/Std.Math/Truncate.md +1 -1
- package/docs/Std.Measurement/MResetEachZ.md +3 -2
- package/docs/Std.Measurement/MResetX.md +3 -2
- package/docs/Std.Measurement/MResetY.md +3 -2
- package/docs/Std.Measurement/MResetZ.md +3 -2
- package/docs/Std.Measurement/MeasureAllZ.md +1 -1
- package/docs/Std.Measurement/MeasureEachZ.md +3 -2
- package/docs/Std.Measurement/MeasureInteger.md +3 -2
- package/docs/Std.Range/IsRangeEmpty.md +1 -1
- package/docs/Std.Range/RangeEnd.md +1 -1
- package/docs/Std.Range/RangeReverse.md +1 -1
- package/docs/Std.Range/RangeStart.md +1 -1
- package/docs/Std.Range/RangeStep.md +1 -1
- package/docs/Std.ResourceEstimation/AccountForEstimates.md +3 -2
- package/docs/Std.ResourceEstimation/AuxQubitCount.md +1 -1
- package/docs/Std.ResourceEstimation/BeginEstimateCaching.md +3 -2
- package/docs/Std.ResourceEstimation/BeginRepeatEstimates.md +3 -2
- 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 +3 -2
- package/docs/Std.ResourceEstimation/RotationCount.md +2 -1
- package/docs/Std.ResourceEstimation/RotationDepth.md +2 -1
- package/docs/Std.ResourceEstimation/SingleVariant.md +1 -1
- package/docs/Std.ResourceEstimation/TCount.md +2 -1
- package/lib/node/qsc_wasm.cjs +1 -1
- package/lib/node/qsc_wasm_bg.wasm +0 -0
- package/lib/web/qsc_wasm.js +1 -1
- package/lib/web/qsc_wasm_bg.wasm +0 -0
- package/package.json +1 -1
|
@@ -9079,7 +9079,7 @@ export default {
|
|
|
9079
9079
|
},
|
|
9080
9080
|
{
|
|
9081
9081
|
"id": "multi_qubit_gates__controlled_rotation__Verification.qs",
|
|
9082
|
-
"code": "namespace Kata.Verification {\n open Microsoft.Quantum.Convert;\n open Microsoft.Quantum.Diagnostics;\n open Microsoft.Quantum.Katas;\n\n operation ControlledRotation (qs : Qubit[], theta : Double) : Unit is Adj + Ctl {\n let controll = qs[0];\n let target = qs[1];\n Controlled Rx([controll], (theta, target));\n }\n\n operation CheckSolution() : Bool {\n for i in 0 .. 20 {\n let angle = IntAsDouble(i) / 10.0;\n let solution = register => Kata.ControlledRotation(register, angle);\n let reference = register => ControlledRotation(register, angle);\n if not CheckOperationsAreEqual(2, solution, reference) {\n Message(\"Incorrect.\");\n Message($\"The test case for theta={angle} did not pass\");\n return false;\n }\n }\n\n Message(\"Correct!\");\n true\n }\n}"
|
|
9082
|
+
"code": "namespace Kata.Verification {\n open Microsoft.Quantum.Convert;\n open Microsoft.Quantum.Diagnostics;\n open Microsoft.Quantum.Katas;\n\n operation ControlledRotation (qs : Qubit[], theta : Double) : Unit is Adj + Ctl {\n let controll = qs[0];\n let target = qs[1];\n Controlled Rx([controll], (theta, target));\n }\n\n operation CheckSolution() : Bool {\n for i in 0 .. 20 {\n let angle = IntAsDouble(i) / 10.0;\n let solution = register => Kata.ControlledRotation(register, angle);\n let reference = register => ControlledRotation(register, angle);\n if not CheckOperationsAreEqual(2, solution, reference) {\n let precision = 3;\n Message(\"Incorrect.\");\n Message($\"The test case for theta={DoubleAsStringWithPrecision(angle, precision)} did not pass\");\n return false;\n }\n }\n\n Message(\"Correct!\");\n true\n }\n}"
|
|
9083
9083
|
},
|
|
9084
9084
|
{
|
|
9085
9085
|
"id": "multi_qubit_gates__toffoli_gate__Verification.qs",
|
|
@@ -9155,7 +9155,7 @@ export default {
|
|
|
9155
9155
|
},
|
|
9156
9156
|
{
|
|
9157
9157
|
"id": "preparing_states__unequal_superposition__Verification.qs",
|
|
9158
|
-
"code": "namespace Kata.Verification {\n open Microsoft.Quantum.Convert;\n open Microsoft.Quantum.Katas;\n open Microsoft.Quantum.Math;\n\n operation UnequalSuperposition_Reference(q : Qubit, alpha : Double) : Unit is Adj + Ctl {\n Ry(2.0 * alpha, q);\n }\n\n @EntryPoint()\n operation CheckSolution() : Bool {\n let limit = 36;\n for i in 0 .. limit {\n let alpha = 2.0 * PI() * IntAsDouble(i) / IntAsDouble(limit);\n let solution = Kata.UnequalSuperposition(_, alpha);\n let reference = UnequalSuperposition_Reference(_, alpha);\n Message($\"Testing for alpha = {alpha}...\");\n if not CheckOperationsEquivalenceOnZeroStateWithFeedback(\n qs => solution(qs[0]), \n qs => reference(qs[0]),\n 1) {\n return false;\n }\n }\n\n true\n }\n}\n"
|
|
9158
|
+
"code": "namespace Kata.Verification {\n open Microsoft.Quantum.Convert;\n open Microsoft.Quantum.Katas;\n open Microsoft.Quantum.Math;\n\n operation UnequalSuperposition_Reference(q : Qubit, alpha : Double) : Unit is Adj + Ctl {\n Ry(2.0 * alpha, q);\n }\n\n @EntryPoint()\n operation CheckSolution() : Bool {\n let limit = 36;\n let precision = 3;\n for i in 0 .. limit {\n let alpha = 2.0 * PI() * IntAsDouble(i) / IntAsDouble(limit);\n let solution = Kata.UnequalSuperposition(_, alpha);\n let reference = UnequalSuperposition_Reference(_, alpha);\n Message($\"Testing for alpha = {DoubleAsStringWithPrecision(alpha, precision)}...\");\n if not CheckOperationsEquivalenceOnZeroStateWithFeedback(\n qs => solution(qs[0]), \n qs => reference(qs[0]),\n 1) {\n return false;\n }\n }\n\n true\n }\n}\n"
|
|
9159
9159
|
},
|
|
9160
9160
|
{
|
|
9161
9161
|
"id": "preparing_states__controlled_rotation__Verification.qs",
|
|
@@ -9199,7 +9199,7 @@ export default {
|
|
|
9199
9199
|
},
|
|
9200
9200
|
{
|
|
9201
9201
|
"id": "single_qubit_measurements__a_b_basis_measurements__Verification.qs",
|
|
9202
|
-
"code": "namespace Kata.Verification {\n open Microsoft.Quantum.Convert;\n open Microsoft.Quantum.Math;\n open Microsoft.Quantum.Katas;\n\n // Measure state in {|A❭, |B❭} basis\n // |A⟩ = cos(alpha) * |0⟩ - i sin(alpha) * |1⟩,\n // |B⟩ = - i sin(alpha) * |0⟩ + cos(alpha) * |1⟩.\n operation StatePrep_IsQubitA (alpha : Double, q : Qubit, state : Int) : Unit is Adj {\n if state == 0 {\n // convert |0⟩ to |B⟩\n X(q);\n Rx(2.0 * alpha, q);\n } else {\n // convert |0⟩ to |A⟩\n Rx(2.0 * alpha, q);\n }\n }\n\n // We can use the StatePrep_IsQubitA operation for the testing\n operation CheckSolution() : Bool {\n for i in 0 .. 10 {\n let alpha = (PI() * IntAsDouble(i)) / 10.0;\n let isCorrect = DistinguishTwoStates_SingleQubit(\n StatePrep_IsQubitA(alpha, _, _),\n q => Kata.MeasureInABBasis(alpha, q) == Zero,\n [$\"|B⟩=(-i sin({i}π/10)|0⟩ + cos({i}π/10)|1⟩)\", $\"|A⟩=(cos({i}π/10)|0⟩ + i sin({i}π/10)|1⟩)\"],\n true);\n if not isCorrect {\n Message($\"Test fails for alpha={alpha}\");\n return false;\n }\n }\n Message(\"Correct!\");\n true\n }\n\n}\n"
|
|
9202
|
+
"code": "namespace Kata.Verification {\n open Microsoft.Quantum.Convert;\n open Microsoft.Quantum.Math;\n open Microsoft.Quantum.Katas;\n\n // Measure state in {|A❭, |B❭} basis\n // |A⟩ = cos(alpha) * |0⟩ - i sin(alpha) * |1⟩,\n // |B⟩ = - i sin(alpha) * |0⟩ + cos(alpha) * |1⟩.\n operation StatePrep_IsQubitA (alpha : Double, q : Qubit, state : Int) : Unit is Adj {\n if state == 0 {\n // convert |0⟩ to |B⟩\n X(q);\n Rx(2.0 * alpha, q);\n } else {\n // convert |0⟩ to |A⟩\n Rx(2.0 * alpha, q);\n }\n }\n\n // We can use the StatePrep_IsQubitA operation for the testing\n operation CheckSolution() : Bool {\n for i in 0 .. 10 {\n let alpha = (PI() * IntAsDouble(i)) / 10.0;\n let isCorrect = DistinguishTwoStates_SingleQubit(\n StatePrep_IsQubitA(alpha, _, _),\n q => Kata.MeasureInABBasis(alpha, q) == Zero,\n [$\"|B⟩=(-i sin({i}π/10)|0⟩ + cos({i}π/10)|1⟩)\", $\"|A⟩=(cos({i}π/10)|0⟩ + i sin({i}π/10)|1⟩)\"],\n true);\n if not isCorrect {\n let precision = 3;\n Message($\"Test fails for alpha={DoubleAsStringWithPrecision(alpha, precision)}\");\n return false;\n }\n }\n Message(\"Correct!\");\n true\n }\n\n}\n"
|
|
9203
9203
|
},
|
|
9204
9204
|
{
|
|
9205
9205
|
"id": "multi_qubit_measurements__full_measurements__Verification.qs",
|
|
@@ -9235,7 +9235,7 @@ export default {
|
|
|
9235
9235
|
},
|
|
9236
9236
|
{
|
|
9237
9237
|
"id": "distinguishing_states__a_b__Verification.qs",
|
|
9238
|
-
"code": "namespace Kata.Verification {\n open Microsoft.Quantum.Convert;\n open Microsoft.Quantum.Math;\n open Microsoft.Quantum.Katas;\n\n // |A⟩ = cos(alpha) * |0⟩ + sin(alpha) * |1⟩,\n // |B⟩ = - sin(alpha) * |0⟩ + cos(alpha) * |1⟩.\n operation StatePrep_IsQubitA(alpha : Double, q : Qubit, state : Int) : Unit is Adj {\n if state == 0 {\n // convert |0⟩ to |B⟩\n X(q);\n Ry(2.0 * alpha, q);\n } else {\n // convert |0⟩ to |A⟩\n Ry(2.0 * alpha, q);\n }\n }\n\n // We can use the StatePrep_IsQubitA operation for the testing\n operation CheckSolution() : Bool {\n for i in 0 .. 10 {\n let alpha = (PI() * IntAsDouble(i)) / 10.0;\n let isCorrect = DistinguishTwoStates_SingleQubit(\n StatePrep_IsQubitA(alpha, _, _),\n Kata.IsQubitA(alpha, _),\n [$\"|B⟩=(-sin({i}π/10)|0⟩ + cos({i}π/10)|1⟩)\", $\"|A⟩=(cos({i}π/10)|0⟩ + sin({i}π/10)|1⟩)\"],\n false\n );\n\n if not isCorrect {\n Message($\"Test fails for alpha={alpha}\");\n return false;\n }\n }\n\n Message(\"Correct!\");\n true\n }\n}\n"
|
|
9238
|
+
"code": "namespace Kata.Verification {\n open Microsoft.Quantum.Convert;\n open Microsoft.Quantum.Math;\n open Microsoft.Quantum.Katas;\n\n // |A⟩ = cos(alpha) * |0⟩ + sin(alpha) * |1⟩,\n // |B⟩ = - sin(alpha) * |0⟩ + cos(alpha) * |1⟩.\n operation StatePrep_IsQubitA(alpha : Double, q : Qubit, state : Int) : Unit is Adj {\n if state == 0 {\n // convert |0⟩ to |B⟩\n X(q);\n Ry(2.0 * alpha, q);\n } else {\n // convert |0⟩ to |A⟩\n Ry(2.0 * alpha, q);\n }\n }\n\n // We can use the StatePrep_IsQubitA operation for the testing\n operation CheckSolution() : Bool {\n for i in 0 .. 10 {\n let alpha = (PI() * IntAsDouble(i)) / 10.0;\n let isCorrect = DistinguishTwoStates_SingleQubit(\n StatePrep_IsQubitA(alpha, _, _),\n Kata.IsQubitA(alpha, _),\n [$\"|B⟩=(-sin({i}π/10)|0⟩ + cos({i}π/10)|1⟩)\", $\"|A⟩=(cos({i}π/10)|0⟩ + sin({i}π/10)|1⟩)\"],\n false\n );\n\n if not isCorrect {\n let precision = 3;\n Message($\"Test fails for alpha={DoubleAsStringWithPrecision(alpha, precision)}\");\n return false;\n }\n }\n\n Message(\"Correct!\");\n true\n }\n}\n"
|
|
9239
9239
|
},
|
|
9240
9240
|
{
|
|
9241
9241
|
"id": "distinguishing_states__zerozero_oneone__Verification.qs",
|
|
@@ -9079,7 +9079,7 @@ export default {
|
|
|
9079
9079
|
},
|
|
9080
9080
|
{
|
|
9081
9081
|
"id": "multi_qubit_gates__controlled_rotation__Verification.qs",
|
|
9082
|
-
"code": "namespace Kata.Verification {\n open Microsoft.Quantum.Convert;\n open Microsoft.Quantum.Diagnostics;\n open Microsoft.Quantum.Katas;\n\n operation ControlledRotation (qs : Qubit[], theta : Double) : Unit is Adj + Ctl {\n let controll = qs[0];\n let target = qs[1];\n Controlled Rx([controll], (theta, target));\n }\n\n operation CheckSolution() : Bool {\n for i in 0 .. 20 {\n let angle = IntAsDouble(i) / 10.0;\n let solution = register => Kata.ControlledRotation(register, angle);\n let reference = register => ControlledRotation(register, angle);\n if not CheckOperationsAreEqual(2, solution, reference) {\n Message(\"Incorrect.\");\n Message($\"The test case for theta={angle} did not pass\");\n return false;\n }\n }\n\n Message(\"Correct!\");\n true\n }\n}"
|
|
9082
|
+
"code": "namespace Kata.Verification {\n open Microsoft.Quantum.Convert;\n open Microsoft.Quantum.Diagnostics;\n open Microsoft.Quantum.Katas;\n\n operation ControlledRotation (qs : Qubit[], theta : Double) : Unit is Adj + Ctl {\n let controll = qs[0];\n let target = qs[1];\n Controlled Rx([controll], (theta, target));\n }\n\n operation CheckSolution() : Bool {\n for i in 0 .. 20 {\n let angle = IntAsDouble(i) / 10.0;\n let solution = register => Kata.ControlledRotation(register, angle);\n let reference = register => ControlledRotation(register, angle);\n if not CheckOperationsAreEqual(2, solution, reference) {\n let precision = 3;\n Message(\"Incorrect.\");\n Message($\"The test case for theta={DoubleAsStringWithPrecision(angle, precision)} did not pass\");\n return false;\n }\n }\n\n Message(\"Correct!\");\n true\n }\n}"
|
|
9083
9083
|
},
|
|
9084
9084
|
{
|
|
9085
9085
|
"id": "multi_qubit_gates__toffoli_gate__Verification.qs",
|
|
@@ -9155,7 +9155,7 @@ export default {
|
|
|
9155
9155
|
},
|
|
9156
9156
|
{
|
|
9157
9157
|
"id": "preparing_states__unequal_superposition__Verification.qs",
|
|
9158
|
-
"code": "namespace Kata.Verification {\n open Microsoft.Quantum.Convert;\n open Microsoft.Quantum.Katas;\n open Microsoft.Quantum.Math;\n\n operation UnequalSuperposition_Reference(q : Qubit, alpha : Double) : Unit is Adj + Ctl {\n Ry(2.0 * alpha, q);\n }\n\n @EntryPoint()\n operation CheckSolution() : Bool {\n let limit = 36;\n for i in 0 .. limit {\n let alpha = 2.0 * PI() * IntAsDouble(i) / IntAsDouble(limit);\n let solution = Kata.UnequalSuperposition(_, alpha);\n let reference = UnequalSuperposition_Reference(_, alpha);\n Message($\"Testing for alpha = {alpha}...\");\n if not CheckOperationsEquivalenceOnZeroStateWithFeedback(\n qs => solution(qs[0]), \n qs => reference(qs[0]),\n 1) {\n return false;\n }\n }\n\n true\n }\n}\n"
|
|
9158
|
+
"code": "namespace Kata.Verification {\n open Microsoft.Quantum.Convert;\n open Microsoft.Quantum.Katas;\n open Microsoft.Quantum.Math;\n\n operation UnequalSuperposition_Reference(q : Qubit, alpha : Double) : Unit is Adj + Ctl {\n Ry(2.0 * alpha, q);\n }\n\n @EntryPoint()\n operation CheckSolution() : Bool {\n let limit = 36;\n let precision = 3;\n for i in 0 .. limit {\n let alpha = 2.0 * PI() * IntAsDouble(i) / IntAsDouble(limit);\n let solution = Kata.UnequalSuperposition(_, alpha);\n let reference = UnequalSuperposition_Reference(_, alpha);\n Message($\"Testing for alpha = {DoubleAsStringWithPrecision(alpha, precision)}...\");\n if not CheckOperationsEquivalenceOnZeroStateWithFeedback(\n qs => solution(qs[0]), \n qs => reference(qs[0]),\n 1) {\n return false;\n }\n }\n\n true\n }\n}\n"
|
|
9159
9159
|
},
|
|
9160
9160
|
{
|
|
9161
9161
|
"id": "preparing_states__controlled_rotation__Verification.qs",
|
|
@@ -9199,7 +9199,7 @@ export default {
|
|
|
9199
9199
|
},
|
|
9200
9200
|
{
|
|
9201
9201
|
"id": "single_qubit_measurements__a_b_basis_measurements__Verification.qs",
|
|
9202
|
-
"code": "namespace Kata.Verification {\n open Microsoft.Quantum.Convert;\n open Microsoft.Quantum.Math;\n open Microsoft.Quantum.Katas;\n\n // Measure state in {|A❭, |B❭} basis\n // |A⟩ = cos(alpha) * |0⟩ - i sin(alpha) * |1⟩,\n // |B⟩ = - i sin(alpha) * |0⟩ + cos(alpha) * |1⟩.\n operation StatePrep_IsQubitA (alpha : Double, q : Qubit, state : Int) : Unit is Adj {\n if state == 0 {\n // convert |0⟩ to |B⟩\n X(q);\n Rx(2.0 * alpha, q);\n } else {\n // convert |0⟩ to |A⟩\n Rx(2.0 * alpha, q);\n }\n }\n\n // We can use the StatePrep_IsQubitA operation for the testing\n operation CheckSolution() : Bool {\n for i in 0 .. 10 {\n let alpha = (PI() * IntAsDouble(i)) / 10.0;\n let isCorrect = DistinguishTwoStates_SingleQubit(\n StatePrep_IsQubitA(alpha, _, _),\n q => Kata.MeasureInABBasis(alpha, q) == Zero,\n [$\"|B⟩=(-i sin({i}π/10)|0⟩ + cos({i}π/10)|1⟩)\", $\"|A⟩=(cos({i}π/10)|0⟩ + i sin({i}π/10)|1⟩)\"],\n true);\n if not isCorrect {\n Message($\"Test fails for alpha={alpha}\");\n return false;\n }\n }\n Message(\"Correct!\");\n true\n }\n\n}\n"
|
|
9202
|
+
"code": "namespace Kata.Verification {\n open Microsoft.Quantum.Convert;\n open Microsoft.Quantum.Math;\n open Microsoft.Quantum.Katas;\n\n // Measure state in {|A❭, |B❭} basis\n // |A⟩ = cos(alpha) * |0⟩ - i sin(alpha) * |1⟩,\n // |B⟩ = - i sin(alpha) * |0⟩ + cos(alpha) * |1⟩.\n operation StatePrep_IsQubitA (alpha : Double, q : Qubit, state : Int) : Unit is Adj {\n if state == 0 {\n // convert |0⟩ to |B⟩\n X(q);\n Rx(2.0 * alpha, q);\n } else {\n // convert |0⟩ to |A⟩\n Rx(2.0 * alpha, q);\n }\n }\n\n // We can use the StatePrep_IsQubitA operation for the testing\n operation CheckSolution() : Bool {\n for i in 0 .. 10 {\n let alpha = (PI() * IntAsDouble(i)) / 10.0;\n let isCorrect = DistinguishTwoStates_SingleQubit(\n StatePrep_IsQubitA(alpha, _, _),\n q => Kata.MeasureInABBasis(alpha, q) == Zero,\n [$\"|B⟩=(-i sin({i}π/10)|0⟩ + cos({i}π/10)|1⟩)\", $\"|A⟩=(cos({i}π/10)|0⟩ + i sin({i}π/10)|1⟩)\"],\n true);\n if not isCorrect {\n let precision = 3;\n Message($\"Test fails for alpha={DoubleAsStringWithPrecision(alpha, precision)}\");\n return false;\n }\n }\n Message(\"Correct!\");\n true\n }\n\n}\n"
|
|
9203
9203
|
},
|
|
9204
9204
|
{
|
|
9205
9205
|
"id": "multi_qubit_measurements__full_measurements__Verification.qs",
|
|
@@ -9235,7 +9235,7 @@ export default {
|
|
|
9235
9235
|
},
|
|
9236
9236
|
{
|
|
9237
9237
|
"id": "distinguishing_states__a_b__Verification.qs",
|
|
9238
|
-
"code": "namespace Kata.Verification {\n open Microsoft.Quantum.Convert;\n open Microsoft.Quantum.Math;\n open Microsoft.Quantum.Katas;\n\n // |A⟩ = cos(alpha) * |0⟩ + sin(alpha) * |1⟩,\n // |B⟩ = - sin(alpha) * |0⟩ + cos(alpha) * |1⟩.\n operation StatePrep_IsQubitA(alpha : Double, q : Qubit, state : Int) : Unit is Adj {\n if state == 0 {\n // convert |0⟩ to |B⟩\n X(q);\n Ry(2.0 * alpha, q);\n } else {\n // convert |0⟩ to |A⟩\n Ry(2.0 * alpha, q);\n }\n }\n\n // We can use the StatePrep_IsQubitA operation for the testing\n operation CheckSolution() : Bool {\n for i in 0 .. 10 {\n let alpha = (PI() * IntAsDouble(i)) / 10.0;\n let isCorrect = DistinguishTwoStates_SingleQubit(\n StatePrep_IsQubitA(alpha, _, _),\n Kata.IsQubitA(alpha, _),\n [$\"|B⟩=(-sin({i}π/10)|0⟩ + cos({i}π/10)|1⟩)\", $\"|A⟩=(cos({i}π/10)|0⟩ + sin({i}π/10)|1⟩)\"],\n false\n );\n\n if not isCorrect {\n Message($\"Test fails for alpha={alpha}\");\n return false;\n }\n }\n\n Message(\"Correct!\");\n true\n }\n}\n"
|
|
9238
|
+
"code": "namespace Kata.Verification {\n open Microsoft.Quantum.Convert;\n open Microsoft.Quantum.Math;\n open Microsoft.Quantum.Katas;\n\n // |A⟩ = cos(alpha) * |0⟩ + sin(alpha) * |1⟩,\n // |B⟩ = - sin(alpha) * |0⟩ + cos(alpha) * |1⟩.\n operation StatePrep_IsQubitA(alpha : Double, q : Qubit, state : Int) : Unit is Adj {\n if state == 0 {\n // convert |0⟩ to |B⟩\n X(q);\n Ry(2.0 * alpha, q);\n } else {\n // convert |0⟩ to |A⟩\n Ry(2.0 * alpha, q);\n }\n }\n\n // We can use the StatePrep_IsQubitA operation for the testing\n operation CheckSolution() : Bool {\n for i in 0 .. 10 {\n let alpha = (PI() * IntAsDouble(i)) / 10.0;\n let isCorrect = DistinguishTwoStates_SingleQubit(\n StatePrep_IsQubitA(alpha, _, _),\n Kata.IsQubitA(alpha, _),\n [$\"|B⟩=(-sin({i}π/10)|0⟩ + cos({i}π/10)|1⟩)\", $\"|A⟩=(cos({i}π/10)|0⟩ + sin({i}π/10)|1⟩)\"],\n false\n );\n\n if not isCorrect {\n let precision = 3;\n Message($\"Test fails for alpha={DoubleAsStringWithPrecision(alpha, precision)}\");\n return false;\n }\n }\n\n Message(\"Correct!\");\n true\n }\n}\n"
|
|
9239
9239
|
},
|
|
9240
9240
|
{
|
|
9241
9241
|
"id": "distinguishing_states__zerozero_oneone__Verification.qs",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Unstable.Arithmetic.ApplyIfEqualL
|
|
3
3
|
title: ApplyIfEqualL operation
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Unstable.Arithmetic.ApplyIfEqualLE
|
|
3
3
|
title: ApplyIfEqualLE operation
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Unstable.Arithmetic.ApplyIfGreaterL
|
|
3
3
|
title: ApplyIfGreaterL operation
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Unstable.Arithmetic.ApplyIfGreaterLE
|
|
3
3
|
title: ApplyIfGreaterLE operation
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Unstable.Arithmetic.ApplyIfGreaterOrEqualL
|
|
3
3
|
title: ApplyIfGreaterOrEqualL operation
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Unstable.Arithmetic.ApplyIfGreaterOrEqualLE
|
|
3
3
|
title: ApplyIfGreaterOrEqualLE operation
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Unstable.Arithmetic.ApplyIfLessL
|
|
3
3
|
title: ApplyIfLessL operation
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Unstable.Arithmetic.ApplyIfLessLE
|
|
3
3
|
title: ApplyIfLessLE operation
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Unstable.Arithmetic.ApplyIfLessOrEqualL
|
|
3
3
|
title: ApplyIfLessOrEqualL operation
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Unstable.Arithmetic.ApplyIfLessOrEqualLE
|
|
3
3
|
title: ApplyIfLessOrEqualLE operation
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Unstable.Arithmetic.FourierTDIncByLE
|
|
3
3
|
title: FourierTDIncByLE operation
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Unstable.Arithmetic.IncByI
|
|
3
3
|
title: IncByI operation
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Unstable.Arithmetic.IncByIUsingIncByLE
|
|
3
3
|
title: IncByIUsingIncByLE operation
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Unstable.Arithmetic.IncByL
|
|
3
3
|
title: IncByL operation
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Unstable.Arithmetic.IncByLE
|
|
3
3
|
title: IncByLE operation
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Unstable.Arithmetic.IncByLEUsingAddLE
|
|
3
3
|
title: IncByLEUsingAddLE operation
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Unstable.Arithmetic.IncByLUsingIncByLE
|
|
3
3
|
title: IncByLUsingIncByLE operation
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Unstable.Arithmetic.LookAheadDKRSAddLE
|
|
3
3
|
title: LookAheadDKRSAddLE operation
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Unstable.Arithmetic.ReflectAboutInteger
|
|
3
3
|
title: ReflectAboutInteger operation
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Unstable.Arithmetic.RippleCarryCGAddLE
|
|
3
3
|
title: RippleCarryCGAddLE operation
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Unstable.Arithmetic.RippleCarryCGIncByLE
|
|
3
3
|
title: RippleCarryCGIncByLE operation
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Unstable.Arithmetic.RippleCarryTTKIncByLE
|
|
3
3
|
title: RippleCarryTTKIncByLE operation
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Unstable.StatePreparation.ApproximatelyPreparePureStateCP
|
|
3
3
|
title: ApproximatelyPreparePureStateCP operation
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.namespace: Microsoft.Quantum.Unstable.StatePreparation
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Unstable.StatePreparation.PreparePureStateD
|
|
3
3
|
title: PreparePureStateD operation
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.namespace: Microsoft.Quantum.Unstable.StatePreparation
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Unstable.TableLookup.Select
|
|
3
3
|
title: Select operation
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.namespace: Microsoft.Quantum.Unstable.TableLookup
|
package/docs/Std.Arrays/All.md
CHANGED
package/docs/Std.Arrays/Any.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Std.Arrays.Any
|
|
3
3
|
title: Any function
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.namespace: Std.Arrays
|
|
8
8
|
qsharp.name: Any
|
|
9
|
-
qsharp.summary: "Given an array and a predicate that is defined for the elements of the array, checks if at least one element of the array satisfies the predicate.
|
|
9
|
+
qsharp.summary: "Given an array and a predicate that is defined for the elements of the array, checks if at least one element of the array satisfies the predicate."
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# Any function
|
|
@@ -17,6 +17,7 @@ Fully qualified name: Std.Arrays.Any
|
|
|
17
17
|
function Any<'T>(predicate : ('T -> Bool), array : 'T[]) : Bool
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
+
## Summary
|
|
20
21
|
Given an array and a predicate that is defined
|
|
21
22
|
for the elements of the array, checks if at least one element of
|
|
22
23
|
the array satisfies the predicate.
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Std.Arrays.Chunks
|
|
3
3
|
title: Chunks function
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.namespace: Std.Arrays
|
|
8
8
|
qsharp.name: Chunks
|
|
9
|
-
qsharp.summary: "Splits an array into multiple parts of equal length.
|
|
9
|
+
qsharp.summary: "Splits an array into multiple parts of equal length."
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# Chunks function
|
|
@@ -17,6 +17,7 @@ Fully qualified name: Std.Arrays.Chunks
|
|
|
17
17
|
function Chunks<'T>(chunkSize : Int, array : 'T[]) : 'T[][]
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
+
## Summary
|
|
20
21
|
Splits an array into multiple parts of equal length.
|
|
21
22
|
|
|
22
23
|
## Input
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Std.Arrays.CircularlyShifted
|
|
3
3
|
title: CircularlyShifted function
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.namespace: Std.Arrays
|
|
8
8
|
qsharp.name: CircularlyShifted
|
|
9
|
-
qsharp.summary: "Shift an array circularly left or right by a specific step size.
|
|
9
|
+
qsharp.summary: "Shift an array circularly left or right by a specific step size."
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# CircularlyShifted function
|
|
@@ -17,6 +17,7 @@ Fully qualified name: Std.Arrays.CircularlyShifted
|
|
|
17
17
|
function CircularlyShifted<'T>(stepCount : Int, array : 'T[]) : 'T[]
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
+
## Summary
|
|
20
21
|
Shift an array circularly left or right by a specific step size.
|
|
21
22
|
|
|
22
23
|
## Type Parameters
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Std.Arrays.ColumnAt
|
|
3
3
|
title: ColumnAt function
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.namespace: Std.Arrays
|
|
8
8
|
qsharp.name: ColumnAt
|
|
9
|
-
qsharp.summary: "Extracts a column from a matrix.
|
|
9
|
+
qsharp.summary: "Extracts a column from a matrix."
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# ColumnAt function
|
|
@@ -17,6 +17,7 @@ Fully qualified name: Std.Arrays.ColumnAt
|
|
|
17
17
|
function ColumnAt<'T>(column : Int, matrix : 'T[][]) : 'T[]
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
+
## Summary
|
|
20
21
|
Extracts a column from a matrix.
|
|
21
22
|
|
|
22
23
|
## Description
|
package/docs/Std.Arrays/Count.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Std.Arrays.Count
|
|
3
3
|
title: Count function
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.namespace: Std.Arrays
|
|
8
8
|
qsharp.name: Count
|
|
9
|
-
qsharp.summary: "Given an array and a predicate that is defined for the elements of the array, returns the number of elements an array that consists of those elements that satisfy the predicate.
|
|
9
|
+
qsharp.summary: "Given an array and a predicate that is defined for the elements of the array, returns the number of elements an array that consists of those elements that satisfy the predicate."
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# Count function
|
|
@@ -17,6 +17,7 @@ Fully qualified name: Std.Arrays.Count
|
|
|
17
17
|
function Count<'T>(predicate : ('T -> Bool), array : 'T[]) : Int
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
+
## Summary
|
|
20
21
|
Given an array and a predicate that is defined
|
|
21
22
|
for the elements of the array, returns the number of elements
|
|
22
23
|
an array that consists of those elements that satisfy the predicate.
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Std.Arrays.Diagonal
|
|
3
3
|
title: Diagonal function
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.namespace: Std.Arrays
|
|
8
8
|
qsharp.name: Diagonal
|
|
9
|
-
qsharp.summary: "Returns an array of diagonal elements of a 2-dimensional array
|
|
9
|
+
qsharp.summary: "Returns an array of diagonal elements of a 2-dimensional array"
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# Diagonal function
|
|
@@ -17,6 +17,7 @@ Fully qualified name: Std.Arrays.Diagonal
|
|
|
17
17
|
function Diagonal<'T>(matrix : 'T[][]) : 'T[]
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
+
## Summary
|
|
20
21
|
Returns an array of diagonal elements of a 2-dimensional array
|
|
21
22
|
|
|
22
23
|
## Description
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Std.Arrays.DrawMany
|
|
3
3
|
title: DrawMany operation
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.namespace: Std.Arrays
|
|
8
8
|
qsharp.name: DrawMany
|
|
9
|
-
qsharp.summary: "Repeats an operation for a given number of samples, collecting its outputs in an array.
|
|
9
|
+
qsharp.summary: "Repeats an operation for a given number of samples, collecting its outputs in an array."
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# DrawMany operation
|
|
@@ -17,6 +17,7 @@ Fully qualified name: Std.Arrays.DrawMany
|
|
|
17
17
|
operation DrawMany<'TInput, 'TOutput>(op : ('TInput => 'TOutput), nSamples : Int, input : 'TInput) : 'TOutput[]
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
+
## Summary
|
|
20
21
|
Repeats an operation for a given number of samples, collecting its outputs
|
|
21
22
|
in an array.
|
|
22
23
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Std.Arrays.Enumerated
|
|
3
3
|
title: Enumerated function
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.namespace: Std.Arrays
|
|
8
8
|
qsharp.name: Enumerated
|
|
9
|
-
qsharp.summary: "Given an array, returns a new array containing elements of the original array along with the indices of each element.
|
|
9
|
+
qsharp.summary: "Given an array, returns a new array containing elements of the original array along with the indices of each element."
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# Enumerated function
|
|
@@ -17,6 +17,7 @@ Fully qualified name: Std.Arrays.Enumerated
|
|
|
17
17
|
function Enumerated<'TElement>(array : 'TElement[]) : (Int, 'TElement)[]
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
+
## Summary
|
|
20
21
|
Given an array, returns a new array containing elements of the original
|
|
21
22
|
array along with the indices of each element.
|
|
22
23
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Std.Arrays.Excluding
|
|
3
3
|
title: Excluding function
|
|
4
|
-
ms.date:
|
|
4
|
+
ms.date: 10/17/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.namespace: Std.Arrays
|
|
8
8
|
qsharp.name: Excluding
|
|
9
|
-
qsharp.summary: "Returns an array containing the elements of another array, excluding elements at a given list of indices.
|
|
9
|
+
qsharp.summary: "Returns an array containing the elements of another array, excluding elements at a given list of indices."
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# Excluding function
|
|
@@ -17,6 +17,7 @@ Fully qualified name: Std.Arrays.Excluding
|
|
|
17
17
|
function Excluding<'T>(remove : Int[], array : 'T[]) : 'T[]
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
+
## Summary
|
|
20
21
|
Returns an array containing the elements of another array,
|
|
21
22
|
excluding elements at a given list of indices.
|
|
22
23
|
|