qsharp-lang 1.1.2-dev → 1.1.4-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.
Files changed (271) hide show
  1. package/dist/katas-content.generated.js +133 -122
  2. package/dist/language-service/language-service.d.ts +3 -1
  3. package/dist/language-service/language-service.js +3 -0
  4. package/dist/language-service/worker-proxy.js +1 -0
  5. package/docs/Microsoft.Quantum.Arrays/All.md +44 -0
  6. package/docs/Microsoft.Quantum.Arrays/Any.md +43 -0
  7. package/docs/Microsoft.Quantum.Arrays/Chunks.md +34 -0
  8. package/docs/Microsoft.Quantum.Arrays/CircularlyShifted.md +46 -0
  9. package/docs/Microsoft.Quantum.Arrays/ColumnAt.md +47 -0
  10. package/docs/Microsoft.Quantum.Arrays/Count.md +44 -0
  11. package/docs/Microsoft.Quantum.Arrays/Diagonal.md +43 -0
  12. package/docs/Microsoft.Quantum.Arrays/DrawMany.md +44 -0
  13. package/docs/Microsoft.Quantum.Arrays/Enumerated.md +45 -0
  14. package/docs/Microsoft.Quantum.Arrays/Excluding.md +47 -0
  15. package/docs/Microsoft.Quantum.Arrays/Filtered.md +44 -0
  16. package/docs/Microsoft.Quantum.Arrays/FlatMapped.md +46 -0
  17. package/docs/Microsoft.Quantum.Arrays/Flattened.md +38 -0
  18. package/docs/Microsoft.Quantum.Arrays/Fold.md +47 -0
  19. package/docs/Microsoft.Quantum.Arrays/ForEach.md +43 -0
  20. package/docs/Microsoft.Quantum.Arrays/Head.md +32 -0
  21. package/docs/Microsoft.Quantum.Arrays/HeadAndRest.md +32 -0
  22. package/docs/Microsoft.Quantum.Arrays/IndexOf.md +40 -0
  23. package/docs/Microsoft.Quantum.Arrays/IndexRange.md +41 -0
  24. package/docs/Microsoft.Quantum.Arrays/Interleaved.md +49 -0
  25. package/docs/Microsoft.Quantum.Arrays/IsEmpty.md +28 -0
  26. package/docs/Microsoft.Quantum.Arrays/IsRectangularArray.md +42 -0
  27. package/docs/Microsoft.Quantum.Arrays/IsSorted.md +43 -0
  28. package/docs/Microsoft.Quantum.Arrays/IsSquareArray.md +42 -0
  29. package/docs/Microsoft.Quantum.Arrays/Mapped.md +43 -0
  30. package/docs/Microsoft.Quantum.Arrays/MappedByIndex.md +54 -0
  31. package/docs/Microsoft.Quantum.Arrays/MappedOverRange.md +48 -0
  32. package/docs/Microsoft.Quantum.Arrays/Most.md +34 -0
  33. package/docs/Microsoft.Quantum.Arrays/MostAndTail.md +32 -0
  34. package/docs/Microsoft.Quantum.Arrays/Padded.md +50 -0
  35. package/docs/Microsoft.Quantum.Arrays/Partitioned.md +44 -0
  36. package/docs/Microsoft.Quantum.Arrays/Rest.md +34 -0
  37. package/docs/Microsoft.Quantum.Arrays/Reversed.md +34 -0
  38. package/docs/Microsoft.Quantum.Arrays/SequenceI.md +41 -0
  39. package/docs/Microsoft.Quantum.Arrays/SequenceL.md +41 -0
  40. package/docs/Microsoft.Quantum.Arrays/Sorted.md +52 -0
  41. package/docs/Microsoft.Quantum.Arrays/Subarray.md +51 -0
  42. package/docs/Microsoft.Quantum.Arrays/Swapped.md +40 -0
  43. package/docs/Microsoft.Quantum.Arrays/Tail.md +32 -0
  44. package/docs/Microsoft.Quantum.Arrays/Transposed.md +47 -0
  45. package/docs/Microsoft.Quantum.Arrays/Unzipped.md +46 -0
  46. package/docs/Microsoft.Quantum.Arrays/Where.md +36 -0
  47. package/docs/Microsoft.Quantum.Arrays/Windows.md +47 -0
  48. package/docs/Microsoft.Quantum.Arrays/Zipped.md +50 -0
  49. package/docs/Microsoft.Quantum.Canon/ApplyCNOTChain.md +35 -0
  50. package/docs/Microsoft.Quantum.Canon/ApplyControlledOnBitString.md +42 -0
  51. package/docs/Microsoft.Quantum.Canon/ApplyControlledOnInt.md +41 -0
  52. package/docs/Microsoft.Quantum.Canon/ApplyP.md +39 -0
  53. package/docs/Microsoft.Quantum.Canon/ApplyPauli.md +41 -0
  54. package/docs/Microsoft.Quantum.Canon/ApplyPauliFromBitString.md +47 -0
  55. package/docs/Microsoft.Quantum.Canon/ApplyPauliFromInt.md +45 -0
  56. package/docs/Microsoft.Quantum.Canon/ApplyQFT.md +34 -0
  57. package/docs/Microsoft.Quantum.Canon/ApplyToEach.md +38 -0
  58. package/docs/Microsoft.Quantum.Canon/ApplyToEachA.md +43 -0
  59. package/docs/Microsoft.Quantum.Canon/ApplyToEachC.md +43 -0
  60. package/docs/Microsoft.Quantum.Canon/ApplyToEachCA.md +43 -0
  61. package/docs/Microsoft.Quantum.Canon/ApplyXorInPlace.md +31 -0
  62. package/docs/Microsoft.Quantum.Canon/ApplyXorInPlaceL.md +31 -0
  63. package/docs/Microsoft.Quantum.Canon/CX.md +50 -0
  64. package/docs/Microsoft.Quantum.Canon/CY.md +44 -0
  65. package/docs/Microsoft.Quantum.Canon/CZ.md +44 -0
  66. package/docs/Microsoft.Quantum.Canon/Fst.md +20 -0
  67. package/docs/Microsoft.Quantum.Canon/Snd.md +20 -0
  68. package/docs/Microsoft.Quantum.Canon/SwapReverseRegister.md +25 -0
  69. package/docs/Microsoft.Quantum.Convert/BigIntAsBoolArray.md +36 -0
  70. package/docs/Microsoft.Quantum.Convert/BoolArrayAsBigInt.md +35 -0
  71. package/docs/Microsoft.Quantum.Convert/BoolArrayAsInt.md +25 -0
  72. package/docs/Microsoft.Quantum.Convert/BoolArrayAsResultArray.md +30 -0
  73. package/docs/Microsoft.Quantum.Convert/BoolAsResult.md +30 -0
  74. package/docs/Microsoft.Quantum.Convert/ComplexAsComplexPolar.md +30 -0
  75. package/docs/Microsoft.Quantum.Convert/ComplexPolarAsComplex.md +30 -0
  76. package/docs/Microsoft.Quantum.Convert/IntAsBigInt.md +21 -0
  77. package/docs/Microsoft.Quantum.Convert/IntAsBoolArray.md +36 -0
  78. package/docs/Microsoft.Quantum.Convert/IntAsDouble.md +21 -0
  79. package/docs/Microsoft.Quantum.Convert/ResultArrayAsBoolArray.md +30 -0
  80. package/docs/Microsoft.Quantum.Convert/ResultArrayAsInt.md +34 -0
  81. package/docs/Microsoft.Quantum.Convert/ResultAsBool.md +30 -0
  82. package/docs/Microsoft.Quantum.Core/IsRangeEmpty.md +32 -0
  83. package/docs/Microsoft.Quantum.Core/Length.md +28 -0
  84. package/docs/Microsoft.Quantum.Core/RangeEnd.md +38 -0
  85. package/docs/Microsoft.Quantum.Core/RangeReverse.md +32 -0
  86. package/docs/Microsoft.Quantum.Core/RangeStart.md +36 -0
  87. package/docs/Microsoft.Quantum.Core/RangeStep.md +33 -0
  88. package/docs/Microsoft.Quantum.Core/Repeated.md +36 -0
  89. package/docs/Microsoft.Quantum.Diagnostics/CheckAllZero.md +18 -0
  90. package/docs/Microsoft.Quantum.Diagnostics/CheckOperationsAreEqual.md +47 -0
  91. package/docs/Microsoft.Quantum.Diagnostics/CheckZero.md +18 -0
  92. package/docs/Microsoft.Quantum.Diagnostics/DumpMachine.md +18 -0
  93. package/docs/Microsoft.Quantum.Diagnostics/Fact.md +20 -0
  94. package/docs/Microsoft.Quantum.Intrinsic/CCNOT.md +35 -0
  95. package/docs/Microsoft.Quantum.Intrinsic/CNOT.md +47 -0
  96. package/docs/Microsoft.Quantum.Intrinsic/Exp.md +40 -0
  97. package/docs/Microsoft.Quantum.Intrinsic/H.md +34 -0
  98. package/docs/Microsoft.Quantum.Intrinsic/I.md +25 -0
  99. package/docs/Microsoft.Quantum.Intrinsic/M.md +46 -0
  100. package/docs/Microsoft.Quantum.Intrinsic/Measure.md +56 -0
  101. package/docs/Microsoft.Quantum.Intrinsic/Message.md +30 -0
  102. package/docs/Microsoft.Quantum.Intrinsic/R.md +42 -0
  103. package/docs/Microsoft.Quantum.Intrinsic/R1.md +41 -0
  104. package/docs/Microsoft.Quantum.Intrinsic/R1Frac.md +57 -0
  105. package/docs/Microsoft.Quantum.Intrinsic/RFrac.md +58 -0
  106. package/docs/Microsoft.Quantum.Intrinsic/Reset.md +27 -0
  107. package/docs/Microsoft.Quantum.Intrinsic/ResetAll.md +27 -0
  108. package/docs/Microsoft.Quantum.Intrinsic/Rx.md +44 -0
  109. package/docs/Microsoft.Quantum.Intrinsic/Rxx.md +42 -0
  110. package/docs/Microsoft.Quantum.Intrinsic/Ry.md +44 -0
  111. package/docs/Microsoft.Quantum.Intrinsic/Ryy.md +42 -0
  112. package/docs/Microsoft.Quantum.Intrinsic/Rz.md +44 -0
  113. package/docs/Microsoft.Quantum.Intrinsic/Rzz.md +42 -0
  114. package/docs/Microsoft.Quantum.Intrinsic/S.md +36 -0
  115. package/docs/Microsoft.Quantum.Intrinsic/SWAP.md +49 -0
  116. package/docs/Microsoft.Quantum.Intrinsic/T.md +36 -0
  117. package/docs/Microsoft.Quantum.Intrinsic/X.md +36 -0
  118. package/docs/Microsoft.Quantum.Intrinsic/Y.md +36 -0
  119. package/docs/Microsoft.Quantum.Intrinsic/Z.md +36 -0
  120. package/docs/Microsoft.Quantum.Logical/Xor.md +38 -0
  121. package/docs/Microsoft.Quantum.Math/AbsComplex.md +30 -0
  122. package/docs/Microsoft.Quantum.Math/AbsComplexPolar.md +30 -0
  123. package/docs/Microsoft.Quantum.Math/AbsD.md +21 -0
  124. package/docs/Microsoft.Quantum.Math/AbsI.md +21 -0
  125. package/docs/Microsoft.Quantum.Math/AbsL.md +20 -0
  126. package/docs/Microsoft.Quantum.Math/AbsSquaredComplex.md +30 -0
  127. package/docs/Microsoft.Quantum.Math/AbsSquaredComplexPolar.md +30 -0
  128. package/docs/Microsoft.Quantum.Math/ApproximateFactorial.md +40 -0
  129. package/docs/Microsoft.Quantum.Math/ArcCos.md +21 -0
  130. package/docs/Microsoft.Quantum.Math/ArcCosh.md +21 -0
  131. package/docs/Microsoft.Quantum.Math/ArcSin.md +21 -0
  132. package/docs/Microsoft.Quantum.Math/ArcSinh.md +21 -0
  133. package/docs/Microsoft.Quantum.Math/ArcTan.md +21 -0
  134. package/docs/Microsoft.Quantum.Math/ArcTan2.md +21 -0
  135. package/docs/Microsoft.Quantum.Math/ArcTanh.md +21 -0
  136. package/docs/Microsoft.Quantum.Math/ArgComplex.md +30 -0
  137. package/docs/Microsoft.Quantum.Math/ArgComplexPolar.md +28 -0
  138. package/docs/Microsoft.Quantum.Math/Binom.md +34 -0
  139. package/docs/Microsoft.Quantum.Math/BitSizeI.md +23 -0
  140. package/docs/Microsoft.Quantum.Math/BitSizeL.md +23 -0
  141. package/docs/Microsoft.Quantum.Math/Ceiling.md +23 -0
  142. package/docs/Microsoft.Quantum.Math/Complex.md +31 -0
  143. package/docs/Microsoft.Quantum.Math/ComplexPolar.md +29 -0
  144. package/docs/Microsoft.Quantum.Math/ContinuedFractionConvergentI.md +25 -0
  145. package/docs/Microsoft.Quantum.Math/ContinuedFractionConvergentL.md +25 -0
  146. package/docs/Microsoft.Quantum.Math/Cos.md +21 -0
  147. package/docs/Microsoft.Quantum.Math/Cosh.md +21 -0
  148. package/docs/Microsoft.Quantum.Math/DivRemI.md +21 -0
  149. package/docs/Microsoft.Quantum.Math/DivRemL.md +21 -0
  150. package/docs/Microsoft.Quantum.Math/DividedByC.md +30 -0
  151. package/docs/Microsoft.Quantum.Math/DividedByCP.md +30 -0
  152. package/docs/Microsoft.Quantum.Math/E.md +28 -0
  153. package/docs/Microsoft.Quantum.Math/ExpModI.md +23 -0
  154. package/docs/Microsoft.Quantum.Math/ExpModL.md +23 -0
  155. package/docs/Microsoft.Quantum.Math/ExtendedGreatestCommonDivisorI.md +23 -0
  156. package/docs/Microsoft.Quantum.Math/ExtendedGreatestCommonDivisorL.md +23 -0
  157. package/docs/Microsoft.Quantum.Math/FactorialI.md +38 -0
  158. package/docs/Microsoft.Quantum.Math/FactorialL.md +32 -0
  159. package/docs/Microsoft.Quantum.Math/Floor.md +23 -0
  160. package/docs/Microsoft.Quantum.Math/GreatestCommonDivisorI.md +23 -0
  161. package/docs/Microsoft.Quantum.Math/GreatestCommonDivisorL.md +23 -0
  162. package/docs/Microsoft.Quantum.Math/HammingWeightI.md +21 -0
  163. package/docs/Microsoft.Quantum.Math/InverseModI.md +25 -0
  164. package/docs/Microsoft.Quantum.Math/InverseModL.md +25 -0
  165. package/docs/Microsoft.Quantum.Math/IsCoprimeI.md +34 -0
  166. package/docs/Microsoft.Quantum.Math/IsCoprimeL.md +34 -0
  167. package/docs/Microsoft.Quantum.Math/IsInfinite.md +49 -0
  168. package/docs/Microsoft.Quantum.Math/IsNaN.md +30 -0
  169. package/docs/Microsoft.Quantum.Math/LargestFixedPoint.md +31 -0
  170. package/docs/Microsoft.Quantum.Math/Lg.md +21 -0
  171. package/docs/Microsoft.Quantum.Math/Log.md +21 -0
  172. package/docs/Microsoft.Quantum.Math/Log10.md +21 -0
  173. package/docs/Microsoft.Quantum.Math/LogFactorialD.md +35 -0
  174. package/docs/Microsoft.Quantum.Math/LogGammaD.md +39 -0
  175. package/docs/Microsoft.Quantum.Math/LogOf2.md +24 -0
  176. package/docs/Microsoft.Quantum.Math/Max.md +28 -0
  177. package/docs/Microsoft.Quantum.Math/MaxD.md +21 -0
  178. package/docs/Microsoft.Quantum.Math/MaxI.md +21 -0
  179. package/docs/Microsoft.Quantum.Math/MaxL.md +21 -0
  180. package/docs/Microsoft.Quantum.Math/Min.md +28 -0
  181. package/docs/Microsoft.Quantum.Math/MinD.md +21 -0
  182. package/docs/Microsoft.Quantum.Math/MinI.md +21 -0
  183. package/docs/Microsoft.Quantum.Math/MinL.md +21 -0
  184. package/docs/Microsoft.Quantum.Math/MinusC.md +30 -0
  185. package/docs/Microsoft.Quantum.Math/MinusCP.md +30 -0
  186. package/docs/Microsoft.Quantum.Math/ModulusI.md +23 -0
  187. package/docs/Microsoft.Quantum.Math/ModulusL.md +23 -0
  188. package/docs/Microsoft.Quantum.Math/NegationC.md +28 -0
  189. package/docs/Microsoft.Quantum.Math/NegationCP.md +28 -0
  190. package/docs/Microsoft.Quantum.Math/PI.md +28 -0
  191. package/docs/Microsoft.Quantum.Math/PNorm.md +34 -0
  192. package/docs/Microsoft.Quantum.Math/PNormalized.md +39 -0
  193. package/docs/Microsoft.Quantum.Math/PlusC.md +30 -0
  194. package/docs/Microsoft.Quantum.Math/PlusCP.md +30 -0
  195. package/docs/Microsoft.Quantum.Math/PowC.md +32 -0
  196. package/docs/Microsoft.Quantum.Math/PowCP.md +32 -0
  197. package/docs/Microsoft.Quantum.Math/RealMod.md +38 -0
  198. package/docs/Microsoft.Quantum.Math/Round.md +23 -0
  199. package/docs/Microsoft.Quantum.Math/SignD.md +21 -0
  200. package/docs/Microsoft.Quantum.Math/SignI.md +21 -0
  201. package/docs/Microsoft.Quantum.Math/SignL.md +21 -0
  202. package/docs/Microsoft.Quantum.Math/Sin.md +21 -0
  203. package/docs/Microsoft.Quantum.Math/Sinh.md +21 -0
  204. package/docs/Microsoft.Quantum.Math/SmallestFixedPoint.md +30 -0
  205. package/docs/Microsoft.Quantum.Math/Sqrt.md +21 -0
  206. package/docs/Microsoft.Quantum.Math/SquaredNorm.md +32 -0
  207. package/docs/Microsoft.Quantum.Math/Tan.md +21 -0
  208. package/docs/Microsoft.Quantum.Math/Tanh.md +21 -0
  209. package/docs/Microsoft.Quantum.Math/TimesC.md +30 -0
  210. package/docs/Microsoft.Quantum.Math/TimesCP.md +30 -0
  211. package/docs/Microsoft.Quantum.Math/TrailingZeroCountI.md +23 -0
  212. package/docs/Microsoft.Quantum.Math/TrailingZeroCountL.md +23 -0
  213. package/docs/Microsoft.Quantum.Math/Truncate.md +23 -0
  214. package/docs/Microsoft.Quantum.Measurement/MResetEachZ.md +28 -0
  215. package/docs/Microsoft.Quantum.Measurement/MResetX.md +37 -0
  216. package/docs/Microsoft.Quantum.Measurement/MResetY.md +37 -0
  217. package/docs/Microsoft.Quantum.Measurement/MResetZ.md +37 -0
  218. package/docs/Microsoft.Quantum.Measurement/MeasureAllZ.md +36 -0
  219. package/docs/Microsoft.Quantum.Measurement/MeasureEachZ.md +30 -0
  220. package/docs/Microsoft.Quantum.Measurement/MeasureInteger.md +36 -0
  221. package/docs/Microsoft.Quantum.Random/DrawRandomDouble.md +40 -0
  222. package/docs/Microsoft.Quantum.Random/DrawRandomInt.md +40 -0
  223. package/docs/Microsoft.Quantum.ResourceEstimation/AccountForEstimates.md +35 -0
  224. package/docs/Microsoft.Quantum.ResourceEstimation/AuxQubitCount.md +23 -0
  225. package/docs/Microsoft.Quantum.ResourceEstimation/BeginEstimateCaching.md +39 -0
  226. package/docs/Microsoft.Quantum.ResourceEstimation/BeginRepeatEstimates.md +36 -0
  227. package/docs/Microsoft.Quantum.ResourceEstimation/CczCount.md +23 -0
  228. package/docs/Microsoft.Quantum.ResourceEstimation/EndEstimateCaching.md +25 -0
  229. package/docs/Microsoft.Quantum.ResourceEstimation/EndRepeatEstimates.md +22 -0
  230. package/docs/Microsoft.Quantum.ResourceEstimation/MeasurementCount.md +23 -0
  231. package/docs/Microsoft.Quantum.ResourceEstimation/PSSPCLayout.md +25 -0
  232. package/docs/Microsoft.Quantum.ResourceEstimation/RepeatEstimates.md +32 -0
  233. package/docs/Microsoft.Quantum.ResourceEstimation/RotationCount.md +23 -0
  234. package/docs/Microsoft.Quantum.ResourceEstimation/RotationDepth.md +23 -0
  235. package/docs/Microsoft.Quantum.ResourceEstimation/SingleVariant.md +23 -0
  236. package/docs/Microsoft.Quantum.ResourceEstimation/TCount.md +23 -0
  237. package/docs/Microsoft.Quantum.Unstable.Arithmetic/AddLE.md +29 -0
  238. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfEqualL.md +23 -0
  239. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfEqualLE.md +25 -0
  240. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterL.md +23 -0
  241. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterLE.md +25 -0
  242. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterOrEqualL.md +23 -0
  243. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterOrEqualLE.md +25 -0
  244. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessL.md +23 -0
  245. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessLE.md +25 -0
  246. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessOrEqualL.md +23 -0
  247. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessOrEqualLE.md +25 -0
  248. package/docs/Microsoft.Quantum.Unstable.Arithmetic/FourierTDIncByLE.md +32 -0
  249. package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByI.md +27 -0
  250. package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByIUsingIncByLE.md +27 -0
  251. package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByL.md +27 -0
  252. package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByLE.md +27 -0
  253. package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByLEUsingAddLE.md +36 -0
  254. package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByLUsingIncByLE.md +27 -0
  255. package/docs/Microsoft.Quantum.Unstable.Arithmetic/LookAheadDKRSAddLE.md +36 -0
  256. package/docs/Microsoft.Quantum.Unstable.Arithmetic/MAJ.md +34 -0
  257. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ReflectAboutInteger.md +37 -0
  258. package/docs/Microsoft.Quantum.Unstable.Arithmetic/RippleCarryCGAddLE.md +34 -0
  259. package/docs/Microsoft.Quantum.Unstable.Arithmetic/RippleCarryCGIncByLE.md +34 -0
  260. package/docs/Microsoft.Quantum.Unstable.Arithmetic/RippleCarryTTKIncByLE.md +35 -0
  261. package/docs/Microsoft.Quantum.Unstable.StatePreparation/ApproximatelyPreparePureStateCP.md +68 -0
  262. package/docs/Microsoft.Quantum.Unstable.StatePreparation/PreparePureStateD.md +65 -0
  263. package/docs/Microsoft.Quantum.Unstable.TableLookup/Select.md +53 -0
  264. package/docs/toc.yml +305 -0
  265. package/lib/node/qsc_wasm.cjs +40 -13
  266. package/lib/node/qsc_wasm.d.cts +15 -0
  267. package/lib/node/qsc_wasm_bg.wasm +0 -0
  268. package/lib/web/qsc_wasm.d.ts +17 -0
  269. package/lib/web/qsc_wasm.js +38 -11
  270. package/lib/web/qsc_wasm_bg.wasm +0 -0
  271. package/package.json +4 -2
