qsharp-lang 1.15.3-dev → 1.16.0

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 (307) hide show
  1. package/dist/katas-content.generated.js +5 -5
  2. package/dist/katas-content.generated.md.js +5 -5
  3. package/dist/samples.generated.js +6 -0
  4. package/docs/Microsoft.Quantum.Core/Length.md +1 -1
  5. package/docs/Microsoft.Quantum.Core/Repeated.md +1 -1
  6. package/docs/Microsoft.Quantum.Core/index.md +1 -1
  7. package/docs/Std.Arithmetic/AddLE.md +1 -1
  8. package/docs/Std.Arithmetic/ApplyIfEqualL.md +1 -1
  9. package/docs/Std.Arithmetic/ApplyIfEqualLE.md +1 -1
  10. package/docs/Std.Arithmetic/ApplyIfGreaterL.md +1 -1
  11. package/docs/Std.Arithmetic/ApplyIfGreaterLE.md +1 -1
  12. package/docs/Std.Arithmetic/ApplyIfGreaterOrEqualL.md +1 -1
  13. package/docs/Std.Arithmetic/ApplyIfGreaterOrEqualLE.md +1 -1
  14. package/docs/Std.Arithmetic/ApplyIfLessL.md +1 -1
  15. package/docs/Std.Arithmetic/ApplyIfLessLE.md +1 -1
  16. package/docs/Std.Arithmetic/ApplyIfLessOrEqualL.md +1 -1
  17. package/docs/Std.Arithmetic/ApplyIfLessOrEqualLE.md +1 -1
  18. package/docs/Std.Arithmetic/FourierTDIncByLE.md +1 -1
  19. package/docs/Std.Arithmetic/IncByI.md +1 -1
  20. package/docs/Std.Arithmetic/IncByIUsingIncByLE.md +1 -1
  21. package/docs/Std.Arithmetic/IncByL.md +1 -1
  22. package/docs/Std.Arithmetic/IncByLE.md +1 -1
  23. package/docs/Std.Arithmetic/IncByLEUsingAddLE.md +1 -1
  24. package/docs/Std.Arithmetic/IncByLUsingIncByLE.md +1 -1
  25. package/docs/Std.Arithmetic/LookAheadDKRSAddLE.md +1 -1
  26. package/docs/Std.Arithmetic/MAJ.md +1 -1
  27. package/docs/Std.Arithmetic/ReflectAboutInteger.md +1 -1
  28. package/docs/Std.Arithmetic/RippleCarryCGAddLE.md +1 -1
  29. package/docs/Std.Arithmetic/RippleCarryCGIncByLE.md +1 -1
  30. package/docs/Std.Arithmetic/RippleCarryTTKIncByLE.md +1 -1
  31. package/docs/Std.Arithmetic/index.md +1 -1
  32. package/docs/Std.Arrays/All.md +1 -1
  33. package/docs/Std.Arrays/Any.md +1 -1
  34. package/docs/Std.Arrays/Chunks.md +1 -1
  35. package/docs/Std.Arrays/CircularlyShifted.md +1 -1
  36. package/docs/Std.Arrays/ColumnAt.md +1 -1
  37. package/docs/Std.Arrays/Count.md +1 -1
  38. package/docs/Std.Arrays/Diagonal.md +1 -1
  39. package/docs/Std.Arrays/DrawMany.md +1 -1
  40. package/docs/Std.Arrays/Enumerated.md +1 -1
  41. package/docs/Std.Arrays/Excluding.md +1 -1
  42. package/docs/Std.Arrays/Filtered.md +1 -1
  43. package/docs/Std.Arrays/FlatMapped.md +1 -1
  44. package/docs/Std.Arrays/Flattened.md +1 -1
  45. package/docs/Std.Arrays/Fold.md +1 -1
  46. package/docs/Std.Arrays/ForEach.md +1 -1
  47. package/docs/Std.Arrays/Head.md +1 -1
  48. package/docs/Std.Arrays/HeadAndRest.md +1 -1
  49. package/docs/Std.Arrays/IndexOf.md +1 -1
  50. package/docs/Std.Arrays/IndexRange.md +1 -1
  51. package/docs/Std.Arrays/Interleaved.md +1 -1
  52. package/docs/Std.Arrays/IsEmpty.md +1 -1
  53. package/docs/Std.Arrays/IsRectangularArray.md +1 -1
  54. package/docs/Std.Arrays/IsSorted.md +1 -1
  55. package/docs/Std.Arrays/IsSquareArray.md +1 -1
  56. package/docs/Std.Arrays/Mapped.md +1 -1
  57. package/docs/Std.Arrays/MappedByIndex.md +1 -1
  58. package/docs/Std.Arrays/MappedOverRange.md +1 -1
  59. package/docs/Std.Arrays/Most.md +1 -1
  60. package/docs/Std.Arrays/MostAndTail.md +1 -1
  61. package/docs/Std.Arrays/Padded.md +1 -1
  62. package/docs/Std.Arrays/Partitioned.md +1 -1
  63. package/docs/Std.Arrays/Rest.md +1 -1
  64. package/docs/Std.Arrays/Reversed.md +1 -1
  65. package/docs/Std.Arrays/SequenceI.md +1 -1
  66. package/docs/Std.Arrays/SequenceL.md +1 -1
  67. package/docs/Std.Arrays/Sorted.md +1 -1
  68. package/docs/Std.Arrays/Subarray.md +1 -1
  69. package/docs/Std.Arrays/Swapped.md +1 -1
  70. package/docs/Std.Arrays/Tail.md +1 -1
  71. package/docs/Std.Arrays/Transposed.md +1 -1
  72. package/docs/Std.Arrays/Unzipped.md +1 -1
  73. package/docs/Std.Arrays/Where.md +1 -1
  74. package/docs/Std.Arrays/Windows.md +1 -1
  75. package/docs/Std.Arrays/Zipped.md +1 -1
  76. package/docs/Std.Arrays/index.md +1 -1
  77. package/docs/Std.Canon/ApplyCNOTChain.md +1 -1
  78. package/docs/Std.Canon/ApplyControlledOnBitString.md +1 -1
  79. package/docs/Std.Canon/ApplyControlledOnInt.md +1 -1
  80. package/docs/Std.Canon/ApplyOperationPowerA.md +1 -1
  81. package/docs/Std.Canon/ApplyP.md +1 -1
  82. package/docs/Std.Canon/ApplyPauli.md +1 -1
  83. package/docs/Std.Canon/ApplyPauliFromBitString.md +1 -1
  84. package/docs/Std.Canon/ApplyPauliFromInt.md +1 -1
  85. package/docs/Std.Canon/ApplyQFT.md +1 -1
  86. package/docs/Std.Canon/ApplyToEach.md +1 -1
  87. package/docs/Std.Canon/ApplyToEachA.md +1 -1
  88. package/docs/Std.Canon/ApplyToEachC.md +1 -1
  89. package/docs/Std.Canon/ApplyToEachCA.md +1 -1
  90. package/docs/Std.Canon/ApplyXorInPlace.md +1 -1
  91. package/docs/Std.Canon/ApplyXorInPlaceL.md +1 -1
  92. package/docs/Std.Canon/CX.md +1 -1
  93. package/docs/Std.Canon/CY.md +1 -1
  94. package/docs/Std.Canon/CZ.md +1 -1
  95. package/docs/Std.Canon/Fst.md +1 -1
  96. package/docs/Std.Canon/Relabel.md +1 -1
  97. package/docs/Std.Canon/Snd.md +1 -1
  98. package/docs/Std.Canon/SwapReverseRegister.md +1 -1
  99. package/docs/Std.Canon/index.md +1 -1
  100. package/docs/Std.Convert/BigIntAsBoolArray.md +1 -1
  101. package/docs/Std.Convert/BigIntAsInt.md +1 -1
  102. package/docs/Std.Convert/BoolArrayAsBigInt.md +1 -1
  103. package/docs/Std.Convert/BoolArrayAsInt.md +1 -1
  104. package/docs/Std.Convert/BoolArrayAsResultArray.md +1 -1
  105. package/docs/Std.Convert/BoolAsResult.md +1 -1
  106. package/docs/Std.Convert/ComplexAsComplexPolar.md +1 -1
  107. package/docs/Std.Convert/ComplexPolarAsComplex.md +1 -1
  108. package/docs/Std.Convert/DoubleAsStringWithPrecision.md +1 -1
  109. package/docs/Std.Convert/IntAsBigInt.md +1 -1
  110. package/docs/Std.Convert/IntAsBoolArray.md +1 -1
  111. package/docs/Std.Convert/IntAsDouble.md +1 -1
  112. package/docs/Std.Convert/ResultArrayAsBoolArray.md +1 -1
  113. package/docs/Std.Convert/ResultArrayAsInt.md +1 -1
  114. package/docs/Std.Convert/ResultAsBool.md +1 -1
  115. package/docs/Std.Convert/index.md +1 -1
  116. package/docs/Std.Core/Length.md +1 -1
  117. package/docs/Std.Core/Repeated.md +1 -1
  118. package/docs/Std.Core/index.md +1 -1
  119. package/docs/Std.Diagnostics/ApplyIdleNoise.md +1 -1
  120. package/docs/Std.Diagnostics/BitFlipNoise.md +1 -1
  121. package/docs/Std.Diagnostics/CheckAllZero.md +1 -1
  122. package/docs/Std.Diagnostics/CheckOperationsAreEqual.md +1 -1
  123. package/docs/Std.Diagnostics/CheckZero.md +1 -1
  124. package/docs/Std.Diagnostics/ConfigurePauliNoise.md +1 -1
  125. package/docs/Std.Diagnostics/DepolarizingNoise.md +1 -1
  126. package/docs/Std.Diagnostics/DumpMachine.md +1 -1
  127. package/docs/Std.Diagnostics/DumpOperation.md +1 -1
  128. package/docs/Std.Diagnostics/DumpRegister.md +1 -1
  129. package/docs/Std.Diagnostics/Fact.md +1 -1
  130. package/docs/Std.Diagnostics/NoNoise.md +1 -1
  131. package/docs/Std.Diagnostics/PhaseFlipNoise.md +1 -1
  132. package/docs/Std.Diagnostics/StartCountingFunction.md +1 -1
  133. package/docs/Std.Diagnostics/StartCountingOperation.md +1 -1
  134. package/docs/Std.Diagnostics/StartCountingQubits.md +1 -1
  135. package/docs/Std.Diagnostics/StopCountingFunction.md +1 -1
  136. package/docs/Std.Diagnostics/StopCountingOperation.md +1 -1
  137. package/docs/Std.Diagnostics/StopCountingQubits.md +1 -1
  138. package/docs/Std.Diagnostics/index.md +1 -1
  139. package/docs/Std.Intrinsic/AND.md +1 -1
  140. package/docs/Std.Intrinsic/ApplyUnitary.md +1 -1
  141. package/docs/Std.Intrinsic/CCNOT.md +1 -1
  142. package/docs/Std.Intrinsic/CNOT.md +1 -1
  143. package/docs/Std.Intrinsic/Exp.md +1 -1
  144. package/docs/Std.Intrinsic/H.md +1 -1
  145. package/docs/Std.Intrinsic/I.md +1 -1
  146. package/docs/Std.Intrinsic/M.md +1 -1
  147. package/docs/Std.Intrinsic/Measure.md +1 -1
  148. package/docs/Std.Intrinsic/Message.md +1 -1
  149. package/docs/Std.Intrinsic/R.md +1 -1
  150. package/docs/Std.Intrinsic/R1.md +1 -1
  151. package/docs/Std.Intrinsic/R1Frac.md +1 -1
  152. package/docs/Std.Intrinsic/RFrac.md +1 -1
  153. package/docs/Std.Intrinsic/Reset.md +1 -1
  154. package/docs/Std.Intrinsic/ResetAll.md +1 -1
  155. package/docs/Std.Intrinsic/Rx.md +1 -1
  156. package/docs/Std.Intrinsic/Rxx.md +1 -1
  157. package/docs/Std.Intrinsic/Ry.md +1 -1
  158. package/docs/Std.Intrinsic/Ryy.md +1 -1
  159. package/docs/Std.Intrinsic/Rz.md +1 -1
  160. package/docs/Std.Intrinsic/Rzz.md +1 -1
  161. package/docs/Std.Intrinsic/S.md +1 -1
  162. package/docs/Std.Intrinsic/SWAP.md +1 -1
  163. package/docs/Std.Intrinsic/T.md +1 -1
  164. package/docs/Std.Intrinsic/X.md +1 -1
  165. package/docs/Std.Intrinsic/Y.md +1 -1
  166. package/docs/Std.Intrinsic/Z.md +1 -1
  167. package/docs/Std.Intrinsic/index.md +1 -1
  168. package/docs/Std.Logical/Xor.md +1 -1
  169. package/docs/Std.Logical/index.md +1 -1
  170. package/docs/Std.Math/AbsComplex.md +1 -1
  171. package/docs/Std.Math/AbsComplexPolar.md +1 -1
  172. package/docs/Std.Math/AbsD.md +1 -1
  173. package/docs/Std.Math/AbsI.md +1 -1
  174. package/docs/Std.Math/AbsL.md +1 -1
  175. package/docs/Std.Math/AbsSquaredComplex.md +1 -1
  176. package/docs/Std.Math/AbsSquaredComplexPolar.md +1 -1
  177. package/docs/Std.Math/ApproximateFactorial.md +1 -1
  178. package/docs/Std.Math/ArcCos.md +1 -1
  179. package/docs/Std.Math/ArcCosh.md +1 -1
  180. package/docs/Std.Math/ArcSin.md +1 -1
  181. package/docs/Std.Math/ArcSinh.md +1 -1
  182. package/docs/Std.Math/ArcTan.md +1 -1
  183. package/docs/Std.Math/ArcTan2.md +1 -1
  184. package/docs/Std.Math/ArcTanh.md +1 -1
  185. package/docs/Std.Math/ArgComplex.md +1 -1
  186. package/docs/Std.Math/ArgComplexPolar.md +1 -1
  187. package/docs/Std.Math/Binom.md +1 -1
  188. package/docs/Std.Math/BitSizeI.md +1 -1
  189. package/docs/Std.Math/BitSizeL.md +1 -1
  190. package/docs/Std.Math/Ceiling.md +1 -1
  191. package/docs/Std.Math/Complex.md +1 -1
  192. package/docs/Std.Math/ComplexPolar.md +1 -1
  193. package/docs/Std.Math/ContinuedFractionConvergentI.md +1 -1
  194. package/docs/Std.Math/ContinuedFractionConvergentL.md +1 -1
  195. package/docs/Std.Math/Cos.md +1 -1
  196. package/docs/Std.Math/Cosh.md +1 -1
  197. package/docs/Std.Math/DivRemI.md +1 -1
  198. package/docs/Std.Math/DivRemL.md +1 -1
  199. package/docs/Std.Math/DividedByC.md +1 -1
  200. package/docs/Std.Math/DividedByCP.md +1 -1
  201. package/docs/Std.Math/E.md +1 -1
  202. package/docs/Std.Math/ExpModI.md +1 -1
  203. package/docs/Std.Math/ExpModL.md +1 -1
  204. package/docs/Std.Math/ExtendedGreatestCommonDivisorI.md +1 -1
  205. package/docs/Std.Math/ExtendedGreatestCommonDivisorL.md +1 -1
  206. package/docs/Std.Math/FactorialI.md +1 -1
  207. package/docs/Std.Math/FactorialL.md +1 -1
  208. package/docs/Std.Math/Floor.md +1 -1
  209. package/docs/Std.Math/GreatestCommonDivisorI.md +1 -1
  210. package/docs/Std.Math/GreatestCommonDivisorL.md +1 -1
  211. package/docs/Std.Math/HammingWeightI.md +1 -1
  212. package/docs/Std.Math/InverseModI.md +1 -1
  213. package/docs/Std.Math/InverseModL.md +1 -1
  214. package/docs/Std.Math/IsCoprimeI.md +1 -1
  215. package/docs/Std.Math/IsCoprimeL.md +1 -1
  216. package/docs/Std.Math/IsInfinite.md +1 -1
  217. package/docs/Std.Math/IsNaN.md +1 -1
  218. package/docs/Std.Math/LargestFixedPoint.md +1 -1
  219. package/docs/Std.Math/Lg.md +1 -1
  220. package/docs/Std.Math/Log.md +1 -1
  221. package/docs/Std.Math/Log10.md +1 -1
  222. package/docs/Std.Math/LogFactorialD.md +1 -1
  223. package/docs/Std.Math/LogGammaD.md +1 -1
  224. package/docs/Std.Math/LogOf2.md +1 -1
  225. package/docs/Std.Math/Max.md +1 -1
  226. package/docs/Std.Math/MaxD.md +1 -1
  227. package/docs/Std.Math/MaxI.md +1 -1
  228. package/docs/Std.Math/MaxL.md +1 -1
  229. package/docs/Std.Math/Min.md +1 -1
  230. package/docs/Std.Math/MinD.md +1 -1
  231. package/docs/Std.Math/MinI.md +1 -1
  232. package/docs/Std.Math/MinL.md +1 -1
  233. package/docs/Std.Math/MinusC.md +1 -1
  234. package/docs/Std.Math/MinusCP.md +1 -1
  235. package/docs/Std.Math/ModulusI.md +1 -1
  236. package/docs/Std.Math/ModulusL.md +1 -1
  237. package/docs/Std.Math/NegationC.md +1 -1
  238. package/docs/Std.Math/NegationCP.md +1 -1
  239. package/docs/Std.Math/PI.md +1 -1
  240. package/docs/Std.Math/PNorm.md +1 -1
  241. package/docs/Std.Math/PNormalized.md +1 -1
  242. package/docs/Std.Math/PlusC.md +1 -1
  243. package/docs/Std.Math/PlusCP.md +1 -1
  244. package/docs/Std.Math/PowC.md +1 -1
  245. package/docs/Std.Math/PowCP.md +1 -1
  246. package/docs/Std.Math/RealMod.md +1 -1
  247. package/docs/Std.Math/Round.md +1 -1
  248. package/docs/Std.Math/RoundHalfAwayFromZero.md +1 -1
  249. package/docs/Std.Math/SignD.md +1 -1
  250. package/docs/Std.Math/SignI.md +1 -1
  251. package/docs/Std.Math/SignL.md +1 -1
  252. package/docs/Std.Math/Sin.md +1 -1
  253. package/docs/Std.Math/Sinh.md +1 -1
  254. package/docs/Std.Math/SmallestFixedPoint.md +1 -1
  255. package/docs/Std.Math/Sqrt.md +1 -1
  256. package/docs/Std.Math/SquaredNorm.md +1 -1
  257. package/docs/Std.Math/Tan.md +1 -1
  258. package/docs/Std.Math/Tanh.md +1 -1
  259. package/docs/Std.Math/TimesC.md +1 -1
  260. package/docs/Std.Math/TimesCP.md +1 -1
  261. package/docs/Std.Math/TrailingZeroCountI.md +1 -1
  262. package/docs/Std.Math/TrailingZeroCountL.md +1 -1
  263. package/docs/Std.Math/Truncate.md +1 -1
  264. package/docs/Std.Math/index.md +1 -1
  265. package/docs/Std.Measurement/MResetEachZ.md +1 -1
  266. package/docs/Std.Measurement/MResetX.md +1 -1
  267. package/docs/Std.Measurement/MResetY.md +1 -1
  268. package/docs/Std.Measurement/MResetZ.md +1 -1
  269. package/docs/Std.Measurement/MeasureAllZ.md +1 -1
  270. package/docs/Std.Measurement/MeasureEachZ.md +1 -1
  271. package/docs/Std.Measurement/MeasureInteger.md +1 -1
  272. package/docs/Std.Measurement/index.md +1 -1
  273. package/docs/Std.Random/DrawRandomBool.md +1 -1
  274. package/docs/Std.Random/DrawRandomDouble.md +1 -1
  275. package/docs/Std.Random/DrawRandomInt.md +1 -1
  276. package/docs/Std.Random/index.md +1 -1
  277. package/docs/Std.Range/IsRangeEmpty.md +1 -1
  278. package/docs/Std.Range/RangeEnd.md +1 -1
  279. package/docs/Std.Range/RangeReverse.md +1 -1
  280. package/docs/Std.Range/RangeStart.md +1 -1
  281. package/docs/Std.Range/RangeStep.md +1 -1
  282. package/docs/Std.Range/index.md +1 -1
  283. package/docs/Std.ResourceEstimation/AccountForEstimates.md +1 -1
  284. package/docs/Std.ResourceEstimation/AuxQubitCount.md +1 -1
  285. package/docs/Std.ResourceEstimation/BeginEstimateCaching.md +1 -1
  286. package/docs/Std.ResourceEstimation/BeginRepeatEstimates.md +1 -1
  287. package/docs/Std.ResourceEstimation/CczCount.md +1 -1
  288. package/docs/Std.ResourceEstimation/EndEstimateCaching.md +1 -1
  289. package/docs/Std.ResourceEstimation/EndRepeatEstimates.md +1 -1
  290. package/docs/Std.ResourceEstimation/MeasurementCount.md +1 -1
  291. package/docs/Std.ResourceEstimation/PSSPCLayout.md +1 -1
  292. package/docs/Std.ResourceEstimation/RepeatEstimates.md +1 -1
  293. package/docs/Std.ResourceEstimation/RotationCount.md +1 -1
  294. package/docs/Std.ResourceEstimation/RotationDepth.md +1 -1
  295. package/docs/Std.ResourceEstimation/SingleVariant.md +1 -1
  296. package/docs/Std.ResourceEstimation/TCount.md +1 -1
  297. package/docs/Std.ResourceEstimation/index.md +1 -1
  298. package/docs/Std.StatePreparation/ApproximatelyPreparePureStateCP.md +1 -1
  299. package/docs/Std.StatePreparation/PreparePureStateD.md +1 -1
  300. package/docs/Std.StatePreparation/PrepareUniformSuperposition.md +1 -1
  301. package/docs/Std.StatePreparation/index.md +1 -1
  302. package/docs/Std.TableLookup/Select.md +1 -1
  303. package/docs/Std.TableLookup/index.md +1 -1
  304. package/docs/index.md +1 -1
  305. package/lib/node/qsc_wasm_bg.wasm +0 -0
  306. package/lib/web/qsc_wasm_bg.wasm +0 -0
  307. package/package.json +1 -1