@@ -0,0 +1,41 @@
1
+ ---
2
+ uid: Microsoft.Quantum.Canon.ApplyControlledOnInt
3
+ title: ApplyControlledOnInt operation
4
+ ms.date: 02/16/2024 12:00:00 AM
5
+ ms.topic: managed-reference
6
+ qsharp.kind: opeartion
7
+ qsharp.namespace: Microsoft.Quantum.Canon
8
+ qsharp.name: ApplyControlledOnInt
9
+ qsharp.summary: Applies a unitary operation on the target if the control
10
+ register state corresponds to a specified nonnegative integer.
11
+ ---
12
+
13
+ # ApplyControlledOnInt operation
14
+
15
+ Namespace: [Microsoft.Quantum.Canon](xref:Microsoft.Quantum.Canon)
16
+
17
+ ```qsharp
18
+ operation ApplyControlledOnInt<'T>(numberState : Int, oracle : ('T => Unit is Adj + Ctl), controlRegister : Qubit[], target : 'T) : Unit is Adj + Ctl
19
+ ```
20
+
21
+ ## Summary
22
+ Applies a unitary operation on the target if the control
23
+ register state corresponds to a specified nonnegative integer.
24
+
25
+ ## Input
26
+ ### numberState
27
+ A nonnegative integer on which the operation `oracle` should be
28
+ controlled.
29
+ ### oracle
30
+ A unitary operation to be controlled.
31
+ ### target
32
+ A target on which to apply `oracle`.
33
+ ### controlRegister
34
+ A quantum register that controls application of `oracle`.
35
+
36
+ ## Remarks
37
+ The value of `numberState` is interpreted using a little-endian encoding.
38
+
39
+ `numberState` must be at most $2^\texttt{Length(controlRegister)} - 1$.
40
+ For example, `numberState = 537` means that `oracle`
41
+ is applied if and only if `controlRegister` is in the state $\ket{537}$.
@@ -0,0 +1,39 @@
1
+ ---
2
+ uid: Microsoft.Quantum.Canon.ApplyP
3
+ title: ApplyP operation
4
+ ms.date: 02/16/2024 12:00:00 AM
5
+ ms.topic: managed-reference
6
+ qsharp.kind: opeartion
7
+ qsharp.namespace: Microsoft.Quantum.Canon
8
+ qsharp.name: ApplyP
9
+ qsharp.summary: Given a single-qubit Pauli operator, applies the corresponding operation
10
+ to a single qubit.
11
+ ---
12
+
13
+ # ApplyP operation
14
+
15
+ Namespace: [Microsoft.Quantum.Canon](xref:Microsoft.Quantum.Canon)
16
+
17
+ ```qsharp
18
+ operation ApplyP(pauli : Pauli, target : Qubit) : Unit is Adj + Ctl
19
+ ```
20
+
21
+ ## Summary
22
+ Given a single-qubit Pauli operator, applies the corresponding operation
23
+ to a single qubit.
24
+
25
+ ## Input
26
+ ### pauli
27
+ The Pauli operator to be applied.
28
+ ### target
29
+ The qubit to which `pauli` is to be applied as an operation.
30
+
31
+ ## Example
32
+ The following are equivalent:
33
+ ```qsharp
34
+ ApplyP(PauliX, q);
35
+ ```
36
+ and
37
+ ```qsharp
38
+ X(q);
39
+ ```
@@ -0,0 +1,41 @@
1
+ ---
2
+ uid: Microsoft.Quantum.Canon.ApplyPauli
3
+ title: ApplyPauli operation
4
+ ms.date: 02/16/2024 12:00:00 AM
5
+ ms.topic: managed-reference
6
+ qsharp.kind: opeartion
7
+ qsharp.namespace: Microsoft.Quantum.Canon
8
+ qsharp.name: ApplyPauli
9
+ qsharp.summary: Given a multi-qubit Pauli operator, applies the corresponding operation
10
+ to a quantum register.
11
+ ---
12
+
13
+ # ApplyPauli operation
14
+
15
+ Namespace: [Microsoft.Quantum.Canon](xref:Microsoft.Quantum.Canon)
16
+
17
+ ```qsharp
18
+ operation ApplyPauli(pauli : Pauli[], target : Qubit[]) : Unit is Adj + Ctl
19
+ ```
20
+
21
+ ## Summary
22
+ Given a multi-qubit Pauli operator, applies the corresponding operation
23
+ to a quantum register.
24
+
25
+ ## Input
26
+ ### pauli
27
+ A multi-qubit Pauli operator represented as an array of single-qubit Pauli operators.
28
+ ### target
29
+ Register to apply the given Pauli operation on.
30
+
31
+ ## Example
32
+ The following are equivalent:
33
+ ```qsharp
34
+ ApplyPauli([PauliY, PauliZ, PauliX], target);
35
+ ```
36
+ and
37
+ ```qsharp
38
+ Y(target[0]);
39
+ Z(target[1]);
40
+ X(target[2]);
41
+ ```
@@ -0,0 +1,47 @@
1
+ ---
2
+ uid: Microsoft.Quantum.Canon.ApplyPauliFromBitString
3
+ title: ApplyPauliFromBitString operation
4
+ ms.date: 02/16/2024 12:00:00 AM
5
+ ms.topic: managed-reference
6
+ qsharp.kind: opeartion
7
+ qsharp.namespace: Microsoft.Quantum.Canon
8
+ qsharp.name: ApplyPauliFromBitString
9
+ qsharp.summary: Applies a Pauli operator on each qubit in an array if the corresponding
10
+ bit of a Boolean array matches a given input.
11
+ ---
12
+
13
+ # ApplyPauliFromBitString operation
14
+
15
+ Namespace: [Microsoft.Quantum.Canon](xref:Microsoft.Quantum.Canon)
16
+
17
+ ```qsharp
18
+ operation ApplyPauliFromBitString(pauli : Pauli, bitApply : Bool, bits : Bool[], qubits : Qubit[]) : Unit is Adj + Ctl
19
+ ```
20
+
21
+ ## Summary
22
+ Applies a Pauli operator on each qubit in an array if the corresponding
23
+ bit of a Boolean array matches a given input.
24
+
25
+ ## Input
26
+ ### pauli
27
+ Pauli operator to apply to `qubits[idx]` where `bitApply == bits[idx]`
28
+ ### bitApply
29
+ apply Pauli if bit is this value
30
+ ### bits
31
+ Boolean register specifying which corresponding qubit in `qubits` should be operated on
32
+ ### qubits
33
+ Quantum register on which to selectively apply the specified Pauli operator
34
+
35
+ ## Remarks
36
+ The Boolean array and the quantum register must be of equal length.
37
+
38
+ ## Example
39
+ The following applies an X operation on qubits 0 and 2, and a Z operation on qubits 1 and 3.
40
+ ```qsharp
41
+ use qubits = Qubit[4];
42
+ let bits = [true, false, true, false];
43
+ // Apply when index in `bits` is `true`.
44
+ ApplyPauliFromBitString(PauliX, true, bits, qubits);
45
+ // Apply when index in `bits` is `false`.
46
+ ApplyPauliFromBitString(PauliZ, false, bits, qubits);
47
+ ```
@@ -0,0 +1,45 @@
1
+ ---
2
+ uid: Microsoft.Quantum.Canon.ApplyPauliFromInt
3
+ title: ApplyPauliFromInt operation
4
+ ms.date: 02/16/2024 12:00:00 AM
5
+ ms.topic: managed-reference
6
+ qsharp.kind: opeartion
7
+ qsharp.namespace: Microsoft.Quantum.Canon
8
+ qsharp.name: ApplyPauliFromInt
9
+ qsharp.summary: Applies a Pauli operator on each qubit in an array if the corresponding
10
+ bit of a Little-endian integer matches a given input.
11
+ ---
12
+
13
+ # ApplyPauliFromInt operation
14
+
15
+ Namespace: [Microsoft.Quantum.Canon](xref:Microsoft.Quantum.Canon)
16
+
17
+ ```qsharp
18
+ operation ApplyPauliFromInt(pauli : Pauli, bitApply : Bool, numberState : Int, qubits : Qubit[]) : Unit is Adj + Ctl
19
+ ```
20
+
21
+ ## Summary
22
+ Applies a Pauli operator on each qubit in an array if the corresponding
23
+ bit of a Little-endian integer matches a given input.
24
+
25
+ ## Input
26
+ ### pauli
27
+ Pauli operator to apply to `qubits[idx]` when bit of numberState
28
+ in idx position is the same as bitApply.
29
+ ### bitApply
30
+ apply Pauli if bit is this value
31
+ ### numberState
32
+ Little-endian integer specifying which corresponding qubit in `qubits` should be operated on
33
+ ### qubits
34
+ Quantum register on which to selectively apply the specified Pauli operator
35
+
36
+ ## Example
37
+ The following applies an X operation on qubits 0 and 2, and a Z operation on qubits 1 and 3.
38
+ ```qsharp
39
+ use qubits = Qubit[4];
40
+ let n = 5;
41
+ // Apply when index in `bits` is `true`.
42
+ ApplyPauliFromBitString(PauliX, true, n, qubits);
43
+ // Apply when index in `bits` is `false`.
44
+ ApplyPauliFromBitString(PauliZ, false, n, qubits);
45
+ ```
@@ -0,0 +1,34 @@
1
+ ---
2
+ uid: Microsoft.Quantum.Canon.ApplyQFT
3
+ title: ApplyQFT operation
4
+ ms.date: 02/16/2024 12:00:00 AM
5
+ ms.topic: managed-reference
6
+ qsharp.kind: opeartion
7
+ qsharp.namespace: Microsoft.Quantum.Canon
8
+ qsharp.name: ApplyQFT
9
+ qsharp.summary: Applies Quantum Fourier Transform (QFT) to a little-endian quantum register.
10
+ ---
11
+
12
+ # ApplyQFT operation
13
+
14
+ Namespace: [Microsoft.Quantum.Canon](xref:Microsoft.Quantum.Canon)
15
+
16
+ ```qsharp
17
+ operation ApplyQFT(qs : Qubit[]) : Unit is Adj + Ctl
18
+ ```
19
+
20
+ ## Summary
21
+ Applies Quantum Fourier Transform (QFT) to a little-endian quantum register.
22
+
23
+ ## Description
24
+ Applies QFT to a little-endian register `qs` of length n
25
+ containing |x₁⟩⊗|x₂⟩⊗…⊗|xₙ⟩. The qs[0] contains the
26
+ least significant bit xₙ. The state of qs[0] becomes
27
+ (|0⟩+𝑒^(2π𝑖[0.xₙ])|1⟩)/sqrt(2) after the operation.
28
+
29
+ ## Input
30
+ ### qs
31
+ Quantum register in a little-endian format to which the QFT is applied.
32
+
33
+ ## Reference
34
+ - [Quantum Fourier transform](https://en.wikipedia.org/wiki/Quantum_Fourier_transform)
@@ -0,0 +1,38 @@
1
+ ---
2
+ uid: Microsoft.Quantum.Canon.ApplyToEach
3
+ title: ApplyToEach operation
4
+ ms.date: 02/16/2024 12:00:00 AM
5
+ ms.topic: managed-reference
6
+ qsharp.kind: opeartion
7
+ qsharp.namespace: Microsoft.Quantum.Canon
8
+ qsharp.name: ApplyToEach
9
+ qsharp.summary: Applies an operation to each element in a register.
10
+ ---
11
+
12
+ # ApplyToEach operation
13
+
14
+ Namespace: [Microsoft.Quantum.Canon](xref:Microsoft.Quantum.Canon)
15
+
16
+ ```qsharp
17
+ operation ApplyToEach<'T>(singleElementOperation : ('T => Unit), register : 'T[]) : Unit
18
+ ```
19
+
20
+ ## Summary
21
+ Applies an operation to each element in a register.
22
+
23
+ ## Input
24
+ ### singleElementOperation
25
+ Operation to apply to each element.
26
+ ### register
27
+ Array of elements on which to apply the given operation.
28
+
29
+ ## Type Parameters
30
+ ### 'T
31
+ The target on which the operation acts.
32
+
33
+ ## Example
34
+ Prepare a three-qubit |+⟩ state:
35
+ ```qsharp
36
+ use register = Qubit[3];
37
+ ApplyToEach(H, register);
38
+ ```
@@ -0,0 +1,43 @@
1
+ ---
2
+ uid: Microsoft.Quantum.Canon.ApplyToEachA
3
+ title: ApplyToEachA operation
4
+ ms.date: 02/16/2024 12:00:00 AM
5
+ ms.topic: managed-reference
6
+ qsharp.kind: opeartion
7
+ qsharp.namespace: Microsoft.Quantum.Canon
8
+ qsharp.name: ApplyToEachA
9
+ qsharp.summary: Applies an operation to each element in a register.
10
+ The modifier `A` indicates that the single-element operation is adjointable.
11
+ ---
12
+
13
+ # ApplyToEachA operation
14
+
15
+ Namespace: [Microsoft.Quantum.Canon](xref:Microsoft.Quantum.Canon)
16
+
17
+ ```qsharp
18
+ operation ApplyToEachA<'T>(singleElementOperation : ('T => Unit is Adj), register : 'T[]) : Unit is Adj
19
+ ```
20
+
21
+ ## Summary
22
+ Applies an operation to each element in a register.
23
+ The modifier `A` indicates that the single-element operation is adjointable.
24
+
25
+ ## Input
26
+ ### singleElementOperation
27
+ Operation to apply to each element.
28
+ ### register
29
+ Array of elements on which to apply the given operation.
30
+
31
+ ## Type Parameters
32
+ ### 'T
33
+ The target on which the operation acts.
34
+
35
+ ## Example
36
+ Prepare a three-qubit |+⟩ state:
37
+ ```qsharp
38
+ use register = Qubit[3];
39
+ ApplyToEach(H, register);
40
+ ```
41
+
42
+ ## See Also
43
+ - Microsoft.Quantum.Canon.ApplyToEach
@@ -0,0 +1,43 @@
1
+ ---
2
+ uid: Microsoft.Quantum.Canon.ApplyToEachC
3
+ title: ApplyToEachC operation
4
+ ms.date: 02/16/2024 12:00:00 AM
5
+ ms.topic: managed-reference
6
+ qsharp.kind: opeartion
7
+ qsharp.namespace: Microsoft.Quantum.Canon
8
+ qsharp.name: ApplyToEachC
9
+ qsharp.summary: Applies an operation to each element in a register.
10
+ The modifier `C` indicates that the single-element operation is controllable.
11
+ ---
12
+
13
+ # ApplyToEachC operation
14
+
15
+ Namespace: [Microsoft.Quantum.Canon](xref:Microsoft.Quantum.Canon)
16
+
17
+ ```qsharp
18
+ operation ApplyToEachC<'T>(singleElementOperation : ('T => Unit is Ctl), register : 'T[]) : Unit is Ctl
19
+ ```
20
+
21
+ ## Summary
22
+ Applies an operation to each element in a register.
23
+ The modifier `C` indicates that the single-element operation is controllable.
24
+
25
+ ## Input
26
+ ### singleElementOperation
27
+ Operation to apply to each element.
28
+ ### register
29
+ Array of elements on which to apply the given operation.
30
+
31
+ ## Type Parameters
32
+ ### 'T
33
+ The target on which the operation acts.
34
+
35
+ ## Example
36
+ Prepare a three-qubit |+⟩ state:
37
+ ```qsharp
38
+ use register = Qubit[3];
39
+ ApplyToEach(H, register);
40
+ ```
41
+
42
+ ## See Also
43
+ - Microsoft.Quantum.Canon.ApplyToEach
@@ -0,0 +1,43 @@
1
+ ---
2
+ uid: Microsoft.Quantum.Canon.ApplyToEachCA
3
+ title: ApplyToEachCA operation
4
+ ms.date: 02/16/2024 12:00:00 AM
5
+ ms.topic: managed-reference
6
+ qsharp.kind: opeartion
7
+ qsharp.namespace: Microsoft.Quantum.Canon
8
+ qsharp.name: ApplyToEachCA
9
+ qsharp.summary: Applies an operation to each element in a register.
10
+ The modifier `CA` indicates that the single-element operation is controllable and adjointable.
11
+ ---
12
+
13
+ # ApplyToEachCA operation
14
+
15
+ Namespace: [Microsoft.Quantum.Canon](xref:Microsoft.Quantum.Canon)
16
+
17
+ ```qsharp
18
+ operation ApplyToEachCA<'T>(singleElementOperation : ('T => Unit is Adj + Ctl), register : 'T[]) : Unit is Adj + Ctl
19
+ ```
20
+
21
+ ## Summary
22
+ Applies an operation to each element in a register.
23
+ The modifier `CA` indicates that the single-element operation is controllable and adjointable.
24
+
25
+ ## Input
26
+ ### singleElementOperation
27
+ Operation to apply to each element.
28
+ ### register
29
+ Array of elements on which to apply the given operation.
30
+
31
+ ## Type Parameters
32
+ ### 'T
33
+ The target on which the operation acts.
34
+
35
+ ## Example
36
+ Prepare a three-qubit |+⟩ state:
37
+ ```qsharp
38
+ use register = Qubit[3];
39
+ ApplyToEach(H, register);
40
+ ```
41
+
42
+ ## See Also
43
+ - Microsoft.Quantum.Canon.ApplyToEach
@@ -0,0 +1,31 @@
1
+ ---
2
+ uid: Microsoft.Quantum.Canon.ApplyXorInPlace
3
+ title: ApplyXorInPlace operation
4
+ ms.date: 02/16/2024 12:00:00 AM
5
+ ms.topic: managed-reference
6
+ qsharp.kind: opeartion
7
+ qsharp.namespace: Microsoft.Quantum.Canon
8
+ qsharp.name: ApplyXorInPlace
9
+ qsharp.summary: Applies a bitwise-XOR operation between a classical integer and an
10
+ integer represented by a register of qubits.
11
+ ---
12
+
13
+ # ApplyXorInPlace operation
14
+
15
+ Namespace: [Microsoft.Quantum.Canon](xref:Microsoft.Quantum.Canon)
16
+
17
+ ```qsharp
18
+ operation ApplyXorInPlace(value : Int, target : Qubit[]) : Unit is Adj + Ctl
19
+ ```
20
+
21
+ ## Summary
22
+ Applies a bitwise-XOR operation between a classical integer and an
23
+ integer represented by a register of qubits.
24
+
25
+ ## Description
26
+ Applies `X` operations to qubits in a little-endian register based on
27
+ 1 bits in an integer.
28
+
29
+ Let us denote `value` by a and let y be an unsigned integer encoded in `target`,
30
+ then `ApplyXorInPlace` performs an operation given by the following map:
31
+ |y⟩ ↦ |y ⊕ a⟩, where ⊕ is the bitwise exclusive OR operator.
@@ -0,0 +1,31 @@
1
+ ---
2
+ uid: Microsoft.Quantum.Canon.ApplyXorInPlaceL
3
+ title: ApplyXorInPlaceL operation
4
+ ms.date: 02/16/2024 12:00:00 AM
5
+ ms.topic: managed-reference
6
+ qsharp.kind: opeartion
7
+ qsharp.namespace: Microsoft.Quantum.Canon
8
+ qsharp.name: ApplyXorInPlaceL
9
+ qsharp.summary: Applies a bitwise-XOR operation between a classical integer and an
10
+ integer represented by a register of qubits.
11
+ ---
12
+
13
+ # ApplyXorInPlaceL operation
14
+
15
+ Namespace: [Microsoft.Quantum.Canon](xref:Microsoft.Quantum.Canon)
16
+
17
+ ```qsharp
18
+ operation ApplyXorInPlaceL(value : BigInt, target : Qubit[]) : Unit is Adj + Ctl
19
+ ```
20
+
21
+ ## Summary
22
+ Applies a bitwise-XOR operation between a classical integer and an
23
+ integer represented by a register of qubits.
24
+
25
+ ## Description
26
+ Applies `X` operations to qubits in a little-endian register based on
27
+ 1 bits in an integer.
28
+
29
+ Let us denote `value` by a and let y be an unsigned integer encoded in `target`,
30
+ then `ApplyXorInPlace` performs an operation given by the following map:
31
+ |y⟩ ↦ |y ⊕ a⟩, where ⊕ is the bitwise exclusive OR operator.
@@ -0,0 +1,50 @@
1
+ ---
2
+ uid: Microsoft.Quantum.Canon.CX
3
+ title: CX operation
4
+ ms.date: 02/16/2024 12:00:00 AM
5
+ ms.topic: managed-reference
6
+ qsharp.kind: opeartion
7
+ qsharp.namespace: Microsoft.Quantum.Canon
8
+ qsharp.name: CX
9
+ qsharp.summary: Applies the controlled-X (CX) gate to a pair of qubits.
10
+ ---
11
+
12
+ # CX operation
13
+
14
+ Namespace: [Microsoft.Quantum.Canon](xref:Microsoft.Quantum.Canon)
15
+
16
+ ```qsharp
17
+ operation CX(control : Qubit, target : Qubit) : Unit is Adj + Ctl
18
+ ```
19
+
20
+ ## Summary
21
+ Applies the controlled-X (CX) gate to a pair of qubits.
22
+
23
+ ## Input
24
+ ### control
25
+ Control qubit for the CX gate.
26
+ ### target
27
+ Target qubit for the CX gate.
28
+
29
+ ## Remarks
30
+ This operation can be simulated by the unitary matrix
31
+ $$
32
+ \begin{align}
33
+ \left(\begin{matrix}
34
+ 1 & 0 & 0 & 0 \\\\
35
+ 0 & 1 & 0 & 0 \\\\
36
+ 0 & 0 & 0 & 1 \\\\
37
+ 0 & 0 & 1 & 0
38
+ \end{matrix}\right)
39
+ \end{align},
40
+ $$
41
+ where rows and columns are organized as in the quantum concepts guide.
42
+
43
+ Equivalent to:
44
+ ```qsharp
45
+ Controlled X([control], target);
46
+ ```
47
+ and to:
48
+ ```qsharp
49
+ CNOT(control, target);
50
+ ```
@@ -0,0 +1,44 @@
1
+ ---
2
+ uid: Microsoft.Quantum.Canon.CY
3
+ title: CY operation
4
+ ms.date: 02/16/2024 12:00:00 AM
5
+ ms.topic: managed-reference
6
+ qsharp.kind: opeartion
7
+ qsharp.namespace: Microsoft.Quantum.Canon
8
+ qsharp.name: CY
9
+ qsharp.summary: Applies the controlled-Y (CY) gate to a pair of qubits.
10
+ ---
11
+
12
+ # CY operation
13
+
14
+ Namespace: [Microsoft.Quantum.Canon](xref:Microsoft.Quantum.Canon)
15
+
16
+ ```qsharp
17
+ operation CY(control : Qubit, target : Qubit) : Unit is Adj + Ctl
18
+ ```
19
+
20
+ ## Summary
21
+ Applies the controlled-Y (CY) gate to a pair of qubits.
22
+
23
+ ## Input
24
+ ### control
25
+ Control qubit for the CY gate.
26
+ ### target
27
+ Target qubit for the CY gate.
28
+
29
+ ## Remarks
30
+ This operation can be simulated by the unitary matrix
31
+ $$
32
+ \begin{align}
33
+ 1 & 0 & 0 & 0 \\\\
34
+ 0 & 1 & 0 & 0 \\\\
35
+ 0 & 0 & 0 & -i \\\\
36
+ 0 & 0 & i & 0
37
+ \end{align},
38
+ $$
39
+ where rows and columns are organized as in the quantum concepts guide.
40
+
41
+ Equivalent to:
42
+ ```qsharp
43
+ Controlled Y([control], target);
44
+ ```
@@ -0,0 +1,44 @@
1
+ ---
2
+ uid: Microsoft.Quantum.Canon.CZ
3
+ title: CZ operation
4
+ ms.date: 02/16/2024 12:00:00 AM
5
+ ms.topic: managed-reference
6
+ qsharp.kind: opeartion
7
+ qsharp.namespace: Microsoft.Quantum.Canon
8
+ qsharp.name: CZ
9
+ qsharp.summary: Applies the controlled-Z (CZ) gate to a pair of qubits.
10
+ ---
11
+
12
+ # CZ operation
13
+
14
+ Namespace: [Microsoft.Quantum.Canon](xref:Microsoft.Quantum.Canon)
15
+
16
+ ```qsharp
17
+ operation CZ(control : Qubit, target : Qubit) : Unit is Adj + Ctl
18
+ ```
19
+
20
+ ## Summary
21
+ Applies the controlled-Z (CZ) gate to a pair of qubits.
22
+
23
+ ## Input
24
+ ### control
25
+ Control qubit for the CZ gate.
26
+ ### target
27
+ Target qubit for the CZ gate.
28
+
29
+ ## Remarks
30
+ This operation can be simulated by the unitary matrix
31
+ $$
32
+ \begin{align}
33
+ 1 & 0 & 0 & 0 \\\\
34
+ 0 & 1 & 0 & 0 \\\\
35
+ 0 & 0 & 1 & 0 \\\\
36
+ 0 & 0 & 0 & -1
37
+ \end{align},
38
+ $$
39
+ where rows and columns are organized as in the quantum concepts guide.
40
+
41
+ Equivalent to:
42
+ ```qsharp
43
+ Controlled Z([control], target);
44
+ ```
@@ -0,0 +1,20 @@
1
+ ---
2
+ uid: Microsoft.Quantum.Canon.Fst
3
+ title: Fst function
4
+ ms.date: 02/16/2024 12:00:00 AM
5
+ ms.topic: managed-reference
6
+ qsharp.kind: function
7
+ qsharp.namespace: Microsoft.Quantum.Canon
8
+ qsharp.name: Fst
9
+ qsharp.summary: Given a pair, returns its first element.
10
+ ---
11
+
12
+ # Fst function
13
+
14
+ Namespace: [Microsoft.Quantum.Canon](xref:Microsoft.Quantum.Canon)
15
+
16
+ ```qsharp
17
+ function Fst<'T, 'U>(pair : ('T, 'U)) : 'T
18
+ ```
19
+
20
+ Given a pair, returns its first element.
@@ -0,0 +1,20 @@
1
+ ---
2
+ uid: Microsoft.Quantum.Canon.Snd
3
+ title: Snd function
4
+ ms.date: 02/16/2024 12:00:00 AM
5
+ ms.topic: managed-reference
6
+ qsharp.kind: function
7
+ qsharp.namespace: Microsoft.Quantum.Canon
8
+ qsharp.name: Snd
9
+ qsharp.summary: Given a pair, returns its second element.
10
+ ---
11
+
12
+ # Snd function
13
+
14
+ Namespace: [Microsoft.Quantum.Canon](xref:Microsoft.Quantum.Canon)
15
+
16
+ ```qsharp
17
+ function Snd<'T, 'U>(pair : ('T, 'U)) : 'U
18
+ ```
19
+
20
+ Given a pair, returns its second element.
@@ -0,0 +1,25 @@
1
+ ---
2
+ uid: Microsoft.Quantum.Canon.SwapReverseRegister
3
+ title: SwapReverseRegister operation
4
+ ms.date: 02/16/2024 12:00:00 AM
5
+ ms.topic: managed-reference
6
+ qsharp.kind: opeartion
7
+ qsharp.namespace: Microsoft.Quantum.Canon
8
+ qsharp.name: SwapReverseRegister
9
+ qsharp.summary: Uses SWAP gates to reverse the order of the qubits in a register.
10
+ ---
11
+
12
+ # SwapReverseRegister operation
13
+
14
+ Namespace: [Microsoft.Quantum.Canon](xref:Microsoft.Quantum.Canon)
15
+
16
+ ```qsharp
17
+ operation SwapReverseRegister(register : Qubit[]) : Unit is Adj + Ctl
18
+ ```
19
+
20
+ ## Summary
21
+ Uses SWAP gates to reverse the order of the qubits in a register.
22
+
23
+ ## Input
24
+ ### register
25
+ The qubits order of which should be reversed using SWAP gates