@@ -2948,7 +2948,7 @@ export default {
2948
2948
  "KatasLibrary.qs",
2949
2949
  "preparing_states__Common.qs"
2950
2950
  ],
2951
- "placeholderCode": "namespace Kata {\n operation ThreeStates_TwoQubits (qs : Qubit[]) : Unit is Adj + Ctl {\n // Implement your solution here...\n\n } \n}\n\n",
2951
+ "placeholderCode": "namespace Kata {\n operation ThreeStates_TwoQubits (qs : Qubit[]) : Unit {\n // Implement your solution here...\n\n } \n}\n\n",
2952
2952
  "explainedSolution": {
2953
2953
  "type": "explained-solution",
2954
2954
  "items": [
@@ -2968,7 +2968,7 @@ export default {
2968
2968
  {
2969
2969
  "type": "solution",
2970
2970
  "id": "preparing_states__three_states_two_qubits_solution_b",
2971
- "code": "namespace Kata {\n import Std.Math.*;\n\n operation ThreeStates_TwoQubits(qs : Qubit[]) : Unit is Adj + Ctl {\n let theta = ArcSin(1.0 / Sqrt(3.0));\n Ry(2.0 * theta, qs[0]);\n ApplyControlledOnInt(0, H, [qs[0]], qs[1]);\n }\n}\n"
2971
+ "code": "namespace Kata {\n import Std.Math.*;\n\n operation ThreeStates_TwoQubits(qs : Qubit[]) : Unit {\n let theta = ArcSin(1.0 / Sqrt(3.0));\n Ry(2.0 * theta, qs[0]);\n ApplyControlledOnInt(0, H, [qs[0]], qs[1]);\n }\n}\n"
2972
2972
  }
2973
2973
  ]
2974
2974
  }
@@ -3044,7 +3044,7 @@ export default {
3044
3044
  "KatasLibrary.qs",
3045
3045
  "preparing_states__Common.qs"
3046
3046
  ],
3047
- "placeholderCode": "namespace Kata {\n operation WState_PowerOfTwo (qs : Qubit[]) : Unit {\n // Implement your solution here...\n\n }\n}\n",
3047
+ "placeholderCode": "namespace Kata {\n operation WState_PowerOfTwo (qs : Qubit[]) : Unit is Adj + Ctl {\n // Implement your solution here...\n\n }\n}\n",
3048
3048
  "explainedSolution": {
3049
3049
  "type": "explained-solution",
3050
3050
  "items": [
@@ -5151,7 +5151,7 @@ export default {
5151
5151
  "items": [
5152
5152
  {
5153
5153
  "type": "text-content",
5154
- "content": "<p>Bob's qubit now contains the information about the amplitudes of the teleported state, but it needs correction based on the classical message received for his qubit to match the teleported state precisely. As we've seen in the solution for the previous task, there are four possible measurement outcomes:</p>\n<ul>\n<li>For 00, Bob's qubit ends up in the state $\\alpha \\ket{0} + \\beta \\ket{1}$, so no change is required.</li>\n<li>For 01, Bob's qubit ends up in the state $\\alpha \\ket{0} - \\beta \\ket{1}$, so we need to apply a $Z$ correction.</li>\n<li>For 10, Bob's qubit ends up in the state $\\alpha \\ket{1} + \\beta \\ket{0}$, so we need to apply an $X$ correction.</li>\n<li>For 11, Bob's qubit ends up in the state $\\alpha \\ket{1} - \\beta \\ket{0}$, se we need to apply both $Z$ and $X$ corrections.</li>\n</ul>\n"
5154
+ "content": "<p>Bob's qubit now contains the information about the amplitudes of the teleported state, but it needs correction based on the classical message received for his qubit to match the teleported state precisely. As we've seen in the solution for the previous task, there are four possible measurement outcomes encoded as a tuple (b1, b2):</p>\n<ul>\n<li>For (0,0), Bob's qubit ends up in the state $\\alpha \\ket{0} + \\beta \\ket{1}$, so no change is required.</li>\n<li>For (0,1), Bob's qubit ends up in the state $\\alpha \\ket{1} + \\beta \\ket{0}$, so we need to apply an $X$ correction.</li>\n<li>For (1,0), Bob's qubit ends up in the state $\\alpha \\ket{0} - \\beta \\ket{1}$, so we need to apply a $Z$ correction.</li>\n<li>For (1,1), Bob's qubit ends up in the state $\\alpha \\ket{1} - \\beta \\ket{0}$, se we need to apply both $Z$ and $X$ corrections.</li>\n</ul>\n"
5155
5155
  },
5156
5156
  {
5157
5157
  "type": "solution",
@@ -5310,7 +5310,7 @@ export default {
5310
5310
  "title": "Reconstruct Message with |Ψ⁺⟩",
5311
5311
  "description": {
5312
5312
  "type": "text-content",
5313
- "content": "<p><strong>Goal:</strong>\nTransform Bob's qubit <code>qBob</code> into the state in which the message qubit had been originally. It is given that <code>qAlice</code> and <code>qBob</code> were initially entangled in $\\ket{\\Psi ^{+}} = \\frac{1}{\\sqrt{2}}(\\ket{00}+\\ket{11})$ state.</p>\n"
5313
+ "content": "<p><strong>Goal:</strong>\nTransform Bob's qubit <code>qBob</code> into the state in which the message qubit had been originally. It is given that <code>qAlice</code> and <code>qBob</code> were initially entangled in $\\ket{\\Psi ^{+}} = \\frac{1}{\\sqrt{2}}(\\ket{01}+\\ket{10})$ state.</p>\n"
5314
5314
  },
5315
5315
  "sourceIds": [
5316
5316
  "teleportation__reconstruct_message_psi_plus__Verification.qs",
@@ -2948,7 +2948,7 @@ export default {
2948
2948
  "KatasLibrary.qs",
2949
2949
  "preparing_states__Common.qs"
2950
2950
  ],
2951
- "placeholderCode": "namespace Kata {\n operation ThreeStates_TwoQubits (qs : Qubit[]) : Unit is Adj + Ctl {\n // Implement your solution here...\n\n } \n}\n\n",
2951
+ "placeholderCode": "namespace Kata {\n operation ThreeStates_TwoQubits (qs : Qubit[]) : Unit {\n // Implement your solution here...\n\n } \n}\n\n",
2952
2952
  "explainedSolution": {
2953
2953
  "type": "explained-solution",
2954
2954
  "items": [
@@ -2968,7 +2968,7 @@ export default {
2968
2968
  {
2969
2969
  "type": "solution",
2970
2970
  "id": "preparing_states__three_states_two_qubits_solution_b",
2971
- "code": "namespace Kata {\n import Std.Math.*;\n\n operation ThreeStates_TwoQubits(qs : Qubit[]) : Unit is Adj + Ctl {\n let theta = ArcSin(1.0 / Sqrt(3.0));\n Ry(2.0 * theta, qs[0]);\n ApplyControlledOnInt(0, H, [qs[0]], qs[1]);\n }\n}\n"
2971
+ "code": "namespace Kata {\n import Std.Math.*;\n\n operation ThreeStates_TwoQubits(qs : Qubit[]) : Unit {\n let theta = ArcSin(1.0 / Sqrt(3.0));\n Ry(2.0 * theta, qs[0]);\n ApplyControlledOnInt(0, H, [qs[0]], qs[1]);\n }\n}\n"
2972
2972
  }
2973
2973
  ]
2974
2974
  }
@@ -3044,7 +3044,7 @@ export default {
3044
3044
  "KatasLibrary.qs",
3045
3045
  "preparing_states__Common.qs"
3046
3046
  ],
3047
- "placeholderCode": "namespace Kata {\n operation WState_PowerOfTwo (qs : Qubit[]) : Unit {\n // Implement your solution here...\n\n }\n}\n",
3047
+ "placeholderCode": "namespace Kata {\n operation WState_PowerOfTwo (qs : Qubit[]) : Unit is Adj + Ctl {\n // Implement your solution here...\n\n }\n}\n",
3048
3048
  "explainedSolution": {
3049
3049
  "type": "explained-solution",
3050
3050
  "items": [
@@ -5151,7 +5151,7 @@ export default {
5151
5151
  "items": [
5152
5152
  {
5153
5153
  "type": "text-content",
5154
- "content": "\nBob's qubit now contains the information about the amplitudes of the teleported state, but it needs correction based on the classical message received for his qubit to match the teleported state precisely. As we've seen in the solution for the previous task, there are four possible measurement outcomes:\n\n- For 00, Bob's qubit ends up in the state $\\alpha \\ket{0} + \\beta \\ket{1}$, so no change is required.\n- For 01, Bob's qubit ends up in the state $\\alpha \\ket{0} - \\beta \\ket{1}$, so we need to apply a $Z$ correction.\n- For 10, Bob's qubit ends up in the state $\\alpha \\ket{1} + \\beta \\ket{0}$, so we need to apply an $X$ correction.\n- For 11, Bob's qubit ends up in the state $\\alpha \\ket{1} - \\beta \\ket{0}$, se we need to apply both $Z$ and $X$ corrections."
5154
+ "content": "\nBob's qubit now contains the information about the amplitudes of the teleported state, but it needs correction based on the classical message received for his qubit to match the teleported state precisely. As we've seen in the solution for the previous task, there are four possible measurement outcomes encoded as a tuple (b1, b2):\n\n- For (0,0), Bob's qubit ends up in the state $\\alpha \\ket{0} + \\beta \\ket{1}$, so no change is required.\n- For (0,1), Bob's qubit ends up in the state $\\alpha \\ket{1} + \\beta \\ket{0}$, so we need to apply an $X$ correction.\n- For (1,0), Bob's qubit ends up in the state $\\alpha \\ket{0} - \\beta \\ket{1}$, so we need to apply a $Z$ correction.\n- For (1,1), Bob's qubit ends up in the state $\\alpha \\ket{1} - \\beta \\ket{0}$, se we need to apply both $Z$ and $X$ corrections."
5155
5155
  },
5156
5156
  {
5157
5157
  "type": "solution",
@@ -5310,7 +5310,7 @@ export default {
5310
5310
  "title": "Reconstruct Message with |Ψ⁺⟩",
5311
5311
  "description": {
5312
5312
  "type": "text-content",
5313
- "content": "**Goal:** \nTransform Bob's qubit `qBob` into the state in which the message qubit had been originally. It is given that `qAlice` and `qBob` were initially entangled in $\\ket{\\Psi ^{+}} = \\frac{1}{\\sqrt{2}}(\\ket{00}+\\ket{11})$ state."
5313
+ "content": "**Goal:** \nTransform Bob's qubit `qBob` into the state in which the message qubit had been originally. It is given that `qAlice` and `qBob` were initially entangled in $\\ket{\\Psi ^{+}} = \\frac{1}{\\sqrt{2}}(\\ket{01}+\\ket{10})$ state."
5314
5314
  },
5315
5315
  "sourceIds": [
5316
5316
  "teleportation__reconstruct_message_psi_plus__Verification.qs",
@@ -104,6 +104,12 @@ export default [
104
104
  "shots": 1,
105
105
  "code": "/// # Sample\n/// Hidden Shift\n///\n/// # Description\n/// There is a family of problems known as hidden shift problems, in which it\n/// is given that two Boolean functions 𝑓 and 𝑔 satisfy the relation\n/// 𝑔(𝑥) = 𝑓(𝑥 ⊕ 𝑠) for all 𝑥\n/// where 𝑠 is a hidden bit string that we would like to find.\n///\n/// This Q# program implements an algorithm to solve the hidden shift problem.\nimport Std.Arrays.*;\nimport Std.Convert.*;\nimport Std.Diagnostics.*;\nimport Std.Measurement.*;\n\noperation Main() : Int[] {\n let nQubits = 10;\n\n // Consider the case of finding a hidden shift 𝑠 between two Boolean\n // functions 𝑓(𝑥) and 𝑔(𝑥) = 𝑓(𝑥 ⊕ 𝑠).\n // This problem can be solved on a quantum computer with one call to\n // each of 𝑓 and 𝑔 in the special case that both functions are bent;\n // that is, that they are as far from linear as possible.\n\n // Here, we find the hidden shift for various pairs of bent functions.\n let shifts = [170, 512, 999];\n mutable hiddenShifts = [];\n for shift in shifts {\n let hiddenShiftBitString = FindHiddenShift(\n BentFunction,\n register => ShiftedBentFunction(shift, register),\n nQubits\n );\n let hiddenShift = ResultArrayAsInt(hiddenShiftBitString);\n Message($\"Found {shift} successfully!\");\n hiddenShifts += [hiddenShift];\n }\n\n // Note: returned array should match shifts array\n return hiddenShifts;\n}\n\n/// # Summary\n/// Implements a correlation-based algorithm to solve the hidden shift\n/// problem for bent functions.\n///\n/// # Description\n/// Implements a solution for the hidden shift problem, which is to identify\n/// an unknown shift 𝑠 of the arguments of two Boolean functions 𝑓 and 𝑔\n/// that are promised to satisfy the relation 𝑔(𝑥) = 𝑓(𝑥 ⊕ 𝑠) for all 𝑥.\n///\n/// 𝑓 and 𝑔 are assumed to be bent functions. A Boolean function is bent if\n/// it is as far from linear as possible. In particular, bent functions have\n/// flat Fourier (Walsh–Hadamard) spectra.\n///\n/// In this case, the Roetteler algorithm (see References, below) uses\n/// black-box oracles for 𝑓^* and 𝑔, where 𝑓^* is the dual bent function to\n/// 𝑓, and computes the hidden shift 𝑠 between 𝑓 and 𝑔.\n///\n/// # Input\n/// ## Ufstar\n/// A quantum operation that implements\n/// $U_f^*: |𝑥〉 ↦ (-1)^{f^*(x)} |𝑥〉$,\n/// where $f^*$ is a Boolean function, 𝑥 is an $n$ bit register\n/// ## Ug\n/// A quantum operation that implements\n/// $U_g:|𝑥〉 ↦ (-1)^{g(x)} |𝑥〉$,\n/// where 𝑔 is a Boolean function that is shifted by unknown\n/// 𝑠 from 𝑓, and 𝑥 is an $n$ bit register.\n/// ## n\n/// The number of bits of the input register |𝑥〉.\n///\n/// # Output\n/// An array of type `Result[]` which encodes the bit representation\n/// of the hidden shift.\n///\n/// # References\n/// - [*Martin Roetteler*,\n/// Proc. SODA 2010, ACM, pp. 448-457, 2010]\n/// (https://doi.org/10.1137/1.9781611973075.37)\noperation FindHiddenShift(\n Ufstar : (Qubit[] => Unit),\n Ug : (Qubit[] => Unit),\n n : Int\n) : Result[] {\n // We allocate n clean qubits. Note that the function Ufstar and Ug are\n // unitary operations on n qubits defined via phase encoding.\n use qubits = Qubit[n];\n\n // First, a Hadamard transform is applied to each of the qubits.\n ApplyToEach(H, qubits);\n\n // We now apply the shifted function Ug to the n qubits, computing\n // |x〉 -> (-1)^{g(x)} |x〉.\n Ug(qubits);\n\n within {\n // A Hadamard transform is applied to each of the n qubits.\n ApplyToEachA(H, qubits);\n } apply {\n // we now apply the dual function of the unshifted function, i.e.,\n // Ufstar, to the n qubits, computing |x〉 -> (-1)^{fstar(x)} |x〉.\n Ufstar(qubits);\n }\n\n // Measure the n qubits and reset them to zero so that they can be\n // safely deallocated at the end of the block.\n return MResetEachZ(qubits);\n}\n\n/// # Summary\n/// Implements an oracle for a bent function constructed from the inner\n/// product of Boolean functions.\n///\n/// # Description\n/// This operation defines the Boolean function IP(x_0, ..., x_{n-1}) which\n/// is computed into the phase, i.e., a diagonal operator that maps\n/// |x〉 -> (-1)^{IP(x)} |x〉, where x stands for x=(x_0, ..., x_{n-1}) and all\n/// the x_i are binary. The IP function is defined as\n/// IP(y, z) = y_0 z_0 + y_1 z_1 + ... y_{u-1} z_{u-1} where\n/// y = (y_0, ..., y_{u-1}) and z = (z_0, ..., z_{u-1}) are two bit vectors\n/// of length u. Notice that the function IP is a Boolean function on n = 2u\n/// bits. IP is a special case of bent function. These are functions for\n/// which the Walsh-Hadamard transform is perfectly flat (in absolute\n/// value).\n/// Because of this flatness, the Walsh-Hadamard spectrum of any bent\n/// function defines a +1/-1 function, i.e., gives rise to another Boolean\n/// function, called the dual bent function. Moreover, for the case of the\n/// IP function it can be shown that IP is equal to its own dual bent\n/// function.\n///\n/// # Remarks\n/// Notice that a diagonal operator implementing IP between 2 variables y_0\n/// and z_0 is nothing but the AND function between those variables, i.e.,\n/// in phase encoding it is computed by a Controlled-Z gate.\n/// Extending this to an XOR of the AND of more variables, as required in\n/// the definition of the IP function can then be accomplished by applying\n/// several Controlled-Z gates between the respective inputs.\noperation BentFunction(register : Qubit[]) : Unit {\n Fact(Length(register) % 2 == 0, \"Length of register must be even.\");\n let u = Length(register) / 2;\n let xs = register[0..u - 1];\n let ys = register[u...];\n for index in 0..u - 1 {\n CZ(xs[index], ys[index]);\n }\n}\n\n/// # Summary\n/// Implements a shifted bend function 𝑔(𝑥) = 𝑓(𝑥 ⊕ 𝑠).\n///\n/// # Description\n/// For the hidden shift problem we need another function g which is related\n/// to IP via g(x) = IP(x + s), i.e., we have to shift the argument of the\n/// IP function by a given shift. Notice that the '+' operation here is the\n/// Boolean addition, i.e., a bit-wise operation. Notice further, that in\n/// general a diagonal operation |x〉 -> (-1)^{f(x)} can be turned into a\n/// shifted version by applying a bit flip to the |x〉 register first, then\n/// applying the diagonal operation, and then undoing the bit flips to the\n/// |x〉 register. We use this principle to define shifted versions of the IP\n/// operation.\noperation ShiftedBentFunction(shift : Int, register : Qubit[]) : Unit {\n Fact(Length(register) % 2 == 0, \"Length of register must be even.\");\n let u = Length(register) / 2;\n within {\n // Flips the bits in shift.\n ApplyXorInPlace(shift, register);\n } apply {\n // Compute the IP function into the phase.\n BentFunction(register);\n }\n}\n"
106
106
  },
107
+ {
108
+ "title": "Ising Model (Simple 1D)",
109
+ "shots": 1000,
110
+ "code": "/// # Sample\n/// Simulation of a simple Ising model evolution\n/// on a 1D grid with first-order Trotterization.\n///\n/// # Description\n/// This sample demonstrates simulation of an Ising model Hamiltonian\n/// on 1D grid of size N using a first-order Trotter-Suzuki approximation.\n/// This sample can be easily simulated classically with the grid of size 9\n/// and 1000 shots. This sample is suitable for Base Profile.\n/// For the purpose of simplicity this sample intentionally doesn't\n/// post-process results or perform eigenvalue estimation.\noperation Main() : Result[] {\n // The size of a 1D grid is N\n let N : Int = 9;\n\n // Total evolution time\n let evolutionTime : Double = 4.0;\n // Number of steps\n let numberOfSteps : Int = 7;\n\n // Coefficient for 2-qubit interactions between neighboring qubits\n let J : Double = 1.0;\n // Coefficient for external field interaction for individual qubits\n let g : Double = 0.7;\n\n IsingModel1DEvolution(N, J, g, evolutionTime, numberOfSteps)\n}\n\n/// # Summary\n/// Simulate simple Ising model evolution\n///\n/// # Description\n/// Simulates state |𝜓⟩ evolution to find |𝜓(t)⟩=U(t)|𝜓(0)⟩.\n/// |𝜓(0)⟩ is taken to be |0...0⟩.\n/// U(t)=e⁻ⁱᴴᵗ, where H is an Ising model Hamiltonian H = -J·Σ'ᵢⱼZᵢZⱼ + g·ΣᵢXᵢ\n/// Here Σ' is taken over all pairs of neighboring qubits <i,j>.\n/// Simulation is done by performing K steps assuming U(t)≈(U(t/K))ᴷ.\noperation IsingModel1DEvolution(\n N : Int,\n J : Double,\n g : Double,\n evolutionTime : Double,\n numberOfSteps : Int\n) : Result[] {\n\n // Allocate qubit grid\n use qubits = Qubit[N];\n\n // Compute the time step\n let dt : Double = evolutionTime / Std.Convert.IntAsDouble(numberOfSteps);\n\n let theta_x = - g * dt;\n let theta_zz = J * dt;\n\n // Perform K steps\n for i in 1..numberOfSteps {\n\n // Single-qubit interaction with external field\n for q in qubits {\n Rx(2.0 * theta_x, q);\n }\n\n // All of the following Rzz gates commute. So we apply them between \"even\"\n // pairs first and then between \"odd\" pairs to reduce the algorithm depth.\n\n // Interactions between \"even\" pairs\n for j in 0..2..N-2 {\n Rzz(2.0 * theta_zz, qubits[j], qubits[j + 1]);\n }\n\n // Interactions between \"odd\" pairs\n for j in 1..2..N-2 {\n Rzz(2.0 * theta_zz, qubits[j], qubits[j + 1]);\n }\n\n }\n\n MResetEachZ(qubits)\n}\n",
111
+ "omitFromTests": true
112
+ },
107
113
  {
108
114
  "title": "Shor",
109
115
  "shots": 1,
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Microsoft.Quantum.Core.Length
3
3
  title: Length exported item
4
4
  description: "Q# Length exported item: This is an exported item. The actual definition is found here: [Std.Core.Length](xref:Qdk.Std.Core.Length)"
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: export
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Microsoft.Quantum.Core.Repeated
3
3
  title: Repeated exported item
4
4
  description: "Q# Repeated exported item: This is an exported item. The actual definition is found here: [Std.Core.Repeated](xref:Qdk.Std.Core.Repeated)"
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: export
8
8
  qsharp.package: __Std__
@@ -4,7 +4,7 @@ title: Microsoft.Quantum.Core namespace
4
4
  description: Table of contents for the Q# Microsoft.Quantum.Core namespace
5
5
  author: {AUTHOR}
6
6
  ms.author: {MS_AUTHOR}
7
- ms.date: 04/24/2025
7
+ ms.date: 05/01/2025
8
8
  ms.topic: landing-page
9
9
  ---
10
10
 
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arithmetic.AddLE
3
3
  title: AddLE operation
4
4
  description: "Q# AddLE operation: Sets a zero-initialized little-endian register zs to the sum of little-endian registers xs and ys"
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: operation
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arithmetic.ApplyIfEqualL
3
3
  title: ApplyIfEqualL operation
4
4
  description: "Q# ApplyIfEqualL operation: Computes `if (c == x) { action(target) }`, that is, applies `action` to `target` if a BigInt value `c` is equal to the little-endian qubit register `x`"
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: operation
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arithmetic.ApplyIfEqualLE
3
3
  title: ApplyIfEqualLE operation
4
4
  description: "Q# ApplyIfEqualLE operation: Computes `if x == y { action(target) }`, that is, applies `action` to `target` if register `x` is equal to the register `y`. Both qubit registers should be in a little-endian format."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: operation
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arithmetic.ApplyIfGreaterL
3
3
  title: ApplyIfGreaterL operation
4
4
  description: "Q# ApplyIfGreaterL operation: Computes `if (c > x) { action(target) }`, that is, applies `action` to `target` if a BigInt value `c` is greater than the little-endian qubit register `x`"
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: operation
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arithmetic.ApplyIfGreaterLE
3
3
  title: ApplyIfGreaterLE operation
4
4
  description: "Q# ApplyIfGreaterLE operation: Computes `if x > y { action(target) }`, that is, applies `action` to `target` if register `x` is greater than the register `y`. Both qubit registers should be in a little-endian format."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: operation
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arithmetic.ApplyIfGreaterOrEqualL
3
3
  title: ApplyIfGreaterOrEqualL operation
4
4
  description: "Q# ApplyIfGreaterOrEqualL operation: Computes `if (c >= x) { action(target) }`, that is, applies `action` to `target` if a BigInt value `c` is greater or equal to the little-endian qubit register `x`"
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: operation
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arithmetic.ApplyIfGreaterOrEqualLE
3
3
  title: ApplyIfGreaterOrEqualLE operation
4
4
  description: "Q# ApplyIfGreaterOrEqualLE operation: Computes `if x >= y { action(target) }`, that is, applies `action` to `target` if register `x` is greater or equal to the register `y`. Both qubit registers should be in a little-endian format."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: operation
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arithmetic.ApplyIfLessL
3
3
  title: ApplyIfLessL operation
4
4
  description: "Q# ApplyIfLessL operation: Computes `if (c < x) { action(target) }`, that is, applies `action` to `target` if a BigInt value `c` is less than the little-endian qubit register `x`"
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: operation
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arithmetic.ApplyIfLessLE
3
3
  title: ApplyIfLessLE operation
4
4
  description: "Q# ApplyIfLessLE operation: Computes `if x < y { action(target) }`, that is, applies `action` to `target` if register `x` is less than the register `y`. Both qubit registers should be in a little-endian format."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: operation
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arithmetic.ApplyIfLessOrEqualL
3
3
  title: ApplyIfLessOrEqualL operation
4
4
  description: "Q# ApplyIfLessOrEqualL operation: Computes `if (c <= x) { action(target) }`, that is, applies `action` to `target` if a BigInt value `c` is less or equal to the little-endian qubit register `x`"
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: operation
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arithmetic.ApplyIfLessOrEqualLE
3
3
  title: ApplyIfLessOrEqualLE operation
4
4
  description: "Q# ApplyIfLessOrEqualLE operation: Computes `if x <= y { action(target) }`, that is, applies `action` to `target` if register `x` is less or equal to the register `y`. Both qubit registers should be in a little-endian format."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: operation
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arithmetic.FourierTDIncByLE
3
3
  title: FourierTDIncByLE operation
4
4
  description: "Q# FourierTDIncByLE operation: Increments a little-endian register ys by a little-endian register xs using Quantum Fourier Transform."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: operation
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arithmetic.IncByI
3
3
  title: IncByI operation
4
4
  description: "Q# IncByI operation: Increments a little-endian register ys by an integer number c"
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: operation
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arithmetic.IncByIUsingIncByLE
3
3
  title: IncByIUsingIncByLE operation
4
4
  description: "Q# IncByIUsingIncByLE operation: Increments a little-endian register ys by an Int number c using provided adder."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: operation
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arithmetic.IncByL
3
3
  title: IncByL operation
4
4
  description: "Q# IncByL operation: Increments a little-endian register ys by a BigInt number c"
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: operation
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arithmetic.IncByLE
3
3
  title: IncByLE operation
4
4
  description: "Q# IncByLE operation: Increments a little-endian register ys by a little-endian register xs"
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: operation
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arithmetic.IncByLEUsingAddLE
3
3
  title: IncByLEUsingAddLE operation
4
4
  description: "Q# IncByLEUsingAddLE operation: Generic operation to turn two out-place adders into one in-place adder"
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: operation
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arithmetic.IncByLUsingIncByLE
3
3
  title: IncByLUsingIncByLE operation
4
4
  description: "Q# IncByLUsingIncByLE operation: Increments a little-endian register ys by a BigInt number c using provided adder."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: operation
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arithmetic.LookAheadDKRSAddLE
3
3
  title: LookAheadDKRSAddLE operation
4
4
  description: "Q# LookAheadDKRSAddLE operation: Sets a zero-initialized little-endian register zs to the sum of little-endian registers xs and ys using the carry-lookahead algorithm."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: operation
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arithmetic.MAJ
3
3
  title: MAJ operation
4
4
  description: "Q# MAJ operation: This applies the in-place majority operation to 3 qubits."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: operation
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arithmetic.ReflectAboutInteger
3
3
  title: ReflectAboutInteger operation
4
4
  description: "Q# ReflectAboutInteger operation: Reflects a quantum register about a given classical integer."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: operation
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arithmetic.RippleCarryCGAddLE
3
3
  title: RippleCarryCGAddLE operation
4
4
  description: "Q# RippleCarryCGAddLE operation: Sets a zero-initialized little-endian register zs to the sum of little-endian registers xs and ys using the ripple-carry algorithm."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: operation
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arithmetic.RippleCarryCGIncByLE
3
3
  title: RippleCarryCGIncByLE operation
4
4
  description: "Q# RippleCarryCGIncByLE operation: Increments a little-endian register ys by a little-endian register xs using the ripple-carry algorithm."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: operation
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arithmetic.RippleCarryTTKIncByLE
3
3
  title: RippleCarryTTKIncByLE operation
4
4
  description: "Q# RippleCarryTTKIncByLE operation: Reversible, in-place ripple-carry addition of two integers."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: operation
8
8
  qsharp.package: __Std__
@@ -4,7 +4,7 @@ title: Std.Arithmetic namespace
4
4
  description: Table of contents for the Q# Arithmetic namespace
5
5
  author: {AUTHOR}
6
6
  ms.author: {MS_AUTHOR}
7
- ms.date: 04/24/2025
7
+ ms.date: 05/01/2025
8
8
  ms.topic: landing-page
9
9
  ---
10
10
 
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arrays.All
3
3
  title: All function
4
4
  description: "Q# All function: Given an array and a predicate that is defined for the elements of the array, and checks if all elements of the array satisfy the predicate."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: function
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arrays.Any
3
3
  title: Any function
4
4
  description: "Q# Any function: 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."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: function
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arrays.Chunks
3
3
  title: Chunks function
4
4
  description: "Q# Chunks function: Splits an array into multiple parts of equal length."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: function
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arrays.CircularlyShifted
3
3
  title: CircularlyShifted function
4
4
  description: "Q# CircularlyShifted function: Shift an array circularly left or right by a specific step size."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: function
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arrays.ColumnAt
3
3
  title: ColumnAt function
4
4
  description: "Q# ColumnAt function: Extracts a column from a matrix."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: function
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arrays.Count
3
3
  title: Count function
4
4
  description: "Q# Count function: 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."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: function
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arrays.Diagonal
3
3
  title: Diagonal function
4
4
  description: "Q# Diagonal function: Returns an array of diagonal elements of a 2-dimensional array"
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: function
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arrays.DrawMany
3
3
  title: DrawMany operation
4
4
  description: "Q# DrawMany operation: Repeats an operation for a given number of samples, collecting its outputs in an array."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: operation
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arrays.Enumerated
3
3
  title: Enumerated function
4
4
  description: "Q# Enumerated function: Given an array, returns a new array containing elements of the original array along with the indices of each element."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: function
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arrays.Excluding
3
3
  title: Excluding function
4
4
  description: "Q# Excluding function: Returns an array containing the elements of another array, excluding elements at a given list of indices."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: function
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arrays.Filtered
3
3
  title: Filtered function
4
4
  description: "Q# Filtered function: Given an array and a predicate that is defined for the elements of the array, returns an array that consists of those elements that satisfy the predicate."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: function
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arrays.FlatMapped
3
3
  title: FlatMapped function
4
4
  description: "Q# FlatMapped function: Given an array and a function that maps an array element to some output array, returns the concatenated output arrays for each array element."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: function
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arrays.Flattened
3
3
  title: Flattened function
4
4
  description: "Q# Flattened function: Given an array of arrays, returns the concatenation of all arrays."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: function
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arrays.Fold
3
3
  title: Fold function
4
4
  description: "Q# Fold function: Iterates a function `f` through an array `array`, returning `f(...f(f(initialState, array[0]), array[1]), ...)`."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: function
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arrays.ForEach
3
3
  title: ForEach operation
4
4
  description: "Q# ForEach operation: Given an array and an operation that is defined for the elements of the array, returns a new array that consists of the images of the original array under the operation."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: operation
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arrays.Head
3
3
  title: Head function
4
4
  description: "Q# Head function: Returns the first element of the array."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: function
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arrays.HeadAndRest
3
3
  title: HeadAndRest function
4
4
  description: "Q# HeadAndRest function: Returns a tuple of first and all remaining elements of the array."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: function
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arrays.IndexOf
3
3
  title: IndexOf function
4
4
  description: "Q# IndexOf function: Returns the first index of the first element in an array that satisfies a given predicate. If no such element exists, returns -1."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: function
8
8
  qsharp.package: __Std__
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.Arrays.IndexRange
3
3
  title: IndexRange function
4
4
  description: "Q# IndexRange function: Given an array, returns a range over the indices of that array, suitable for use in a for loop."
5
- ms.date: 04/24/2025
5
+ ms.date: 05/01/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: function
8
8
  qsharp.package: __Std__