qsharp-lang 1.6.5-dev → 1.6.8-dev
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/katas-content.generated.js +31 -31
- package/dist/katas-content.generated.md.js +31 -31
- package/docs/Microsoft.Quantum.Arrays/All.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Any.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Chunks.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/CircularlyShifted.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/ColumnAt.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Count.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Diagonal.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/DrawMany.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Enumerated.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Excluding.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Filtered.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/FlatMapped.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Flattened.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Fold.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/ForEach.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Head.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/HeadAndRest.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/IndexOf.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/IndexRange.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Interleaved.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/IsEmpty.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/IsRectangularArray.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/IsSorted.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/IsSquareArray.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Mapped.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/MappedByIndex.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/MappedOverRange.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Most.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/MostAndTail.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Padded.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Partitioned.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Rest.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Reversed.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/SequenceI.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/SequenceL.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Sorted.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Subarray.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Swapped.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Tail.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Transposed.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Unzipped.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Where.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Windows.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Zipped.md +1 -1
- package/docs/Microsoft.Quantum.Canon/ApplyCNOTChain.md +1 -1
- package/docs/Microsoft.Quantum.Canon/ApplyControlledOnBitString.md +1 -1
- package/docs/Microsoft.Quantum.Canon/ApplyControlledOnInt.md +1 -1
- package/docs/Microsoft.Quantum.Canon/ApplyP.md +1 -1
- package/docs/Microsoft.Quantum.Canon/ApplyPauli.md +1 -1
- package/docs/Microsoft.Quantum.Canon/ApplyPauliFromBitString.md +1 -1
- package/docs/Microsoft.Quantum.Canon/ApplyPauliFromInt.md +1 -1
- package/docs/Microsoft.Quantum.Canon/ApplyQFT.md +1 -1
- package/docs/Microsoft.Quantum.Canon/ApplyToEach.md +1 -1
- package/docs/Microsoft.Quantum.Canon/ApplyToEachA.md +1 -1
- package/docs/Microsoft.Quantum.Canon/ApplyToEachC.md +1 -1
- package/docs/Microsoft.Quantum.Canon/ApplyToEachCA.md +1 -1
- package/docs/Microsoft.Quantum.Canon/ApplyXorInPlace.md +1 -1
- package/docs/Microsoft.Quantum.Canon/ApplyXorInPlaceL.md +1 -1
- package/docs/Microsoft.Quantum.Canon/CX.md +1 -1
- package/docs/Microsoft.Quantum.Canon/CY.md +1 -1
- package/docs/Microsoft.Quantum.Canon/CZ.md +1 -1
- package/docs/Microsoft.Quantum.Canon/Fst.md +1 -1
- package/docs/Microsoft.Quantum.Canon/Snd.md +1 -1
- package/docs/Microsoft.Quantum.Canon/SwapReverseRegister.md +1 -1
- package/docs/Microsoft.Quantum.Convert/BigIntAsBoolArray.md +1 -1
- package/docs/Microsoft.Quantum.Convert/BoolArrayAsBigInt.md +1 -1
- package/docs/Microsoft.Quantum.Convert/BoolArrayAsInt.md +1 -1
- package/docs/Microsoft.Quantum.Convert/BoolArrayAsResultArray.md +1 -1
- package/docs/Microsoft.Quantum.Convert/BoolAsResult.md +1 -1
- package/docs/Microsoft.Quantum.Convert/ComplexAsComplexPolar.md +1 -1
- package/docs/Microsoft.Quantum.Convert/ComplexPolarAsComplex.md +1 -1
- package/docs/Microsoft.Quantum.Convert/IntAsBigInt.md +1 -1
- package/docs/Microsoft.Quantum.Convert/IntAsBoolArray.md +1 -1
- package/docs/Microsoft.Quantum.Convert/IntAsDouble.md +1 -1
- package/docs/Microsoft.Quantum.Convert/ResultArrayAsBoolArray.md +1 -1
- package/docs/Microsoft.Quantum.Convert/ResultArrayAsInt.md +1 -1
- package/docs/Microsoft.Quantum.Convert/ResultAsBool.md +1 -1
- package/docs/Microsoft.Quantum.Core/IsRangeEmpty.md +1 -1
- package/docs/Microsoft.Quantum.Core/Length.md +1 -1
- package/docs/Microsoft.Quantum.Core/RangeEnd.md +1 -1
- package/docs/Microsoft.Quantum.Core/RangeReverse.md +1 -1
- package/docs/Microsoft.Quantum.Core/RangeStart.md +1 -1
- package/docs/Microsoft.Quantum.Core/RangeStep.md +1 -1
- package/docs/Microsoft.Quantum.Core/Repeated.md +1 -1
- package/docs/Microsoft.Quantum.Diagnostics/DumpMachine.md +1 -1
- package/docs/Microsoft.Quantum.Diagnostics/DumpRegister.md +1 -1
- package/docs/Microsoft.Quantum.Diagnostics/Fact.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/AdjustForSingleControl.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/ApplyGlobalPhase.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/CCH.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/CCNOT.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/CCY.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/CCZ.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/CH.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/CNOT.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/CRxx.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/CRyy.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/CRz.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/CRzz.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/CS.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/CT.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/CollectControls.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/ControllableGlobalPhase.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/EntangleForJointMeasure.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/Exp.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/GlobalPhase.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/H.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/I.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/IndicesOfNonIdentity.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/M.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/MapPauli.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/Measure.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/Message.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/PhaseCCX.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/R.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/R1.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/R1Frac.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/RFrac.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/RemovePauliI.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/Reset.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/ResetAll.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/Rx.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/Rxx.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/Ry.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/Ryy.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/Rz.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/Rzz.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/S.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/SWAP.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/SpreadZ.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/T.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/X.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/Y.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/Z.md +1 -1
- package/docs/Microsoft.Quantum.Logical/Xor.md +1 -1
- package/docs/Microsoft.Quantum.Math/AbsComplex.md +1 -1
- package/docs/Microsoft.Quantum.Math/AbsComplexPolar.md +1 -1
- package/docs/Microsoft.Quantum.Math/AbsD.md +1 -1
- package/docs/Microsoft.Quantum.Math/AbsI.md +1 -1
- package/docs/Microsoft.Quantum.Math/AbsL.md +1 -1
- package/docs/Microsoft.Quantum.Math/AbsSquaredComplex.md +1 -1
- package/docs/Microsoft.Quantum.Math/AbsSquaredComplexPolar.md +1 -1
- package/docs/Microsoft.Quantum.Math/ApproximateFactorial.md +1 -1
- package/docs/Microsoft.Quantum.Math/ArcCos.md +1 -1
- package/docs/Microsoft.Quantum.Math/ArcCosh.md +1 -1
- package/docs/Microsoft.Quantum.Math/ArcSin.md +1 -1
- package/docs/Microsoft.Quantum.Math/ArcSinh.md +1 -1
- package/docs/Microsoft.Quantum.Math/ArcTan.md +1 -1
- package/docs/Microsoft.Quantum.Math/ArcTan2.md +1 -1
- package/docs/Microsoft.Quantum.Math/ArcTanh.md +1 -1
- package/docs/Microsoft.Quantum.Math/ArgComplex.md +1 -1
- package/docs/Microsoft.Quantum.Math/ArgComplexPolar.md +1 -1
- package/docs/Microsoft.Quantum.Math/Binom.md +1 -1
- package/docs/Microsoft.Quantum.Math/BitSizeI.md +1 -1
- package/docs/Microsoft.Quantum.Math/BitSizeL.md +1 -1
- package/docs/Microsoft.Quantum.Math/Ceiling.md +1 -1
- package/docs/Microsoft.Quantum.Math/Complex.md +1 -1
- package/docs/Microsoft.Quantum.Math/ComplexPolar.md +1 -1
- package/docs/Microsoft.Quantum.Math/ContinuedFractionConvergentI.md +1 -1
- package/docs/Microsoft.Quantum.Math/ContinuedFractionConvergentL.md +1 -1
- package/docs/Microsoft.Quantum.Math/Cos.md +1 -1
- package/docs/Microsoft.Quantum.Math/Cosh.md +1 -1
- package/docs/Microsoft.Quantum.Math/DivRemI.md +1 -1
- package/docs/Microsoft.Quantum.Math/DivRemL.md +1 -1
- package/docs/Microsoft.Quantum.Math/DividedByC.md +1 -1
- package/docs/Microsoft.Quantum.Math/DividedByCP.md +1 -1
- package/docs/Microsoft.Quantum.Math/E.md +1 -1
- package/docs/Microsoft.Quantum.Math/ExpModI.md +1 -1
- package/docs/Microsoft.Quantum.Math/ExpModL.md +1 -1
- package/docs/Microsoft.Quantum.Math/ExtendedGreatestCommonDivisorI.md +1 -1
- package/docs/Microsoft.Quantum.Math/ExtendedGreatestCommonDivisorL.md +1 -1
- package/docs/Microsoft.Quantum.Math/ExtendedTruncation.md +1 -1
- package/docs/Microsoft.Quantum.Math/FactorialI.md +1 -1
- package/docs/Microsoft.Quantum.Math/FactorialL.md +1 -1
- package/docs/Microsoft.Quantum.Math/Floor.md +1 -1
- package/docs/Microsoft.Quantum.Math/GreatestCommonDivisorI.md +1 -1
- package/docs/Microsoft.Quantum.Math/GreatestCommonDivisorL.md +1 -1
- package/docs/Microsoft.Quantum.Math/HammingWeightI.md +1 -1
- package/docs/Microsoft.Quantum.Math/InverseModI.md +1 -1
- package/docs/Microsoft.Quantum.Math/InverseModL.md +1 -1
- package/docs/Microsoft.Quantum.Math/IsCoprimeI.md +1 -1
- package/docs/Microsoft.Quantum.Math/IsCoprimeL.md +1 -1
- package/docs/Microsoft.Quantum.Math/IsInfinite.md +1 -1
- package/docs/Microsoft.Quantum.Math/IsNaN.md +1 -1
- package/docs/Microsoft.Quantum.Math/LargestFixedPoint.md +1 -1
- package/docs/Microsoft.Quantum.Math/Lg.md +1 -1
- package/docs/Microsoft.Quantum.Math/Log.md +1 -1
- package/docs/Microsoft.Quantum.Math/Log10.md +1 -1
- package/docs/Microsoft.Quantum.Math/LogFactorialD.md +1 -1
- package/docs/Microsoft.Quantum.Math/LogGammaD.md +1 -1
- package/docs/Microsoft.Quantum.Math/LogOf2.md +1 -1
- package/docs/Microsoft.Quantum.Math/Max.md +1 -1
- package/docs/Microsoft.Quantum.Math/MaxD.md +1 -1
- package/docs/Microsoft.Quantum.Math/MaxI.md +1 -1
- package/docs/Microsoft.Quantum.Math/MaxL.md +1 -1
- package/docs/Microsoft.Quantum.Math/Min.md +1 -1
- package/docs/Microsoft.Quantum.Math/MinD.md +1 -1
- package/docs/Microsoft.Quantum.Math/MinI.md +1 -1
- package/docs/Microsoft.Quantum.Math/MinL.md +1 -1
- package/docs/Microsoft.Quantum.Math/MinusC.md +1 -1
- package/docs/Microsoft.Quantum.Math/MinusCP.md +1 -1
- package/docs/Microsoft.Quantum.Math/ModulusI.md +1 -1
- package/docs/Microsoft.Quantum.Math/ModulusL.md +1 -1
- package/docs/Microsoft.Quantum.Math/NegationC.md +1 -1
- package/docs/Microsoft.Quantum.Math/NegationCP.md +1 -1
- package/docs/Microsoft.Quantum.Math/PI.md +1 -1
- package/docs/Microsoft.Quantum.Math/PNorm.md +1 -1
- package/docs/Microsoft.Quantum.Math/PNormalized.md +1 -1
- package/docs/Microsoft.Quantum.Math/PlusC.md +1 -1
- package/docs/Microsoft.Quantum.Math/PlusCP.md +1 -1
- package/docs/Microsoft.Quantum.Math/PowC.md +1 -1
- package/docs/Microsoft.Quantum.Math/PowCAsCP.md +1 -1
- package/docs/Microsoft.Quantum.Math/PowCP.md +1 -1
- package/docs/Microsoft.Quantum.Math/RealMod.md +1 -1
- package/docs/Microsoft.Quantum.Math/Round.md +1 -1
- package/docs/Microsoft.Quantum.Math/SignD.md +1 -1
- package/docs/Microsoft.Quantum.Math/SignI.md +1 -1
- package/docs/Microsoft.Quantum.Math/SignL.md +1 -1
- package/docs/Microsoft.Quantum.Math/Sin.md +1 -1
- package/docs/Microsoft.Quantum.Math/Sinh.md +1 -1
- package/docs/Microsoft.Quantum.Math/SmallestFixedPoint.md +1 -1
- package/docs/Microsoft.Quantum.Math/Sqrt.md +1 -1
- package/docs/Microsoft.Quantum.Math/SquaredNorm.md +1 -1
- package/docs/Microsoft.Quantum.Math/Tan.md +1 -1
- package/docs/Microsoft.Quantum.Math/Tanh.md +1 -1
- package/docs/Microsoft.Quantum.Math/TimesC.md +1 -1
- package/docs/Microsoft.Quantum.Math/TimesCP.md +1 -1
- package/docs/Microsoft.Quantum.Math/TrailingZeroCountI.md +1 -1
- package/docs/Microsoft.Quantum.Math/TrailingZeroCountL.md +1 -1
- package/docs/Microsoft.Quantum.Math/Truncate.md +1 -1
- package/docs/Microsoft.Quantum.Measurement/MResetEachZ.md +1 -1
- package/docs/Microsoft.Quantum.Measurement/MResetX.md +1 -1
- package/docs/Microsoft.Quantum.Measurement/MResetY.md +1 -1
- package/docs/Microsoft.Quantum.Measurement/MResetZ.md +1 -1
- package/docs/Microsoft.Quantum.Measurement/MeasureAllZ.md +1 -1
- package/docs/Microsoft.Quantum.Measurement/MeasureEachZ.md +1 -1
- package/docs/Microsoft.Quantum.Measurement/MeasureInteger.md +1 -1
- package/docs/Microsoft.Quantum.ResourceEstimation/AccountForEstimates.md +1 -1
- package/docs/Microsoft.Quantum.ResourceEstimation/AuxQubitCount.md +1 -1
- package/docs/Microsoft.Quantum.ResourceEstimation/BeginEstimateCaching.md +1 -1
- package/docs/Microsoft.Quantum.ResourceEstimation/BeginRepeatEstimates.md +1 -1
- package/docs/Microsoft.Quantum.ResourceEstimation/CczCount.md +1 -1
- package/docs/Microsoft.Quantum.ResourceEstimation/EndEstimateCaching.md +1 -1
- package/docs/Microsoft.Quantum.ResourceEstimation/EndRepeatEstimates.md +1 -1
- package/docs/Microsoft.Quantum.ResourceEstimation/MeasurementCount.md +1 -1
- package/docs/Microsoft.Quantum.ResourceEstimation/PSSPCLayout.md +1 -1
- package/docs/Microsoft.Quantum.ResourceEstimation/RepeatEstimates.md +1 -1
- package/docs/Microsoft.Quantum.ResourceEstimation/RotationCount.md +1 -1
- package/docs/Microsoft.Quantum.ResourceEstimation/RotationDepth.md +1 -1
- package/docs/Microsoft.Quantum.ResourceEstimation/SingleVariant.md +1 -1
- package/docs/Microsoft.Quantum.ResourceEstimation/TCount.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/AddLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyActionIfGreaterThanOrEqualConstant.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyActionIfSumOverflows.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyAsSinglyControlled.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfEqualL.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfEqualLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterL.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterOrEqualL.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterOrEqualLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessL.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessOrEqualL.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessOrEqualLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/FourierTDIncByLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByI.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByIUsingIncByLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByL.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByLEUsingAddLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByLUsingIncByLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/LookAheadDKRSAddLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/MAJ.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/PhaseGradient.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ReflectAboutInteger.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/RippleCarryCGAddLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/RippleCarryCGIncByLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/RippleCarryTTKIncByLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.StatePreparation/ApproximatelyPreparePureStateCP.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.StatePreparation/PreparePureStateD.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.TableLookup/EncodeUnary.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.TableLookup/MustBeFixed.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.TableLookup/Select.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.TableLookup/Unlookup.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.TableLookup/WriteMemoryContents.md +1 -1
- package/lib/node/qsc_wasm.cjs +1 -1
- package/lib/node/qsc_wasm_bg.wasm +0 -0
- package/lib/web/qsc_wasm.js +1 -1
- package/lib/web/qsc_wasm_bg.wasm +0 -0
- package/package.json +1 -1
|
@@ -5670,7 +5670,7 @@ export default {
|
|
|
5670
5670
|
"items": [
|
|
5671
5671
|
{
|
|
5672
5672
|
"type": "text-content",
|
|
5673
|
-
"content": "\nQuantum oracles are a key part of many quantum algorithms that rely on quantum implementation of a classical function. The algorithms' discussions often assume that the quantum oracle that implements the function of interest is provided. This kata dives deeper into the definition of different types of quantum oracles, their properties, and the basic ways to implement the oracles.\n\n**This kata covers the following topics:**\n\n- Quantum oracles and how they relate to classical oracles\n- Two types of quantum oracles - phase oracles and marking oracles\n- Phase kickback and its uses for oracles implementation\n- Implementation and testing of quantum oracles in Q#\n\n**What you should know to start working on this kata:**\n\n-
|
|
5673
|
+
"content": "\nQuantum oracles are a key part of many quantum algorithms that rely on quantum implementation of a classical function. The algorithms' discussions often assume that the quantum oracle that implements the function of interest is provided. This kata dives deeper into the definition of different types of quantum oracles, their properties, and the basic ways to implement the oracles.\n\n**This kata covers the following topics:**\n\n- Quantum oracles and how they relate to classical oracles\n- Two types of quantum oracles - phase oracles and marking oracles\n- Phase kickback and its uses for oracles implementation\n- Implementation and testing of quantum oracles in Q#\n\n**What you should know to start working on this kata:**\n\n- Basic knowledge of fundamental quantum concepts\n- Basic knowledge of multi-qubit gates, especially controlled gates. If you're not familiar with these concepts, you can find them in the Multi-Qubit Gates kata."
|
|
5674
5674
|
}
|
|
5675
5675
|
]
|
|
5676
5676
|
},
|
|
@@ -5681,7 +5681,7 @@ export default {
|
|
|
5681
5681
|
"items": [
|
|
5682
5682
|
{
|
|
5683
5683
|
"type": "text-content",
|
|
5684
|
-
"content": "\nIn classical computing,
|
|
5684
|
+
"content": "\nIn classical computing, the terms \"black box\" versus \"white box\" are often used to discuss the testing of a function. In \"white box\" testing, the implementation of a function is visible to the tester, thus they can verify specific runtime or memory complexity expectations for the algorithm. \nHowever, in \"black box\" testing, the tester doesn't have access to the details of the function implementation. They only have access to the \"black box\" that takes an input and produces the corresponding output. This means the tester can only test the functionality and expected behavior of the function, but not the implementation, which is hidden behind abstraction.\n\nFormally, a **classical oracle** is a function that, provided some input, produces a *deterministic* output\n(the same input *always* results in the same output).\n\nSome classical problems (typically <a href=\"https://en.wikipedia.org/wiki/Decision_problem\" target=\"_blank\">decision problems</a>) are also expressed in terms of oracles; in this case the implementation of the function isn't important, but the functionality that it provides. \n\n> Suppose you've been given a function which takes two list parameters as input, where these lists represent the availability of two employees at a company during the week. The function returns true if there is a day (Monday, Tuesday, Wednesday, Thursday, or Friday) for which they are both free and could schedule a meeting, and false if no such date exists.\n>\n> This function is an example of a classical oracle."
|
|
5685
5685
|
}
|
|
5686
5686
|
]
|
|
5687
5687
|
},
|
|
@@ -5704,7 +5704,7 @@ export default {
|
|
|
5704
5704
|
"items": [
|
|
5705
5705
|
{
|
|
5706
5706
|
"type": "text-content",
|
|
5707
|
-
"content": "\nThe binary notation of $7$ is $111_2$. This means that
|
|
5707
|
+
"content": "\nThe binary notation of $7$ is $111_2$. This means that your solution should return `true` if and only if each bit of the input is `true`.\n\nNotice that in this problem the solution doesn't depend on whether the bit string is converted into an integer using \nbig endian or little endian notation. In general, this is an important distinction that you need to take into account."
|
|
5708
5708
|
},
|
|
5709
5709
|
{
|
|
5710
5710
|
"type": "solution",
|
|
@@ -5721,7 +5721,7 @@ export default {
|
|
|
5721
5721
|
"items": [
|
|
5722
5722
|
{
|
|
5723
5723
|
"type": "text-content",
|
|
5724
|
-
"content": "\nAn oracle in the quantum world is a \"black box\" operation that is used as input to an algorithm (such as Deutsch-Jozsa algorithm or Grover's search algorithm).\nMany quantum algorithms assume an oracle implementation of some classical function as input, but this is a very strong assumption - sometimes implementing the oracle for a function is a lot more complex than the algorithm that will use this oracle! \nIn this kata, you
|
|
5724
|
+
"content": "\nAn oracle in the quantum world is a \"black box\" operation that is used as input to an algorithm (such as Deutsch-Jozsa algorithm or Grover's search algorithm).\nMany quantum algorithms assume an oracle implementation of some classical function as input, but this is a very strong assumption - sometimes implementing the oracle for a function is a lot more complex than the algorithm that will use this oracle! \nIn this kata, you'll learn the properties of quantum oracles and how to implement them.\n\nA quantum oracle implements a function $f: \\{0,1\\}^n \\rightarrow \\{0,1\\}^m$, where the input is $n$-bits of the form $x = (x_{0}, x_{1}, \\dots, x_{n-1})$. In most commonly used cases $m=1$, that is, the function can return values $0$ or $1$. In this kata, you'll focus on this class of functions.\n\nQuantum oracles operate on qubit arrays (and can take classical parameters as well). The classical input is encoded into the state of an $n$-qubit register: \n$$\\ket{\\vec{x}} = \\ket{x_0} \\otimes \\ket{x_1} \\otimes ... \\otimes \\ket{x_{n-1}},$$\nwhere $\\ket{x_i}$ represents the state of the $i$-th qubit. \n\nOracles must be unitary transformations, and follow the same rules of linear algebra as other quantum operations.\nThis allows us to define quantum oracles based on their effect on the basis states - tensor products of single-qubit basis states $\\ket{0}$ and $\\ket{1}$.\n\n> For example, an oracle that implements a function that takes two bits of input is defined using its effect on basis states $\\ket{00}$, $\\ket{01}$, $\\ket{10}$, and $\\ket{11}$. \n\nThere are two types of quantum oracles: phase oracles and marking oracles. Let's take a closer look at them."
|
|
5725
5725
|
}
|
|
5726
5726
|
]
|
|
5727
5727
|
},
|
|
@@ -5732,7 +5732,7 @@ export default {
|
|
|
5732
5732
|
"items": [
|
|
5733
5733
|
{
|
|
5734
5734
|
"type": "text-content",
|
|
5735
|
-
"content": "\nFor a function $f: \\{0,1\\}^n \\rightarrow \\{0,1\\}$, the phase oracle $U_{\\text{phase}}$ encodes the values of the function $f$ in the *relative phases* of basis states. When provided an input basis state $\\ket{\\vec{x}}$, it flips the sign of that state if $f(x)=1$:\n\n$$U_{phase} \\ket{\\vec{x}} = (-1)^{f(x)}\\ket{\\vec{x}}$$\n\nThus, the phase oracle $U_{\\text{phase}}$ doesn't change the phase of the basis states for which $f(x)=0$, but multiplies the phase of the basis states for which $f(x)=1$ by $-1$.\n\nThe effect of such an oracle on any single basis state
|
|
5735
|
+
"content": "\nFor a function $f: \\{0,1\\}^n \\rightarrow \\{0,1\\}$, the phase oracle $U_{\\text{phase}}$ encodes the values of the function $f$ in the *relative phases* of basis states. When provided an input basis state $\\ket{\\vec{x}}$, it flips the sign of that state if $f(x)=1$:\n\n$$U_{phase} \\ket{\\vec{x}} = (-1)^{f(x)}\\ket{\\vec{x}}$$\n\nThus, the phase oracle $U_{\\text{phase}}$ doesn't change the phase of the basis states for which $f(x)=0$, but multiplies the phase of the basis states for which $f(x)=1$ by $-1$.\n\nThe effect of such an oracle on any single basis state isn't particularly interesting: it just adds a global phase which is not something you can observe. However, if you apply this oracle to a *superposition* of basis states, its effect becomes noticeable.\nRemember that quantum operations are linear: if you define the effect of an operation on the basis states, you'll be able to deduce its effect on superposition states (which are just linear combinations of the basis states) using its linearity.\n\nA phase oracle doesn't have an \"output\", unlike the function it implements; the effect of the oracle application is the change in the state of the system."
|
|
5736
5736
|
}
|
|
5737
5737
|
]
|
|
5738
5738
|
},
|
|
@@ -5743,7 +5743,7 @@ export default {
|
|
|
5743
5743
|
"items": [
|
|
5744
5744
|
{
|
|
5745
5745
|
"type": "text-content",
|
|
5746
|
-
"content": "\nConsider the function $f(x)$ that takes three bits of input and returns $1$ if $x=101$ or $x=010$, and $0$ otherwise.\n\nThe phase oracle that implements this function
|
|
5746
|
+
"content": "\nConsider the function $f(x)$ that takes three bits of input and returns $1$ if $x=101$ or $x=010$, and $0$ otherwise.\n\nThe phase oracle that implements this function takes an array of three qubits as an input, flip the sign of basis states $\\ket{101}$ and $\\ket{010}$, and leave the rest of the basis states unchanged. Let's see the effect of this oracle on a superposition state."
|
|
5747
5747
|
},
|
|
5748
5748
|
{
|
|
5749
5749
|
"type": "example",
|
|
@@ -5752,7 +5752,7 @@ export default {
|
|
|
5752
5752
|
},
|
|
5753
5753
|
{
|
|
5754
5754
|
"type": "text-content",
|
|
5755
|
-
"content": "\
|
|
5755
|
+
"content": "\nThe Multi-Qubit Gates kata introduced the `ApplyControlledOnBitString` function provided by the Q# standard library when discussing controlled gates.\nThe `ApplyControlledOnBitString` function defines a variant of a gate controlled on a state specified by a bit mask. For example, bit mask `[true, false]` means that the gate should be applied only if the two control qubits are in the $\\ket{10}$ state.\n\nThe sequence of steps that implement this variant are:\n\n1. Apply the $X$ gate to each control qubit that corresponds to a `false` element of the bit mask. After this, if the control qubits started in the $\\ket{10}$ state, they'll end up in the $\\ket{11}$ state, and if they started in any other state, they'll end up in any state but $\\ket{11}$.\n2. Apply the regular controlled version of the gate.\n3. Apply the $X$ gate to the same qubits to return them to their original state.\n\n> Notice that the input state in the demo above is an equal superposition of all basis states.\nAfter applying the oracle the absolute values of all amplitudes are the same, but the states $\\ket{010}$ and $\\ket{101}$ had their phase flipped to negative.\n> Recall that these two states are exactly the inputs for which $f(x) = 1$, thus they're exactly the two states we expect to experience a phase flip!\n\nIn the next exercise, you'll implement the classical oracle that you've implemented in the first exercise, this time as a quantum phase oracle $U_{7,\\text{phase}}$ that encodes the number 7."
|
|
5756
5756
|
}
|
|
5757
5757
|
]
|
|
5758
5758
|
},
|
|
@@ -5784,7 +5784,7 @@ export default {
|
|
|
5784
5784
|
},
|
|
5785
5785
|
{
|
|
5786
5786
|
"type": "text-content",
|
|
5787
|
-
"content": "\nConsider how this oracle acts on two basis states:\n$$U_{7,phase} \\ket{111} = -\\ket{111}$$\n$$U_{7,phase} \\ket{110} = \\ket{110}$$\n\nYou can see that $U_{7,phase}$
|
|
5787
|
+
"content": "\nConsider how this oracle acts on two basis states:\n$$U_{7,phase} \\ket{111} = -\\ket{111}$$\n$$U_{7,phase} \\ket{110} = \\ket{110}$$\n\nYou can see that $U_{7,phase}$ doesn't change the input if it's a basis state (other than adding a global phase), and $U_{7,phase}$ doesn't change the norm of the state ($U_{7,phase}$ is a unitary operator). \n\nHowever, if you applied this oracle to a superposition state instead, what will that look like?\n\nSuppose that $\\ket{\\beta}$ is an equal superposition of the states $\\ket{110}$ and $\\ket{111}$: \n$$\\ket{\\beta} = \\frac{1}{\\sqrt{2}} \\big(\\ket{110} + \\ket{111}\\big) = \\ket{11} \\otimes \\frac{1}{\\sqrt{2}} \\big(\\ket{0} + \\ket{1}\\big) = \\ket{11} \\otimes \\ket{+} = \\ket{11+}$$\n\nLet's consider how the operator $U_{7,phase}$ acts on this state:\n\n$$U_{7,phase} \\ket{\\beta} = U_{7,phase} \\Big[\\frac{1}{\\sqrt{2}} \\big(\\ket{110} + \\ket{111}\\big)\\Big] =$$\n\n$$= \\frac{1}{\\sqrt{2}} \\big(U_{7,phase} \\ket{110} + U_{7,phase} \\ket{111}\\big) =$$\n\n$$= \\frac{1}{\\sqrt{2}} \\big(\\ket{110} - \\ket{111}\\big) := \\ket{\\gamma}$$\n\nWas your input state modified during this operation? Let's simplify $\\ket{\\gamma}$:\n\n$$\\ket{\\gamma} = \\frac{1}{\\sqrt{2}} \\big(\\ket{110} - \\ket{111}\\big) =$$\n\n$$= \\ket{11} \\otimes \\frac{1}{\\sqrt{2}} \\big(\\ket{0} - \\ket{1}\\big) =$$\n\n$$= \\ket{11} \\otimes \\ket{-} = \\ket{11-} \\neq \\ket{\\beta}$$\n\nHere you see that the oracle modifies the input, if the input state is a *superposition* of the basis states, as a phase oracle will only modify the sign of the basis states. Thus when a superposition state is provided as input to an oracle, the input state can be modified via the application of the quantum oracle.\n\n> It's also worth noting that while the oracle modified the input when provided a superposition state, it did *not* modify the norm of that state. As an exercise, you can verify this yourself by taking the norm of $\\ket{\\beta}$ and $\\ket{\\gamma}$, which both will result in a value of $1$.\n>\n> As another exercise, consider how you could distinguish between the input and output state programmatically? Is there an operation that you could apply to the initial state $\\ket{\\beta}$ and the final state $\\ket{\\gamma}$ to show that the two states aren't equivalent through measurement? As a hint, think about how you could convert the superposition states $\\ket{\\beta}$ and $\\ket{\\gamma}$ into the basis states."
|
|
5788
5788
|
}
|
|
5789
5789
|
]
|
|
5790
5790
|
}
|
|
@@ -5796,7 +5796,7 @@ export default {
|
|
|
5796
5796
|
"items": [
|
|
5797
5797
|
{
|
|
5798
5798
|
"type": "text-content",
|
|
5799
|
-
"content": "\nA marking oracle $U_{mark}$ is an oracle that encodes the value of the classical function $f$ it implements in the *amplitude* of the qubit state. When provided an input array of qubits in the basis state $\\ket{\\vec{x}}$ and an output qubit in the basis state $\\ket{y}$, it flips the state of the output qubit if $f(x)=1$. (You can also represent this as addition modulo 2 between $f(x)$ and $y$.) Hence $U_{mark}$ is an operator that performs the following operation:\n\n$$U_{mark}\\ket{\\vec{x}} \\ket{y} = U_{mark}\\big(\\ket{\\vec{x}} \\otimes \\ket{y}\\big) = \\ket{\\vec{x}} \\otimes \\ket{y \\oplus f(x)}$$\n\nAgain, since all quantum operations are linear, you can figure out the effect of this operation on superposition state knowing its effect on the basis states using its linearity.\n\nA marking oracle has distinct \"input\" and \"output\" qubits, but in general the effect of the oracle application is the change in the state of the whole system rather than of the \"output\" qubits only.
|
|
5799
|
+
"content": "\nA marking oracle $U_{mark}$ is an oracle that encodes the value of the classical function $f$ it implements in the *amplitude* of the qubit state. When provided an input array of qubits in the basis state $\\ket{\\vec{x}}$ and an output qubit in the basis state $\\ket{y}$, it flips the state of the output qubit if $f(x)=1$. (You can also represent this as addition modulo 2 between $f(x)$ and $y$.) Hence $U_{mark}$ is an operator that performs the following operation:\n\n$$U_{mark}\\ket{\\vec{x}} \\ket{y} = U_{mark}\\big(\\ket{\\vec{x}} \\otimes \\ket{y}\\big) = \\ket{\\vec{x}} \\otimes \\ket{y \\oplus f(x)}$$\n\nAgain, since all quantum operations are linear, you can figure out the effect of this operation on superposition state knowing its effect on the basis states using its linearity.\n\nA marking oracle has distinct \"input\" and \"output\" qubits, but in general the effect of the oracle application is the change in the state of the whole system rather than of the \"output\" qubits only. You'll look at this closer in a moment."
|
|
5800
5800
|
}
|
|
5801
5801
|
]
|
|
5802
5802
|
},
|
|
@@ -5807,7 +5807,7 @@ export default {
|
|
|
5807
5807
|
"items": [
|
|
5808
5808
|
{
|
|
5809
5809
|
"type": "text-content",
|
|
5810
|
-
"content": "\nConsider the function $f(x)$ that takes three bits of input and returns $1$ if $x=101$ or $x=010$, and $0$ otherwise (it
|
|
5810
|
+
"content": "\nConsider the function $f(x)$ that takes three bits of input and returns $1$ if $x=101$ or $x=010$, and $0$ otherwise (it's the function in the lesson \"Phase Oracle for Alternating Bit Pattern Function\").\n\nThe marking oracle that implements this function takes an array of three qubits as an \"input\" register and an \"output\" qubit, and flips the state of the output qubit if the input qubit is in basis state $\\ket{101}$ or $\\ket{010}$, and does nothing otherwise. Let's see the effect of this oracle on a superposition state."
|
|
5811
5811
|
},
|
|
5812
5812
|
{
|
|
5813
5813
|
"type": "example",
|
|
@@ -5816,7 +5816,7 @@ export default {
|
|
|
5816
5816
|
},
|
|
5817
5817
|
{
|
|
5818
5818
|
"type": "text-content",
|
|
5819
|
-
"content": "\n> Let's compare the initial state to the final state from the above demo.\nIn the initial state
|
|
5819
|
+
"content": "\n> Let's compare the initial state to the final state from the above demo.\nIn the initial state, there's a tensor product of an equal superposition of all three-qubit basis states and the state $\\ket{0}$. In the final state, this is no longer the case.\nThe basis states $\\ket{010} \\otimes \\ket{0}$ and $\\ket{101} \\otimes \\ket{0}$ no longer have non-zero amplitudes, and instead $\\ket{010} \\otimes \\ket{1}$ and $\\ket{101} \\otimes \\ket{1}$ have non-zero amplitudes.\n>\n> This is exactly the expected result. Recall the function $f(x)$: $f(x)=1$ if and only if $x=010$ or $x=101$. The first three qubits (variable `x`) represent the input state $\\ket{x}$, and the last qubit (variable `y`) represents the output state $\\ket{y}$. Thus for the two basis states, $\\ket{x}=\\ket{010}$ or $\\ket{x}=\\ket{101}$, the function flips the state of the qubit $\\ket{y}$, causing these two initial states to be tensored with $\\ket{1}$ in the final state where originally they were tensored with $\\ket{0}$.\n>\n> Since the rest of the basis states correspond to $f(x) = 0$, all other basis states in the initial superposition remain unchanged.\n\nNow you'll implement the same function you've seen in the first two exercises as a marking oracle $U_{7,mark}$."
|
|
5820
5820
|
}
|
|
5821
5821
|
]
|
|
5822
5822
|
},
|
|
@@ -5848,7 +5848,7 @@ export default {
|
|
|
5848
5848
|
},
|
|
5849
5849
|
{
|
|
5850
5850
|
"type": "text-content",
|
|
5851
|
-
"content": "\nConsider how the oracle from this exercise acts on two input basis states and two \"output\" basis states:\n\n$$U_{7,mark} \\ket{111} \\ket{0} = \\ket{111} \\ket{0 \\oplus f(111)} = \\ket{111} \\ket{0 \\oplus 1} = \\ket{111} \\ket{1}$$\n\n$$U_{7,mark} \\ket{111} \\ket{1} = \\ket{111} \\ket{1 \\oplus f(111)} = \\ket{111} \\ket{1 \\oplus 1} = \\ket{111} \\ket{0}$$\n\n$$U_{7,mark} \\ket{110} \\ket{0} = \\ket{110} \\ket{0 \\oplus f(110)} = \\ket{110} \\ket{0 \\oplus 0} = \\ket{110} \\ket{0}$$\n\n$$U_{7,mark} \\ket{110} \\ket{1} = \\ket{110} \\ket{1 \\oplus f(110)} = \\ket{110} \\ket{1 \\oplus 0} = \\ket{110} \\ket{1}$$\n\nYou can see that the state of the input qubit array is unchanged, and the state of the output qubit changes if $f(x) = 1$ and is unchanged if $f(x) = 0$ - this matches the definition of a marking oracle precisely.\n\nNow let's again apply this oracle to a superposition state $\\ket{\\alpha}$ such that $\\ket{x}$ is a superposition of the basis states $\\ket{110}$ and $\\ket{111}$ and $\\ket{y} = \\ket{0}$:\n$$\\ket{\\alpha} = \\frac{1}{\\sqrt{2}}\\big(\\ket{110} + \\ket{111}\\big)\\ket{0} = \n\\ket{11} \\otimes \\frac{1}{\\sqrt{2}} \\big(\\ket{0} + \\ket{1}\\big) \\otimes \\ket{0} = \\ket{11+} \\ket{0}$$\n\nLet's consider how
|
|
5851
|
+
"content": "\nConsider how the oracle from this exercise acts on two input basis states and two \"output\" basis states:\n\n$$U_{7,mark} \\ket{111} \\ket{0} = \\ket{111} \\ket{0 \\oplus f(111)} = \\ket{111} \\ket{0 \\oplus 1} = \\ket{111} \\ket{1}$$\n\n$$U_{7,mark} \\ket{111} \\ket{1} = \\ket{111} \\ket{1 \\oplus f(111)} = \\ket{111} \\ket{1 \\oplus 1} = \\ket{111} \\ket{0}$$\n\n$$U_{7,mark} \\ket{110} \\ket{0} = \\ket{110} \\ket{0 \\oplus f(110)} = \\ket{110} \\ket{0 \\oplus 0} = \\ket{110} \\ket{0}$$\n\n$$U_{7,mark} \\ket{110} \\ket{1} = \\ket{110} \\ket{1 \\oplus f(110)} = \\ket{110} \\ket{1 \\oplus 0} = \\ket{110} \\ket{1}$$\n\nYou can see that the state of the input qubit array is unchanged, and the state of the output qubit changes if $f(x) = 1$ and is unchanged if $f(x) = 0$ - this matches the definition of a marking oracle precisely.\n\nNow let's again apply this oracle to a superposition state $\\ket{\\alpha}$ such that $\\ket{x}$ is a superposition of the basis states $\\ket{110}$ and $\\ket{111}$ and $\\ket{y} = \\ket{0}$:\n$$\\ket{\\alpha} = \\frac{1}{\\sqrt{2}}\\big(\\ket{110} + \\ket{111}\\big)\\ket{0} = \n\\ket{11} \\otimes \\frac{1}{\\sqrt{2}} \\big(\\ket{0} + \\ket{1}\\big) \\otimes \\ket{0} = \\ket{11+} \\ket{0}$$\n\nLet's consider how the operator $U_{7,mark}$ acts on this state.\n\n> Recall that oracles are linear operators, thus they can be applied to each term individually.\n\n$$U_{7,mark} \\ket{\\alpha} = \\frac{1}{\\sqrt{2}} \\big(U_{7,mark}\\ket{110} \\ket{0} + U_{7,mark}\\ket{111} \\ket{0}\\big) =$$\n\n$$= \\frac{1}{\\sqrt{2}} \\big(\\ket{110} \\ket{0} + \\ket{111} \\ket{1}\\big) := \\ket{\\epsilon}$$\n\nWas your input state modified during this operation? Let's simplify the resulting state $\\ket{\\epsilon}$:\n\n$$\\ket{\\epsilon} = \\frac{1}{\\sqrt{2}} \\big(\\ket{110} \\ket{0} + \\ket{111} \\ket{1}\\big) = \\ket{11} \\otimes \\frac{1}{\\sqrt{2}} \\big(\\ket{0} \\ket{0} + \\ket{1} \\ket{1}\\big) =$$\n\n$$= \\ket{11} \\otimes \\frac{1}{\\sqrt{2}} \\big(\\ket{00} + \\ket{11}\\big) = \\ket{11} \\otimes \\ket{\\Phi^+} = \\ket{11\\Phi^+}$$\n\nYou have entangled the states of qubits $\\ket{x}$ and $\\ket{y}$! This is a common occurrence for marking oracles when the input is a superposition of basis states: after applying the oracle, the input $\\ket{x}$ will often become entangled with $\\ket{y}$. Thus, while applying the marking oracle to a basis state will leave the input array unchanged, applying the marking oracle to a superposition state will change the state of both the input array and the output qubit.\n\n>As an exercise, what entangled state would you get in the previous example if $\\ket{y} = \\ket{1}$ instead of $\\ket{y} = \\ket{0}$?\n>\n> <details>\n> <summary><b>Answer</b></summary>\n> $$U_{7,mark} \\ket{11+} \\ket{1} = \\ket{11} \\otimes \\frac1{\\sqrt2}\\big(\\ket{01} + \\ket{10}\\big) = \\ket{11} \\ket{\\Psi^+}$$\n> </details>"
|
|
5852
5852
|
}
|
|
5853
5853
|
]
|
|
5854
5854
|
}
|
|
@@ -5860,7 +5860,7 @@ export default {
|
|
|
5860
5860
|
"items": [
|
|
5861
5861
|
{
|
|
5862
5862
|
"type": "text-content",
|
|
5863
|
-
"content": "\nPreviously we considered applying marking oracles when the register $\\ket{x}$ was in a basis state or a superposition state, and the target qubit $\\ket{y}$ was in a basis state. How might the effect of applying marking oracles change if the target is also in a superposition state? In this case we might observe **phase kickback** - the relative phase from the target qubit affecting (\"kicked back\" into) the state of the input qubits.\n\nIn order to observe phase kickback,
|
|
5863
|
+
"content": "\nPreviously we considered applying marking oracles when the register $\\ket{x}$ was in a basis state or a superposition state, and the target qubit $\\ket{y}$ was in a basis state. How might the effect of applying marking oracles change if the target is also in a superposition state? In this case we might observe **phase kickback** - the relative phase from the target qubit affecting (\"kicked back\" into) the state of the input qubits.\n\nIn order to observe phase kickback, the target qubit is $\\ket{y}=\\ket{-}$.\n\n> This is the standard choice for two reasons.\n> First, for phase kickback to occur, the target qubit must have a difference in relative phase between the basis states $\\ket{0}$ and $\\ket{1}$.\n> Second, the absolute values of the amplitudes of the two basis states of the target qubit must be equal, otherwise the target will become entangled with the input register.\n\nLet's see the results of applying a marking oracle $U_{mark}$ which implements the function $f(x)$ to the input register $\\ket{x}$ and the target qubit in state $\\ket{-}$:\n\n- If the input register $\\ket{x}$ is in a basis state:\n\n$$U_{mark} \\ket{x} \\ket{-} = \\frac1{\\sqrt2} \\big(U_{mark}\\ket{x}\\ket{0} - U_{mark}\\ket{x} \\ket{1}\\big) =$$\n\n$$= \\frac1{\\sqrt2} \\big(\\ket{x}\\ket{0\\oplus f(x)} - \\ket{x} \\ket{1\\oplus f(x)}\\big) =$$\n\n$$=\\begin{cases}\n\\frac1{\\sqrt2} \\big(\\ket{x}\\ket{0} - \\ket{x} \\ket{1}\\big) = \\ket{x}\\ket{-} \\text{ if } f(x) = 0 \\\\\n\\frac1{\\sqrt2} \\big(\\ket{x}\\ket{1} - \\ket{x} \\ket{0}\\big) = -\\ket{x}\\ket{-} \\text{ if } f(x) = 1\n\\end{cases}=$$\n\n$$= (-1)^{f(x)}\\ket{x} \\ket{-}$$\n\n- If the input register is in a superposition state, say $\\ket{x} = \\frac1{\\sqrt2} \\big(\\ket{b_1} + \\ket{b_2}\\big)$, where $\\ket{b_1}$ and $\\ket{b_2}$ are basis states:\n\n$$U_{mark} \\ket{x} \\ket{-} = U_{mark} \\frac{1}{\\sqrt{2}} \\big(\\ket{b_1} + \\ket{b_2}\\big) \\ket{-} =$$\n\n$$= \\frac{1}{\\sqrt{2}} \\big( U_{mark}\\ket{b_1}\\ket{-} + U_{mark}\\ket{b_2}\\ket{-}\\big) =$$\n\n$$= \\frac{1}{\\sqrt{2}} \\big( (-1)^{f(b_1)}\\ket{b_1} + (-1)^{f(b_2)}\\ket{b_2}\\big) \\ket{-}$$\n\nIn both cases applying $U_{mark}$ doesn't change the state of the target qubit, but it does change the state of the input register.\nThus you can drop the target qubit without any repercussions after the application of the oracle.\nNotice that the input register is now in the following state:\n$$\\ket{\\psi} = \\frac{1}{\\sqrt{2}} \\big( (-1)^{f(b_1)}\\ket{b_1} + (-1)^{f(b_2)}\\ket{b_2}\\big),$$\n\nwhich looks exactly as if you apply a phase oracle to $\\ket{x}$ instead of applying a marking oracle to $\\ket{x}\\ket{-}$! This is a very important application of phase kickback: it allows to convert a marking oracle into a phase oracle - which you'll implement in the next task.\n\n> Another important application of this effect is **phase estimation** algorithm, which allows to estimate an eigenvalue of an eigenvector.\n\nConsider the following example using the $U_{7,mark}$ oracle. Let's begin with $\\ket{x}$ as an equal superposition of the $\\ket{110}$ and $\\ket{111}$ basis states and $\\ket{y}=\\ket{-}$, the overall state is:\n\n$$\\ket{\\eta} = \\Big[\\frac{1}{\\sqrt{2}}\\big(\\ket{110} + \\ket{111}\\big)\\Big] \\otimes \\frac{1}{\\sqrt{2}}\\big(\\ket{0} - \\ket{1}\\big) =$$\n\n$$= \\frac{1}{2} \\big(\\ket{110}\\ket{0} + \\ket{111}\\ket{0} - \\ket{110}\\ket{1} - \\ket{111}\\ket{1}\\big)$$\n\nHow does $U_{7,mark}$ act on this state?\n\n$$U_{7,mark}\\ket{\\eta} = U_{7,mark} \\frac{1}{2} \\big(\\ket{110}\\ket{0} + \\ket{111}\\ket{0} - \\ket{110}\\ket{1} - \\ket{111}\\ket{1} \\big) =$$\n\n$$= \\frac{1}{2} \\big( U_{7,mark}\\ket{110}\\ket{0} + U_{7,mark}\\ket{111}\\ket{0} - U_{7,mark}\\ket{110}\\ket{1} - U_{7,mark}\\ket{111}\\ket{1} \\big) =$$\n\n$$= \\frac{1}{2} \\big(\\ket{110}\\ket{0} + \\ket{111}\\ket{1} - \\ket{110}\\ket{1} - \\ket{111}\\ket{0} \\big) := \\ket{\\xi}$$\n\nNow you want to observe how your input state $\\ket{\\eta}$ is modified by the oracle. Let's simplify the resulting state $\\ket{\\xi}$:\n\n$$\\ket{\\xi} = \\frac{1}{2} \\big(\\ket{110}\\ket{0} + \\ket{111}\\ket{1} - \\ket{110}\\ket{1} - \\ket{111}\\ket{0}\\big) =$$\n\n$$= \\frac{1}{2} \\big(\\ket{110}\\ket{0} - \\ket{110}\\ket{1} - \\ket{111}\\ket{0} + \\ket{111}\\ket{1} \\big) =$$\n\n$$= \\frac{1}{2} \\Big[\\ket{110} \\otimes \\big(\\ket{0} - \\ket{1} \\big) + \\ket{111} \\otimes \\big(\\ket{1} - \\ket{0}\\big)\\Big] =$$\n\n$$= \\Big[\\frac{1}{\\sqrt{2}} \\big( \\ket{110} - \\ket{111} \\big) \\Big] \\otimes \\Big[ \\frac{1}{\\sqrt{2}} \\big( \\ket{0} - \\ket{1} \\big) \\Big] =$$\n\n$$= \\Big[\\frac{1}{\\sqrt{2}} \\big( \\ket{110} - \\ket{111} \\big) \\Big] \\otimes \\ket{-}$$\n\nFinally, let's compare $\\ket{\\eta}$ and $\\ket{\\xi}$; below are the final equations repeated for your convenience:\n$$\\ket{\\eta} = \\Big[\\frac{1}{\\sqrt{2}}\\big(\\ket{110} + \\ket{111}\\big)\\Big] \\otimes \\ket{-}$$\n$$\\ket{\\xi} = \\Big[\\frac{1}{\\sqrt{2}}\\big(\\ket{110} - \\ket{111}\\big)\\Big] \\otimes \\ket{-}$$\n\nYou can see that these two equations are identical, except for the $-1$ phase that appeared on the $\\ket{111}$ basis state - our marked state. This is a specific example of the phase kickback effect, as the phase from $\\ket{-}$ has been *kicked back* into $\\ket{x}$."
|
|
5864
5864
|
}
|
|
5865
5865
|
]
|
|
5866
5866
|
},
|
|
@@ -5883,7 +5883,7 @@ export default {
|
|
|
5883
5883
|
"items": [
|
|
5884
5884
|
{
|
|
5885
5885
|
"type": "text-content",
|
|
5886
|
-
"content": "\nAs
|
|
5886
|
+
"content": "\nAs you just saw, you can allocate an additional qubit in the $\\ket{-}$ state and use it as the target for our marking oracle.\nThis will kick back the $-1$ relative phase for the basis states $\\ket{x}$ of the input register for which $f(x) = 1$."
|
|
5887
5887
|
},
|
|
5888
5888
|
{
|
|
5889
5889
|
"type": "solution",
|
|
@@ -5900,7 +5900,7 @@ export default {
|
|
|
5900
5900
|
"items": [
|
|
5901
5901
|
{
|
|
5902
5902
|
"type": "text-content",
|
|
5903
|
-
"content": "\nIn this demo
|
|
5903
|
+
"content": "\nIn this demo you'll use a reference implementation of `ApplyMarkingOracleAsPhaseOracle` operation to convert marking oracle `IsSeven_MarkingOracle` to a phase oracle. Then you'll compare this converted oracle to the reference implementation of the phase oracle `IsSeven_PhaseOracle`. You already implemented these oracles in the previous tasks."
|
|
5904
5904
|
},
|
|
5905
5905
|
{
|
|
5906
5906
|
"type": "example",
|
|
@@ -5909,7 +5909,7 @@ export default {
|
|
|
5909
5909
|
},
|
|
5910
5910
|
{
|
|
5911
5911
|
"type": "text-content",
|
|
5912
|
-
"content": "\n> Notice from the above demo that your phase oracle $U_{7,phase}$ behaves the same as the converted version of your marking oracle $U_{7,mark}$, both of which induce a phase flip on the basis state $\\ket{111}$!\n\nThis way to convert a marking oracle to a phase oracle is useful because many quantum algorithms, such as Grover's search algorithm, rely on a phase oracle, but it
|
|
5912
|
+
"content": "\n> Notice from the above demo that your phase oracle $U_{7,phase}$ behaves the same as the converted version of your marking oracle $U_{7,mark}$, both of which induce a phase flip on the basis state $\\ket{111}$!\n\nThis way to convert a marking oracle to a phase oracle is useful because many quantum algorithms, such as Grover's search algorithm, rely on a phase oracle, but it's often easier to implement the function as a marking oracle.\nThis converter provides a way to implement the function of interest as a marking oracle and then convert it into a phase oracle, which could then be leveraged in a quantum algorithm."
|
|
5913
5913
|
}
|
|
5914
5914
|
]
|
|
5915
5915
|
},
|
|
@@ -5920,7 +5920,7 @@ export default {
|
|
|
5920
5920
|
"items": [
|
|
5921
5921
|
{
|
|
5922
5922
|
"type": "text-content",
|
|
5923
|
-
"content": "\nIn this section you
|
|
5923
|
+
"content": "\nIn this section you'll implement a few more complicated quantum oracles.\nSome of them - both phase and marking - can take extra \"classical\" parameters.\nA useful tool for implementing quantum oracles is allocating auxiliary qubits to assist in a computation. \nYou'll practice that in some of the exercises below.\n\n> Notice that the operation declarations below require adjoint and controlled variants of the oracle to be automatically generated. This is common practice that makes testing and reusing the code easier. Typically Q# compiler will easily generate these variants, as long as you don't use mutable variables or operations that don't support these functors."
|
|
5924
5924
|
}
|
|
5925
5925
|
]
|
|
5926
5926
|
},
|
|
@@ -5930,7 +5930,7 @@ export default {
|
|
|
5930
5930
|
"title": "Implement the OR Oracle",
|
|
5931
5931
|
"description": {
|
|
5932
5932
|
"type": "text-content",
|
|
5933
|
-
"content": "**Inputs:**\n\n 1. $N$ qubits in an arbitrary state $\\ket{x}$ (input/query register).\n 2. A qubit in an arbitrary state $\\ket{y}$ (target qubit).\n\n**Goal:**\n\nFlip the state of $\\ket{y}$ if the input register is in any basis state\nexcept for $\\ket{00...0}$ (the all zero state).\n\n**Examples:**\n\n* If the query register is in the state $\\ket{10000001}$, $\\ket{11101101}$ or $\\ket{0010101}$, flip the state $\\ket{y}$.\n* If the query register is in the state $\\ket{000}$, do nothing.\n\n<br/>\n<details>\n <summary><b>Before implementing this oracle, answer the question: are you implementing a marking or a phase oracle?</b></summary>\n This is a marking oracle, because
|
|
5933
|
+
"content": "**Inputs:**\n\n 1. $N$ qubits in an arbitrary state $\\ket{x}$ (input/query register).\n 2. A qubit in an arbitrary state $\\ket{y}$ (target qubit).\n\n**Goal:**\n\nFlip the state of $\\ket{y}$ if the input register is in any basis state\nexcept for $\\ket{00...0}$ (the all zero state).\n\n**Examples:**\n\n* If the query register is in the state $\\ket{10000001}$, $\\ket{11101101}$ or $\\ket{0010101}$, flip the state $\\ket{y}$.\n* If the query register is in the state $\\ket{000}$, do nothing.\n\n<br/>\n<details>\n <summary><b>Before implementing this oracle, answer the question: are you implementing a marking or a phase oracle?</b></summary>\n This is a marking oracle, because you're flipping the state of the target qubit $\\ket{y}$ based on the state of the input $\\ket{x}$.\n</details>\n\n<br/>\n<details>\n <summary><b>Need a hint?</b></summary>\n You need to flip the state of $\\ket{y}$ for every input except $\\ket{00...0}$, or, alternatively, flip it unconditionally and then flip it for the $\\ket{00...0}$ state. You may find the Q# library function <code>ApplyControlledOnInt</code> useful in your implementation.\n</details>\n"
|
|
5934
5934
|
},
|
|
5935
5935
|
"sourceIds": [
|
|
5936
5936
|
"oracles__or_oracle__Verification.qs",
|
|
@@ -5943,7 +5943,7 @@ export default {
|
|
|
5943
5943
|
"items": [
|
|
5944
5944
|
{
|
|
5945
5945
|
"type": "text-content",
|
|
5946
|
-
"content": "\nWhat if you needed to flip the state of the target qubit only if the input register
|
|
5946
|
+
"content": "\nWhat if you needed to flip the state of the target qubit only if the input register is in the $\\ket{0...0}$ state?\nIn that case, you could use `ApplyControlledOnInt` with the control pattern $0$ that corresponds to all control qubits in $\\ket{0}$ state.\n\nIn this problem, you need to separate the $\\ket{0...0}$ basis state from all others, but with the opposite effect on the target qubit: instead of flipping it for this input state, you need to flip it for all other input states.\nOr, you can think of it as first flipping the state of the target qubit for all states, and then un-flipping it (or flipping it again) for just this basis state. You can do this by applying the $X$ gate before or after `ApplyControlledOnInt`.\n\nNotice that you can modify the state of the input register during your computations (this is what `ApplyControlledOnInt` function does under the hood). However, it's essential to undo those modifications (\"uncompute\" the changes), except the final one, so that the oracle will preserve the input if it's a basis state."
|
|
5947
5947
|
},
|
|
5948
5948
|
{
|
|
5949
5949
|
"type": "solution",
|
|
@@ -5959,7 +5959,7 @@ export default {
|
|
|
5959
5959
|
"title": "Implement the K-th Bit Oracle",
|
|
5960
5960
|
"description": {
|
|
5961
5961
|
"type": "text-content",
|
|
5962
|
-
"content": "**Inputs:**\n\n 1. $N$ qubits in an arbitrary state $\\ket{x}$ (input/query register).\n 2. An integer $k$ such that $0 \\leq k < N$.\n\n**Goal:**\n\nFlip the sign of the input state $\\ket{x}$ if the $k$-th bit of $x$ is $1$. \n*Implement this oracle without using auxiliary qubits.*\n\n**Examples:**\n\n* If the query register is in the state $\\ket{010}$ and $k=0$, do nothing.\n* If the query register is in the state $\\ket{010}$ and $k=1$, flip the sign of the basis state.\n\n<br/>\n<details>\n <summary><b>Before implementing this oracle, answer the question: are you implementing a marking or a phase oracle?</b></summary>\n This is a phase oracle, because
|
|
5962
|
+
"content": "**Inputs:**\n\n 1. $N$ qubits in an arbitrary state $\\ket{x}$ (input/query register).\n 2. An integer $k$ such that $0 \\leq k < N$.\n\n**Goal:**\n\nFlip the sign of the input state $\\ket{x}$ if the $k$-th bit of $x$ is $1$. \n*Implement this oracle without using auxiliary qubits.*\n\n**Examples:**\n\n* If the query register is in the state $\\ket{010}$ and $k=0$, do nothing.\n* If the query register is in the state $\\ket{010}$ and $k=1$, flip the sign of the basis state.\n\n<br/>\n<details>\n <summary><b>Before implementing this oracle, answer the question: are you implementing a marking or a phase oracle?</b></summary>\n This is a phase oracle, because you're changing the phase of the input state $\\ket{x}$ based on the value of the function $f(x)$.\n</details>\n"
|
|
5963
5963
|
},
|
|
5964
5964
|
"sourceIds": [
|
|
5965
5965
|
"oracles__kth_bit_oracle__Verification.qs",
|
|
@@ -5972,7 +5972,7 @@ export default {
|
|
|
5972
5972
|
"items": [
|
|
5973
5973
|
{
|
|
5974
5974
|
"type": "text-content",
|
|
5975
|
-
"content": "\nSince the effect of this oracle depends only on the value of the $k$-th qubit,
|
|
5975
|
+
"content": "\nSince the effect of this oracle depends only on the value of the $k$-th qubit, you can ignore the rest of the qubits and focus on just `x[k]`.\nYou need to flip the phase of the qubit if it is in the $\\ket{1}$ state and leave it unchanged otherwise - this is exactly the effect of the $Z$ gate."
|
|
5976
5976
|
},
|
|
5977
5977
|
{
|
|
5978
5978
|
"type": "solution",
|
|
@@ -5988,7 +5988,7 @@ export default {
|
|
|
5988
5988
|
"title": "Implement the OR Oracle of All Bits Except the K-th",
|
|
5989
5989
|
"description": {
|
|
5990
5990
|
"type": "text-content",
|
|
5991
|
-
"content": "**Inputs:**\n\n 1. $N \\geq 2$ qubits in an arbitrary state $\\ket{x}$ (input/query register).\n 2. An integer $k$ such that $0 \\leq k < N$.\n\n**Goal:**\n\nFlip the sign of the basis state $\\ket{x}$ if any of the bits of $x$ (not considering the $k$-th bit) are $1$ in the input register. In other words, the input register with the $k$-th qubit excluded
|
|
5991
|
+
"content": "**Inputs:**\n\n 1. $N \\geq 2$ qubits in an arbitrary state $\\ket{x}$ (input/query register).\n 2. An integer $k$ such that $0 \\leq k < N$.\n\n**Goal:**\n\nFlip the sign of the basis state $\\ket{x}$ if any of the bits of $x$ (not considering the $k$-th bit) are $1$ in the input register. In other words, the input register with the $k$-th qubit excluded shouldn't be in the all zero state to flip the sign of the input register. The state of the $k$-th qubit does not affect the result.\n\n*Feel free to explore implementing this operation with or without auxiliary qubits.*\n\n**Examples:**\n\n* If the query register is in the state $\\ket{010}$ and $k=0$, flip the sign of the register.\n* If the query register is in the state $\\ket{010}$ and $k=1$, do nothing.\n\n<details>\n <summary><b>Before implementing this oracle, answer the question: are you implementing a marking or a phase oracle?</b></summary>\n This is a phase oracle, because you're changing the phase of the input state $\\ket{x}$ based on the value of the function $f(x)$.\n</details>\n\n<details>\n <summary><b>Need a hint?</b></summary>\n You can use the previously implemented oracles if needed by copying the code.\n <br/>\n You can use <a href=\"https://learn.microsoft.com/azure/quantum/user-guide/language/expressions/itemaccessexpressions#array-item-access-and-array-slicing\" target=\"_blank\">array slicing</a> to get parts of the array before and after the $k$-th element.\n</details>\n"
|
|
5992
5992
|
},
|
|
5993
5993
|
"sourceIds": [
|
|
5994
5994
|
"oracles__or_but_kth_oracle__Verification.qs",
|
|
@@ -6017,7 +6017,7 @@ export default {
|
|
|
6017
6017
|
"title": "Implement the Arbitrary Bit Pattern Oracle",
|
|
6018
6018
|
"description": {
|
|
6019
6019
|
"type": "text-content",
|
|
6020
|
-
"content": "**Inputs:**\n\n 1. $N$ qubits in an arbitrary state $\\ket{x}$ (input/query register).\n 2. A qubit in an arbitrary state $\\ket{y}$ (target qubit).\n 3. A boolean array of length $N$ `pattern` representing a basis state; `true` and `false` elements correspond to $\\ket{1}$ and $\\ket{0}$, respectively.\n\n**Goal:**\n\nFlip the state of $\\ket{y}$ if the input register matches the basis state\nrepresented by `pattern`. \n\n**Examples:**\n\n* If the query register is in the state $\\ket{010}$ and `pattern = [false, true, false]`, flip the state $\\ket{y}$.\n* If the query register is in the state $\\ket{1001}$ and `pattern = [false, true, true, false]`, do nothing.\n \n<br/>\n<details>\n <summary><b>Before implementing this oracle, answer the question: are you implementing a marking or a phase oracle?</b></summary>\n This is a marking oracle, because
|
|
6020
|
+
"content": "**Inputs:**\n\n 1. $N$ qubits in an arbitrary state $\\ket{x}$ (input/query register).\n 2. A qubit in an arbitrary state $\\ket{y}$ (target qubit).\n 3. A boolean array of length $N$ `pattern` representing a basis state; `true` and `false` elements correspond to $\\ket{1}$ and $\\ket{0}$, respectively.\n\n**Goal:**\n\nFlip the state of $\\ket{y}$ if the input register matches the basis state\nrepresented by `pattern`. \n\n**Examples:**\n\n* If the query register is in the state $\\ket{010}$ and `pattern = [false, true, false]`, flip the state $\\ket{y}$.\n* If the query register is in the state $\\ket{1001}$ and `pattern = [false, true, true, false]`, do nothing.\n \n<br/>\n<details>\n <summary><b>Before implementing this oracle, answer the question: are you implementing a marking or a phase oracle?</b></summary>\n This is a marking oracle, because you're flipping the state of the target qubit $\\ket{y}$ based on the state of the input $\\ket{x}$.\n</details>\n\n<br/>\n<details>\n <summary><b>Need a hint?</b></summary>\n You need to flip the state of $\\ket{y}$ if $\\ket{x}$ matches the given pattern. You may find the Q# library operation <code>ApplyControlledOnBitString</code> useful in your implementation.\n</details>\n"
|
|
6021
6021
|
},
|
|
6022
6022
|
"sourceIds": [
|
|
6023
6023
|
"oracles__bit_pattern_oracle__Verification.qs",
|
|
@@ -6046,7 +6046,7 @@ export default {
|
|
|
6046
6046
|
"title": "Implement the Arbitrary Bit Pattern Oracle (Challenge Version)",
|
|
6047
6047
|
"description": {
|
|
6048
6048
|
"type": "text-content",
|
|
6049
|
-
"content": "**Inputs:**\n\n 1. $N$ qubits in an arbitrary state $\\ket{x}$ (input/query register).\n 2. A boolean array of length $N$ `pattern` representing a basis state; `true` and `false` elements correspond to $\\ket{1}$ and $\\ket{0}$, respectively.\n\n**Goal:**\n \nFlip the sign of the input state $\\ket{x}$ if the input register matches the basis state\nrepresented by `pattern`. \n*Implement this oracle without using auxiliary qubits*\n\n**Examples:**\n\n * If the query register is in the state $\\ket{010}$ and `pattern = [false, true, false]`, flip the sign of the input register.\n * If the query register is in the state $\\ket{1001}$ and `pattern = [false, true, true, false]`, do nothing.\n \n<br/>\n<details>\n <summary><b>Before implementing this oracle, answer the question: are you implementing a marking or a phase oracle?</b></summary>\n This is a phase oracle, because
|
|
6049
|
+
"content": "**Inputs:**\n\n 1. $N$ qubits in an arbitrary state $\\ket{x}$ (input/query register).\n 2. A boolean array of length $N$ `pattern` representing a basis state; `true` and `false` elements correspond to $\\ket{1}$ and $\\ket{0}$, respectively.\n\n**Goal:**\n \nFlip the sign of the input state $\\ket{x}$ if the input register matches the basis state\nrepresented by `pattern`. \n*Implement this oracle without using auxiliary qubits*\n\n**Examples:**\n\n * If the query register is in the state $\\ket{010}$ and `pattern = [false, true, false]`, flip the sign of the input register.\n * If the query register is in the state $\\ket{1001}$ and `pattern = [false, true, true, false]`, do nothing.\n \n<br/>\n<details>\n <summary><b>Before implementing this oracle, answer the question: are you implementing a marking or a phase oracle?</b></summary>\n This is a phase oracle, because you're changing the phase of the input state $\\ket{x}$ based on the value of the function $f(x)$.\n</details>\n\n<br/>\n<details>\n <summary><b>Need a hint?</b></summary>\n Can you transform the state of the input register based on the <code>pattern</code> value so as to have to flip the phase only for the $\\ket{1...1}$ state?\n</details>\n"
|
|
6050
6050
|
},
|
|
6051
6051
|
"sourceIds": [
|
|
6052
6052
|
"oracles__bit_pattern_challenge__Verification.qs",
|
|
@@ -6075,7 +6075,7 @@ export default {
|
|
|
6075
6075
|
"title": "Implement the Meeting Oracle",
|
|
6076
6076
|
"description": {
|
|
6077
6077
|
"type": "text-content",
|
|
6078
|
-
"content": "Suppose that you
|
|
6078
|
+
"content": "Suppose that you'd like to schedule a meeting with your co-worker Jasmine.\nYou both work five day workweeks, and $\\ket{x}$ and $\\ket{jasmine}$ are 5-bit states representing your and Jasmine's schedules.\nThe schedules are indicators of a person being busy on that day: a $1$ bit means that person is busy on that day, and $0$ means they're free for a meeting that day. Implement a function that determines if you and Jasmine can schedule a meeting during the week, that is, whether there is a day when both schedules have a $0$ simultaneously.\n\n**Inputs:**\n\n 1. 5 qubits in an arbitrary state $\\ket{x}$ representing your schedule for the week (input/query register).\n 2. 5 qubits in an arbitrary state $\\ket{jasmine}$ representing Jasmine's schedule for the week (input/query register).\n 3. A qubit in an arbitrary state $\\ket{y}$ (target qubit).\n\n**Goal:**\n\nFlip the state of $\\ket{y}$ if you and Jasmine are both free on the same day for at least one day during the week. Recall that a $0$ means that a person is free on that day.\n\n**Examples:**\n\n* If $\\ket{x}=\\ket{10101}$ and $\\ket{jasmine}=\\ket{01010}$, do nothing (there is no day on which you both are free).\n* If $\\ket{x}=\\ket{10001}$ and $\\ket{jasmine}=\\ket{01010}$, flip the state $\\ket{y}$ (you are both free on Wednesday).\n* If $\\ket{x}=\\ket{00000}$ and $\\ket{jasmine}=\\ket{00000}$, flip the state $\\ket{y}$ (you are both free all week).\n* If $\\ket{x}=\\ket{11111}$ and $\\ket{jasmine}=\\ket{11111}$, do nothing (you are both busy all week).\n \n<br/>\n<details>\n <summary><b>Before implementing this oracle, answer the question: are you implementing a marking or a phase oracle?</b></summary>\n This is a marking oracle, because you're flipping the state of the target qubit $\\ket{y}$ based on the state of the inputs $\\ket{x}$ and $\\ket{jasmine}$. Notice that even though you don't have the typical single-input-register situation that we saw earlier, this is still a marking oracle.\n</details>\n"
|
|
6079
6079
|
},
|
|
6080
6080
|
"sourceIds": [
|
|
6081
6081
|
"oracles__meeting_oracle__Verification.qs",
|
|
@@ -6088,7 +6088,7 @@ export default {
|
|
|
6088
6088
|
"items": [
|
|
6089
6089
|
{
|
|
6090
6090
|
"type": "text-content",
|
|
6091
|
-
"content": "\nIn this problem
|
|
6091
|
+
"content": "\nIn this problem you'll need to allocate extra qubits, one per each day of the week, to serve as temporary variables.\nEach of these variables will track whether both people are free on that day, that is, whether both input qubit arrays \nhave bit $0$ in the corresponding position. You can compute each of these variables using a $CCNOT$ gate after flipping \nthe states of both qubits using $X$ gates. \n\nAfter this, you can reuse the marking OR oracle to check whether any of the days are in $\\ket{1}$ state.\n\nWhen you allocate qubits for temporary use during a larger computation, you need to make sure they are returned to the $\\ket{0}$ \nstate before being released. Unlike your previous experience allocating qubits in demos, though, this time you cannot \nmeasure these qubits for this - they are likely entangled with the qubits you're still using, so a measurement would \ncollapse the state of the whole system, not just the auxiliary qubits. Instead, you have to uncompute the state of these qubits, \nsimilar to how you uncompute any changes you do to the input qubits to be able to apply controlled gates for the right pattern.\n`within ... apply` construct is helpful here as well."
|
|
6092
6092
|
},
|
|
6093
6093
|
{
|
|
6094
6094
|
"type": "solution",
|
|
@@ -6105,7 +6105,7 @@ export default {
|
|
|
6105
6105
|
"items": [
|
|
6106
6106
|
{
|
|
6107
6107
|
"type": "text-content",
|
|
6108
|
-
"content": "\
|
|
6108
|
+
"content": "\nThis demo shows how to test an oracle that you've implemented for your own problem.\nFor all of the previous oracles that you've implemented, you've been testing your oracle against a reference solution for that task.\nHowever, if you're designing an oracle for a new problem, you don't have a reference solution for it - if you did, there'd be no point for you to implement the oracle in the first place!\n\nA good way to test a quantum oracle of interest is to write a classical oracle that performs the same computation classically, and then compare the effect of your quantum oracle on the basis states with the output of the classical oracle for every input (or a certain percentage of the inputs if you are constrained by runtime) to ensure that they match.\n\nHere you'll compare the reference implementation of `Meeting_Oracle` to the classical code implementing the same function."
|
|
6109
6109
|
},
|
|
6110
6110
|
{
|
|
6111
6111
|
"type": "example",
|
|
@@ -6121,7 +6121,7 @@ export default {
|
|
|
6121
6121
|
"items": [
|
|
6122
6122
|
{
|
|
6123
6123
|
"type": "text-content",
|
|
6124
|
-
"content": "\nCongratulations! In this kata you
|
|
6124
|
+
"content": "\nCongratulations! In this kata you've learned to build quantum oracles. Here are a few key concepts to keep in mind:\n\n- A quantum oracle is an \"opaque box\" operation that implements a classical computation. \n- Quantum oracles are used to convert classical problems into inputs to quantum algorithms, such as Grover's search algorithm.\n- Phase oracles encode the information in the relative phase of basis states. If $f(x)=0$, the oracle doesn't change the basis state $\\ket{x}$, and if $f(x)=1$, it multiplies the phase of the basis state $\\ket{x}$ by $-1$.\n- Marking oracles use an extra qubit $\\ket{y}$ and encode the information in the state of that qubit. If $f(x)=0$, the oracle doesn't change the state of the qubit $\\ket{y}$ for the basis state $\\ket{x}$, and if $f(x)=1$, it flips the state of the qubit $\\ket{y}$ for the basis state $\\ket{x}$."
|
|
6125
6125
|
}
|
|
6126
6126
|
]
|
|
6127
6127
|
}
|
|
@@ -6651,7 +6651,7 @@ export default {
|
|
|
6651
6651
|
"items": [
|
|
6652
6652
|
{
|
|
6653
6653
|
"type": "text-content",
|
|
6654
|
-
"content": "\nYou can follow the steps of the algorithm for the constant and the balanced scenarios using a neat visualization. Since Deutsch algorithm deals only with states with real amplitudes, you can map all states on the unit circle, and follow the state evolution through the steps.\n\n1. Start with a qubit in the $\\ket{0}$ state and apply the $H$ gate to the qubit.\n <br/>\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"660\" height=\"334\" fill=\"none\" version=\"1.1\" viewBox=\"0 0 660 334\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_4_498)\"><g clip-rule=\"evenodd\" fill-rule=\"evenodd\"><path d=\"m7.1 146c0-76.8 62.3-139 139-139 76.8 0 139 62.3 139 139 0 76.8-62.3 139-139 139-76.8 0-139-62.3-139-139z\" stroke=\"#747474\" stroke-miterlimit=\"8\" stroke-width=\"1.38\"/><g fill=\"#fff\" stroke-miterlimit=\"8\" stroke-width=\"1.38\"><path d=\"m279 147c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9-2.69 5.9-6 5.9-6-2.64-6-5.9z\" stroke=\"#0070C0\"/><g stroke=\"#000\"><path d=\"m140 7.4c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9-2.64 5.9-5.9 5.9-5.9-2.64-5.9-5.9z\"/><path d=\"m1.3 147c0-3.26 2.64-5.9 5.9-5.9 3.26 0 5.9 2.64 5.9 5.9s-2.64 5.9-5.9 5.9c-3.26 0-5.9-2.64-5.9-5.9z\"/><path d=\"m140 286c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9-2.64 5.9-5.9 5.9-5.9-2.64-5.9-5.9z\"/></g></g><path d=\"m240 50.1c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9c0 3.26-2.69 5.9-6 5.9s-6-2.64-6-5.9z\" fill=\"#0070C0\"/><g fill=\"#fff\" stroke=\"#000\" stroke-miterlimit=\"8\" stroke-width=\"1.38\"><path d=\"m240 243c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9-2.69 5.9-6 5.9-6-2.64-6-5.9z\"/><path d=\"m40.3 50.2c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9c0 3.26-2.69 5.9-6 5.9s-6-2.64-6-5.9z\"/><path d=\"m40.3 243c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9-2.69 5.9-6 5.9-6-2.64-6-5.9z\"/></g><path d=\"m358 146c0-76.8 62.2-139 139-139s139 62.3 139 139c0 76.8-62.2 139-139 139s-139-62.3-139-139z\" stroke=\"#747474\" stroke-miterlimit=\"8\" stroke-width=\"1.38\"/><g fill=\"#fff\" stroke-miterlimit=\"8\" stroke-width=\"1.38\"><path d=\"m630 147c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9-2.64 5.9-5.9 5.9-5.9-2.64-5.9-5.9z\" stroke=\"#0070C0\"/><g stroke=\"#000\"><path d=\"m491 7.4c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9-2.69 5.9-6 5.9-6-2.64-6-5.9z\"/><path d=\"m352 147c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9-2.69 5.9-6 5.9-6-2.64-6-5.9z\"/><path d=\"m491 286c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9-2.69 5.9-6 5.9-6-2.64-6-5.9z\"/></g></g><path d=\"m591 50.1c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9c0 3.26-2.64 5.9-5.9 5.9s-5.9-2.64-5.9-5.9z\" fill=\"#0070C0\"/><g fill=\"#fff\" stroke=\"#000\" stroke-miterlimit=\"8\" stroke-width=\"1.38\"><path d=\"m591 243c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9-2.64 5.9-5.9 5.9-5.9-2.64-5.9-5.9z\"/><path d=\"m391 50.2c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9c0 3.26-2.64 5.9-5.9 5.9s-5.9-2.64-5.9-5.9z\"/><path d=\"m391 243c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9-2.64 5.9-5.9 5.9-5.9-2.64-5.9-5.9z\"/></g></g><path d=\"m120 319c-0.941 0.455-2.17 0.683-3.68 0.683-1.98 0-3.53-0.581-4.66-1.74s-1.7-2.71-1.7-4.64c0-2.06 0.635-3.73 1.9-5.01 1.28-1.28 2.93-1.92 4.96-1.92 1.26 0 2.32 0.159 3.18 0.476v2.79c-0.863-0.515-1.84-0.773-2.95-0.773-1.21 0-2.19 0.381-2.93 1.14-0.743 0.761-1.11 1.79-1.11 3.09 0 1.25 0.35 2.24 1.05 2.98 0.701 0.737 1.64 1.1 2.83 1.1 1.13 0 2.17-0.276 3.11-0.827v2.65zm6.35 0.683c-1.53 0-2.74-0.429-3.62-1.28-0.875-0.863-1.31-2.03-1.31-3.5 0-1.52 0.455-2.71 1.37-3.57 0.91-0.862 2.14-1.29 3.69-1.29 1.53 0 2.73 0.432 3.59 1.29 0.869 0.857 1.3 1.99 1.3 3.4 0 1.53-0.449 2.73-1.35 3.62-0.892 0.886-2.12 1.33-3.67 1.33zm0.071-7.48c-0.67 0-1.19 0.23-1.56 0.691-0.371 0.462-0.557 1.11-0.557 1.96 0 1.77 0.713 2.65 2.14 2.65 1.36 0 2.04-0.907 2.04-2.72 0-1.72-0.686-2.58-2.06-2.58zm15.7 7.25h-2.83v-5.11c0-1.43-0.509-2.14-1.53-2.14-0.491 0-0.896 0.188-1.21 0.566-0.318 0.377-0.476 0.856-0.476 1.44v5.25h-2.84v-9.2h2.84v1.46h0.036c0.676-1.12 1.66-1.68 2.96-1.68 2.04 0 3.05 1.26 3.05 3.79v5.63zm1.65-0.243v-2.3c0.468 0.282 0.932 0.492 1.39 0.629 0.467 0.138 0.907 0.207 1.32 0.207 0.503 0 0.898-0.069 1.19-0.207 0.293-0.137 0.44-0.347 0.44-0.629 0-0.179-0.066-0.329-0.198-0.449s-0.302-0.224-0.512-0.314c-0.204-0.09-0.428-0.171-0.674-0.243-0.245-0.072-0.482-0.153-0.71-0.242-0.365-0.138-0.688-0.285-0.97-0.441-0.275-0.161-0.509-0.347-0.701-0.557-0.185-0.209-0.329-0.452-0.431-0.727-0.096-0.276-0.144-0.602-0.144-0.98 0-0.515 0.111-0.958 0.333-1.33 0.227-0.372 0.527-0.674 0.898-0.908 0.378-0.239 0.806-0.413 1.28-0.521 0.485-0.114 0.988-0.171 1.51-0.171 0.408 0 0.821 0.033 1.24 0.099 0.419 0.06 0.833 0.15 1.24 0.27v2.19c-0.359-0.21-0.746-0.365-1.16-0.467-0.407-0.108-0.809-0.162-1.2-0.162-0.186 0-0.362 0.018-0.53 0.054-0.162 0.03-0.305 0.078-0.431 0.144-0.126 0.06-0.225 0.14-0.297 0.242-0.072 0.096-0.107 0.207-0.107 0.333 0 0.167 0.053 0.311 0.161 0.431s0.249 0.225 0.422 0.314c0.174 0.084 0.366 0.162 0.575 0.234 0.216 0.066 0.429 0.135 0.638 0.207 0.378 0.131 0.719 0.275 1.02 0.431 0.305 0.156 0.566 0.338 0.781 0.548 0.222 0.21 0.39 0.455 0.503 0.737 0.12 0.281 0.18 0.617 0.18 1.01 0 0.545-0.12 1.01-0.359 1.4-0.234 0.384-0.548 0.698-0.944 0.944-0.389 0.239-0.841 0.413-1.36 0.521-0.509 0.114-1.04 0.171-1.59 0.171-1.01 0-1.95-0.156-2.81-0.468zm14.3 0.135c-0.42 0.222-1.05 0.333-1.9 0.333-2 0-3-1.04-3-3.12v-4.21h-1.49v-2.09h1.49v-1.99l2.83-0.808v2.79h2.07v2.09h-2.07v3.72c0 0.958 0.38 1.44 1.14 1.44 0.3 0 0.608-0.086 0.926-0.26v2.1zm9.26 0.108h-2.69v-1.32h-0.036c-0.617 1.03-1.53 1.55-2.74 1.55-0.893 0-1.6-0.252-2.11-0.755-0.51-0.509-0.764-1.19-0.764-2.03 0-1.78 1.06-2.82 3.17-3.09l2.5-0.333c0-1.01-0.545-1.51-1.64-1.51-1.1 0-2.14 0.326-3.13 0.979v-2.14c0.396-0.204 0.935-0.383 1.62-0.539 0.688-0.156 1.31-0.234 1.88-0.234 2.62 0 3.94 1.31 3.94 3.93v5.5zm-2.67-3.74v-0.62l-1.67 0.215c-0.922 0.12-1.38 0.536-1.38 1.25 0 0.323 0.111 0.59 0.333 0.8 0.227 0.203 0.533 0.305 0.916 0.305 0.533 0 0.968-0.183 1.3-0.548 0.335-0.371 0.503-0.838 0.503-1.4zm13.8 3.74h-2.83v-5.11c0-1.43-0.509-2.14-1.53-2.14-0.492 0-0.896 0.188-1.21 0.566-0.318 0.377-0.476 0.856-0.476 1.44v5.25h-2.84v-9.2h2.84v1.46h0.036c0.676-1.12 1.66-1.68 2.96-1.68 2.04 0 3.06 1.26 3.06 3.79v5.63zm7.82-0.108c-0.419 0.222-1.05 0.333-1.9 0.333-2 0-3-1.04-3-3.12v-4.21h-1.49v-2.09h1.49v-1.99l2.83-0.808v2.79h2.07v2.09h-2.07v3.72c0 0.958 0.38 1.44 1.14 1.44 0.3 0 0.608-0.086 0.925-0.26v2.1z\" fill=\"#000\"/><path d=\"m476 307-4.44 12.9h-3.29l-4.38-12.9h3.13l2.69 8.97c0.143 0.485 0.23 0.913 0.26 1.28h0.054c0.042-0.402 0.135-0.842 0.279-1.32l2.67-8.93h3.04zm7.54 12.9h-2.69v-1.32h-0.036c-0.617 1.03-1.53 1.55-2.74 1.55-0.892 0-1.6-0.252-2.11-0.755-0.509-0.509-0.764-1.19-0.764-2.03 0-1.78 1.06-2.82 3.17-3.09l2.5-0.333c0-1.01-0.545-1.51-1.64-1.51-1.1 0-2.14 0.326-3.13 0.979v-2.14c0.395-0.204 0.934-0.383 1.62-0.539 0.689-0.156 1.31-0.234 1.88-0.234 2.62 0 3.94 1.31 3.94 3.93v5.5zm-2.67-3.74v-0.62l-1.67 0.215c-0.922 0.12-1.38 0.536-1.38 1.25 0 0.323 0.11 0.59 0.332 0.8 0.228 0.203 0.533 0.305 0.916 0.305 0.533 0 0.968-0.183 1.3-0.548 0.336-0.371 0.503-0.838 0.503-1.4zm10.9-2.9c-0.341-0.186-0.739-0.279-1.2-0.279-0.617 0-1.1 0.228-1.45 0.683-0.348 0.449-0.521 1.06-0.521 1.84v4.39h-2.84v-9.2h2.84v1.71h0.036c0.449-1.25 1.26-1.87 2.42-1.87 0.3 0 0.534 0.036 0.701 0.108v2.62zm2.84-4.02c-0.479 0-0.871-0.141-1.18-0.423-0.305-0.287-0.458-0.638-0.458-1.05 0-0.425 0.153-0.773 0.458-1.04 0.306-0.27 0.698-0.404 1.18-0.404 0.485 0 0.878 0.134 1.18 0.404 0.306 0.269 0.458 0.617 0.458 1.04 0 0.431-0.152 0.785-0.458 1.06-0.299 0.276-0.692 0.414-1.18 0.414zm1.4 10.7h-2.84v-9.2h2.84v9.2zm10 0h-2.69v-1.32h-0.036c-0.617 1.03-1.53 1.55-2.74 1.55-0.893 0-1.6-0.252-2.11-0.755-0.51-0.509-0.764-1.19-0.764-2.03 0-1.78 1.06-2.82 3.17-3.09l2.5-0.333c0-1.01-0.545-1.51-1.64-1.51-1.1 0-2.14 0.326-3.13 0.979v-2.14c0.396-0.204 0.935-0.383 1.62-0.539 0.688-0.156 1.31-0.234 1.88-0.234 2.62 0 3.94 1.31 3.94 3.93v5.5zm-2.67-3.74v-0.62l-1.67 0.215c-0.922 0.12-1.38 0.536-1.38 1.25 0 0.323 0.111 0.59 0.333 0.8 0.227 0.203 0.533 0.305 0.916 0.305 0.533 0 0.968-0.183 1.3-0.548 0.335-0.371 0.503-0.838 0.503-1.4zm7.79 2.67h-0.036v1.07h-2.84v-13.6h2.84v5.8h0.036c0.7-1.07 1.7-1.61 2.99-1.61 1.19 0 2.1 0.408 2.74 1.22 0.64 0.815 0.961 1.93 0.961 3.34 0 1.53-0.374 2.76-1.12 3.69s-1.75 1.39-3 1.39c-1.13 0-1.99-0.432-2.57-1.29zm-0.081-3.88v0.943c0 0.593 0.17 1.08 0.512 1.47 0.341 0.39 0.778 0.584 1.31 0.584 0.647 0 1.15-0.248 1.5-0.745 0.359-0.503 0.539-1.21 0.539-2.13 0-0.76-0.165-1.35-0.494-1.78-0.324-0.431-0.788-0.646-1.39-0.646-0.569 0-1.04 0.212-1.42 0.638-0.372 0.425-0.557 0.979-0.557 1.66zm11.5 4.95h-2.84v-13.6h2.84v13.6zm10.7-3.79h-6c0.095 1.34 0.937 2 2.52 2 1.01 0 1.9-0.239 2.67-0.719v2.05c-0.851 0.455-1.96 0.683-3.32 0.683-1.48 0-2.64-0.411-3.46-1.23-0.82-0.827-1.23-1.98-1.23-3.45 0-1.53 0.443-2.74 1.33-3.63 0.887-0.892 1.98-1.34 3.27-1.34 1.34 0 2.38 0.399 3.11 1.2 0.737 0.797 1.1 1.88 1.1 3.24v1.2zm-2.63-1.74c0-1.32-0.533-1.98-1.6-1.98-0.456 0-0.851 0.189-1.19 0.566-0.33 0.377-0.53 0.848-0.602 1.41h3.39z\" fill=\"#000\"/><path d=\"m291 146h16.5l-0.688 0.688v-96.5l0.688 0.687h-54.6v-1.38h55.3v97.9h-17.2v-1.38zm-33-90.7-6.13-5.11 6.13-5.11c0.292-0.243 0.726-0.204 0.968 0.088 0.244 0.292 0.204 0.725-0.088 0.968l-5.5 4.58v-1.06l5.5 4.58c0.292 0.243 0.332 0.677 0.088 0.968-0.242 0.292-0.676 0.331-0.968 0.088z\" fill=\"#0070C0\"/><path d=\"m642 146h16.5l-0.688 0.688v-96.5l0.688 0.687h-54.6v-1.38h55.3v97.9h-17.2v-1.38zm-33-90.7-6.13-5.11 6.13-5.11c0.292-0.243 0.726-0.204 0.968 0.088 0.244 0.292 0.204 0.725-0.088 0.968l-5.5 4.58v-1.06l5.5 4.58c0.292 0.243 0.332 0.677 0.088 0.968-0.242 0.292-0.676 0.331-0.968 0.088z\" fill=\"#0070C0\"/><g clip-rule=\"evenodd\" fill=\"#000\" fill-rule=\"evenodd\"><path d=\"m242 141h1.25v15.1h-1.25v-15.1z\"/><path d=\"m250 142c-0.374 0-0.686 0.11-0.936 0.332-0.252 0.222-0.454 0.54-0.608 0.956-0.154 0.418-0.264 0.924-0.328 1.52-0.066 0.598-0.098 1.27-0.098 2.02 0 1.76 0.164 3.05 0.49 3.88 0.328 0.824 0.834 1.24 1.52 1.24 0.654 0 1.14-0.388 1.45-1.16 0.316-0.774 0.476-1.98 0.476-3.6 0-1.24-0.082-2.25-0.244-3.02s-0.388-1.32-0.676-1.66c-0.29-0.334-0.64-0.502-1.05-0.502zm0.04-0.688c1.18 0 2.06 0.456 2.64 1.37 0.578 0.912 0.868 2.29 0.868 4.14 0 1.91-0.31 3.36-0.928 4.34-0.62 0.98-1.52 1.47-2.71 1.47-1.17 0-2.04-0.458-2.61-1.38-0.57-0.918-0.854-2.31-0.854-4.18 0-0.994 0.088-1.85 0.262-2.58 0.176-0.724 0.422-1.32 0.738-1.79 0.316-0.474 0.696-0.824 1.14-1.05 0.442-0.228 0.926-0.34 1.45-0.34z\"/><path d=\"m256 140 3.23 7.28v0.6l-3.23 7.29-0.866-0.308 2.6-7.28-2.6-7.29 0.866-0.29z\"/><path d=\"m140 30.2h1.25v15.1h-1.25v-15.1z\"/><path d=\"m148 30.6h0.446c-0.033 0.519-0.049 1.24-0.049 2.16v6.92c0 0.313 0.018 0.55 0.053 0.709s0.097 0.289 0.186 0.389 0.218 0.178 0.385 0.235c0.168 0.0568 0.378 0.1 0.632 0.13 0.254 0.0296 0.589 0.05 1 0.0608v0.592h-5.99v-0.592c0.599-0.0272 1.03-0.0636 1.28-0.11 0.257-0.0458 0.453-0.115 0.588-0.207s0.234-0.222 0.296-0.389c0.062-0.168 0.093-0.44 0.093-0.819v-6.57c0-0.216-0.038-0.374-0.114-0.474-0.075-0.1-0.186-0.15-0.332-0.15-0.173 0-0.419 0.0892-0.737 0.268-0.319 0.178-0.714 0.424-1.18 0.738l-0.356-0.624 3.79-2.26z\"/><path d=\"m154 29.4 3.23 7.28v0.6l-3.23 7.29-0.867-0.308 2.6-7.28-2.6-7.29 0.867-0.292z\"/><path d=\"m208 73h1.25v15.1h-1.25v-15.1z\"/><path d=\"m217 74.6h1.15v4.67h4.42v1.08h-4.42v4.67h-1.15v-4.67h-4.42v-1.08h4.42v-4.67z\"/><path d=\"m226 72.3 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\"/><path d=\"m208 206h1.25v15.1h-1.25v-15.1z\"/><path d=\"m213 212h9.99v1.08h-9.99v-1.08z\"/><path d=\"m226 205 3.23 7.28v0.598l-3.23 7.29-0.866-0.308 2.6-7.28-2.6-7.29 0.866-0.292z\"/><path d=\"m133 250h9.99v1.08h-9.99v-1.08z\"/><path d=\"m146 243h1.25v15.1h-1.25v-15.1z\"/><path d=\"m154 244h0.446c-0.033 0.518-0.049 1.24-0.049 2.16v6.92c0 0.312 0.018 0.55 0.053 0.708 0.035 0.16 0.097 0.29 0.186 0.39s0.218 0.178 0.385 0.234c0.168 0.058 0.378 0.1 0.632 0.13s0.59 0.05 1.01 0.062v0.59h-5.99v-0.59c0.599-0.028 1.03-0.064 1.28-0.11 0.257-0.046 0.453-0.114 0.588-0.206s0.234-0.222 0.296-0.39 0.093-0.44 0.093-0.818v-6.57c0-0.216-0.038-0.374-0.113-0.474-0.076-0.1-0.187-0.15-0.333-0.15-0.173 0-0.419 0.088-0.737 0.268-0.319 0.178-0.714 0.424-1.18 0.736l-0.356-0.624 3.79-2.26z\"/><path d=\"m160 243 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\"/><path d=\"m28.4 147h9.99v1.08h-9.99v-1.08z\"/><path d=\"m41.6 141h1.25v15.1h-1.25v-15.1z\"/><path d=\"m49.5 142c-0.373 0-0.685 0.11-0.936 0.332s-0.454 0.54-0.608 0.956c-0.154 0.418-0.263 0.924-0.328 1.52-0.0648 0.598-0.0972 1.27-0.0972 2.02 0 1.76 0.163 3.05 0.49 3.88 0.327 0.824 0.833 1.24 1.52 1.24 0.654 0 1.14-0.388 1.45-1.16 0.316-0.774 0.474-1.98 0.474-3.6 0-1.24-0.081-2.25-0.243-3.02-0.162-0.77-0.388-1.32-0.677-1.66-0.289-0.334-0.639-0.502-1.05-0.502zm0.0406-0.688c1.18 0 2.06 0.456 2.64 1.37 0.578 0.912 0.867 2.29 0.867 4.14 0 1.91-0.309 3.36-0.928 4.34-0.619 0.98-1.52 1.47-2.71 1.47-1.17 0-2.04-0.458-2.61-1.38-0.57-0.918-0.855-2.31-0.855-4.18 0-0.994 0.0878-1.85 0.263-2.58s0.422-1.32 0.738-1.79c0.316-0.474 0.696-0.824 1.14-1.05 0.443-0.228 0.927-0.34 1.45-0.34z\"/><path d=\"m55.8 140 3.23 7.28v0.6l-3.23 7.29-0.867-0.308 2.6-7.28-2.6-7.29 0.867-0.29z\"/><path d=\"m57.9 212h9.99v1.08h-9.99v-1.08z\"/><path d=\"m71 206h1.25v15.1h-1.25v-15.1z\"/><path d=\"m79.9 207h1.15v4.67h4.42v1.08h-4.42v4.67h-1.15v-4.67h-4.42v-1.08h4.42v-4.67z\"/><path d=\"m88.4 205 3.23 7.28v0.6l-3.23 7.29-0.867-0.308 2.6-7.28-2.6-7.29 0.867-0.29z\"/><path d=\"m57.2 78.8h9.99v1.08h-9.99v-1.08z\"/><path d=\"m70.3 72.5h1.25v15.1h-1.25v-15.1z\"/><path d=\"m74.8 78.8h9.99v1.08h-9.99v-1.08z\"/><path d=\"m87.7 71.8 3.23 7.28v0.6l-3.23 7.29-0.867-0.308 2.6-7.28-2.6-7.29 0.867-0.292z\"/><path d=\"m592 141h1.25v15.1h-1.25v-15.1z\"/><path d=\"m600 142c-0.372 0-0.684 0.11-0.936 0.332-0.25 0.222-0.454 0.54-0.608 0.956-0.154 0.418-0.262 0.924-0.328 1.52-0.064 0.598-0.098 1.27-0.098 2.02 0 1.76 0.164 3.05 0.492 3.88 0.326 0.824 0.832 1.24 1.52 1.24 0.652 0 1.14-0.388 1.45-1.16 0.316-0.774 0.474-1.98 0.474-3.6 0-1.24-0.08-2.25-0.242-3.02-0.164-0.77-0.388-1.32-0.678-1.66-0.288-0.334-0.638-0.502-1.05-0.502zm0.042-0.688c1.18 0 2.06 0.456 2.64 1.37 0.578 0.912 0.866 2.29 0.866 4.14 0 1.91-0.308 3.36-0.928 4.34-0.618 0.98-1.52 1.47-2.71 1.47-1.17 0-2.04-0.458-2.61-1.38-0.57-0.918-0.856-2.31-0.856-4.18 0-0.994 0.088-1.85 0.264-2.58s0.422-1.32 0.738-1.79c0.316-0.474 0.696-0.824 1.14-1.05 0.444-0.228 0.926-0.34 1.45-0.34z\"/><path d=\"m606 140 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.29z\"/><path d=\"m489 30.2h1.25v15.1h-1.25v-15.1z\"/><path d=\"m498 30.6h0.446c-0.032 0.519-0.048 1.24-0.048 2.16v6.92c0 0.313 0.016 0.55 0.052 0.709 0.034 0.159 0.098 0.289 0.186 0.389 0.09 0.1 0.218 0.178 0.386 0.235 0.166 0.0568 0.378 0.1 0.632 0.13 0.254 0.0296 0.588 0.05 1 0.0608v0.592h-5.99v-0.592c0.6-0.0272 1.03-0.0636 1.29-0.11 0.256-0.0458 0.452-0.115 0.588-0.207 0.134-0.0918 0.232-0.222 0.294-0.389 0.064-0.168 0.094-0.44 0.094-0.819v-6.57c0-0.216-0.038-0.374-0.114-0.474s-0.186-0.15-0.332-0.15c-0.172 0-0.418 0.0892-0.738 0.268-0.318 0.178-0.712 0.424-1.18 0.738l-0.358-0.624 3.79-2.26z\"/><path d=\"m504 29.4 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\"/><path d=\"m558 73h1.25v15.1h-1.25v-15.1z\"/><path d=\"m567 74.6h1.15v4.67h4.42v1.08h-4.42v4.67h-1.15v-4.67h-4.42v-1.08h4.42v-4.67z\"/><path d=\"m575 72.3 3.23 7.28v0.6l-3.23 7.29-0.866-0.308 2.6-7.28-2.6-7.29 0.866-0.292z\"/><path d=\"m558 206h1.25v15.1h-1.25v-15.1z\"/><path d=\"m563 212h9.99v1.08h-9.99v-1.08z\"/><path d=\"m575 205 3.23 7.28v0.598l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\"/><path d=\"m483 250h9.99v1.08h-9.99v-1.08z\"/><path d=\"m496 243h1.25v15.1h-1.25v-15.1z\"/><path d=\"m504 244h0.446c-0.032 0.518-0.048 1.24-0.048 2.16v6.92c0 0.312 0.016 0.55 0.052 0.708 0.036 0.16 0.098 0.29 0.186 0.39 0.09 0.1 0.218 0.178 0.386 0.234 0.166 0.058 0.378 0.1 0.632 0.13s0.588 0.05 1 0.062v0.59h-5.99v-0.59c0.6-0.028 1.03-0.064 1.29-0.11 0.256-0.046 0.452-0.114 0.588-0.206 0.134-0.092 0.232-0.222 0.294-0.39 0.064-0.168 0.094-0.44 0.094-0.818v-6.57c0-0.216-0.038-0.374-0.114-0.474-0.074-0.1-0.186-0.15-0.332-0.15-0.172 0-0.418 0.088-0.738 0.268-0.318 0.178-0.712 0.424-1.18 0.736l-0.358-0.624 3.79-2.26z\"/><path d=\"m510 243 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\"/><path d=\"m378 147h9.99v1.08h-9.99v-1.08z\"/><path d=\"m391 141h1.25v15.1h-1.25v-15.1z\"/><path d=\"m399 142c-0.372 0-0.684 0.11-0.936 0.332s-0.454 0.54-0.608 0.956c-0.154 0.418-0.264 0.924-0.328 1.52-0.064 0.598-0.098 1.27-0.098 2.02 0 1.76 0.164 3.05 0.492 3.88 0.326 0.824 0.832 1.24 1.52 1.24 0.654 0 1.14-0.388 1.46-1.16 0.316-0.774 0.474-1.98 0.474-3.6 0-1.24-0.082-2.25-0.244-3.02s-0.386-1.32-0.676-1.66c-0.29-0.334-0.638-0.502-1.05-0.502zm0.04-0.688c1.18 0 2.07 0.456 2.64 1.37 0.578 0.912 0.866 2.29 0.866 4.14 0 1.91-0.308 3.36-0.928 4.34-0.618 0.98-1.52 1.47-2.71 1.47-1.17 0-2.04-0.458-2.61-1.38-0.57-0.918-0.856-2.31-0.856-4.18 0-0.994 0.088-1.85 0.264-2.58s0.422-1.32 0.738-1.79c0.316-0.474 0.694-0.824 1.14-1.05 0.444-0.228 0.926-0.34 1.45-0.34z\"/><path d=\"m406 140 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.29z\"/><path d=\"m408 212h9.99v1.08h-9.99v-1.08z\"/><path d=\"m421 206h1.25v15.1h-1.25v-15.1z\"/><path d=\"m430 207h1.15v4.67h4.42v1.08h-4.42v4.67h-1.15v-4.67h-4.42v-1.08h4.42v-4.67z\"/><path d=\"m438 205 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.29z\"/><path d=\"m407 78.8h9.99v1.08h-9.99v-1.08z\"/><path d=\"m420 72.5h1.25v15.1h-1.25v-15.1z\"/><path d=\"m425 78.8h9.99v1.08h-9.99v-1.08z\"/><path d=\"m438 71.8 3.24 7.28v0.6l-3.24 7.29-0.866-0.308 2.6-7.28-2.6-7.29 0.866-0.292z\"/></g></g><defs><clipPath id=\"clip0_4_498\"><rect transform=\"translate(.6 .8)\" width=\"659\" height=\"332\" fill=\"#fff\"/></clipPath></defs></svg>\n\n2. Apply the oracle. \n Here, the difference between the two scenarios becomes noticeable. In the constant scenario, $\\ket{0}$ and $\\ket{1}$ states get the same phase (either $1$ or $-1$), so the state remains the same or acquires a global phase of $-1$, which is physically the same state. In the variable scenario, zero and one states get different phases, so the state changes!\n <br/>\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"738\" height=\"374\" fill=\"none\" version=\"1.1\" viewBox=\"0 0 738 374\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_5_635)\"><g clip-rule=\"evenodd\" fill-rule=\"evenodd\"><path d=\"m7.3 189c0-76.8 62.3-139 139-139 76.8 0 139 62.3 139 139 0 76.8-62.3 139-139 139-76.8 0-139-62.3-139-139z\" stroke=\"#747474\" stroke-miterlimit=\"8\" stroke-width=\"1.38\"/><g fill=\"#fff\" stroke=\"#000\" stroke-miterlimit=\"8\"><path d=\"m279 189c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9-2.69 5.9-6 5.9-6-2.64-6-5.9z\" stroke-width=\"1.15\"/><g stroke-width=\"1.38\"><path d=\"m140 49.4c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9c0 3.26-2.64 5.9-5.9 5.9s-5.9-2.64-5.9-5.9z\"/><path d=\"m1.3 189c0-3.26 2.69-5.9 6-5.9 3.31 0 6 2.64 6 5.9s-2.69 5.9-6 5.9c-3.31 0-6-2.64-6-5.9z\"/><path d=\"m140 328c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9-2.64 5.9-5.9 5.9-5.9-2.64-5.9-5.9z\"/></g></g><path d=\"m240 92.3c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9c0 3.26-2.69 5.9-6 5.9s-6-2.64-6-5.9z\" fill=\"#0070C0\"/><path d=\"m240 285c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9-2.69 5.9-6 5.9-6-2.64-6-5.9z\" fill=\"#fff\" stroke=\"#000\" stroke-miterlimit=\"8\" stroke-width=\"1.38\"/><path d=\"m40.5 92.4c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9-2.69 5.9-6 5.9-6-2.64-6-5.9z\" fill=\"#fff\" stroke=\"#000\" stroke-miterlimit=\"8\" stroke-width=\"1.38\"/><path d=\"m40.4 285c0-3.26 2.69-5.9 6-5.9 3.31 0 6 2.64 6 5.9s-2.69 5.9-6 5.9c-3.31 0-6-2.64-6-5.9z\" fill=\"#0070C0\"/><path d=\"m358 189c0-76.8 62.2-139 139-139s139 62.3 139 139c0 76.8-62.2 139-139 139s-139-62.3-139-139z\" stroke=\"#747474\" stroke-miterlimit=\"8\" stroke-width=\"1.38\"/><g fill=\"#fff\" stroke-miterlimit=\"8\" stroke-width=\"1.38\"><g stroke=\"#000\"><path d=\"m630 189c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9-2.69 5.9-6 5.9-6-2.64-6-5.9z\"/><path d=\"m491 49.4c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9c0 3.26-2.69 5.9-6 5.9s-6-2.64-6-5.9z\"/><path d=\"m352 189c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9-2.64 5.9-5.9 5.9-5.9-2.64-5.9-5.9z\"/><path d=\"m491 328c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9-2.69 5.9-6 5.9-6-2.64-6-5.9z\"/></g><path d=\"m591 92.4c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9-2.64 5.9-5.9 5.9-5.9-2.64-5.9-5.9z\" stroke=\"#0070C0\"/></g><path d=\"m591 285c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9-2.64 5.9-5.9 5.9-5.9-2.64-5.9-5.9z\" fill=\"#0070C0\"/><path d=\"m391 92.3c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9c0 3.26-2.64 5.9-5.9 5.9s-5.9-2.64-5.9-5.9z\" fill=\"#0070C0\"/><path d=\"m392 285c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9-2.64 5.9-5.9 5.9-5.9-2.64-5.9-5.9z\" fill=\"#fff\" stroke=\"#000\" stroke-miterlimit=\"8\" stroke-width=\"1.38\"/></g><g fill=\"#0070C0\"><path d=\"m247 85.4v-15.1l-0.688 0.688h22.1l-0.687-0.688v22.1l0.687-0.688h-16.2v1.38h16.9v-23.5h-23.5v15.8h1.38zm-5.8-5.06 5.11 6.13 5.11-6.13c0.244-0.292 0.204-0.725-0.088-0.968-0.291-0.243-0.725-0.204-0.968 0.088l-4.58 5.5h1.06l-4.58-5.5c-0.243-0.292-0.677-0.331-0.968-0.088-0.292 0.243-0.332 0.677-0.088 0.968z\"/><path d=\"m199 136-105 102 0.96 0.985 105-102-0.96-0.984zm-104 95.6-0.826 7.94 7.96-0.619c0.378-0.03 0.661-0.361 0.632-0.739-0.03-0.379-0.36-0.662-0.739-0.632l-7.14 0.555 0.737 0.757 0.741-7.12c0.0392-0.378-0.235-0.716-0.613-0.755-0.378-0.04-0.716 0.235-0.755 0.612z\"/><path d=\"m603 91.6h58.4v194h-56.4v-1.37h55.8l-0.688 0.686v-193l0.688 0.688h-57.8v-1.38zm7.05 199-6.13-5.11 6.13-5.11c0.29-0.244 0.724-0.204 0.968 0.088 0.242 0.29 0.204 0.724-0.088 0.968l-5.5 4.58v-1.06l5.5 4.58c0.292 0.242 0.33 0.676 0.088 0.968-0.244 0.292-0.678 0.332-0.968 0.088z\"/><path d=\"m397 85.7v-56.4h201v56.6h-1.37v-55.9l0.686 0.688h-200l0.688-0.688v55.7h-1.38zm5.8-5.06-5.11 6.13-5.11-6.13c-0.242-0.292-0.204-0.725 0.088-0.968 0.292-0.243 0.726-0.204 0.968 0.0882l4.58 5.5h-1.06l4.58-5.5c0.242-0.292 0.676-0.331 0.968-0.0882 0.292 0.243 0.33 0.677 0.088 0.968z\"/></g><g clip-rule=\"evenodd\" fill=\"#0078D4\" fill-rule=\"evenodd\"><path d=\"m231 48.1c0.516 0 0.962 0.0422 1.34 0.126l-0.308 1.34h-0.696c-0.074-0.301-0.17-0.517-0.288-0.649-0.12-0.132-0.294-0.198-0.526-0.198-0.302 0-0.556 0.083-0.764 0.249s-0.386 0.413-0.534 0.74-0.284 0.767-0.412 1.32l-0.196 0.862h2.03l-0.174 0.799h-2.04l-1.47 6.9c-0.242 1.14-0.614 2-1.12 2.56-0.5 0.562-1.13 0.842-1.89 0.842-0.222 0-0.396-0.0132-0.522-0.0396l0.134-0.696c0.054 0.0158 0.178 0.0236 0.372 0.0236 0.238 0 0.44-0.0606 0.61-0.182 0.168-0.121 0.324-0.332 0.47-0.633 0.144-0.3 0.278-0.717 0.4-1.25l1.7-7.52h-1.34l0.118-0.546c0.354-0.0212 0.608-0.0502 0.764-0.087 0.154-0.037 0.276-0.0924 0.364-0.166 0.086-0.0738 0.16-0.17 0.22-0.289 0.062-0.119 0.138-0.336 0.234-0.653 0.28-0.949 0.71-1.66 1.29-2.14 0.582-0.477 1.32-0.716 2.23-0.716z\"/><path d=\"m250 47.3c1.54 0.406 2.72 1.28 3.55 2.63 0.826 1.35 1.24 2.97 1.24 4.88 0 1.91-0.41 3.53-1.23 4.88-0.822 1.34-2.01 2.22-3.55 2.62l-0.19-0.609c1.22-0.406 2.12-1.21 2.72-2.4 0.594-1.2 0.89-2.72 0.89-4.56 0-1.78-0.296-3.26-0.886-4.44s-1.51-1.97-2.74-2.38l0.214-0.609zm-10.1 0 0.214 0.609c-1.23 0.406-2.15 1.2-2.74 2.38-0.592 1.18-0.89 2.66-0.89 4.44 0 1.85 0.298 3.37 0.89 4.56 0.594 1.2 1.5 2 2.72 2.4l-0.19 0.609c-1.55-0.406-2.73-1.28-3.55-2.62-0.822-1.34-1.23-2.97-1.23-4.88 0-1.9 0.412-3.53 1.24-4.88s2.01-2.22 3.55-2.63z\"/><path d=\"m243 51.7c0.162 0 0.306 0.0184 0.43 0.0554 0.124 0.0368 0.234 0.0936 0.328 0.17 0.096 0.0764 0.18 0.175 0.254 0.297s0.144 0.286 0.214 0.494c0.068 0.208 0.132 0.467 0.194 0.775 0.06 0.308 0.114 0.629 0.162 0.961h0.078c0.506-0.712 0.89-1.23 1.15-1.56 0.26-0.33 0.48-0.575 0.66-0.736s0.352-0.274 0.518-0.34c0.166-0.0658 0.386-0.0988 0.66-0.0988 0.248 0 0.452 0.0316 0.61 0.0948l-0.316 1.43h-0.554c-0.032-0.221-0.124-0.332-0.278-0.332-0.046 0-0.098 0.0078-0.15 0.0238-0.052 0.0158-0.118 0.05-0.194 0.103-0.076 0.0526-0.188 0.156-0.336 0.308-0.148 0.153-0.314 0.34-0.498 0.562-0.184 0.222-0.374 0.454-0.57 0.696l-0.538 0.672c0.096 0.506 0.186 0.944 0.27 1.31s0.158 0.676 0.224 0.922 0.124 0.439 0.174 0.581c0.052 0.142 0.106 0.249 0.164 0.32 0.058 0.0712 0.116 0.121 0.178 0.15 0.06 0.029 0.13 0.0434 0.208 0.0434 0.144 0 0.282-0.0552 0.416-0.166s0.328-0.361 0.582-0.751l0.514 0.34c-0.37 0.548-0.704 0.935-1 1.16-0.298 0.224-0.652 0.336-1.06 0.336-0.226 0-0.418-0.0408-0.576-0.123-0.158-0.0816-0.296-0.212-0.412-0.391-0.116-0.179-0.218-0.459-0.308-0.839-0.164-0.675-0.264-1.19-0.3-1.55h-0.08c-0.558 0.786-0.974 1.35-1.25 1.69s-0.496 0.596-0.672 0.759-0.348 0.278-0.514 0.344c-0.166 0.066-0.386 0.099-0.66 0.099-0.248 0-0.452-0.0316-0.61-0.095l0.316-1.43h0.554c0.032 0.221 0.124 0.332 0.278 0.332 0.072 0 0.15-0.0198 0.232-0.0594s0.2-0.134 0.352-0.285c0.154-0.15 0.364-0.386 0.634-0.708 0.268-0.322 0.658-0.804 1.17-1.45-0.08-0.417-0.16-0.817-0.246-1.2-0.084-0.385-0.17-0.744-0.26-1.08s-0.164-0.55-0.222-0.653-0.12-0.174-0.186-0.214-0.148-0.0592-0.248-0.0592c-0.112 0-0.212 0.025-0.302 0.075-0.09 0.0502-0.186 0.137-0.292 0.261-0.106 0.124-0.246 0.318-0.42 0.581l-0.514-0.34c0.332-0.501 0.652-0.875 0.958-1.12 0.306-0.248 0.666-0.372 1.08-0.372z\"/><path d=\"m262 55.9h9.75v1.05h-9.75v-1.05zm0-3.28h9.75v1.05h-9.75v-1.05z\"/><path d=\"m281 49.2c-0.364 0-0.668 0.108-0.914 0.324-0.244 0.216-0.442 0.527-0.592 0.933-0.15 0.406-0.258 0.901-0.32 1.48-0.064 0.583-0.096 1.24-0.096 1.97 0 1.72 0.16 2.98 0.478 3.78 0.32 0.804 0.814 1.21 1.48 1.21 0.638 0 1.11-0.378 1.42-1.14s0.462-1.93 0.462-3.52c0-1.21-0.078-2.2-0.236-2.95-0.16-0.751-0.38-1.29-0.662-1.62s-0.622-0.49-1.02-0.49zm0.04-0.672c1.15 0 2.01 0.446 2.58 1.34s0.846 2.24 0.846 4.04c0 1.87-0.3 3.28-0.904 4.24s-1.49 1.44-2.65 1.44c-1.14 0-1.99-0.448-2.54-1.34-0.556-0.897-0.834-2.26-0.834-4.08 0-0.97 0.086-1.81 0.256-2.52 0.172-0.707 0.412-1.29 0.72-1.75 0.31-0.461 0.68-0.803 1.11-1.02s0.904-0.332 1.42-0.332z\"/><path d=\"m94.3 164c0.53 0 0.986 0.043 1.37 0.13l-0.316 1.38h-0.713c-0.0756-0.308-0.174-0.53-0.296-0.665s-0.301-0.203-0.539-0.203c-0.308 0-0.569 0.085-0.782 0.256-0.213 0.17-0.396 0.422-0.547 0.758-0.151 0.334-0.292 0.786-0.422 1.35l-0.203 0.882h2.08l-0.178 0.82h-2.09l-1.51 7.07c-0.249 1.17-0.63 2.05-1.14 2.62-0.513 0.574-1.16 0.862-1.94 0.862-0.227 0-0.405-0.012-0.535-0.04l0.138-0.714c0.054 0.016 0.181 0.026 0.381 0.026 0.243 0 0.451-0.064 0.624-0.188s0.334-0.34 0.482-0.648 0.285-0.734 0.409-1.28l1.74-7.71h-1.37l0.122-0.56c0.362-0.022 0.623-0.052 0.782-0.09s0.284-0.094 0.373-0.17c0.0892-0.076 0.165-0.174 0.227-0.296 0.0622-0.12 0.142-0.344 0.239-0.668 0.286-0.972 0.728-1.7 1.33-2.19 0.597-0.489 1.36-0.734 2.28-0.734z\"/><path d=\"m113 163c1.58 0.416 2.79 1.31 3.64 2.7 0.846 1.38 1.27 3.05 1.27 5 0 1.96-0.422 3.62-1.26 5-0.843 1.37-2.06 2.27-3.64 2.69l-0.195-0.624c1.25-0.416 2.18-1.24 2.78-2.46 0.608-1.23 0.911-2.79 0.911-4.68 0-1.83-0.302-3.34-0.907-4.55-0.606-1.21-1.54-2.02-2.81-2.44l0.219-0.624zm-10.3 0 0.219 0.624c-1.26 0.416-2.2 1.23-2.81 2.44-0.608 1.21-0.912 2.73-0.912 4.55 0 1.89 0.304 3.45 0.912 4.68 0.608 1.23 1.54 2.05 2.78 2.46l-0.194 0.624c-1.58-0.416-2.8-1.31-3.64-2.69-0.843-1.38-1.26-3.04-1.26-5 0-1.95 0.423-3.62 1.27-5 0.846-1.38 2.06-2.28 3.64-2.7z\"/><path d=\"m106 168c0.168 0 0.315 0.02 0.442 0.058s0.239 0.096 0.336 0.174c0.098 0.078 0.184 0.18 0.26 0.304 0.075 0.124 0.148 0.292 0.219 0.506 0.07 0.214 0.136 0.478 0.198 0.794s0.118 0.646 0.166 0.986h0.081c0.519-0.73 0.912-1.26 1.18-1.6 0.267-0.338 0.493-0.588 0.677-0.754 0.183-0.164 0.36-0.28 0.53-0.348 0.171-0.068 0.396-0.1 0.677-0.1 0.254 0 0.462 0.032 0.624 0.096l-0.324 1.47h-0.567c-0.033-0.228-0.127-0.342-0.284-0.342-0.049 0-0.1 0.01-0.154 0.026s-0.12 0.05-0.199 0.104c-0.078 0.054-0.193 0.16-0.344 0.316-0.151 0.158-0.322 0.35-0.511 0.576-0.189 0.228-0.383 0.464-0.583 0.714l-0.551 0.688c0.097 0.52 0.189 0.968 0.275 1.35 0.087 0.378 0.164 0.694 0.231 0.944 0.068 0.252 0.127 0.45 0.178 0.596 0.052 0.146 0.107 0.256 0.167 0.328 0.059 0.074 0.12 0.124 0.182 0.154s0.134 0.044 0.215 0.044c0.146 0 0.288-0.056 0.425-0.17 0.138-0.112 0.337-0.37 0.596-0.77l0.527 0.35c-0.378 0.562-0.72 0.956-1.02 1.19-0.306 0.23-0.669 0.346-1.09 0.346-0.232 0-0.429-0.042-0.591-0.126s-0.303-0.218-0.422-0.402-0.224-0.47-0.316-0.858c-0.167-0.692-0.27-1.22-0.308-1.59h-0.081c-0.573 0.806-0.998 1.38-1.28 1.73-0.278 0.352-0.507 0.612-0.689 0.78-0.181 0.166-0.356 0.284-0.526 0.352-0.171 0.068-0.396 0.102-0.677 0.102-0.254 0-0.462-0.034-0.624-0.098l0.324-1.47h0.567c0.033 0.228 0.127 0.342 0.284 0.342 0.076 0 0.155-0.022 0.239-0.062s0.204-0.138 0.361-0.292 0.373-0.396 0.648-0.724c0.276-0.33 0.676-0.824 1.2-1.48-0.081-0.428-0.165-0.838-0.251-1.23-0.087-0.394-0.176-0.762-0.268-1.1-0.092-0.342-0.167-0.564-0.227-0.67-0.059-0.104-0.123-0.178-0.19-0.218-0.068-0.04-0.153-0.06-0.256-0.06-0.113 0-0.216 0.024-0.308 0.076s-0.191 0.14-0.3 0.268c-0.108 0.126-0.251 0.326-0.429 0.596l-0.527-0.35c0.34-0.512 0.667-0.896 0.981-1.15 0.313-0.254 0.683-0.382 1.11-0.382z\"/><path d=\"m125 172h9.99v1.08h-9.99v-1.08zm0-3.36h9.99v1.08h-9.99v-1.08z\"/><path d=\"m146 164h0.446c-0.032 0.519-0.048 1.24-0.048 2.16v6.92c0 0.314 0.018 0.55 0.052 0.71 0.036 0.158 0.098 0.288 0.186 0.388 0.09 0.1 0.218 0.178 0.386 0.236 0.168 0.056 0.378 0.1 0.632 0.128 0.254 0.03 0.588 0.05 1 0.062v0.592h-5.99v-0.592c0.6-0.028 1.03-0.064 1.29-0.11s0.452-0.114 0.588-0.206c0.134-0.092 0.234-0.222 0.296-0.39 0.062-0.166 0.092-0.44 0.092-0.818v-6.57c0-0.216-0.038-0.374-0.114-0.474-0.074-0.1-0.186-0.15-0.332-0.15-0.172 0-0.418 0.09-0.736 0.268-0.32 0.178-0.714 0.424-1.18 0.738l-0.358-0.624 3.79-2.26z\"/><path d=\"m676 183c0.516 0 0.962 0.044 1.34 0.128l-0.308 1.34h-0.696c-0.074-0.3-0.17-0.516-0.288-0.648-0.12-0.132-0.294-0.198-0.528-0.198-0.3 0-0.554 0.082-0.762 0.248-0.208 0.168-0.386 0.414-0.534 0.74-0.148 0.328-0.286 0.768-0.412 1.32l-0.198 0.862h2.03l-0.174 0.798h-2.04l-1.47 6.9c-0.244 1.14-0.614 2-1.12 2.56-0.5 0.56-1.13 0.842-1.89 0.842-0.222 0-0.396-0.014-0.522-0.04l0.134-0.696c0.052 0.016 0.176 0.024 0.372 0.024 0.238 0 0.44-0.06 0.608-0.182 0.17-0.122 0.326-0.332 0.472-0.632 0.144-0.302 0.278-0.718 0.398-1.25l1.7-7.52h-1.34l0.12-0.546c0.352-0.02 0.608-0.05 0.762-0.086 0.156-0.038 0.278-0.092 0.364-0.166 0.088-0.074 0.162-0.17 0.222-0.288 0.06-0.12 0.138-0.338 0.234-0.654 0.278-0.948 0.71-1.66 1.29-2.14 0.584-0.476 1.33-0.716 2.23-0.716z\"/><path d=\"m694 182c1.54 0.406 2.72 1.28 3.55 2.63 0.826 1.35 1.24 2.97 1.24 4.88 0 1.91-0.412 3.53-1.23 4.88s-2.01 2.22-3.55 2.62l-0.19-0.608c1.22-0.406 2.12-1.21 2.72-2.41 0.594-1.2 0.89-2.72 0.89-4.56 0-1.78-0.296-3.26-0.886-4.44-0.59-1.18-1.51-1.97-2.74-2.38l0.212-0.608zm-10.1 0 0.212 0.608c-1.23 0.406-2.15 1.2-2.74 2.38-0.594 1.18-0.89 2.66-0.89 4.44 0 1.85 0.296 3.37 0.89 4.56 0.594 1.2 1.5 2 2.72 2.41l-0.19 0.608c-1.55-0.406-2.73-1.28-3.55-2.62-0.824-1.34-1.23-2.97-1.23-4.88 0-1.9 0.412-3.53 1.24-4.88 0.824-1.35 2.01-2.22 3.55-2.63z\"/><path d=\"m688 187c0.164 0 0.308 0.018 0.432 0.054 0.124 0.038 0.234 0.094 0.328 0.17 0.096 0.078 0.18 0.176 0.254 0.298 0.074 0.12 0.144 0.286 0.212 0.494 0.07 0.208 0.134 0.466 0.194 0.774 0.062 0.31 0.116 0.63 0.162 0.962h0.08c0.506-0.712 0.89-1.23 1.15-1.56 0.262-0.33 0.482-0.576 0.662-0.736 0.178-0.16 0.352-0.274 0.518-0.34s0.386-0.098 0.66-0.098c0.248 0 0.45 0.03 0.61 0.094l-0.318 1.43h-0.554c-0.03-0.222-0.122-0.332-0.276-0.332-0.048 0-0.098 8e-3 -0.15 0.024s-0.118 0.05-0.194 0.102-0.188 0.156-0.336 0.308c-0.148 0.154-0.314 0.34-0.498 0.562-0.186 0.222-0.374 0.454-0.57 0.696l-0.538 0.672c0.094 0.506 0.184 0.944 0.27 1.31 0.084 0.368 0.158 0.676 0.224 0.922 0.066 0.244 0.124 0.438 0.174 0.58 0.05 0.144 0.104 0.25 0.162 0.322 0.058 0.07 0.118 0.12 0.178 0.15 0.062 0.028 0.132 0.042 0.21 0.042 0.142 0 0.282-0.054 0.416-0.166 0.134-0.11 0.328-0.36 0.58-0.75l0.516 0.34c-0.37 0.548-0.704 0.934-1 1.16s-0.652 0.336-1.06 0.336c-0.226 0-0.418-0.04-0.576-0.122-0.16-0.082-0.296-0.212-0.412-0.392s-0.22-0.458-0.308-0.838c-0.164-0.676-0.264-1.19-0.302-1.55h-0.078c-0.56 0.786-0.974 1.35-1.25 1.69s-0.496 0.596-0.672 0.76c-0.178 0.164-0.348 0.278-0.514 0.344s-0.388 0.098-0.662 0.098c-0.248 0-0.45-0.032-0.608-0.094l0.316-1.43h0.554c0.032 0.222 0.124 0.332 0.276 0.332 0.074 0 0.152-0.02 0.234-0.06 0.082-0.038 0.2-0.134 0.352-0.284s0.364-0.386 0.632-0.708c0.27-0.322 0.66-0.804 1.17-1.45-0.08-0.416-0.162-0.816-0.246-1.2-0.084-0.384-0.172-0.744-0.26-1.08-0.09-0.332-0.164-0.55-0.222-0.652-0.058-0.104-0.12-0.174-0.186-0.214s-0.15-0.06-0.25-0.06c-0.11 0-0.21 0.026-0.3 0.076s-0.188 0.138-0.292 0.262c-0.106 0.122-0.246 0.316-0.42 0.58l-0.514-0.34c0.332-0.5 0.652-0.876 0.958-1.12 0.304-0.248 0.666-0.372 1.08-0.372z\"/><path d=\"m706 191h9.75v1.05h-9.75v-1.05zm0-3.28h9.75v1.05h-9.75v-1.05z\"/><path d=\"m725 187c0.162 0 0.306 0.018 0.43 0.054 0.124 0.038 0.234 0.094 0.328 0.17 0.096 0.078 0.18 0.176 0.254 0.298 0.074 0.12 0.144 0.286 0.214 0.494 0.068 0.208 0.132 0.466 0.194 0.774 0.06 0.31 0.114 0.63 0.162 0.962h0.078c0.506-0.712 0.89-1.23 1.15-1.56 0.26-0.33 0.48-0.576 0.66-0.736s0.352-0.274 0.518-0.34 0.386-0.098 0.66-0.098c0.248 0 0.452 0.03 0.61 0.094l-0.316 1.43h-0.554c-0.032-0.222-0.124-0.332-0.278-0.332-0.046 0-0.096 8e-3 -0.15 0.024-0.052 0.016-0.118 0.05-0.194 0.102s-0.188 0.156-0.336 0.308c-0.148 0.154-0.314 0.34-0.498 0.562s-0.374 0.454-0.57 0.696l-0.538 0.672c0.096 0.506 0.186 0.944 0.27 1.31 0.084 0.368 0.16 0.676 0.224 0.922 0.066 0.244 0.124 0.438 0.174 0.58 0.052 0.144 0.106 0.25 0.164 0.322 0.058 0.07 0.116 0.12 0.178 0.15 0.06 0.028 0.13 0.042 0.208 0.042 0.144 0 0.282-0.054 0.416-0.166 0.134-0.11 0.328-0.36 0.582-0.75l0.514 0.34c-0.37 0.548-0.704 0.934-1 1.16s-0.652 0.336-1.06 0.336c-0.228 0-0.42-0.04-0.578-0.122s-0.296-0.212-0.412-0.392-0.218-0.458-0.308-0.838c-0.164-0.676-0.264-1.19-0.3-1.55h-0.08c-0.558 0.786-0.974 1.35-1.25 1.69s-0.496 0.596-0.672 0.76-0.348 0.278-0.514 0.344-0.386 0.098-0.66 0.098c-0.248 0-0.452-0.032-0.61-0.094l0.316-1.43h0.554c0.032 0.222 0.124 0.332 0.278 0.332 0.072 0 0.15-0.02 0.232-0.06 0.082-0.038 0.2-0.134 0.352-0.284 0.154-0.15 0.364-0.386 0.634-0.708 0.268-0.322 0.658-0.804 1.17-1.45-0.08-0.416-0.16-0.816-0.246-1.2-0.084-0.384-0.17-0.744-0.26-1.08s-0.164-0.55-0.222-0.652c-0.058-0.104-0.12-0.174-0.186-0.214s-0.148-0.06-0.248-0.06c-0.112 0-0.212 0.026-0.302 0.076s-0.186 0.138-0.292 0.262c-0.106 0.122-0.246 0.316-0.42 0.58l-0.514-0.34c0.332-0.5 0.652-0.876 0.958-1.12 0.306-0.248 0.666-0.372 1.08-0.372z\"/><path d=\"m463 7.88c0.516 0 0.962 0.0422 1.34 0.127l-0.308 1.34h-0.696c-0.074-0.301-0.17-0.517-0.288-0.649-0.12-0.132-0.294-0.198-0.526-0.198-0.302 0-0.556 0.083-0.764 0.249-0.208 0.166-0.386 0.413-0.534 0.74-0.148 0.327-0.284 0.767-0.412 1.32l-0.198 0.862h2.03l-0.174 0.799h-2.04l-1.47 6.9c-0.244 1.14-0.614 2-1.12 2.56-0.5 0.562-1.13 0.842-1.89 0.842-0.222 0-0.396-0.0132-0.522-0.0394l0.134-0.696c0.052 0.0158 0.176 0.0238 0.372 0.0238 0.238 0 0.44-0.0606 0.608-0.182 0.17-0.121 0.326-0.332 0.472-0.633 0.144-0.301 0.278-0.717 0.4-1.25l1.7-7.52h-1.34l0.12-0.546c0.352-0.021 0.608-0.05 0.762-0.087 0.156-0.0368 0.278-0.0922 0.364-0.166 0.088-0.074 0.162-0.17 0.222-0.289s0.138-0.336 0.234-0.653c0.28-0.949 0.71-1.66 1.29-2.14 0.584-0.477 1.33-0.716 2.23-0.716z\"/><path d=\"m482 7.11c1.54 0.406 2.72 1.28 3.55 2.63 0.826 1.35 1.24 2.97 1.24 4.88 0 1.91-0.41 3.53-1.23 4.88-0.822 1.34-2.01 2.22-3.55 2.62l-0.19-0.609c1.22-0.406 2.12-1.21 2.72-2.4s0.89-2.72 0.89-4.56c0-1.78-0.296-3.26-0.886-4.44-0.59-1.18-1.51-1.97-2.74-2.38l0.212-0.609zm-10.1 0 0.212 0.609c-1.23 0.406-2.15 1.2-2.74 2.38-0.594 1.18-0.89 2.66-0.89 4.44 0 1.85 0.296 3.37 0.89 4.56s1.5 2 2.72 2.4l-0.19 0.609c-1.55-0.406-2.73-1.28-3.55-2.62-0.824-1.34-1.23-2.97-1.23-4.88 0-1.9 0.412-3.53 1.24-4.88 0.824-1.35 2.01-2.22 3.55-2.63z\"/><path d=\"m475 11.5c0.164 0 0.308 0.0184 0.432 0.0554s0.234 0.0936 0.328 0.17c0.096 0.0766 0.18 0.175 0.254 0.297 0.074 0.121 0.144 0.286 0.212 0.494 0.07 0.208 0.134 0.467 0.194 0.775 0.062 0.309 0.116 0.629 0.162 0.961h0.08c0.506-0.712 0.89-1.23 1.15-1.56 0.262-0.33 0.482-0.575 0.662-0.736 0.178-0.161 0.352-0.274 0.518-0.34 0.166-0.066 0.386-0.099 0.66-0.099 0.248 0 0.45 0.0318 0.61 0.095l-0.318 1.43h-0.552c-0.032-0.222-0.124-0.332-0.278-0.332-0.048 0-0.098 8e-3 -0.15 0.0238s-0.118 0.0502-0.194 0.103c-0.076 0.0528-0.188 0.156-0.336 0.309-0.148 0.153-0.314 0.34-0.498 0.562-0.186 0.221-0.374 0.453-0.57 0.696l-0.538 0.672c0.096 0.506 0.184 0.944 0.27 1.31 0.084 0.369 0.158 0.676 0.224 0.921s0.124 0.439 0.174 0.581 0.104 0.249 0.162 0.32 0.118 0.121 0.178 0.15c0.062 0.029 0.132 0.0434 0.21 0.0434 0.142 0 0.282-0.0554 0.416-0.166 0.134-0.111 0.328-0.361 0.58-0.751l0.516 0.34c-0.37 0.548-0.704 0.935-1 1.16s-0.652 0.336-1.06 0.336c-0.226 0-0.418-0.0408-0.576-0.123-0.16-0.0818-0.296-0.212-0.412-0.392-0.116-0.179-0.22-0.459-0.308-0.838-0.164-0.675-0.264-1.19-0.302-1.55h-0.078c-0.56 0.786-0.974 1.35-1.25 1.69s-0.496 0.596-0.672 0.759c-0.178 0.163-0.348 0.278-0.514 0.344s-0.388 0.0988-0.662 0.0988c-0.248 0-0.45-0.0316-0.608-0.0948l0.316-1.43h0.554c0.032 0.222 0.124 0.332 0.276 0.332 0.074 0 0.152-0.0198 0.234-0.0592 0.082-0.0396 0.2-0.135 0.352-0.285 0.152-0.15 0.364-0.386 0.632-0.708 0.27-0.322 0.66-0.804 1.17-1.45-0.08-0.417-0.162-0.817-0.246-1.2-0.084-0.385-0.172-0.743-0.26-1.08-0.09-0.332-0.164-0.55-0.222-0.653-0.058-0.103-0.12-0.174-0.186-0.214-0.066-0.0396-0.15-0.0594-0.25-0.0594-0.11 0-0.21 0.025-0.3 0.0752-0.09 0.05-0.188 0.137-0.292 0.261-0.106 0.124-0.246 0.318-0.42 0.581l-0.514-0.34c0.332-0.501 0.652-0.875 0.958-1.12s0.666-0.372 1.08-0.372z\"/><path d=\"m494 15.7h9.75v1.05h-9.75v-1.05zm0-3.28h9.75v1.05h-9.75v-1.05z\"/><path d=\"m510 14h9.74v5.58h-1.12v-4.54h-8.62v-1.04z\"/><path d=\"m524 11.5c0.164 0 0.308 0.0184 0.432 0.0554s0.234 0.0936 0.328 0.17c0.094 0.0766 0.18 0.175 0.254 0.297 0.072 0.121 0.144 0.286 0.212 0.494 0.07 0.208 0.134 0.467 0.194 0.775 0.062 0.309 0.116 0.629 0.162 0.961h0.08c0.506-0.712 0.89-1.23 1.15-1.56 0.262-0.33 0.482-0.575 0.662-0.736 0.178-0.161 0.352-0.274 0.518-0.34 0.166-0.066 0.386-0.099 0.66-0.099 0.248 0 0.45 0.0318 0.608 0.095l-0.316 1.43h-0.554c-0.03-0.222-0.124-0.332-0.276-0.332-0.048 0-0.098 8e-3 -0.15 0.0238-0.054 0.0158-0.118 0.0502-0.194 0.103-0.076 0.0528-0.188 0.156-0.336 0.309-0.148 0.153-0.314 0.34-0.498 0.562-0.186 0.221-0.376 0.453-0.57 0.696l-0.538 0.672c0.094 0.506 0.184 0.944 0.268 1.31 0.086 0.369 0.16 0.676 0.226 0.921s0.124 0.439 0.174 0.581 0.104 0.249 0.162 0.32 0.118 0.121 0.178 0.15c0.062 0.029 0.13 0.0434 0.21 0.0434 0.142 0 0.28-0.0554 0.416-0.166 0.134-0.111 0.328-0.361 0.58-0.751l0.514 0.34c-0.368 0.548-0.702 0.935-1 1.16s-0.652 0.336-1.06 0.336c-0.226 0-0.418-0.0408-0.578-0.123-0.158-0.0818-0.294-0.212-0.41-0.392-0.116-0.179-0.22-0.459-0.308-0.838-0.164-0.675-0.264-1.19-0.302-1.55h-0.078c-0.56 0.786-0.974 1.35-1.25 1.69s-0.496 0.596-0.672 0.759c-0.178 0.163-0.348 0.278-0.514 0.344-0.168 0.066-0.388 0.0988-0.662 0.0988-0.248 0-0.45-0.0316-0.608-0.0948l0.316-1.43h0.554c0.032 0.222 0.124 0.332 0.276 0.332 0.074 0 0.152-0.0198 0.234-0.0592 0.082-0.0396 0.198-0.135 0.352-0.285 0.152-0.15 0.364-0.386 0.632-0.708 0.27-0.322 0.66-0.804 1.17-1.45-0.08-0.417-0.162-0.817-0.246-1.2-0.084-0.385-0.172-0.743-0.26-1.08-0.09-0.332-0.164-0.55-0.222-0.653-0.058-0.103-0.12-0.174-0.186-0.214-0.066-0.0396-0.15-0.0594-0.25-0.0594-0.11 0-0.21 0.025-0.3 0.0752-0.09 0.05-0.188 0.137-0.292 0.261-0.106 0.124-0.246 0.318-0.42 0.581l-0.514-0.34c0.332-0.501 0.652-0.875 0.956-1.12 0.306-0.248 0.668-0.372 1.08-0.372z\"/></g><path d=\"m121 360c-0.941 0.455-2.17 0.683-3.68 0.683-1.98 0-3.53-0.581-4.66-1.74s-1.7-2.71-1.7-4.64c0-2.06 0.635-3.73 1.9-5.01 1.28-1.28 2.93-1.92 4.96-1.92 1.26 0 2.32 0.159 3.18 0.476v2.79c-0.863-0.515-1.84-0.773-2.95-0.773-1.21 0-2.19 0.381-2.93 1.14-0.743 0.761-1.11 1.79-1.11 3.09 0 1.25 0.35 2.24 1.05 2.98 0.701 0.737 1.64 1.1 2.83 1.1 1.13 0 2.17-0.276 3.11-0.827v2.65zm6.35 0.683c-1.53 0-2.74-0.429-3.62-1.28-0.875-0.863-1.31-2.03-1.31-3.5 0-1.52 0.455-2.71 1.37-3.57 0.91-0.862 2.14-1.29 3.69-1.29 1.53 0 2.73 0.432 3.59 1.29 0.869 0.857 1.3 1.99 1.3 3.4 0 1.53-0.449 2.73-1.35 3.62-0.892 0.886-2.12 1.33-3.67 1.33zm0.071-7.48c-0.67 0-1.19 0.23-1.56 0.691-0.371 0.462-0.557 1.11-0.557 1.96 0 1.77 0.713 2.65 2.14 2.65 1.36 0 2.04-0.907 2.04-2.72 0-1.72-0.686-2.58-2.06-2.58zm15.7 7.25h-2.83v-5.11c0-1.43-0.509-2.14-1.53-2.14-0.491 0-0.896 0.188-1.21 0.566-0.318 0.377-0.476 0.856-0.476 1.44v5.25h-2.84v-9.2h2.84v1.46h0.036c0.676-1.12 1.66-1.68 2.96-1.68 2.04 0 3.06 1.26 3.06 3.79v5.63zm1.65-0.243v-2.3c0.467 0.282 0.932 0.492 1.39 0.629 0.467 0.138 0.907 0.207 1.32 0.207 0.503 0 0.898-0.069 1.19-0.207 0.293-0.137 0.44-0.347 0.44-0.629 0-0.179-0.066-0.329-0.198-0.449s-0.302-0.224-0.512-0.314c-0.204-0.09-0.428-0.171-0.674-0.243-0.245-0.072-0.482-0.153-0.71-0.242-0.365-0.138-0.688-0.285-0.97-0.441-0.275-0.161-0.509-0.347-0.701-0.557-0.185-0.209-0.329-0.452-0.431-0.727-0.096-0.276-0.144-0.602-0.144-0.98 0-0.515 0.111-0.958 0.333-1.33 0.227-0.372 0.527-0.674 0.898-0.908 0.377-0.239 0.806-0.413 1.28-0.521 0.485-0.114 0.988-0.171 1.51-0.171 0.408 0 0.821 0.033 1.24 0.099 0.419 0.06 0.833 0.15 1.24 0.27v2.19c-0.359-0.21-0.746-0.365-1.16-0.467-0.407-0.108-0.809-0.162-1.2-0.162-0.186 0-0.362 0.018-0.53 0.054-0.162 0.03-0.305 0.078-0.431 0.144-0.126 0.06-0.225 0.14-0.297 0.242-0.072 0.096-0.108 0.207-0.108 0.333 0 0.167 0.054 0.311 0.162 0.431s0.249 0.225 0.422 0.314c0.174 0.084 0.366 0.162 0.575 0.234 0.216 0.066 0.429 0.135 0.638 0.207 0.378 0.131 0.719 0.275 1.02 0.431 0.305 0.156 0.566 0.338 0.781 0.548 0.222 0.21 0.39 0.455 0.503 0.737 0.12 0.281 0.18 0.617 0.18 1.01 0 0.545-0.12 1.01-0.359 1.4-0.234 0.384-0.548 0.698-0.944 0.944-0.389 0.239-0.841 0.413-1.36 0.521-0.509 0.114-1.04 0.171-1.59 0.171-1.01 0-1.95-0.156-2.81-0.468zm14.3 0.135c-0.419 0.222-1.05 0.333-1.9 0.333-2 0-3-1.04-3-3.12v-4.21h-1.49v-2.09h1.49v-1.99l2.83-0.808v2.79h2.07v2.09h-2.07v3.72c0 0.958 0.38 1.44 1.14 1.44 0.3 0 0.608-0.086 0.925-0.26v2.1zm9.26 0.108h-2.69v-1.32h-0.036c-0.617 1.03-1.53 1.55-2.74 1.55-0.893 0-1.6-0.252-2.11-0.755-0.51-0.509-0.764-1.19-0.764-2.03 0-1.78 1.06-2.82 3.17-3.09l2.5-0.333c0-1.01-0.545-1.51-1.64-1.51-1.1 0-2.14 0.326-3.13 0.979v-2.14c0.396-0.204 0.935-0.383 1.62-0.539 0.689-0.156 1.32-0.234 1.88-0.234 2.62 0 3.94 1.31 3.94 3.93v5.5zm-2.67-3.74v-0.62l-1.67 0.215c-0.922 0.12-1.38 0.536-1.38 1.25 0 0.323 0.111 0.59 0.333 0.8 0.227 0.203 0.533 0.305 0.916 0.305 0.533 0 0.967-0.183 1.3-0.548 0.335-0.371 0.503-0.838 0.503-1.4zm13.8 3.74h-2.83v-5.11c0-1.43-0.509-2.14-1.53-2.14-0.492 0-0.896 0.188-1.21 0.566-0.318 0.377-0.476 0.856-0.476 1.44v5.25h-2.84v-9.2h2.84v1.46h0.035c0.677-1.12 1.66-1.68 2.96-1.68 2.04 0 3.06 1.26 3.06 3.79v5.63zm7.82-0.108c-0.419 0.222-1.05 0.333-1.9 0.333-2 0-3-1.04-3-3.12v-4.21h-1.49v-2.09h1.49v-1.99l2.83-0.808v2.79h2.07v2.09h-2.07v3.72c0 0.958 0.38 1.44 1.14 1.44 0.3 0 0.608-0.086 0.925-0.26v2.1z\" fill=\"#000\"/><path d=\"m477 347-4.44 12.9h-3.29l-4.38-12.9h3.13l2.69 8.97c0.143 0.485 0.23 0.913 0.26 1.28h0.054c0.042-0.402 0.135-0.842 0.279-1.32l2.67-8.93h3.04zm7.54 12.9h-2.69v-1.32h-0.036c-0.617 1.03-1.53 1.55-2.74 1.55-0.892 0-1.6-0.252-2.11-0.755-0.509-0.509-0.764-1.19-0.764-2.03 0-1.78 1.06-2.82 3.17-3.09l2.5-0.333c0-1.01-0.545-1.51-1.64-1.51-1.1 0-2.14 0.326-3.13 0.979v-2.14c0.395-0.204 0.934-0.383 1.62-0.539 0.689-0.156 1.32-0.234 1.88-0.234 2.62 0 3.94 1.31 3.94 3.93v5.5zm-2.67-3.74v-0.62l-1.67 0.215c-0.922 0.12-1.38 0.536-1.38 1.25 0 0.323 0.11 0.59 0.332 0.8 0.228 0.203 0.533 0.305 0.916 0.305 0.534 0 0.968-0.183 1.3-0.548 0.336-0.371 0.503-0.838 0.503-1.4zm10.9-2.9c-0.341-0.186-0.739-0.279-1.2-0.279-0.617 0-1.1 0.228-1.45 0.683-0.347 0.449-0.521 1.06-0.521 1.84v4.39h-2.84v-9.2h2.84v1.71h0.036c0.449-1.25 1.26-1.87 2.43-1.87 0.299 0 0.533 0.036 0.7 0.108v2.62zm2.84-4.02c-0.479 0-0.871-0.141-1.18-0.423-0.305-0.287-0.458-0.638-0.458-1.05 0-0.425 0.153-0.773 0.458-1.04 0.306-0.27 0.698-0.404 1.18-0.404 0.486 0 0.878 0.134 1.18 0.404 0.306 0.269 0.459 0.617 0.459 1.04 0 0.431-0.153 0.785-0.459 1.06-0.299 0.276-0.691 0.414-1.18 0.414zm1.4 10.7h-2.84v-9.2h2.84v9.2zm10 0h-2.69v-1.32h-0.036c-0.617 1.03-1.53 1.55-2.74 1.55-0.892 0-1.6-0.252-2.11-0.755-0.509-0.509-0.764-1.19-0.764-2.03 0-1.78 1.06-2.82 3.17-3.09l2.5-0.333c0-1.01-0.545-1.51-1.64-1.51-1.1 0-2.14 0.326-3.13 0.979v-2.14c0.396-0.204 0.935-0.383 1.62-0.539 0.688-0.156 1.31-0.234 1.88-0.234 2.62 0 3.94 1.31 3.94 3.93v5.5zm-2.67-3.74v-0.62l-1.67 0.215c-0.922 0.12-1.38 0.536-1.38 1.25 0 0.323 0.111 0.59 0.333 0.8 0.227 0.203 0.533 0.305 0.916 0.305 0.533 0 0.968-0.183 1.3-0.548 0.335-0.371 0.503-0.838 0.503-1.4zm7.79 2.67h-0.036v1.07h-2.84v-13.6h2.84v5.8h0.036c0.7-1.07 1.7-1.61 2.99-1.61 1.19 0 2.1 0.408 2.74 1.22 0.641 0.815 0.961 1.93 0.961 3.34 0 1.53-0.374 2.76-1.12 3.69s-1.75 1.39-3 1.39c-1.13 0-1.99-0.432-2.57-1.29zm-0.081-3.88v0.943c0 0.593 0.17 1.08 0.512 1.47 0.341 0.39 0.778 0.584 1.31 0.584 0.646 0 1.15-0.248 1.5-0.745 0.359-0.503 0.539-1.21 0.539-2.13 0-0.76-0.165-1.35-0.494-1.78-0.324-0.431-0.788-0.646-1.39-0.646-0.569 0-1.04 0.212-1.42 0.638-0.372 0.425-0.557 0.979-0.557 1.66zm11.5 4.95h-2.84v-13.6h2.84v13.6zm10.7-3.79h-6c0.096 1.34 0.937 2 2.52 2 1.01 0 1.9-0.239 2.67-0.719v2.05c-0.851 0.455-1.96 0.683-3.32 0.683-1.48 0-2.64-0.411-3.46-1.23-0.82-0.827-1.23-1.98-1.23-3.45 0-1.53 0.443-2.74 1.33-3.63 0.887-0.892 1.98-1.34 3.27-1.34 1.34 0 2.38 0.399 3.11 1.2 0.737 0.797 1.1 1.88 1.1 3.24v1.2zm-2.63-1.74c0-1.32-0.533-1.98-1.6-1.98-0.456 0-0.851 0.189-1.19 0.566-0.33 0.377-0.53 0.848-0.602 1.41h3.39z\" fill=\"#000\"/><g clip-rule=\"evenodd\" fill=\"#000\" fill-rule=\"evenodd\"><path d=\"m242 183h1.25v15.1h-1.25v-15.1z\"/><path d=\"m250 184c-0.374 0-0.686 0.11-0.936 0.332-0.252 0.222-0.454 0.54-0.608 0.956s-0.264 0.924-0.328 1.52c-0.066 0.598-0.098 1.27-0.098 2.02 0 1.76 0.164 3.05 0.49 3.88 0.328 0.826 0.834 1.24 1.52 1.24 0.654 0 1.14-0.388 1.46-1.16 0.316-0.776 0.474-1.98 0.474-3.6 0-1.24-0.082-2.25-0.244-3.02s-0.388-1.32-0.676-1.66c-0.29-0.334-0.64-0.502-1.05-0.502zm0.04-0.69c1.18 0 2.06 0.458 2.64 1.37 0.578 0.914 0.868 2.29 0.868 4.14 0 1.91-0.31 3.36-0.928 4.34-0.618 0.982-1.52 1.47-2.71 1.47-1.17 0-2.04-0.46-2.61-1.38s-0.854-2.31-0.854-4.18c0-0.994 0.088-1.85 0.262-2.58 0.176-0.724 0.422-1.32 0.738-1.8 0.316-0.472 0.696-0.822 1.14-1.05 0.442-0.228 0.926-0.342 1.45-0.342z\"/><path d=\"m256 182 3.24 7.28v0.6l-3.24 7.29-0.866-0.308 2.6-7.28-2.6-7.29 0.866-0.292z\"/><path d=\"m139 72.2h1.25v15.1h-1.25v-15.1z\"/><path d=\"m148 72.6h0.444c-0.032 0.519-0.048 1.24-0.048 2.16v6.92c0 0.313 0.018 0.55 0.052 0.709 0.036 0.159 0.098 0.289 0.188 0.389 0.088 0.1 0.216 0.178 0.384 0.235 0.168 0.0566 0.378 0.0998 0.632 0.13s0.59 0.05 1.01 0.0608v0.592h-5.99v-0.592c0.6-0.027 1.03-0.0634 1.28-0.109 0.258-0.046 0.454-0.115 0.588-0.207 0.136-0.0918 0.234-0.221 0.296-0.389 0.062-0.167 0.094-0.44 0.094-0.819v-6.57c0-0.216-0.038-0.374-0.114-0.474-0.076-0.0998-0.186-0.15-0.332-0.15-0.174 0-0.42 0.089-0.738 0.267-0.32 0.178-0.714 0.424-1.18 0.738l-0.356-0.624 3.79-2.26z\"/><path d=\"m153 71.5 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\"/><path d=\"m208 115h1.25v15.1h-1.25v-15.1z\"/><path d=\"m217 117h1.15v4.67h4.42v1.08h-4.42v4.67h-1.15v-4.67h-4.42v-1.08h4.42v-4.67z\"/><path d=\"m225 114 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\"/><path d=\"m208 248h1.25v15.1h-1.25v-15.1z\"/><path d=\"m212 255h9.99v1.08h-9.99v-1.08z\"/><path d=\"m225 247 3.23 7.28v0.6l-3.23 7.29-0.866-0.308 2.6-7.28-2.6-7.29 0.866-0.292z\"/><path d=\"m132 292h9.99v1.08h-9.99v-1.08z\"/><path d=\"m145 285h1.25v15.1h-1.25v-15.1z\"/><path d=\"m154 286h0.444c-0.032 0.52-0.048 1.24-0.048 2.16v6.92c0 0.314 0.018 0.55 0.054 0.71 0.034 0.16 0.096 0.29 0.186 0.39 0.088 0.1 0.216 0.178 0.384 0.234 0.168 0.058 0.378 0.1 0.632 0.13s0.59 0.05 1.01 0.06v0.592h-5.99v-0.592c0.6-0.026 1.03-0.062 1.28-0.108 0.258-0.046 0.454-0.116 0.588-0.208 0.136-0.092 0.234-0.22 0.296-0.388s0.094-0.44 0.094-0.82v-6.57c0-0.216-0.038-0.374-0.114-0.474s-0.186-0.15-0.332-0.15c-0.174 0-0.42 0.088-0.738 0.266-0.318 0.18-0.714 0.424-1.18 0.738l-0.356-0.624 3.79-2.26z\"/><path d=\"m159 285 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\"/><path d=\"m27.9 189h9.99v1.08h-9.99v-1.08z\"/><path d=\"m41 183h1.25v15.1h-1.25v-15.1z\"/><path d=\"m48.9 184c-0.373 0-0.685 0.11-0.936 0.332-0.251 0.222-0.454 0.54-0.608 0.956s-0.264 0.924-0.328 1.52c-0.0648 0.598-0.0972 1.27-0.0972 2.02 0 1.76 0.163 3.05 0.49 3.88 0.327 0.826 0.833 1.24 1.52 1.24 0.654 0 1.14-0.388 1.45-1.16 0.316-0.776 0.474-1.98 0.474-3.6 0-1.24-0.081-2.25-0.243-3.02-0.162-0.77-0.388-1.32-0.677-1.66-0.289-0.334-0.639-0.502-1.05-0.502zm0.0406-0.69c1.18 0 2.06 0.458 2.64 1.37 0.578 0.914 0.867 2.29 0.867 4.14 0 1.91-0.309 3.36-0.928 4.34-0.619 0.982-1.52 1.47-2.71 1.47-1.17 0-2.04-0.46-2.61-1.38-0.57-0.918-0.855-2.31-0.855-4.18 0-0.994 0.0878-1.85 0.263-2.58s0.422-1.32 0.738-1.8c0.316-0.472 0.696-0.822 1.14-1.05 0.443-0.228 0.927-0.342 1.45-0.342z\"/><path d=\"m55.2 182 3.23 7.28v0.6l-3.23 7.29-0.867-0.308 2.6-7.28-2.6-7.29 0.867-0.292z\"/><path d=\"m57.3 254h9.99v1.08h-9.99v-1.08z\"/><path d=\"m70.4 248h1.25v15.1h-1.25v-15.1z\"/><path d=\"m79.3 250h1.15v4.67h4.42v1.08h-4.42v4.67h-1.15v-4.67h-4.42v-1.08h4.42v-4.67z\"/><path d=\"m87.8 247 3.23 7.28v0.6l-3.23 7.29-0.867-0.308 2.6-7.28-2.6-7.29 0.867-0.292z\"/><path d=\"m56.6 121h9.99v1.08h-9.99v-1.08z\"/><path d=\"m69.8 115h1.25v15.1h-1.25v-15.1z\"/><path d=\"m74.3 121h9.99v1.08h-9.99v-1.08z\"/><path d=\"m87.1 114 3.23 7.28v0.599l-3.23 7.29-0.867-0.308 2.6-7.28-2.6-7.29 0.867-0.292z\"/><path d=\"m593 183h1.25v15.1h-1.25v-15.1z\"/><path d=\"m601 184c-0.372 0-0.684 0.11-0.936 0.332-0.25 0.222-0.454 0.54-0.608 0.956s-0.262 0.924-0.328 1.52c-0.064 0.598-0.096 1.27-0.096 2.02 0 1.76 0.162 3.05 0.49 3.88 0.326 0.826 0.834 1.24 1.52 1.24 0.654 0 1.14-0.388 1.45-1.16s0.474-1.98 0.474-3.6c0-1.24-0.08-2.25-0.242-3.02s-0.388-1.32-0.678-1.66c-0.288-0.334-0.638-0.502-1.05-0.502zm0.042-0.69c1.18 0 2.06 0.458 2.64 1.37 0.578 0.914 0.868 2.29 0.868 4.14 0 1.91-0.31 3.36-0.93 4.34-0.618 0.982-1.52 1.47-2.71 1.47-1.17 0-2.04-0.46-2.61-1.38s-0.856-2.31-0.856-4.18c0-0.994 0.088-1.85 0.264-2.58s0.422-1.32 0.738-1.8c0.316-0.472 0.696-0.822 1.14-1.05 0.444-0.228 0.928-0.342 1.45-0.342z\"/><path d=\"m607 182 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\"/><path d=\"m490 72.2h1.25v15.1h-1.25v-15.1z\"/><path d=\"m499 72.6h0.446c-0.032 0.519-0.048 1.24-0.048 2.16v6.92c0 0.313 0.018 0.55 0.052 0.709 0.036 0.159 0.098 0.289 0.186 0.389 0.09 0.1 0.218 0.178 0.386 0.235 0.168 0.0566 0.378 0.0998 0.632 0.13s0.588 0.05 1 0.0608v0.592h-5.99v-0.592c0.6-0.027 1.03-0.0634 1.29-0.109 0.256-0.046 0.452-0.115 0.588-0.207 0.134-0.0918 0.234-0.221 0.296-0.389 0.062-0.167 0.092-0.44 0.092-0.819v-6.57c0-0.216-0.038-0.374-0.114-0.474-0.074-0.0998-0.186-0.15-0.332-0.15-0.172 0-0.418 0.089-0.736 0.267-0.32 0.178-0.714 0.424-1.18 0.738l-0.358-0.624 3.79-2.26z\"/><path d=\"m504 71.5 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\"/><path d=\"m559 115h1.25v15.1h-1.25v-15.1z\"/><path d=\"m567 117h1.15v4.67h4.42v1.08h-4.42v4.67h-1.15v-4.67h-4.42v-1.08h4.42v-4.67z\"/><path d=\"m576 114 3.23 7.28v0.6l-3.23 7.29-0.866-0.308 2.6-7.28-2.6-7.29 0.866-0.292z\"/><path d=\"m559 248h1.25v15.1h-1.25v-15.1z\"/><path d=\"m563 255h9.99v1.08h-9.99v-1.08z\"/><path d=\"m576 247 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\"/><path d=\"m483 292h9.99v1.08h-9.99v-1.08z\"/><path d=\"m496 285h1.25v15.1h-1.25v-15.1z\"/><path d=\"m505 286h0.446c-0.032 0.52-0.048 1.24-0.048 2.16v6.92c0 0.314 0.018 0.55 0.052 0.71 0.036 0.16 0.098 0.29 0.186 0.39 0.09 0.1 0.218 0.178 0.386 0.234 0.168 0.058 0.378 0.1 0.632 0.13s0.588 0.05 1 0.06v0.592h-5.99v-0.592c0.598-0.026 1.03-0.062 1.28-0.108s0.452-0.116 0.588-0.208c0.134-0.092 0.234-0.22 0.296-0.388s0.092-0.44 0.092-0.82v-6.57c0-0.216-0.038-0.374-0.114-0.474-0.074-0.1-0.186-0.15-0.332-0.15-0.172 0-0.418 0.088-0.736 0.266-0.32 0.18-0.714 0.424-1.18 0.738l-0.358-0.624 3.79-2.26z\"/><path d=\"m510 285 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\"/><path d=\"m379 189h9.99v1.08h-9.99v-1.08z\"/><path d=\"m392 183h1.25v15.1h-1.25v-15.1z\"/><path d=\"m400 184c-0.372 0-0.684 0.11-0.936 0.332-0.25 0.222-0.454 0.54-0.608 0.956s-0.262 0.924-0.328 1.52c-0.064 0.598-0.098 1.27-0.098 2.02 0 1.76 0.164 3.05 0.492 3.88 0.326 0.826 0.832 1.24 1.52 1.24 0.652 0 1.14-0.388 1.45-1.16s0.474-1.98 0.474-3.6c0-1.24-0.08-2.25-0.242-3.02-0.164-0.77-0.388-1.32-0.678-1.66-0.288-0.334-0.638-0.502-1.05-0.502zm0.042-0.69c1.18 0 2.06 0.458 2.64 1.37 0.578 0.914 0.866 2.29 0.866 4.14 0 1.91-0.308 3.36-0.928 4.34-0.618 0.982-1.52 1.47-2.71 1.47-1.17 0-2.04-0.46-2.61-1.38s-0.856-2.31-0.856-4.18c0-0.994 0.088-1.85 0.264-2.58s0.422-1.32 0.738-1.8c0.316-0.472 0.696-0.822 1.14-1.05 0.444-0.228 0.926-0.342 1.45-0.342z\"/><path d=\"m406 182 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\"/><path d=\"m408 254h9.99v1.08h-9.99v-1.08z\"/><path d=\"m421 248h1.25v15.1h-1.25v-15.1z\"/><path d=\"m430 250h1.15v4.67h4.42v1.08h-4.42v4.67h-1.15v-4.67h-4.42v-1.08h4.42v-4.67z\"/><path d=\"m439 247 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\"/><path d=\"m408 121h9.99v1.08h-9.99v-1.08z\"/><path d=\"m421 115h1.25v15.1h-1.25v-15.1z\"/><path d=\"m425 121h9.99v1.08h-9.99v-1.08z\"/><path d=\"m438 114 3.23 7.28v0.599l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\"/></g></g><defs><clipPath id=\"clip0_5_635\"><rect transform=\"translate(.6 .2)\" width=\"737\" height=\"374\" fill=\"#fff\"/></clipPath></defs></svg>\n\n3. Apply the $H$ gate to the qubit again.\n Now, you get the $\\ket{0}$ state for both constant scenarios and the $\\ket{1}$ state for both variable scenarios!\n <br/>\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"679\" height=\"365\" fill=\"none\" version=\"1.1\" viewBox=\"0 0 679 365\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_6_812)\"><g clip-rule=\"evenodd\" fill-rule=\"evenodd\"><path d=\"m24.1 163c0-76.8 62.3-139 139-139 76.8 0 139 62.3 139 139 0 76.8-62.3 139-139 139-76.8 0-139-62.3-139-139z\" stroke=\"#747474\" stroke-miterlimit=\"8\" stroke-width=\"1.38\"/><path d=\"m296 163c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9-2.64 5.9-5.9 5.9-5.9-2.64-5.9-5.9z\" fill=\"#0070C0\"/><path d=\"m157 23.8c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9c0 3.26-2.64 5.9-5.9 5.9s-5.9-2.64-5.9-5.9z\" fill=\"#fff\" stroke=\"#000\" stroke-miterlimit=\"8\" stroke-width=\"1.38\"/><path d=\"m18 163c0-3.26 2.69-5.9 6-5.9 3.31 0 6 2.64 6 5.9s-2.69 5.9-6 5.9c-3.31 0-6-2.64-6-5.9z\" fill=\"#0070C0\"/><g fill=\"#fff\" stroke-miterlimit=\"8\" stroke-width=\"1.38\"><path d=\"m157 302c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9-2.64 5.9-5.9 5.9-5.9-2.64-5.9-5.9z\" stroke=\"#000\"/><path d=\"m257 66.6c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9c0 3.26-2.69 5.9-6 5.9s-6-2.64-6-5.9z\" stroke=\"#0070C0\"/><path d=\"m257 260c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9-2.69 5.9-6 5.9-6-2.64-6-5.9z\" stroke=\"#000\"/><path d=\"m57.3 66.6c0-3.26 2.69-5.9 6-5.9 3.31 0 6 2.64 6 5.9 0 3.26-2.69 5.9-6 5.9-3.31 0-6-2.64-6-5.9z\" stroke=\"#000\"/><path d=\"m57.3 260c0-3.26 2.69-5.9 6-5.9 3.31 0 6 2.64 6 5.9s-2.69 5.9-6 5.9c-3.31 0-6-2.64-6-5.9z\" stroke=\"#0070C0\"/></g><path d=\"m375 163c0-76.8 62.2-139 139-139s139 62.3 139 139c0 76.8-62.2 139-139 139s-139-62.3-139-139z\" stroke=\"#747474\" stroke-miterlimit=\"8\" stroke-width=\"1.38\"/><path d=\"m647 163c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9-2.69 5.9-6 5.9-6-2.64-6-5.9z\" fill=\"#fff\" stroke=\"#000\" stroke-miterlimit=\"8\" stroke-width=\"1.38\"/><path d=\"m508 23.7c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9c0 3.26-2.69 5.9-6 5.9s-6-2.64-6-5.9z\" fill=\"#0070C0\"/><path d=\"m369 163c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9-2.64 5.9-5.9 5.9-5.9-2.64-5.9-5.9z\" fill=\"#fff\" stroke=\"#000\" stroke-miterlimit=\"8\" stroke-width=\"1.38\"/><path d=\"m508 302c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9-2.69 5.9-6 5.9-6-2.64-6-5.9z\" fill=\"#0070C0\"/><g fill=\"#fff\" stroke-miterlimit=\"8\" stroke-width=\"1.38\"><path d=\"m608 66.6c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9c0 3.26-2.69 5.9-6 5.9s-6-2.64-6-5.9z\" stroke=\"#000\"/><path d=\"m608 260c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9-2.69 5.9-6 5.9-6-2.64-6-5.9z\" stroke=\"#0070C0\"/><path d=\"m408 66.6c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9c0 3.26-2.64 5.9-5.9 5.9s-5.9-2.64-5.9-5.9z\" stroke=\"#0070C0\"/><path d=\"m408 260c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9-2.64 5.9-5.9 5.9-5.9-2.64-5.9-5.9z\" stroke=\"#000\"/></g></g><g fill=\"#0070C0\"><path d=\"m309 162h15.1l-0.688 0.688v-96.5l0.688 0.688h-55.3v-1.38h56v97.9h-15.8v-1.38zm5.06 5.8-6.13-5.11 6.13-5.11c0.292-0.242 0.726-0.202 0.968 0.088 0.244 0.292 0.204 0.726-0.088 0.97l-5.5 4.58v-1.06l5.5 4.58c0.292 0.242 0.332 0.676 0.088 0.968-0.242 0.292-0.676 0.33-0.968 0.088z\"/><path d=\"m17 164h-15.4l0.688-0.688v96.5l-0.688-0.688h55.7v1.38h-56.3v-97.9h16.1v1.38zm-5.06-5.8 6.13 5.11-6.13 5.11c-0.292 0.242-0.725 0.204-0.968-0.088-0.243-0.292-0.204-0.726 0.088-0.968l5.5-4.58v1.06l-5.5-4.58c-0.292-0.242-0.331-0.676-0.088-0.968 0.243-0.292 0.677-0.33 0.968-0.088z\"/><path d=\"m620 259h57.4l-0.688 0.686v-258l0.688 0.687h-163l0.688-0.687v15.4h-1.38v-16.1h165v260h-58.1v-1.37zm-101-247-5.11 6.13-5.11-6.13c-0.242-0.292-0.204-0.725 0.088-0.968 0.292-0.243 0.726-0.204 0.968 0.088l4.58 5.5h-1.06l4.58-5.5c0.242-0.292 0.676-0.331 0.968-0.088 0.292 0.243 0.33 0.677 0.088 0.968z\"/><path d=\"m408 67.4h-51.1l0.686-0.688v258l-0.686-0.688h157l-0.686 0.688v-15.4h1.37v16.1h-158v-259h51.8v1.38zm101 247 5.11-6.13 5.11 6.13c0.244 0.292 0.204 0.726-0.088 0.97-0.292 0.242-0.724 0.202-0.968-0.088l-4.58-5.5h1.06l-4.58 5.5c-0.244 0.29-0.676 0.33-0.968 0.088-0.292-0.244-0.332-0.678-0.088-0.97z\"/></g><path d=\"m135 350c-0.94 0.455-2.17 0.683-3.68 0.683-1.98 0-3.53-0.581-4.66-1.74s-1.7-2.71-1.7-4.64c0-2.06 0.635-3.73 1.9-5.01 1.28-1.28 2.93-1.92 4.96-1.92 1.26 0 2.32 0.159 3.18 0.476v2.79c-0.862-0.515-1.84-0.773-2.95-0.773-1.21 0-2.19 0.381-2.93 1.14-0.743 0.761-1.11 1.79-1.11 3.09 0 1.25 0.35 2.24 1.05 2.98 0.7 0.737 1.64 1.1 2.83 1.1 1.13 0 2.17-0.276 3.11-0.827v2.65zm6.35 0.683c-1.53 0-2.74-0.429-3.62-1.28-0.875-0.863-1.31-2.03-1.31-3.5 0-1.52 0.455-2.71 1.37-3.57 0.91-0.862 2.14-1.29 3.69-1.29 1.53 0 2.72 0.432 3.59 1.29 0.868 0.857 1.3 1.99 1.3 3.4 0 1.53-0.45 2.73-1.35 3.62-0.893 0.886-2.12 1.33-3.68 1.33zm0.072-7.48c-0.671 0-1.19 0.23-1.56 0.691-0.371 0.462-0.557 1.11-0.557 1.96 0 1.77 0.713 2.65 2.14 2.65 1.36 0 2.04-0.907 2.04-2.72 0-1.72-0.686-2.58-2.06-2.58zm15.7 7.25h-2.83v-5.11c0-1.43-0.509-2.14-1.53-2.14-0.492 0-0.896 0.188-1.21 0.566-0.318 0.377-0.477 0.856-0.477 1.44v5.25h-2.84v-9.2h2.84v1.46h0.036c0.677-1.12 1.66-1.68 2.96-1.68 2.04 0 3.06 1.26 3.06 3.79v5.63zm1.65-0.243v-2.3c0.467 0.282 0.931 0.492 1.39 0.629 0.467 0.138 0.907 0.207 1.32 0.207 0.503 0 0.899-0.069 1.19-0.207 0.294-0.137 0.441-0.347 0.441-0.629 0-0.179-0.066-0.329-0.198-0.449s-0.303-0.224-0.512-0.314c-0.204-0.09-0.429-0.171-0.674-0.243-0.246-0.072-0.482-0.153-0.71-0.242-0.365-0.138-0.689-0.285-0.97-0.441-0.276-0.161-0.509-0.347-0.701-0.557-0.186-0.209-0.329-0.452-0.431-0.727-0.096-0.276-0.144-0.602-0.144-0.98 0-0.515 0.111-0.958 0.332-1.33 0.228-0.372 0.528-0.674 0.899-0.908 0.377-0.239 0.806-0.413 1.28-0.521 0.485-0.114 0.988-0.171 1.51-0.171 0.407 0 0.821 0.033 1.24 0.099 0.419 0.06 0.832 0.15 1.24 0.27v2.19c-0.36-0.21-0.746-0.365-1.16-0.467-0.408-0.108-0.809-0.162-1.2-0.162-0.186 0-0.363 0.018-0.53 0.054-0.162 0.03-0.306 0.078-0.431 0.144-0.126 0.06-0.225 0.14-0.297 0.242-0.072 0.096-0.108 0.207-0.108 0.333 0 0.167 0.054 0.311 0.162 0.431s0.249 0.225 0.422 0.314c0.174 0.084 0.366 0.162 0.575 0.234 0.216 0.066 0.428 0.135 0.638 0.207 0.377 0.131 0.719 0.275 1.02 0.431 0.306 0.156 0.566 0.338 0.782 0.548 0.222 0.21 0.389 0.455 0.503 0.737 0.12 0.281 0.18 0.617 0.18 1.01 0 0.545-0.12 1.01-0.36 1.4-0.233 0.384-0.548 0.698-0.943 0.944-0.389 0.239-0.841 0.413-1.36 0.521-0.509 0.114-1.04 0.171-1.59 0.171-1.01 0-1.95-0.156-2.81-0.468zm14.3 0.135c-0.419 0.222-1.05 0.333-1.9 0.333-2 0-3-1.04-3-3.12v-4.21h-1.49v-2.09h1.49v-1.99l2.83-0.808v2.79h2.07v2.09h-2.07v3.72c0 0.958 0.38 1.44 1.14 1.44 0.299 0 0.608-0.086 0.925-0.26v2.1zm9.26 0.108h-2.69v-1.32h-0.036c-0.617 1.03-1.53 1.55-2.74 1.55-0.893 0-1.6-0.252-2.11-0.755-0.509-0.509-0.763-1.19-0.763-2.03 0-1.78 1.06-2.82 3.17-3.09l2.5-0.333c0-1.01-0.545-1.51-1.64-1.51-1.1 0-2.14 0.326-3.13 0.979v-2.14c0.395-0.204 0.934-0.383 1.62-0.539 0.689-0.156 1.32-0.234 1.88-0.234 2.62 0 3.94 1.31 3.94 3.93v5.5zm-2.67-3.74v-0.62l-1.67 0.215c-0.923 0.12-1.38 0.536-1.38 1.25 0 0.323 0.111 0.59 0.333 0.8 0.227 0.203 0.533 0.305 0.916 0.305 0.533 0 0.967-0.183 1.3-0.548 0.335-0.371 0.503-0.838 0.503-1.4zm13.8 3.74h-2.83v-5.11c0-1.43-0.509-2.14-1.53-2.14-0.491 0-0.895 0.188-1.21 0.566-0.317 0.377-0.476 0.856-0.476 1.44v5.25h-2.84v-9.2h2.84v1.46h0.036c0.677-1.12 1.66-1.68 2.96-1.68 2.04 0 3.06 1.26 3.06 3.79v5.63zm7.82-0.108c-0.419 0.222-1.05 0.333-1.9 0.333-2 0-3-1.04-3-3.12v-4.21h-1.49v-2.09h1.49v-1.99l2.83-0.808v2.79h2.07v2.09h-2.07v3.72c0 0.958 0.38 1.44 1.14 1.44 0.299 0 0.608-0.086 0.925-0.26v2.1z\" fill=\"#000\"/><path d=\"m491 338-4.44 12.9h-3.29l-4.38-12.9h3.13l2.69 8.97c0.144 0.485 0.23 0.913 0.26 1.28h0.054c0.042-0.402 0.135-0.842 0.279-1.32l2.67-8.93h3.04zm7.54 12.9h-2.69v-1.32h-0.036c-0.616 1.03-1.53 1.55-2.74 1.55-0.892 0-1.6-0.252-2.11-0.755-0.509-0.509-0.764-1.19-0.764-2.03 0-1.78 1.06-2.82 3.17-3.09l2.5-0.333c0-1.01-0.545-1.51-1.64-1.51-1.1 0-2.14 0.326-3.13 0.979v-2.14c0.395-0.204 0.934-0.383 1.62-0.539 0.689-0.156 1.32-0.234 1.88-0.234 2.62 0 3.94 1.31 3.94 3.93v5.5zm-2.67-3.74v-0.62l-1.67 0.215c-0.922 0.12-1.38 0.536-1.38 1.25 0 0.323 0.11 0.59 0.332 0.8 0.228 0.203 0.533 0.305 0.916 0.305 0.534 0 0.968-0.183 1.3-0.548 0.336-0.371 0.503-0.838 0.503-1.4zm10.9-2.9c-0.341-0.186-0.739-0.279-1.2-0.279-0.616 0-1.1 0.228-1.45 0.683-0.347 0.449-0.521 1.06-0.521 1.84v4.39h-2.84v-9.2h2.84v1.71h0.036c0.449-1.25 1.26-1.87 2.43-1.87 0.299 0 0.533 0.036 0.7 0.108v2.62zm2.84-4.02c-0.479 0-0.871-0.141-1.18-0.423-0.305-0.287-0.458-0.638-0.458-1.05 0-0.425 0.153-0.773 0.458-1.04 0.306-0.27 0.698-0.404 1.18-0.404 0.486 0 0.878 0.134 1.18 0.404 0.306 0.269 0.459 0.617 0.459 1.04 0 0.431-0.153 0.785-0.459 1.06-0.299 0.276-0.691 0.414-1.18 0.414zm1.4 10.7h-2.84v-9.2h2.84v9.2zm10 0h-2.69v-1.32h-0.036c-0.617 1.03-1.53 1.55-2.74 1.55-0.892 0-1.6-0.252-2.11-0.755-0.509-0.509-0.764-1.19-0.764-2.03 0-1.78 1.06-2.82 3.17-3.09l2.5-0.333c0-1.01-0.545-1.51-1.64-1.51-1.1 0-2.14 0.326-3.13 0.979v-2.14c0.396-0.204 0.935-0.383 1.62-0.539 0.688-0.156 1.31-0.234 1.88-0.234 2.62 0 3.94 1.31 3.94 3.93v5.5zm-2.67-3.74v-0.62l-1.67 0.215c-0.922 0.12-1.38 0.536-1.38 1.25 0 0.323 0.111 0.59 0.333 0.8 0.227 0.203 0.533 0.305 0.916 0.305 0.533 0 0.968-0.183 1.3-0.548 0.335-0.371 0.503-0.838 0.503-1.4zm7.79 2.67h-0.036v1.07h-2.84v-13.6h2.84v5.8h0.036c0.7-1.07 1.7-1.61 2.99-1.61 1.19 0 2.1 0.408 2.74 1.22 0.641 0.815 0.961 1.93 0.961 3.34 0 1.53-0.374 2.76-1.12 3.69s-1.75 1.39-3 1.39c-1.13 0-1.99-0.432-2.57-1.29zm-0.081-3.88v0.943c0 0.593 0.17 1.08 0.512 1.47 0.341 0.39 0.779 0.584 1.31 0.584 0.646 0 1.15-0.248 1.5-0.745 0.359-0.503 0.539-1.21 0.539-2.13 0-0.76-0.165-1.35-0.494-1.78-0.324-0.431-0.788-0.646-1.39-0.646-0.569 0-1.04 0.212-1.42 0.638-0.372 0.425-0.557 0.979-0.557 1.66zm11.5 4.95h-2.84v-13.6h2.84v13.6zm10.7-3.79h-6c0.096 1.34 0.937 2 2.52 2 1.01 0 1.9-0.239 2.67-0.719v2.05c-0.851 0.455-1.96 0.683-3.32 0.683-1.48 0-2.64-0.411-3.46-1.23-0.82-0.827-1.23-1.98-1.23-3.45 0-1.53 0.443-2.74 1.33-3.63 0.887-0.892 1.98-1.34 3.27-1.34 1.34 0 2.38 0.399 3.11 1.2 0.737 0.797 1.1 1.88 1.1 3.24v1.2zm-2.63-1.74c0-1.32-0.533-1.98-1.6-1.98-0.456 0-0.851 0.189-1.19 0.566-0.33 0.377-0.53 0.848-0.602 1.41h3.39z\" fill=\"#000\"/><g clip-rule=\"evenodd\" fill=\"#000\" fill-rule=\"evenodd\"><path d=\"m259 156h1.25v15.1h-1.25v-15.1z\"/><path d=\"m266 157c-0.372 0-0.684 0.11-0.936 0.332s-0.454 0.54-0.608 0.956-0.264 0.924-0.328 1.52c-0.064 0.598-0.098 1.27-0.098 2.02 0 1.76 0.164 3.05 0.49 3.88 0.328 0.824 0.834 1.24 1.52 1.24 0.654 0 1.14-0.386 1.46-1.16s0.474-1.98 0.474-3.6c0-1.24-0.082-2.25-0.244-3.02s-0.388-1.32-0.676-1.66c-0.29-0.334-0.64-0.502-1.05-0.502zm0.04-0.69c1.18 0 2.06 0.458 2.64 1.37 0.578 0.914 0.866 2.29 0.866 4.14 0 1.91-0.308 3.36-0.928 4.34-0.618 0.982-1.52 1.47-2.71 1.47-1.17 0-2.04-0.46-2.61-1.38s-0.856-2.31-0.856-4.18c0-0.994 0.088-1.85 0.264-2.58s0.42-1.32 0.738-1.8c0.316-0.472 0.694-0.822 1.14-1.05 0.442-0.228 0.926-0.342 1.45-0.342z\"/><path d=\"m273 156 3.23 7.28v0.598l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\"/><path d=\"m156 45.5h1.25v15.1h-1.25v-15.1z\"/><path d=\"m164 45.9h0.446c-0.032 0.519-0.05 1.24-0.05 2.16v6.92c0 0.313 0.018 0.55 0.054 0.709 0.034 0.159 0.096 0.289 0.186 0.389s0.218 0.178 0.384 0.235c0.168 0.0568 0.38 0.1 0.634 0.13 0.254 0.0298 0.588 0.05 1 0.0608v0.592h-5.99v-0.592c0.6-0.027 1.03-0.0634 1.29-0.109 0.256-0.0458 0.452-0.115 0.586-0.207 0.136-0.0918 0.234-0.222 0.296-0.389 0.062-0.168 0.094-0.44 0.094-0.819v-6.57c0-0.216-0.038-0.374-0.114-0.474s-0.186-0.15-0.332-0.15c-0.172 0-0.418 0.0892-0.738 0.267-0.318 0.178-0.712 0.424-1.18 0.738l-0.356-0.624 3.79-2.26z\"/><path d=\"m170 44.8 3.23 7.28v0.6l-3.23 7.29-0.866-0.308 2.6-7.28-2.6-7.29 0.866-0.292z\"/><path d=\"m224 88.4h1.25v15.1h-1.25v-15.1z\"/><path d=\"m233 90h1.15v4.67h4.42v1.08h-4.42v4.67h-1.15v-4.67h-4.42v-1.08h4.42v-4.67z\"/><path d=\"m242 87.6 3.23 7.28v0.6l-3.23 7.29-0.866-0.308 2.6-7.28-2.6-7.29 0.866-0.292z\"/><path d=\"m224 222h1.25v15.1h-1.25v-15.1z\"/><path d=\"m229 228h9.99v1.08h-9.99v-1.08z\"/><path d=\"m242 221 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\"/><path d=\"m149 265h9.99v1.08h-9.99v-1.08z\"/><path d=\"m162 259h1.25v15.1h-1.25v-15.1z\"/><path d=\"m171 259h0.446c-0.032 0.52-0.05 1.24-0.05 2.16v6.92c0 0.314 0.018 0.55 0.054 0.71 0.034 0.16 0.096 0.29 0.186 0.39s0.218 0.178 0.386 0.234c0.166 0.056 0.378 0.1 0.632 0.13s0.588 0.05 1 0.06v0.592h-5.99v-0.592c0.6-0.026 1.03-0.062 1.29-0.108 0.256-0.046 0.452-0.116 0.586-0.208 0.136-0.092 0.234-0.222 0.296-0.388 0.062-0.168 0.094-0.44 0.094-0.82v-6.57c0-0.216-0.038-0.374-0.114-0.474s-0.186-0.15-0.332-0.15c-0.172 0-0.418 0.088-0.738 0.266-0.318 0.178-0.712 0.424-1.18 0.738l-0.358-0.624 3.79-2.26z\"/><path d=\"m176 258 3.23 7.28v0.6l-3.23 7.29-0.866-0.308 2.6-7.28-2.6-7.29 0.866-0.292z\"/><path d=\"m44.7 163h9.99v1.08h-9.99v-1.08z\"/><path d=\"m57.9 156h1.25v15.1h-1.25v-15.1z\"/><path d=\"m65.7 157c-0.373 0-0.685 0.11-0.936 0.332s-0.454 0.54-0.608 0.956-0.264 0.924-0.328 1.52c-0.0648 0.598-0.0972 1.27-0.0972 2.02 0 1.76 0.163 3.05 0.49 3.88 0.327 0.824 0.833 1.24 1.52 1.24 0.654 0 1.14-0.386 1.45-1.16 0.316-0.776 0.474-1.98 0.474-3.6 0-1.24-0.081-2.25-0.243-3.02-0.162-0.77-0.388-1.32-0.677-1.66-0.289-0.334-0.639-0.502-1.05-0.502zm0.0406-0.69c1.18 0 2.06 0.458 2.64 1.37 0.578 0.914 0.867 2.29 0.867 4.14 0 1.91-0.309 3.36-0.928 4.34-0.619 0.982-1.52 1.47-2.71 1.47-1.17 0-2.04-0.46-2.61-1.38-0.57-0.918-0.855-2.31-0.855-4.18 0-0.994 0.0878-1.85 0.263-2.58s0.422-1.32 0.738-1.8c0.316-0.472 0.696-0.822 1.14-1.05 0.443-0.228 0.927-0.342 1.45-0.342z\"/><path d=\"m72 156 3.23 7.28v0.598l-3.23 7.29-0.867-0.308 2.6-7.28-2.6-7.29 0.867-0.292z\"/><path d=\"m74.1 228h9.99v1.08h-9.99v-1.08z\"/><path d=\"m87.3 221h1.25v15.1h-1.25v-15.1z\"/><path d=\"m96.2 223h1.15v4.67h4.42v1.08h-4.42v4.67h-1.15v-4.67h-4.42v-1.08h4.42v-4.67z\"/><path d=\"m105 220 3.23 7.28v0.598l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\"/><path d=\"m73.4 94.2h9.99v1.08h-9.99v-1.08z\"/><path d=\"m86.6 87.9h1.25v15.1h-1.25v-15.1z\"/><path d=\"m91.1 94.2h9.99v1.08h-9.99v-1.08z\"/><path d=\"m104 87.2 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\"/><path d=\"m608 156h1.25v15.1h-1.25v-15.1z\"/><path d=\"m616 157c-0.374 0-0.686 0.11-0.936 0.332-0.252 0.222-0.454 0.54-0.608 0.956s-0.264 0.924-0.328 1.52c-0.066 0.598-0.098 1.27-0.098 2.02 0 1.76 0.164 3.05 0.49 3.88 0.328 0.824 0.834 1.24 1.52 1.24 0.654 0 1.14-0.386 1.46-1.16s0.474-1.98 0.474-3.6c0-1.24-0.082-2.25-0.244-3.02s-0.388-1.32-0.676-1.66c-0.29-0.334-0.64-0.502-1.05-0.502zm0.04-0.69c1.18 0 2.06 0.458 2.64 1.37 0.578 0.914 0.868 2.29 0.868 4.14 0 1.91-0.31 3.36-0.928 4.34-0.618 0.982-1.52 1.47-2.71 1.47-1.17 0-2.04-0.46-2.61-1.38s-0.854-2.31-0.854-4.18c0-0.994 0.088-1.85 0.262-2.58 0.176-0.724 0.422-1.32 0.738-1.8 0.316-0.472 0.696-0.822 1.14-1.05 0.442-0.228 0.926-0.342 1.45-0.342z\"/><path d=\"m622 156 3.23 7.28v0.598l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\"/><path d=\"m505 45.5h1.25v15.1h-1.25v-15.1z\"/><path d=\"m514 45.9h0.444c-0.032 0.519-0.048 1.24-0.048 2.16v6.92c0 0.313 0.018 0.55 0.054 0.709 0.034 0.159 0.096 0.289 0.186 0.389 0.088 0.1 0.216 0.178 0.384 0.235s0.378 0.1 0.632 0.13c0.254 0.0298 0.59 0.05 1.01 0.0608v0.592h-5.99v-0.592c0.6-0.027 1.03-0.0634 1.28-0.109 0.258-0.0458 0.454-0.115 0.588-0.207 0.136-0.0918 0.234-0.222 0.296-0.389 0.062-0.168 0.094-0.44 0.094-0.819v-6.57c0-0.216-0.038-0.374-0.114-0.474s-0.186-0.15-0.332-0.15c-0.174 0-0.42 0.0892-0.738 0.267-0.318 0.178-0.714 0.424-1.18 0.738l-0.356-0.624 3.79-2.26z\"/><path d=\"m519 44.8 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\"/><path d=\"m574 88.4h1.25v15.1h-1.25v-15.1z\"/><path d=\"m583 90h1.15v4.67h4.42v1.08h-4.42v4.67h-1.15v-4.67h-4.42v-1.08h4.42v-4.67z\"/><path d=\"m591 87.6 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\"/><path d=\"m574 222h1.25v15.1h-1.25v-15.1z\"/><path d=\"m578 228h9.99v1.08h-9.99v-1.08z\"/><path d=\"m591 221 3.23 7.28v0.6l-3.23 7.29-0.866-0.308 2.6-7.28-2.6-7.29 0.866-0.292z\"/><path d=\"m498 265h9.99v1.08h-9.99v-1.08z\"/><path d=\"m511 259h1.25v15.1h-1.25v-15.1z\"/><path d=\"m520 259h0.446c-0.034 0.52-0.05 1.24-0.05 2.16v6.92c0 0.314 0.018 0.55 0.054 0.71 0.034 0.16 0.096 0.29 0.186 0.39 0.088 0.1 0.216 0.178 0.384 0.234s0.378 0.1 0.632 0.13 0.59 0.05 1.01 0.06v0.592h-5.99v-0.592c0.6-0.026 1.03-0.062 1.28-0.108 0.258-0.046 0.454-0.116 0.588-0.208 0.136-0.092 0.234-0.222 0.296-0.388 0.062-0.168 0.094-0.44 0.094-0.82v-6.57c0-0.216-0.038-0.374-0.114-0.474s-0.186-0.15-0.332-0.15c-0.174 0-0.42 0.088-0.738 0.266s-0.714 0.424-1.18 0.738l-0.356-0.624 3.79-2.26z\"/><path d=\"m525 258 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\"/><path d=\"m394 163h9.99v1.08h-9.99v-1.08z\"/><path d=\"m407 156h1.25v15.1h-1.25v-15.1z\"/><path d=\"m415 157c-0.374 0-0.686 0.11-0.936 0.332-0.252 0.222-0.454 0.54-0.608 0.956s-0.264 0.924-0.328 1.52c-0.066 0.598-0.098 1.27-0.098 2.02 0 1.76 0.164 3.05 0.49 3.88 0.328 0.824 0.834 1.24 1.52 1.24 0.654 0 1.14-0.386 1.45-1.16 0.318-0.776 0.476-1.98 0.476-3.6 0-1.24-0.082-2.25-0.244-3.02s-0.388-1.32-0.676-1.66c-0.29-0.334-0.64-0.502-1.05-0.502zm0.04-0.69c1.18 0 2.06 0.458 2.64 1.37 0.578 0.914 0.868 2.29 0.868 4.14 0 1.91-0.31 3.36-0.928 4.34-0.62 0.982-1.52 1.47-2.71 1.47-1.17 0-2.04-0.46-2.61-1.38s-0.854-2.31-0.854-4.18c0-0.994 0.088-1.85 0.262-2.58 0.176-0.724 0.422-1.32 0.738-1.8 0.316-0.472 0.696-0.822 1.14-1.05 0.442-0.228 0.926-0.342 1.45-0.342z\"/><path d=\"m421 156 3.23 7.28v0.598l-3.23 7.29-0.866-0.308 2.6-7.28-2.6-7.29 0.866-0.292z\"/><path d=\"m423 228h9.99v1.08h-9.99v-1.08z\"/><path d=\"m436 221h1.25v15.1h-1.25v-15.1z\"/><path d=\"m445 223h1.15v4.67h4.42v1.08h-4.42v4.67h-1.15v-4.67h-4.42v-1.08h4.42v-4.67z\"/><path d=\"m454 220 3.23 7.28v0.598l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\"/><path d=\"m423 94.2h9.99v1.08h-9.99v-1.08z\"/><path d=\"m436 87.9h1.25v15.1h-1.25v-15.1z\"/><path d=\"m440 94.2h9.99v1.08h-9.99v-1.08z\"/><path d=\"m453 87.2 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\"/></g></g><defs><clipPath id=\"clip0_6_812\"><rect transform=\"translate(.8 .6)\" width=\"677\" height=\"364\" fill=\"#fff\"/></clipPath></defs></svg>\n"
|
|
6654
|
+
"content": "\nYou can follow the steps of the algorithm for the constant and the balanced scenarios using a neat visualization. Since Deutsch algorithm deals only with states with real amplitudes, you can map all states on the unit circle, and follow the state evolution through the steps.\n\n1. Start with a qubit in the $\\ket{0}$ state and apply the $H$ gate to the qubit.\n <br/>\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"660\" height=\"334\" fill=\"none\" version=\"1.1\" viewBox=\"0 0 660 334\" xmlns=\"http://www.w3.org/2000/svg\">\n <style>\n :root {\n --kata-svg-stroke: #222;\n --kata-svg-fill: #fff;\n --kata-svg-path: #777;\n --kata-svg-accent: #06c;\n }\n @media(prefers-color-scheme: dark) {\n :root {\n --kata-svg-stroke: #eee;\n --kata-svg-fill: #111;\n --kata-svg-path: #bbb;\n --kata-svg-accent: #08f;\n }\n }\n .kata_svg_path {\n stroke: var(--kata-svg-path);\n }\n .kata_svg_text {\n fill: var(--kata-svg-stroke);\n }\n .kata_svg_point {\n fill: var(--kata-svg-fill);\n stroke: var(--kata-svg-stroke);\n }\n .kata_svg_fill_accent {\n fill: var(--kata-svg-accent);\n }\n .kata_svg_stroke_accent {\n stroke: var(--kata-svg-accent);\n }\n </style>\n <g clip-path=\"url(#clip0_4_498)\">\n <g clip-rule=\"evenodd\" fill-rule=\"evenodd\">\n <!-- Large circles -->\n <g class=\"kata_svg_path\">\n <path d=\"m7.1 146c0-76.8 62.3-139 139-139 76.8 0 139 62.3 139 139 0 76.8-62.3 139-139 139-76.8 0-139-62.3-139-139z\" stroke-miterlimit=\"8\" stroke-width=\"1.38\" />\n <path d=\"m358 146c0-76.8 62.2-139 139-139s139 62.3 139 139c0 76.8-62.2 139-139 139s-139-62.3-139-139z\" stroke-miterlimit=\"8\" stroke-width=\"1.38\" />\n </g>\n <!-- Normal points -->\n <g class=\"kata_svg_point\">\n <path d=\"m140 7.4c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9-2.64 5.9-5.9 5.9-5.9-2.64-5.9-5.9z\" />\n <path d=\"m1.3 147c0-3.26 2.64-5.9 5.9-5.9 3.26 0 5.9 2.64 5.9 5.9s-2.64 5.9-5.9 5.9c-3.26 0-5.9-2.64-5.9-5.9z\" />\n <path d=\"m140 286c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9-2.64 5.9-5.9 5.9-5.9-2.64-5.9-5.9z\" />\n <path d=\"m240 243c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9-2.69 5.9-6 5.9-6-2.64-6-5.9z\" />\n <path d=\"m40.3 50.2c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9c0 3.26-2.69 5.9-6 5.9s-6-2.64-6-5.9z\" />\n <path d=\"m40.3 243c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9-2.69 5.9-6 5.9-6-2.64-6-5.9z\" />\n <path d=\"m491 7.4c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9-2.69 5.9-6 5.9-6-2.64-6-5.9z\" />\n <path d=\"m352 147c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9-2.69 5.9-6 5.9-6-2.64-6-5.9z\" />\n <path d=\"m491 286c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9-2.69 5.9-6 5.9-6-2.64-6-5.9z\" />\n <path d=\"m591 243c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9-2.64 5.9-5.9 5.9-5.9-2.64-5.9-5.9z\" />\n <path d=\"m391 50.2c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9c0 3.26-2.64 5.9-5.9 5.9s-5.9-2.64-5.9-5.9z\" />\n <path d=\"m391 243c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9-2.64 5.9-5.9 5.9-5.9-2.64-5.9-5.9z\" />\n </g>\n <!-- Arrows -->\n <g class=\"kata_svg_fill_accent\" >\n <path d=\"m291 146h16.5l-0.688 0.688v-96.5l0.688 0.687h-54.6v-1.38h55.3v97.9h-17.2v-1.38zm-33-90.7-6.13-5.11 6.13-5.11c0.292-0.243 0.726-0.204 0.968 0.088 0.244 0.292 0.204 0.725-0.088 0.968l-5.5 4.58v-1.06l5.5 4.58c0.292 0.243 0.332 0.677 0.088 0.968-0.242 0.292-0.676 0.331-0.968 0.088z\" />\n <path d=\"m642 146h16.5l-0.688 0.688v-96.5l0.688 0.687h-54.6v-1.38h55.3v97.9h-17.2v-1.38zm-33-90.7-6.13-5.11 6.13-5.11c0.292-0.243 0.726-0.204 0.968 0.088 0.244 0.292 0.204 0.725-0.088 0.968l-5.5 4.58v-1.06l5.5 4.58c0.292 0.243 0.332 0.677 0.088 0.968-0.242 0.292-0.676 0.331-0.968 0.088z\" />\n </g>\n <!-- From points -->\n <g class=\"kata_svg_point kata_svg_stroke_accent\">\n <path d=\"m279 147c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9-2.69 5.9-6 5.9-6-2.64-6-5.9z\" />\n <path d=\"m630 147c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9-2.64 5.9-5.9 5.9-5.9-2.64-5.9-5.9z\" />\n </g>\n <!-- Target points -->\n <g class=\"kata_svg_fill_accent\">\n <path d=\"m240 50.1c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9c0 3.26-2.69 5.9-6 5.9s-6-2.64-6-5.9z\" />\n <path d=\"m591 50.1c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9c0 3.26-2.64 5.9-5.9 5.9s-5.9-2.64-5.9-5.9z\" />\n </g>\n </g>\n <g class=\"kata_svg_text\" clip-rule=\"evenodd\" fill-rule=\"evenodd\">\n <!-- Legend text -->\n <path d=\"m120 319c-0.941 0.455-2.17 0.683-3.68 0.683-1.98 0-3.53-0.581-4.66-1.74s-1.7-2.71-1.7-4.64c0-2.06 0.635-3.73 1.9-5.01 1.28-1.28 2.93-1.92 4.96-1.92 1.26 0 2.32 0.159 3.18 0.476v2.79c-0.863-0.515-1.84-0.773-2.95-0.773-1.21 0-2.19 0.381-2.93 1.14-0.743 0.761-1.11 1.79-1.11 3.09 0 1.25 0.35 2.24 1.05 2.98 0.701 0.737 1.64 1.1 2.83 1.1 1.13 0 2.17-0.276 3.11-0.827v2.65zm6.35 0.683c-1.53 0-2.74-0.429-3.62-1.28-0.875-0.863-1.31-2.03-1.31-3.5 0-1.52 0.455-2.71 1.37-3.57 0.91-0.862 2.14-1.29 3.69-1.29 1.53 0 2.73 0.432 3.59 1.29 0.869 0.857 1.3 1.99 1.3 3.4 0 1.53-0.449 2.73-1.35 3.62-0.892 0.886-2.12 1.33-3.67 1.33zm0.071-7.48c-0.67 0-1.19 0.23-1.56 0.691-0.371 0.462-0.557 1.11-0.557 1.96 0 1.77 0.713 2.65 2.14 2.65 1.36 0 2.04-0.907 2.04-2.72 0-1.72-0.686-2.58-2.06-2.58zm15.7 7.25h-2.83v-5.11c0-1.43-0.509-2.14-1.53-2.14-0.491 0-0.896 0.188-1.21 0.566-0.318 0.377-0.476 0.856-0.476 1.44v5.25h-2.84v-9.2h2.84v1.46h0.036c0.676-1.12 1.66-1.68 2.96-1.68 2.04 0 3.05 1.26 3.05 3.79v5.63zm1.65-0.243v-2.3c0.468 0.282 0.932 0.492 1.39 0.629 0.467 0.138 0.907 0.207 1.32 0.207 0.503 0 0.898-0.069 1.19-0.207 0.293-0.137 0.44-0.347 0.44-0.629 0-0.179-0.066-0.329-0.198-0.449s-0.302-0.224-0.512-0.314c-0.204-0.09-0.428-0.171-0.674-0.243-0.245-0.072-0.482-0.153-0.71-0.242-0.365-0.138-0.688-0.285-0.97-0.441-0.275-0.161-0.509-0.347-0.701-0.557-0.185-0.209-0.329-0.452-0.431-0.727-0.096-0.276-0.144-0.602-0.144-0.98 0-0.515 0.111-0.958 0.333-1.33 0.227-0.372 0.527-0.674 0.898-0.908 0.378-0.239 0.806-0.413 1.28-0.521 0.485-0.114 0.988-0.171 1.51-0.171 0.408 0 0.821 0.033 1.24 0.099 0.419 0.06 0.833 0.15 1.24 0.27v2.19c-0.359-0.21-0.746-0.365-1.16-0.467-0.407-0.108-0.809-0.162-1.2-0.162-0.186 0-0.362 0.018-0.53 0.054-0.162 0.03-0.305 0.078-0.431 0.144-0.126 0.06-0.225 0.14-0.297 0.242-0.072 0.096-0.107 0.207-0.107 0.333 0 0.167 0.053 0.311 0.161 0.431s0.249 0.225 0.422 0.314c0.174 0.084 0.366 0.162 0.575 0.234 0.216 0.066 0.429 0.135 0.638 0.207 0.378 0.131 0.719 0.275 1.02 0.431 0.305 0.156 0.566 0.338 0.781 0.548 0.222 0.21 0.39 0.455 0.503 0.737 0.12 0.281 0.18 0.617 0.18 1.01 0 0.545-0.12 1.01-0.359 1.4-0.234 0.384-0.548 0.698-0.944 0.944-0.389 0.239-0.841 0.413-1.36 0.521-0.509 0.114-1.04 0.171-1.59 0.171-1.01 0-1.95-0.156-2.81-0.468zm14.3 0.135c-0.42 0.222-1.05 0.333-1.9 0.333-2 0-3-1.04-3-3.12v-4.21h-1.49v-2.09h1.49v-1.99l2.83-0.808v2.79h2.07v2.09h-2.07v3.72c0 0.958 0.38 1.44 1.14 1.44 0.3 0 0.608-0.086 0.926-0.26v2.1zm9.26 0.108h-2.69v-1.32h-0.036c-0.617 1.03-1.53 1.55-2.74 1.55-0.893 0-1.6-0.252-2.11-0.755-0.51-0.509-0.764-1.19-0.764-2.03 0-1.78 1.06-2.82 3.17-3.09l2.5-0.333c0-1.01-0.545-1.51-1.64-1.51-1.1 0-2.14 0.326-3.13 0.979v-2.14c0.396-0.204 0.935-0.383 1.62-0.539 0.688-0.156 1.31-0.234 1.88-0.234 2.62 0 3.94 1.31 3.94 3.93v5.5zm-2.67-3.74v-0.62l-1.67 0.215c-0.922 0.12-1.38 0.536-1.38 1.25 0 0.323 0.111 0.59 0.333 0.8 0.227 0.203 0.533 0.305 0.916 0.305 0.533 0 0.968-0.183 1.3-0.548 0.335-0.371 0.503-0.838 0.503-1.4zm13.8 3.74h-2.83v-5.11c0-1.43-0.509-2.14-1.53-2.14-0.492 0-0.896 0.188-1.21 0.566-0.318 0.377-0.476 0.856-0.476 1.44v5.25h-2.84v-9.2h2.84v1.46h0.036c0.676-1.12 1.66-1.68 2.96-1.68 2.04 0 3.06 1.26 3.06 3.79v5.63zm7.82-0.108c-0.419 0.222-1.05 0.333-1.9 0.333-2 0-3-1.04-3-3.12v-4.21h-1.49v-2.09h1.49v-1.99l2.83-0.808v2.79h2.07v2.09h-2.07v3.72c0 0.958 0.38 1.44 1.14 1.44 0.3 0 0.608-0.086 0.925-0.26v2.1z\" />\n <path d=\"m476 307-4.44 12.9h-3.29l-4.38-12.9h3.13l2.69 8.97c0.143 0.485 0.23 0.913 0.26 1.28h0.054c0.042-0.402 0.135-0.842 0.279-1.32l2.67-8.93h3.04zm7.54 12.9h-2.69v-1.32h-0.036c-0.617 1.03-1.53 1.55-2.74 1.55-0.892 0-1.6-0.252-2.11-0.755-0.509-0.509-0.764-1.19-0.764-2.03 0-1.78 1.06-2.82 3.17-3.09l2.5-0.333c0-1.01-0.545-1.51-1.64-1.51-1.1 0-2.14 0.326-3.13 0.979v-2.14c0.395-0.204 0.934-0.383 1.62-0.539 0.689-0.156 1.31-0.234 1.88-0.234 2.62 0 3.94 1.31 3.94 3.93v5.5zm-2.67-3.74v-0.62l-1.67 0.215c-0.922 0.12-1.38 0.536-1.38 1.25 0 0.323 0.11 0.59 0.332 0.8 0.228 0.203 0.533 0.305 0.916 0.305 0.533 0 0.968-0.183 1.3-0.548 0.336-0.371 0.503-0.838 0.503-1.4zm10.9-2.9c-0.341-0.186-0.739-0.279-1.2-0.279-0.617 0-1.1 0.228-1.45 0.683-0.348 0.449-0.521 1.06-0.521 1.84v4.39h-2.84v-9.2h2.84v1.71h0.036c0.449-1.25 1.26-1.87 2.42-1.87 0.3 0 0.534 0.036 0.701 0.108v2.62zm2.84-4.02c-0.479 0-0.871-0.141-1.18-0.423-0.305-0.287-0.458-0.638-0.458-1.05 0-0.425 0.153-0.773 0.458-1.04 0.306-0.27 0.698-0.404 1.18-0.404 0.485 0 0.878 0.134 1.18 0.404 0.306 0.269 0.458 0.617 0.458 1.04 0 0.431-0.152 0.785-0.458 1.06-0.299 0.276-0.692 0.414-1.18 0.414zm1.4 10.7h-2.84v-9.2h2.84v9.2zm10 0h-2.69v-1.32h-0.036c-0.617 1.03-1.53 1.55-2.74 1.55-0.893 0-1.6-0.252-2.11-0.755-0.51-0.509-0.764-1.19-0.764-2.03 0-1.78 1.06-2.82 3.17-3.09l2.5-0.333c0-1.01-0.545-1.51-1.64-1.51-1.1 0-2.14 0.326-3.13 0.979v-2.14c0.396-0.204 0.935-0.383 1.62-0.539 0.688-0.156 1.31-0.234 1.88-0.234 2.62 0 3.94 1.31 3.94 3.93v5.5zm-2.67-3.74v-0.62l-1.67 0.215c-0.922 0.12-1.38 0.536-1.38 1.25 0 0.323 0.111 0.59 0.333 0.8 0.227 0.203 0.533 0.305 0.916 0.305 0.533 0 0.968-0.183 1.3-0.548 0.335-0.371 0.503-0.838 0.503-1.4zm7.79 2.67h-0.036v1.07h-2.84v-13.6h2.84v5.8h0.036c0.7-1.07 1.7-1.61 2.99-1.61 1.19 0 2.1 0.408 2.74 1.22 0.64 0.815 0.961 1.93 0.961 3.34 0 1.53-0.374 2.76-1.12 3.69s-1.75 1.39-3 1.39c-1.13 0-1.99-0.432-2.57-1.29zm-0.081-3.88v0.943c0 0.593 0.17 1.08 0.512 1.47 0.341 0.39 0.778 0.584 1.31 0.584 0.647 0 1.15-0.248 1.5-0.745 0.359-0.503 0.539-1.21 0.539-2.13 0-0.76-0.165-1.35-0.494-1.78-0.324-0.431-0.788-0.646-1.39-0.646-0.569 0-1.04 0.212-1.42 0.638-0.372 0.425-0.557 0.979-0.557 1.66zm11.5 4.95h-2.84v-13.6h2.84v13.6zm10.7-3.79h-6c0.095 1.34 0.937 2 2.52 2 1.01 0 1.9-0.239 2.67-0.719v2.05c-0.851 0.455-1.96 0.683-3.32 0.683-1.48 0-2.64-0.411-3.46-1.23-0.82-0.827-1.23-1.98-1.23-3.45 0-1.53 0.443-2.74 1.33-3.63 0.887-0.892 1.98-1.34 3.27-1.34 1.34 0 2.38 0.399 3.11 1.2 0.737 0.797 1.1 1.88 1.1 3.24v1.2zm-2.63-1.74c0-1.32-0.533-1.98-1.6-1.98-0.456 0-0.851 0.189-1.19 0.566-0.33 0.377-0.53 0.848-0.602 1.41h3.39z\" />\n <!-- Ket text -->\n <path d=\"m242 141h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m250 142c-0.374 0-0.686 0.11-0.936 0.332-0.252 0.222-0.454 0.54-0.608 0.956-0.154 0.418-0.264 0.924-0.328 1.52-0.066 0.598-0.098 1.27-0.098 2.02 0 1.76 0.164 3.05 0.49 3.88 0.328 0.824 0.834 1.24 1.52 1.24 0.654 0 1.14-0.388 1.45-1.16 0.316-0.774 0.476-1.98 0.476-3.6 0-1.24-0.082-2.25-0.244-3.02s-0.388-1.32-0.676-1.66c-0.29-0.334-0.64-0.502-1.05-0.502zm0.04-0.688c1.18 0 2.06 0.456 2.64 1.37 0.578 0.912 0.868 2.29 0.868 4.14 0 1.91-0.31 3.36-0.928 4.34-0.62 0.98-1.52 1.47-2.71 1.47-1.17 0-2.04-0.458-2.61-1.38-0.57-0.918-0.854-2.31-0.854-4.18 0-0.994 0.088-1.85 0.262-2.58 0.176-0.724 0.422-1.32 0.738-1.79 0.316-0.474 0.696-0.824 1.14-1.05 0.442-0.228 0.926-0.34 1.45-0.34z\" />\n <path d=\"m256 140 3.23 7.28v0.6l-3.23 7.29-0.866-0.308 2.6-7.28-2.6-7.29 0.866-0.29z\" />\n <path d=\"m140 30.2h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m148 30.6h0.446c-0.033 0.519-0.049 1.24-0.049 2.16v6.92c0 0.313 0.018 0.55 0.053 0.709s0.097 0.289 0.186 0.389 0.218 0.178 0.385 0.235c0.168 0.0568 0.378 0.1 0.632 0.13 0.254 0.0296 0.589 0.05 1 0.0608v0.592h-5.99v-0.592c0.599-0.0272 1.03-0.0636 1.28-0.11 0.257-0.0458 0.453-0.115 0.588-0.207s0.234-0.222 0.296-0.389c0.062-0.168 0.093-0.44 0.093-0.819v-6.57c0-0.216-0.038-0.374-0.114-0.474-0.075-0.1-0.186-0.15-0.332-0.15-0.173 0-0.419 0.0892-0.737 0.268-0.319 0.178-0.714 0.424-1.18 0.738l-0.356-0.624 3.79-2.26z\" />\n <path d=\"m154 29.4 3.23 7.28v0.6l-3.23 7.29-0.867-0.308 2.6-7.28-2.6-7.29 0.867-0.292z\" />\n <path d=\"m208 73h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m217 74.6h1.15v4.67h4.42v1.08h-4.42v4.67h-1.15v-4.67h-4.42v-1.08h4.42v-4.67z\" />\n <path d=\"m226 72.3 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\" />\n <path d=\"m208 206h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m213 212h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m226 205 3.23 7.28v0.598l-3.23 7.29-0.866-0.308 2.6-7.28-2.6-7.29 0.866-0.292z\" />\n <path d=\"m133 250h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m146 243h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m154 244h0.446c-0.033 0.518-0.049 1.24-0.049 2.16v6.92c0 0.312 0.018 0.55 0.053 0.708 0.035 0.16 0.097 0.29 0.186 0.39s0.218 0.178 0.385 0.234c0.168 0.058 0.378 0.1 0.632 0.13s0.59 0.05 1.01 0.062v0.59h-5.99v-0.59c0.599-0.028 1.03-0.064 1.28-0.11 0.257-0.046 0.453-0.114 0.588-0.206s0.234-0.222 0.296-0.39 0.093-0.44 0.093-0.818v-6.57c0-0.216-0.038-0.374-0.113-0.474-0.076-0.1-0.187-0.15-0.333-0.15-0.173 0-0.419 0.088-0.737 0.268-0.319 0.178-0.714 0.424-1.18 0.736l-0.356-0.624 3.79-2.26z\" />\n <path d=\"m160 243 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\" />\n <path d=\"m28.4 147h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m41.6 141h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m49.5 142c-0.373 0-0.685 0.11-0.936 0.332s-0.454 0.54-0.608 0.956c-0.154 0.418-0.263 0.924-0.328 1.52-0.0648 0.598-0.0972 1.27-0.0972 2.02 0 1.76 0.163 3.05 0.49 3.88 0.327 0.824 0.833 1.24 1.52 1.24 0.654 0 1.14-0.388 1.45-1.16 0.316-0.774 0.474-1.98 0.474-3.6 0-1.24-0.081-2.25-0.243-3.02-0.162-0.77-0.388-1.32-0.677-1.66-0.289-0.334-0.639-0.502-1.05-0.502zm0.0406-0.688c1.18 0 2.06 0.456 2.64 1.37 0.578 0.912 0.867 2.29 0.867 4.14 0 1.91-0.309 3.36-0.928 4.34-0.619 0.98-1.52 1.47-2.71 1.47-1.17 0-2.04-0.458-2.61-1.38-0.57-0.918-0.855-2.31-0.855-4.18 0-0.994 0.0878-1.85 0.263-2.58s0.422-1.32 0.738-1.79c0.316-0.474 0.696-0.824 1.14-1.05 0.443-0.228 0.927-0.34 1.45-0.34z\" />\n <path d=\"m55.8 140 3.23 7.28v0.6l-3.23 7.29-0.867-0.308 2.6-7.28-2.6-7.29 0.867-0.29z\" />\n <path d=\"m57.9 212h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m71 206h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m79.9 207h1.15v4.67h4.42v1.08h-4.42v4.67h-1.15v-4.67h-4.42v-1.08h4.42v-4.67z\" />\n <path d=\"m88.4 205 3.23 7.28v0.6l-3.23 7.29-0.867-0.308 2.6-7.28-2.6-7.29 0.867-0.29z\" />\n <path d=\"m57.2 78.8h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m70.3 72.5h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m74.8 78.8h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m87.7 71.8 3.23 7.28v0.6l-3.23 7.29-0.867-0.308 2.6-7.28-2.6-7.29 0.867-0.292z\" />\n <path d=\"m592 141h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m600 142c-0.372 0-0.684 0.11-0.936 0.332-0.25 0.222-0.454 0.54-0.608 0.956-0.154 0.418-0.262 0.924-0.328 1.52-0.064 0.598-0.098 1.27-0.098 2.02 0 1.76 0.164 3.05 0.492 3.88 0.326 0.824 0.832 1.24 1.52 1.24 0.652 0 1.14-0.388 1.45-1.16 0.316-0.774 0.474-1.98 0.474-3.6 0-1.24-0.08-2.25-0.242-3.02-0.164-0.77-0.388-1.32-0.678-1.66-0.288-0.334-0.638-0.502-1.05-0.502zm0.042-0.688c1.18 0 2.06 0.456 2.64 1.37 0.578 0.912 0.866 2.29 0.866 4.14 0 1.91-0.308 3.36-0.928 4.34-0.618 0.98-1.52 1.47-2.71 1.47-1.17 0-2.04-0.458-2.61-1.38-0.57-0.918-0.856-2.31-0.856-4.18 0-0.994 0.088-1.85 0.264-2.58s0.422-1.32 0.738-1.79c0.316-0.474 0.696-0.824 1.14-1.05 0.444-0.228 0.926-0.34 1.45-0.34z\" />\n <path d=\"m606 140 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.29z\" />\n <path d=\"m489 30.2h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m498 30.6h0.446c-0.032 0.519-0.048 1.24-0.048 2.16v6.92c0 0.313 0.016 0.55 0.052 0.709 0.034 0.159 0.098 0.289 0.186 0.389 0.09 0.1 0.218 0.178 0.386 0.235 0.166 0.0568 0.378 0.1 0.632 0.13 0.254 0.0296 0.588 0.05 1 0.0608v0.592h-5.99v-0.592c0.6-0.0272 1.03-0.0636 1.29-0.11 0.256-0.0458 0.452-0.115 0.588-0.207 0.134-0.0918 0.232-0.222 0.294-0.389 0.064-0.168 0.094-0.44 0.094-0.819v-6.57c0-0.216-0.038-0.374-0.114-0.474s-0.186-0.15-0.332-0.15c-0.172 0-0.418 0.0892-0.738 0.268-0.318 0.178-0.712 0.424-1.18 0.738l-0.358-0.624 3.79-2.26z\" />\n <path d=\"m504 29.4 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\" />\n <path d=\"m558 73h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m567 74.6h1.15v4.67h4.42v1.08h-4.42v4.67h-1.15v-4.67h-4.42v-1.08h4.42v-4.67z\" />\n <path d=\"m575 72.3 3.23 7.28v0.6l-3.23 7.29-0.866-0.308 2.6-7.28-2.6-7.29 0.866-0.292z\" />\n <path d=\"m558 206h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m563 212h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m575 205 3.23 7.28v0.598l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\" />\n <path d=\"m483 250h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m496 243h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m504 244h0.446c-0.032 0.518-0.048 1.24-0.048 2.16v6.92c0 0.312 0.016 0.55 0.052 0.708 0.036 0.16 0.098 0.29 0.186 0.39 0.09 0.1 0.218 0.178 0.386 0.234 0.166 0.058 0.378 0.1 0.632 0.13s0.588 0.05 1 0.062v0.59h-5.99v-0.59c0.6-0.028 1.03-0.064 1.29-0.11 0.256-0.046 0.452-0.114 0.588-0.206 0.134-0.092 0.232-0.222 0.294-0.39 0.064-0.168 0.094-0.44 0.094-0.818v-6.57c0-0.216-0.038-0.374-0.114-0.474-0.074-0.1-0.186-0.15-0.332-0.15-0.172 0-0.418 0.088-0.738 0.268-0.318 0.178-0.712 0.424-1.18 0.736l-0.358-0.624 3.79-2.26z\" />\n <path d=\"m510 243 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\" />\n <path d=\"m378 147h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m391 141h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m399 142c-0.372 0-0.684 0.11-0.936 0.332s-0.454 0.54-0.608 0.956c-0.154 0.418-0.264 0.924-0.328 1.52-0.064 0.598-0.098 1.27-0.098 2.02 0 1.76 0.164 3.05 0.492 3.88 0.326 0.824 0.832 1.24 1.52 1.24 0.654 0 1.14-0.388 1.46-1.16 0.316-0.774 0.474-1.98 0.474-3.6 0-1.24-0.082-2.25-0.244-3.02s-0.386-1.32-0.676-1.66c-0.29-0.334-0.638-0.502-1.05-0.502zm0.04-0.688c1.18 0 2.07 0.456 2.64 1.37 0.578 0.912 0.866 2.29 0.866 4.14 0 1.91-0.308 3.36-0.928 4.34-0.618 0.98-1.52 1.47-2.71 1.47-1.17 0-2.04-0.458-2.61-1.38-0.57-0.918-0.856-2.31-0.856-4.18 0-0.994 0.088-1.85 0.264-2.58s0.422-1.32 0.738-1.79c0.316-0.474 0.694-0.824 1.14-1.05 0.444-0.228 0.926-0.34 1.45-0.34z\" />\n <path d=\"m406 140 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.29z\" />\n <path d=\"m408 212h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m421 206h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m430 207h1.15v4.67h4.42v1.08h-4.42v4.67h-1.15v-4.67h-4.42v-1.08h4.42v-4.67z\" />\n <path d=\"m438 205 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.29z\" />\n <path d=\"m407 78.8h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m420 72.5h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m425 78.8h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m438 71.8 3.24 7.28v0.6l-3.24 7.29-0.866-0.308 2.6-7.28-2.6-7.29 0.866-0.292z\" />\n </g>\n </g>\n <defs>\n <clipPath id=\"clip0_4_498\">\n <rect transform=\"translate(.6 .8)\" width=\"659\" height=\"332\" />\n </clipPath>\n </defs>\n</svg>\n\n2. Apply the oracle. \n Here, the difference between the two scenarios becomes noticeable. In the constant scenario, $\\ket{0}$ and $\\ket{1}$ states get the same phase (either $1$ or $-1$), so the state remains the same or acquires a global phase of $-1$, which is physically the same state. In the variable scenario, zero and one states get different phases, so the state changes!\n <br/>\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"738\" height=\"374\" fill=\"none\" version=\"1.1\" viewBox=\"0 0 738 374\" xmlns=\"http://www.w3.org/2000/svg\">\n <style>\n :root {\n --kata-svg-stroke: #222;\n --kata-svg-fill: #fff;\n --kata-svg-path: #777;\n --kata-svg-accent: #06c;\n }\n @media(prefers-color-scheme: dark) {\n :root {\n --kata-svg-stroke: #eee;\n --kata-svg-fill: #111;\n --kata-svg-path: #bbb;\n --kata-svg-accent: #08f;\n }\n }\n .kata_svg_path {\n stroke: var(--kata-svg-path);\n }\n .kata_svg_text {\n fill: var(--kata-svg-stroke);\n }\n .kata_svg_point {\n fill: var(--kata-svg-fill);\n stroke: var(--kata-svg-stroke);\n }\n .kata_svg_fill_accent {\n fill: var(--kata-svg-accent);\n }\n .kata_svg_stroke_accent {\n stroke: var(--kata-svg-accent);\n }\n </style>\n <g clip-path=\"url(#clip0_5_635)\">\n <!-- Large circles -->\n <g class=\"kata_svg_path\">\n <path d=\"m7.3 189c0-76.8 62.3-139 139-139 76.8 0 139 62.3 139 139 0 76.8-62.3 139-139 139-76.8 0-139-62.3-139-139z\" />\n <path d=\"m358 189c0-76.8 62.2-139 139-139s139 62.3 139 139c0 76.8-62.2 139-139 139s-139-62.3-139-139z\" />\n </g>\n <!-- Normal points -->\n <g class=\"kata_svg_point\">\n <path d=\"m392 285c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9-2.64 5.9-5.9 5.9-5.9-2.64-5.9-5.9z\" />\n <path d=\"m630 189c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9-2.69 5.9-6 5.9-6-2.64-6-5.9z\" />\n <path d=\"m491 49.4c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9c0 3.26-2.69 5.9-6 5.9s-6-2.64-6-5.9z\" />\n <path d=\"m352 189c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9-2.64 5.9-5.9 5.9-5.9-2.64-5.9-5.9z\" />\n <path d=\"m491 328c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9-2.69 5.9-6 5.9-6-2.64-6-5.9z\" />\n <path d=\"m240 285c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9-2.69 5.9-6 5.9-6-2.64-6-5.9z\" />\n <path d=\"m40.5 92.4c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9-2.69 5.9-6 5.9-6-2.64-6-5.9z\" />\n <path d=\"m279 189c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9-2.69 5.9-6 5.9-6-2.64-6-5.9z\" />\n <path d=\"m140 49.4c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9c0 3.26-2.64 5.9-5.9 5.9s-5.9-2.64-5.9-5.9z\" />\n <path d=\"m1.3 189c0-3.26 2.69-5.9 6-5.9 3.31 0 6 2.64 6 5.9s-2.69 5.9-6 5.9c-3.31 0-6-2.64-6-5.9z\" />\n <path d=\"m140 328c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9-2.64 5.9-5.9 5.9-5.9-2.64-5.9-5.9z\" />\n </g>\n <!-- From points -->\n <g class=\"kata_svg_point kata_svg_stroke_accent\" >\n <path d=\"m591 92.4c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9-2.64 5.9-5.9 5.9-5.9-2.64-5.9-5.9z\" />\n </g>\n <g class=\"kata_svg_fill_accent\">\n <path d=\"m240 92.3c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9c0 3.26-2.69 5.9-6 5.9s-6-2.64-6-5.9z\" />\n <path d=\"m40.4 285c0-3.26 2.69-5.9 6-5.9 3.31 0 6 2.64 6 5.9s-2.69 5.9-6 5.9c-3.31 0-6-2.64-6-5.9z\" />\n <path d=\"m591 285c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9-2.64 5.9-5.9 5.9-5.9-2.64-5.9-5.9z\" />\n <path d=\"m391 92.3c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9c0 3.26-2.64 5.9-5.9 5.9s-5.9-2.64-5.9-5.9z\" />\n </g>\n <!-- Arrows -->\n <g class=\"kata_svg_fill_accent\" >\n <path d=\"m247 85.4v-15.1l-0.688 0.688h22.1l-0.687-0.688v22.1l0.687-0.688h-16.2v1.38h16.9v-23.5h-23.5v15.8h1.38zm-5.8-5.06 5.11 6.13 5.11-6.13c0.244-0.292 0.204-0.725-0.088-0.968-0.291-0.243-0.725-0.204-0.968 0.088l-4.58 5.5h1.06l-4.58-5.5c-0.243-0.292-0.677-0.331-0.968-0.088-0.292 0.243-0.332 0.677-0.088 0.968z\" />\n <path d=\"m199 136-105 102 0.96 0.985 105-102-0.96-0.984zm-104 95.6-0.826 7.94 7.96-0.619c0.378-0.03 0.661-0.361 0.632-0.739-0.03-0.379-0.36-0.662-0.739-0.632l-7.14 0.555 0.737 0.757 0.741-7.12c0.0392-0.378-0.235-0.716-0.613-0.755-0.378-0.04-0.716 0.235-0.755 0.612z\" />\n <path d=\"m603 91.6h58.4v194h-56.4v-1.37h55.8l-0.688 0.686v-193l0.688 0.688h-57.8v-1.38zm7.05 199-6.13-5.11 6.13-5.11c0.29-0.244 0.724-0.204 0.968 0.088 0.242 0.29 0.204 0.724-0.088 0.968l-5.5 4.58v-1.06l5.5 4.58c0.292 0.242 0.33 0.676 0.088 0.968-0.244 0.292-0.678 0.332-0.968 0.088z\" />\n <path d=\"m397 85.7v-56.4h201v56.6h-1.37v-55.9l0.686 0.688h-200l0.688-0.688v55.7h-1.38zm5.8-5.06-5.11 6.13-5.11-6.13c-0.242-0.292-0.204-0.725 0.088-0.968 0.292-0.243 0.726-0.204 0.968 0.0882l4.58 5.5h-1.06l4.58-5.5c0.242-0.292 0.676-0.331 0.968-0.0882 0.292 0.243 0.33 0.677 0.088 0.968z\" />\n </g>\n <!-- Equation text -->\n <g class=\"kata_svg_fill_accent\" clip-rule=\"evenodd\" fill-rule=\"evenodd\">\n <path d=\"m231 48.1c0.516 0 0.962 0.0422 1.34 0.126l-0.308 1.34h-0.696c-0.074-0.301-0.17-0.517-0.288-0.649-0.12-0.132-0.294-0.198-0.526-0.198-0.302 0-0.556 0.083-0.764 0.249s-0.386 0.413-0.534 0.74-0.284 0.767-0.412 1.32l-0.196 0.862h2.03l-0.174 0.799h-2.04l-1.47 6.9c-0.242 1.14-0.614 2-1.12 2.56-0.5 0.562-1.13 0.842-1.89 0.842-0.222 0-0.396-0.0132-0.522-0.0396l0.134-0.696c0.054 0.0158 0.178 0.0236 0.372 0.0236 0.238 0 0.44-0.0606 0.61-0.182 0.168-0.121 0.324-0.332 0.47-0.633 0.144-0.3 0.278-0.717 0.4-1.25l1.7-7.52h-1.34l0.118-0.546c0.354-0.0212 0.608-0.0502 0.764-0.087 0.154-0.037 0.276-0.0924 0.364-0.166 0.086-0.0738 0.16-0.17 0.22-0.289 0.062-0.119 0.138-0.336 0.234-0.653 0.28-0.949 0.71-1.66 1.29-2.14 0.582-0.477 1.32-0.716 2.23-0.716z\" />\n <path d=\"m250 47.3c1.54 0.406 2.72 1.28 3.55 2.63 0.826 1.35 1.24 2.97 1.24 4.88 0 1.91-0.41 3.53-1.23 4.88-0.822 1.34-2.01 2.22-3.55 2.62l-0.19-0.609c1.22-0.406 2.12-1.21 2.72-2.4 0.594-1.2 0.89-2.72 0.89-4.56 0-1.78-0.296-3.26-0.886-4.44s-1.51-1.97-2.74-2.38l0.214-0.609zm-10.1 0 0.214 0.609c-1.23 0.406-2.15 1.2-2.74 2.38-0.592 1.18-0.89 2.66-0.89 4.44 0 1.85 0.298 3.37 0.89 4.56 0.594 1.2 1.5 2 2.72 2.4l-0.19 0.609c-1.55-0.406-2.73-1.28-3.55-2.62-0.822-1.34-1.23-2.97-1.23-4.88 0-1.9 0.412-3.53 1.24-4.88s2.01-2.22 3.55-2.63z\" />\n <path d=\"m243 51.7c0.162 0 0.306 0.0184 0.43 0.0554 0.124 0.0368 0.234 0.0936 0.328 0.17 0.096 0.0764 0.18 0.175 0.254 0.297s0.144 0.286 0.214 0.494c0.068 0.208 0.132 0.467 0.194 0.775 0.06 0.308 0.114 0.629 0.162 0.961h0.078c0.506-0.712 0.89-1.23 1.15-1.56 0.26-0.33 0.48-0.575 0.66-0.736s0.352-0.274 0.518-0.34c0.166-0.0658 0.386-0.0988 0.66-0.0988 0.248 0 0.452 0.0316 0.61 0.0948l-0.316 1.43h-0.554c-0.032-0.221-0.124-0.332-0.278-0.332-0.046 0-0.098 0.0078-0.15 0.0238-0.052 0.0158-0.118 0.05-0.194 0.103-0.076 0.0526-0.188 0.156-0.336 0.308-0.148 0.153-0.314 0.34-0.498 0.562-0.184 0.222-0.374 0.454-0.57 0.696l-0.538 0.672c0.096 0.506 0.186 0.944 0.27 1.31s0.158 0.676 0.224 0.922 0.124 0.439 0.174 0.581c0.052 0.142 0.106 0.249 0.164 0.32 0.058 0.0712 0.116 0.121 0.178 0.15 0.06 0.029 0.13 0.0434 0.208 0.0434 0.144 0 0.282-0.0552 0.416-0.166s0.328-0.361 0.582-0.751l0.514 0.34c-0.37 0.548-0.704 0.935-1 1.16-0.298 0.224-0.652 0.336-1.06 0.336-0.226 0-0.418-0.0408-0.576-0.123-0.158-0.0816-0.296-0.212-0.412-0.391-0.116-0.179-0.218-0.459-0.308-0.839-0.164-0.675-0.264-1.19-0.3-1.55h-0.08c-0.558 0.786-0.974 1.35-1.25 1.69s-0.496 0.596-0.672 0.759-0.348 0.278-0.514 0.344c-0.166 0.066-0.386 0.099-0.66 0.099-0.248 0-0.452-0.0316-0.61-0.095l0.316-1.43h0.554c0.032 0.221 0.124 0.332 0.278 0.332 0.072 0 0.15-0.0198 0.232-0.0594s0.2-0.134 0.352-0.285c0.154-0.15 0.364-0.386 0.634-0.708 0.268-0.322 0.658-0.804 1.17-1.45-0.08-0.417-0.16-0.817-0.246-1.2-0.084-0.385-0.17-0.744-0.26-1.08s-0.164-0.55-0.222-0.653-0.12-0.174-0.186-0.214-0.148-0.0592-0.248-0.0592c-0.112 0-0.212 0.025-0.302 0.075-0.09 0.0502-0.186 0.137-0.292 0.261-0.106 0.124-0.246 0.318-0.42 0.581l-0.514-0.34c0.332-0.501 0.652-0.875 0.958-1.12 0.306-0.248 0.666-0.372 1.08-0.372z\" />\n <path d=\"m262 55.9h9.75v1.05h-9.75v-1.05zm0-3.28h9.75v1.05h-9.75v-1.05z\" />\n <path d=\"m281 49.2c-0.364 0-0.668 0.108-0.914 0.324-0.244 0.216-0.442 0.527-0.592 0.933-0.15 0.406-0.258 0.901-0.32 1.48-0.064 0.583-0.096 1.24-0.096 1.97 0 1.72 0.16 2.98 0.478 3.78 0.32 0.804 0.814 1.21 1.48 1.21 0.638 0 1.11-0.378 1.42-1.14s0.462-1.93 0.462-3.52c0-1.21-0.078-2.2-0.236-2.95-0.16-0.751-0.38-1.29-0.662-1.62s-0.622-0.49-1.02-0.49zm0.04-0.672c1.15 0 2.01 0.446 2.58 1.34s0.846 2.24 0.846 4.04c0 1.87-0.3 3.28-0.904 4.24s-1.49 1.44-2.65 1.44c-1.14 0-1.99-0.448-2.54-1.34-0.556-0.897-0.834-2.26-0.834-4.08 0-0.97 0.086-1.81 0.256-2.52 0.172-0.707 0.412-1.29 0.72-1.75 0.31-0.461 0.68-0.803 1.11-1.02s0.904-0.332 1.42-0.332z\" />\n <path d=\"m94.3 164c0.53 0 0.986 0.043 1.37 0.13l-0.316 1.38h-0.713c-0.0756-0.308-0.174-0.53-0.296-0.665s-0.301-0.203-0.539-0.203c-0.308 0-0.569 0.085-0.782 0.256-0.213 0.17-0.396 0.422-0.547 0.758-0.151 0.334-0.292 0.786-0.422 1.35l-0.203 0.882h2.08l-0.178 0.82h-2.09l-1.51 7.07c-0.249 1.17-0.63 2.05-1.14 2.62-0.513 0.574-1.16 0.862-1.94 0.862-0.227 0-0.405-0.012-0.535-0.04l0.138-0.714c0.054 0.016 0.181 0.026 0.381 0.026 0.243 0 0.451-0.064 0.624-0.188s0.334-0.34 0.482-0.648 0.285-0.734 0.409-1.28l1.74-7.71h-1.37l0.122-0.56c0.362-0.022 0.623-0.052 0.782-0.09s0.284-0.094 0.373-0.17c0.0892-0.076 0.165-0.174 0.227-0.296 0.0622-0.12 0.142-0.344 0.239-0.668 0.286-0.972 0.728-1.7 1.33-2.19 0.597-0.489 1.36-0.734 2.28-0.734z\" />\n <path d=\"m113 163c1.58 0.416 2.79 1.31 3.64 2.7 0.846 1.38 1.27 3.05 1.27 5 0 1.96-0.422 3.62-1.26 5-0.843 1.37-2.06 2.27-3.64 2.69l-0.195-0.624c1.25-0.416 2.18-1.24 2.78-2.46 0.608-1.23 0.911-2.79 0.911-4.68 0-1.83-0.302-3.34-0.907-4.55-0.606-1.21-1.54-2.02-2.81-2.44l0.219-0.624zm-10.3 0 0.219 0.624c-1.26 0.416-2.2 1.23-2.81 2.44-0.608 1.21-0.912 2.73-0.912 4.55 0 1.89 0.304 3.45 0.912 4.68 0.608 1.23 1.54 2.05 2.78 2.46l-0.194 0.624c-1.58-0.416-2.8-1.31-3.64-2.69-0.843-1.38-1.26-3.04-1.26-5 0-1.95 0.423-3.62 1.27-5 0.846-1.38 2.06-2.28 3.64-2.7z\" />\n <path d=\"m106 168c0.168 0 0.315 0.02 0.442 0.058s0.239 0.096 0.336 0.174c0.098 0.078 0.184 0.18 0.26 0.304 0.075 0.124 0.148 0.292 0.219 0.506 0.07 0.214 0.136 0.478 0.198 0.794s0.118 0.646 0.166 0.986h0.081c0.519-0.73 0.912-1.26 1.18-1.6 0.267-0.338 0.493-0.588 0.677-0.754 0.183-0.164 0.36-0.28 0.53-0.348 0.171-0.068 0.396-0.1 0.677-0.1 0.254 0 0.462 0.032 0.624 0.096l-0.324 1.47h-0.567c-0.033-0.228-0.127-0.342-0.284-0.342-0.049 0-0.1 0.01-0.154 0.026s-0.12 0.05-0.199 0.104c-0.078 0.054-0.193 0.16-0.344 0.316-0.151 0.158-0.322 0.35-0.511 0.576-0.189 0.228-0.383 0.464-0.583 0.714l-0.551 0.688c0.097 0.52 0.189 0.968 0.275 1.35 0.087 0.378 0.164 0.694 0.231 0.944 0.068 0.252 0.127 0.45 0.178 0.596 0.052 0.146 0.107 0.256 0.167 0.328 0.059 0.074 0.12 0.124 0.182 0.154s0.134 0.044 0.215 0.044c0.146 0 0.288-0.056 0.425-0.17 0.138-0.112 0.337-0.37 0.596-0.77l0.527 0.35c-0.378 0.562-0.72 0.956-1.02 1.19-0.306 0.23-0.669 0.346-1.09 0.346-0.232 0-0.429-0.042-0.591-0.126s-0.303-0.218-0.422-0.402-0.224-0.47-0.316-0.858c-0.167-0.692-0.27-1.22-0.308-1.59h-0.081c-0.573 0.806-0.998 1.38-1.28 1.73-0.278 0.352-0.507 0.612-0.689 0.78-0.181 0.166-0.356 0.284-0.526 0.352-0.171 0.068-0.396 0.102-0.677 0.102-0.254 0-0.462-0.034-0.624-0.098l0.324-1.47h0.567c0.033 0.228 0.127 0.342 0.284 0.342 0.076 0 0.155-0.022 0.239-0.062s0.204-0.138 0.361-0.292 0.373-0.396 0.648-0.724c0.276-0.33 0.676-0.824 1.2-1.48-0.081-0.428-0.165-0.838-0.251-1.23-0.087-0.394-0.176-0.762-0.268-1.1-0.092-0.342-0.167-0.564-0.227-0.67-0.059-0.104-0.123-0.178-0.19-0.218-0.068-0.04-0.153-0.06-0.256-0.06-0.113 0-0.216 0.024-0.308 0.076s-0.191 0.14-0.3 0.268c-0.108 0.126-0.251 0.326-0.429 0.596l-0.527-0.35c0.34-0.512 0.667-0.896 0.981-1.15 0.313-0.254 0.683-0.382 1.11-0.382z\" />\n <path d=\"m125 172h9.99v1.08h-9.99v-1.08zm0-3.36h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m146 164h0.446c-0.032 0.519-0.048 1.24-0.048 2.16v6.92c0 0.314 0.018 0.55 0.052 0.71 0.036 0.158 0.098 0.288 0.186 0.388 0.09 0.1 0.218 0.178 0.386 0.236 0.168 0.056 0.378 0.1 0.632 0.128 0.254 0.03 0.588 0.05 1 0.062v0.592h-5.99v-0.592c0.6-0.028 1.03-0.064 1.29-0.11s0.452-0.114 0.588-0.206c0.134-0.092 0.234-0.222 0.296-0.39 0.062-0.166 0.092-0.44 0.092-0.818v-6.57c0-0.216-0.038-0.374-0.114-0.474-0.074-0.1-0.186-0.15-0.332-0.15-0.172 0-0.418 0.09-0.736 0.268-0.32 0.178-0.714 0.424-1.18 0.738l-0.358-0.624 3.79-2.26z\" />\n <path d=\"m676 183c0.516 0 0.962 0.044 1.34 0.128l-0.308 1.34h-0.696c-0.074-0.3-0.17-0.516-0.288-0.648-0.12-0.132-0.294-0.198-0.528-0.198-0.3 0-0.554 0.082-0.762 0.248-0.208 0.168-0.386 0.414-0.534 0.74-0.148 0.328-0.286 0.768-0.412 1.32l-0.198 0.862h2.03l-0.174 0.798h-2.04l-1.47 6.9c-0.244 1.14-0.614 2-1.12 2.56-0.5 0.56-1.13 0.842-1.89 0.842-0.222 0-0.396-0.014-0.522-0.04l0.134-0.696c0.052 0.016 0.176 0.024 0.372 0.024 0.238 0 0.44-0.06 0.608-0.182 0.17-0.122 0.326-0.332 0.472-0.632 0.144-0.302 0.278-0.718 0.398-1.25l1.7-7.52h-1.34l0.12-0.546c0.352-0.02 0.608-0.05 0.762-0.086 0.156-0.038 0.278-0.092 0.364-0.166 0.088-0.074 0.162-0.17 0.222-0.288 0.06-0.12 0.138-0.338 0.234-0.654 0.278-0.948 0.71-1.66 1.29-2.14 0.584-0.476 1.33-0.716 2.23-0.716z\" />\n <path d=\"m694 182c1.54 0.406 2.72 1.28 3.55 2.63 0.826 1.35 1.24 2.97 1.24 4.88 0 1.91-0.412 3.53-1.23 4.88s-2.01 2.22-3.55 2.62l-0.19-0.608c1.22-0.406 2.12-1.21 2.72-2.41 0.594-1.2 0.89-2.72 0.89-4.56 0-1.78-0.296-3.26-0.886-4.44-0.59-1.18-1.51-1.97-2.74-2.38l0.212-0.608zm-10.1 0 0.212 0.608c-1.23 0.406-2.15 1.2-2.74 2.38-0.594 1.18-0.89 2.66-0.89 4.44 0 1.85 0.296 3.37 0.89 4.56 0.594 1.2 1.5 2 2.72 2.41l-0.19 0.608c-1.55-0.406-2.73-1.28-3.55-2.62-0.824-1.34-1.23-2.97-1.23-4.88 0-1.9 0.412-3.53 1.24-4.88 0.824-1.35 2.01-2.22 3.55-2.63z\" />\n <path d=\"m688 187c0.164 0 0.308 0.018 0.432 0.054 0.124 0.038 0.234 0.094 0.328 0.17 0.096 0.078 0.18 0.176 0.254 0.298 0.074 0.12 0.144 0.286 0.212 0.494 0.07 0.208 0.134 0.466 0.194 0.774 0.062 0.31 0.116 0.63 0.162 0.962h0.08c0.506-0.712 0.89-1.23 1.15-1.56 0.262-0.33 0.482-0.576 0.662-0.736 0.178-0.16 0.352-0.274 0.518-0.34s0.386-0.098 0.66-0.098c0.248 0 0.45 0.03 0.61 0.094l-0.318 1.43h-0.554c-0.03-0.222-0.122-0.332-0.276-0.332-0.048 0-0.098 8e-3 -0.15 0.024s-0.118 0.05-0.194 0.102-0.188 0.156-0.336 0.308c-0.148 0.154-0.314 0.34-0.498 0.562-0.186 0.222-0.374 0.454-0.57 0.696l-0.538 0.672c0.094 0.506 0.184 0.944 0.27 1.31 0.084 0.368 0.158 0.676 0.224 0.922 0.066 0.244 0.124 0.438 0.174 0.58 0.05 0.144 0.104 0.25 0.162 0.322 0.058 0.07 0.118 0.12 0.178 0.15 0.062 0.028 0.132 0.042 0.21 0.042 0.142 0 0.282-0.054 0.416-0.166 0.134-0.11 0.328-0.36 0.58-0.75l0.516 0.34c-0.37 0.548-0.704 0.934-1 1.16s-0.652 0.336-1.06 0.336c-0.226 0-0.418-0.04-0.576-0.122-0.16-0.082-0.296-0.212-0.412-0.392s-0.22-0.458-0.308-0.838c-0.164-0.676-0.264-1.19-0.302-1.55h-0.078c-0.56 0.786-0.974 1.35-1.25 1.69s-0.496 0.596-0.672 0.76c-0.178 0.164-0.348 0.278-0.514 0.344s-0.388 0.098-0.662 0.098c-0.248 0-0.45-0.032-0.608-0.094l0.316-1.43h0.554c0.032 0.222 0.124 0.332 0.276 0.332 0.074 0 0.152-0.02 0.234-0.06 0.082-0.038 0.2-0.134 0.352-0.284s0.364-0.386 0.632-0.708c0.27-0.322 0.66-0.804 1.17-1.45-0.08-0.416-0.162-0.816-0.246-1.2-0.084-0.384-0.172-0.744-0.26-1.08-0.09-0.332-0.164-0.55-0.222-0.652-0.058-0.104-0.12-0.174-0.186-0.214s-0.15-0.06-0.25-0.06c-0.11 0-0.21 0.026-0.3 0.076s-0.188 0.138-0.292 0.262c-0.106 0.122-0.246 0.316-0.42 0.58l-0.514-0.34c0.332-0.5 0.652-0.876 0.958-1.12 0.304-0.248 0.666-0.372 1.08-0.372z\" />\n <path d=\"m706 191h9.75v1.05h-9.75v-1.05zm0-3.28h9.75v1.05h-9.75v-1.05z\" />\n <path d=\"m725 187c0.162 0 0.306 0.018 0.43 0.054 0.124 0.038 0.234 0.094 0.328 0.17 0.096 0.078 0.18 0.176 0.254 0.298 0.074 0.12 0.144 0.286 0.214 0.494 0.068 0.208 0.132 0.466 0.194 0.774 0.06 0.31 0.114 0.63 0.162 0.962h0.078c0.506-0.712 0.89-1.23 1.15-1.56 0.26-0.33 0.48-0.576 0.66-0.736s0.352-0.274 0.518-0.34 0.386-0.098 0.66-0.098c0.248 0 0.452 0.03 0.61 0.094l-0.316 1.43h-0.554c-0.032-0.222-0.124-0.332-0.278-0.332-0.046 0-0.096 8e-3 -0.15 0.024-0.052 0.016-0.118 0.05-0.194 0.102s-0.188 0.156-0.336 0.308c-0.148 0.154-0.314 0.34-0.498 0.562s-0.374 0.454-0.57 0.696l-0.538 0.672c0.096 0.506 0.186 0.944 0.27 1.31 0.084 0.368 0.16 0.676 0.224 0.922 0.066 0.244 0.124 0.438 0.174 0.58 0.052 0.144 0.106 0.25 0.164 0.322 0.058 0.07 0.116 0.12 0.178 0.15 0.06 0.028 0.13 0.042 0.208 0.042 0.144 0 0.282-0.054 0.416-0.166 0.134-0.11 0.328-0.36 0.582-0.75l0.514 0.34c-0.37 0.548-0.704 0.934-1 1.16s-0.652 0.336-1.06 0.336c-0.228 0-0.42-0.04-0.578-0.122s-0.296-0.212-0.412-0.392-0.218-0.458-0.308-0.838c-0.164-0.676-0.264-1.19-0.3-1.55h-0.08c-0.558 0.786-0.974 1.35-1.25 1.69s-0.496 0.596-0.672 0.76-0.348 0.278-0.514 0.344-0.386 0.098-0.66 0.098c-0.248 0-0.452-0.032-0.61-0.094l0.316-1.43h0.554c0.032 0.222 0.124 0.332 0.278 0.332 0.072 0 0.15-0.02 0.232-0.06 0.082-0.038 0.2-0.134 0.352-0.284 0.154-0.15 0.364-0.386 0.634-0.708 0.268-0.322 0.658-0.804 1.17-1.45-0.08-0.416-0.16-0.816-0.246-1.2-0.084-0.384-0.17-0.744-0.26-1.08s-0.164-0.55-0.222-0.652c-0.058-0.104-0.12-0.174-0.186-0.214s-0.148-0.06-0.248-0.06c-0.112 0-0.212 0.026-0.302 0.076s-0.186 0.138-0.292 0.262c-0.106 0.122-0.246 0.316-0.42 0.58l-0.514-0.34c0.332-0.5 0.652-0.876 0.958-1.12 0.306-0.248 0.666-0.372 1.08-0.372z\" />\n <path d=\"m463 7.88c0.516 0 0.962 0.0422 1.34 0.127l-0.308 1.34h-0.696c-0.074-0.301-0.17-0.517-0.288-0.649-0.12-0.132-0.294-0.198-0.526-0.198-0.302 0-0.556 0.083-0.764 0.249-0.208 0.166-0.386 0.413-0.534 0.74-0.148 0.327-0.284 0.767-0.412 1.32l-0.198 0.862h2.03l-0.174 0.799h-2.04l-1.47 6.9c-0.244 1.14-0.614 2-1.12 2.56-0.5 0.562-1.13 0.842-1.89 0.842-0.222 0-0.396-0.0132-0.522-0.0394l0.134-0.696c0.052 0.0158 0.176 0.0238 0.372 0.0238 0.238 0 0.44-0.0606 0.608-0.182 0.17-0.121 0.326-0.332 0.472-0.633 0.144-0.301 0.278-0.717 0.4-1.25l1.7-7.52h-1.34l0.12-0.546c0.352-0.021 0.608-0.05 0.762-0.087 0.156-0.0368 0.278-0.0922 0.364-0.166 0.088-0.074 0.162-0.17 0.222-0.289s0.138-0.336 0.234-0.653c0.28-0.949 0.71-1.66 1.29-2.14 0.584-0.477 1.33-0.716 2.23-0.716z\" />\n <path d=\"m482 7.11c1.54 0.406 2.72 1.28 3.55 2.63 0.826 1.35 1.24 2.97 1.24 4.88 0 1.91-0.41 3.53-1.23 4.88-0.822 1.34-2.01 2.22-3.55 2.62l-0.19-0.609c1.22-0.406 2.12-1.21 2.72-2.4s0.89-2.72 0.89-4.56c0-1.78-0.296-3.26-0.886-4.44-0.59-1.18-1.51-1.97-2.74-2.38l0.212-0.609zm-10.1 0 0.212 0.609c-1.23 0.406-2.15 1.2-2.74 2.38-0.594 1.18-0.89 2.66-0.89 4.44 0 1.85 0.296 3.37 0.89 4.56s1.5 2 2.72 2.4l-0.19 0.609c-1.55-0.406-2.73-1.28-3.55-2.62-0.824-1.34-1.23-2.97-1.23-4.88 0-1.9 0.412-3.53 1.24-4.88 0.824-1.35 2.01-2.22 3.55-2.63z\" />\n <path d=\"m475 11.5c0.164 0 0.308 0.0184 0.432 0.0554s0.234 0.0936 0.328 0.17c0.096 0.0766 0.18 0.175 0.254 0.297 0.074 0.121 0.144 0.286 0.212 0.494 0.07 0.208 0.134 0.467 0.194 0.775 0.062 0.309 0.116 0.629 0.162 0.961h0.08c0.506-0.712 0.89-1.23 1.15-1.56 0.262-0.33 0.482-0.575 0.662-0.736 0.178-0.161 0.352-0.274 0.518-0.34 0.166-0.066 0.386-0.099 0.66-0.099 0.248 0 0.45 0.0318 0.61 0.095l-0.318 1.43h-0.552c-0.032-0.222-0.124-0.332-0.278-0.332-0.048 0-0.098 8e-3 -0.15 0.0238s-0.118 0.0502-0.194 0.103c-0.076 0.0528-0.188 0.156-0.336 0.309-0.148 0.153-0.314 0.34-0.498 0.562-0.186 0.221-0.374 0.453-0.57 0.696l-0.538 0.672c0.096 0.506 0.184 0.944 0.27 1.31 0.084 0.369 0.158 0.676 0.224 0.921s0.124 0.439 0.174 0.581 0.104 0.249 0.162 0.32 0.118 0.121 0.178 0.15c0.062 0.029 0.132 0.0434 0.21 0.0434 0.142 0 0.282-0.0554 0.416-0.166 0.134-0.111 0.328-0.361 0.58-0.751l0.516 0.34c-0.37 0.548-0.704 0.935-1 1.16s-0.652 0.336-1.06 0.336c-0.226 0-0.418-0.0408-0.576-0.123-0.16-0.0818-0.296-0.212-0.412-0.392-0.116-0.179-0.22-0.459-0.308-0.838-0.164-0.675-0.264-1.19-0.302-1.55h-0.078c-0.56 0.786-0.974 1.35-1.25 1.69s-0.496 0.596-0.672 0.759c-0.178 0.163-0.348 0.278-0.514 0.344s-0.388 0.0988-0.662 0.0988c-0.248 0-0.45-0.0316-0.608-0.0948l0.316-1.43h0.554c0.032 0.222 0.124 0.332 0.276 0.332 0.074 0 0.152-0.0198 0.234-0.0592 0.082-0.0396 0.2-0.135 0.352-0.285 0.152-0.15 0.364-0.386 0.632-0.708 0.27-0.322 0.66-0.804 1.17-1.45-0.08-0.417-0.162-0.817-0.246-1.2-0.084-0.385-0.172-0.743-0.26-1.08-0.09-0.332-0.164-0.55-0.222-0.653-0.058-0.103-0.12-0.174-0.186-0.214-0.066-0.0396-0.15-0.0594-0.25-0.0594-0.11 0-0.21 0.025-0.3 0.0752-0.09 0.05-0.188 0.137-0.292 0.261-0.106 0.124-0.246 0.318-0.42 0.581l-0.514-0.34c0.332-0.501 0.652-0.875 0.958-1.12s0.666-0.372 1.08-0.372z\" />\n <path d=\"m494 15.7h9.75v1.05h-9.75v-1.05zm0-3.28h9.75v1.05h-9.75v-1.05z\" />\n <path d=\"m510 14h9.74v5.58h-1.12v-4.54h-8.62v-1.04z\" />\n <path d=\"m524 11.5c0.164 0 0.308 0.0184 0.432 0.0554s0.234 0.0936 0.328 0.17c0.094 0.0766 0.18 0.175 0.254 0.297 0.072 0.121 0.144 0.286 0.212 0.494 0.07 0.208 0.134 0.467 0.194 0.775 0.062 0.309 0.116 0.629 0.162 0.961h0.08c0.506-0.712 0.89-1.23 1.15-1.56 0.262-0.33 0.482-0.575 0.662-0.736 0.178-0.161 0.352-0.274 0.518-0.34 0.166-0.066 0.386-0.099 0.66-0.099 0.248 0 0.45 0.0318 0.608 0.095l-0.316 1.43h-0.554c-0.03-0.222-0.124-0.332-0.276-0.332-0.048 0-0.098 8e-3 -0.15 0.0238-0.054 0.0158-0.118 0.0502-0.194 0.103-0.076 0.0528-0.188 0.156-0.336 0.309-0.148 0.153-0.314 0.34-0.498 0.562-0.186 0.221-0.376 0.453-0.57 0.696l-0.538 0.672c0.094 0.506 0.184 0.944 0.268 1.31 0.086 0.369 0.16 0.676 0.226 0.921s0.124 0.439 0.174 0.581 0.104 0.249 0.162 0.32 0.118 0.121 0.178 0.15c0.062 0.029 0.13 0.0434 0.21 0.0434 0.142 0 0.28-0.0554 0.416-0.166 0.134-0.111 0.328-0.361 0.58-0.751l0.514 0.34c-0.368 0.548-0.702 0.935-1 1.16s-0.652 0.336-1.06 0.336c-0.226 0-0.418-0.0408-0.578-0.123-0.158-0.0818-0.294-0.212-0.41-0.392-0.116-0.179-0.22-0.459-0.308-0.838-0.164-0.675-0.264-1.19-0.302-1.55h-0.078c-0.56 0.786-0.974 1.35-1.25 1.69s-0.496 0.596-0.672 0.759c-0.178 0.163-0.348 0.278-0.514 0.344-0.168 0.066-0.388 0.0988-0.662 0.0988-0.248 0-0.45-0.0316-0.608-0.0948l0.316-1.43h0.554c0.032 0.222 0.124 0.332 0.276 0.332 0.074 0 0.152-0.0198 0.234-0.0592 0.082-0.0396 0.198-0.135 0.352-0.285 0.152-0.15 0.364-0.386 0.632-0.708 0.27-0.322 0.66-0.804 1.17-1.45-0.08-0.417-0.162-0.817-0.246-1.2-0.084-0.385-0.172-0.743-0.26-1.08-0.09-0.332-0.164-0.55-0.222-0.653-0.058-0.103-0.12-0.174-0.186-0.214-0.066-0.0396-0.15-0.0594-0.25-0.0594-0.11 0-0.21 0.025-0.3 0.0752-0.09 0.05-0.188 0.137-0.292 0.261-0.106 0.124-0.246 0.318-0.42 0.581l-0.514-0.34c0.332-0.501 0.652-0.875 0.956-1.12 0.306-0.248 0.668-0.372 1.08-0.372z\" />\n </g>\n <g class=\"kata_svg_text\" clip-rule=\"evenodd\" fill-rule=\"evenodd\">\n <!-- Legend text -->\n <path d=\"m121 360c-0.941 0.455-2.17 0.683-3.68 0.683-1.98 0-3.53-0.581-4.66-1.74s-1.7-2.71-1.7-4.64c0-2.06 0.635-3.73 1.9-5.01 1.28-1.28 2.93-1.92 4.96-1.92 1.26 0 2.32 0.159 3.18 0.476v2.79c-0.863-0.515-1.84-0.773-2.95-0.773-1.21 0-2.19 0.381-2.93 1.14-0.743 0.761-1.11 1.79-1.11 3.09 0 1.25 0.35 2.24 1.05 2.98 0.701 0.737 1.64 1.1 2.83 1.1 1.13 0 2.17-0.276 3.11-0.827v2.65zm6.35 0.683c-1.53 0-2.74-0.429-3.62-1.28-0.875-0.863-1.31-2.03-1.31-3.5 0-1.52 0.455-2.71 1.37-3.57 0.91-0.862 2.14-1.29 3.69-1.29 1.53 0 2.73 0.432 3.59 1.29 0.869 0.857 1.3 1.99 1.3 3.4 0 1.53-0.449 2.73-1.35 3.62-0.892 0.886-2.12 1.33-3.67 1.33zm0.071-7.48c-0.67 0-1.19 0.23-1.56 0.691-0.371 0.462-0.557 1.11-0.557 1.96 0 1.77 0.713 2.65 2.14 2.65 1.36 0 2.04-0.907 2.04-2.72 0-1.72-0.686-2.58-2.06-2.58zm15.7 7.25h-2.83v-5.11c0-1.43-0.509-2.14-1.53-2.14-0.491 0-0.896 0.188-1.21 0.566-0.318 0.377-0.476 0.856-0.476 1.44v5.25h-2.84v-9.2h2.84v1.46h0.036c0.676-1.12 1.66-1.68 2.96-1.68 2.04 0 3.06 1.26 3.06 3.79v5.63zm1.65-0.243v-2.3c0.467 0.282 0.932 0.492 1.39 0.629 0.467 0.138 0.907 0.207 1.32 0.207 0.503 0 0.898-0.069 1.19-0.207 0.293-0.137 0.44-0.347 0.44-0.629 0-0.179-0.066-0.329-0.198-0.449s-0.302-0.224-0.512-0.314c-0.204-0.09-0.428-0.171-0.674-0.243-0.245-0.072-0.482-0.153-0.71-0.242-0.365-0.138-0.688-0.285-0.97-0.441-0.275-0.161-0.509-0.347-0.701-0.557-0.185-0.209-0.329-0.452-0.431-0.727-0.096-0.276-0.144-0.602-0.144-0.98 0-0.515 0.111-0.958 0.333-1.33 0.227-0.372 0.527-0.674 0.898-0.908 0.377-0.239 0.806-0.413 1.28-0.521 0.485-0.114 0.988-0.171 1.51-0.171 0.408 0 0.821 0.033 1.24 0.099 0.419 0.06 0.833 0.15 1.24 0.27v2.19c-0.359-0.21-0.746-0.365-1.16-0.467-0.407-0.108-0.809-0.162-1.2-0.162-0.186 0-0.362 0.018-0.53 0.054-0.162 0.03-0.305 0.078-0.431 0.144-0.126 0.06-0.225 0.14-0.297 0.242-0.072 0.096-0.108 0.207-0.108 0.333 0 0.167 0.054 0.311 0.162 0.431s0.249 0.225 0.422 0.314c0.174 0.084 0.366 0.162 0.575 0.234 0.216 0.066 0.429 0.135 0.638 0.207 0.378 0.131 0.719 0.275 1.02 0.431 0.305 0.156 0.566 0.338 0.781 0.548 0.222 0.21 0.39 0.455 0.503 0.737 0.12 0.281 0.18 0.617 0.18 1.01 0 0.545-0.12 1.01-0.359 1.4-0.234 0.384-0.548 0.698-0.944 0.944-0.389 0.239-0.841 0.413-1.36 0.521-0.509 0.114-1.04 0.171-1.59 0.171-1.01 0-1.95-0.156-2.81-0.468zm14.3 0.135c-0.419 0.222-1.05 0.333-1.9 0.333-2 0-3-1.04-3-3.12v-4.21h-1.49v-2.09h1.49v-1.99l2.83-0.808v2.79h2.07v2.09h-2.07v3.72c0 0.958 0.38 1.44 1.14 1.44 0.3 0 0.608-0.086 0.925-0.26v2.1zm9.26 0.108h-2.69v-1.32h-0.036c-0.617 1.03-1.53 1.55-2.74 1.55-0.893 0-1.6-0.252-2.11-0.755-0.51-0.509-0.764-1.19-0.764-2.03 0-1.78 1.06-2.82 3.17-3.09l2.5-0.333c0-1.01-0.545-1.51-1.64-1.51-1.1 0-2.14 0.326-3.13 0.979v-2.14c0.396-0.204 0.935-0.383 1.62-0.539 0.689-0.156 1.32-0.234 1.88-0.234 2.62 0 3.94 1.31 3.94 3.93v5.5zm-2.67-3.74v-0.62l-1.67 0.215c-0.922 0.12-1.38 0.536-1.38 1.25 0 0.323 0.111 0.59 0.333 0.8 0.227 0.203 0.533 0.305 0.916 0.305 0.533 0 0.967-0.183 1.3-0.548 0.335-0.371 0.503-0.838 0.503-1.4zm13.8 3.74h-2.83v-5.11c0-1.43-0.509-2.14-1.53-2.14-0.492 0-0.896 0.188-1.21 0.566-0.318 0.377-0.476 0.856-0.476 1.44v5.25h-2.84v-9.2h2.84v1.46h0.035c0.677-1.12 1.66-1.68 2.96-1.68 2.04 0 3.06 1.26 3.06 3.79v5.63zm7.82-0.108c-0.419 0.222-1.05 0.333-1.9 0.333-2 0-3-1.04-3-3.12v-4.21h-1.49v-2.09h1.49v-1.99l2.83-0.808v2.79h2.07v2.09h-2.07v3.72c0 0.958 0.38 1.44 1.14 1.44 0.3 0 0.608-0.086 0.925-0.26v2.1z\" />\n <path d=\"m477 347-4.44 12.9h-3.29l-4.38-12.9h3.13l2.69 8.97c0.143 0.485 0.23 0.913 0.26 1.28h0.054c0.042-0.402 0.135-0.842 0.279-1.32l2.67-8.93h3.04zm7.54 12.9h-2.69v-1.32h-0.036c-0.617 1.03-1.53 1.55-2.74 1.55-0.892 0-1.6-0.252-2.11-0.755-0.509-0.509-0.764-1.19-0.764-2.03 0-1.78 1.06-2.82 3.17-3.09l2.5-0.333c0-1.01-0.545-1.51-1.64-1.51-1.1 0-2.14 0.326-3.13 0.979v-2.14c0.395-0.204 0.934-0.383 1.62-0.539 0.689-0.156 1.32-0.234 1.88-0.234 2.62 0 3.94 1.31 3.94 3.93v5.5zm-2.67-3.74v-0.62l-1.67 0.215c-0.922 0.12-1.38 0.536-1.38 1.25 0 0.323 0.11 0.59 0.332 0.8 0.228 0.203 0.533 0.305 0.916 0.305 0.534 0 0.968-0.183 1.3-0.548 0.336-0.371 0.503-0.838 0.503-1.4zm10.9-2.9c-0.341-0.186-0.739-0.279-1.2-0.279-0.617 0-1.1 0.228-1.45 0.683-0.347 0.449-0.521 1.06-0.521 1.84v4.39h-2.84v-9.2h2.84v1.71h0.036c0.449-1.25 1.26-1.87 2.43-1.87 0.299 0 0.533 0.036 0.7 0.108v2.62zm2.84-4.02c-0.479 0-0.871-0.141-1.18-0.423-0.305-0.287-0.458-0.638-0.458-1.05 0-0.425 0.153-0.773 0.458-1.04 0.306-0.27 0.698-0.404 1.18-0.404 0.486 0 0.878 0.134 1.18 0.404 0.306 0.269 0.459 0.617 0.459 1.04 0 0.431-0.153 0.785-0.459 1.06-0.299 0.276-0.691 0.414-1.18 0.414zm1.4 10.7h-2.84v-9.2h2.84v9.2zm10 0h-2.69v-1.32h-0.036c-0.617 1.03-1.53 1.55-2.74 1.55-0.892 0-1.6-0.252-2.11-0.755-0.509-0.509-0.764-1.19-0.764-2.03 0-1.78 1.06-2.82 3.17-3.09l2.5-0.333c0-1.01-0.545-1.51-1.64-1.51-1.1 0-2.14 0.326-3.13 0.979v-2.14c0.396-0.204 0.935-0.383 1.62-0.539 0.688-0.156 1.31-0.234 1.88-0.234 2.62 0 3.94 1.31 3.94 3.93v5.5zm-2.67-3.74v-0.62l-1.67 0.215c-0.922 0.12-1.38 0.536-1.38 1.25 0 0.323 0.111 0.59 0.333 0.8 0.227 0.203 0.533 0.305 0.916 0.305 0.533 0 0.968-0.183 1.3-0.548 0.335-0.371 0.503-0.838 0.503-1.4zm7.79 2.67h-0.036v1.07h-2.84v-13.6h2.84v5.8h0.036c0.7-1.07 1.7-1.61 2.99-1.61 1.19 0 2.1 0.408 2.74 1.22 0.641 0.815 0.961 1.93 0.961 3.34 0 1.53-0.374 2.76-1.12 3.69s-1.75 1.39-3 1.39c-1.13 0-1.99-0.432-2.57-1.29zm-0.081-3.88v0.943c0 0.593 0.17 1.08 0.512 1.47 0.341 0.39 0.778 0.584 1.31 0.584 0.646 0 1.15-0.248 1.5-0.745 0.359-0.503 0.539-1.21 0.539-2.13 0-0.76-0.165-1.35-0.494-1.78-0.324-0.431-0.788-0.646-1.39-0.646-0.569 0-1.04 0.212-1.42 0.638-0.372 0.425-0.557 0.979-0.557 1.66zm11.5 4.95h-2.84v-13.6h2.84v13.6zm10.7-3.79h-6c0.096 1.34 0.937 2 2.52 2 1.01 0 1.9-0.239 2.67-0.719v2.05c-0.851 0.455-1.96 0.683-3.32 0.683-1.48 0-2.64-0.411-3.46-1.23-0.82-0.827-1.23-1.98-1.23-3.45 0-1.53 0.443-2.74 1.33-3.63 0.887-0.892 1.98-1.34 3.27-1.34 1.34 0 2.38 0.399 3.11 1.2 0.737 0.797 1.1 1.88 1.1 3.24v1.2zm-2.63-1.74c0-1.32-0.533-1.98-1.6-1.98-0.456 0-0.851 0.189-1.19 0.566-0.33 0.377-0.53 0.848-0.602 1.41h3.39z\" />\n <!-- Ket text -->\n <path d=\"m242 183h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m250 184c-0.374 0-0.686 0.11-0.936 0.332-0.252 0.222-0.454 0.54-0.608 0.956s-0.264 0.924-0.328 1.52c-0.066 0.598-0.098 1.27-0.098 2.02 0 1.76 0.164 3.05 0.49 3.88 0.328 0.826 0.834 1.24 1.52 1.24 0.654 0 1.14-0.388 1.46-1.16 0.316-0.776 0.474-1.98 0.474-3.6 0-1.24-0.082-2.25-0.244-3.02s-0.388-1.32-0.676-1.66c-0.29-0.334-0.64-0.502-1.05-0.502zm0.04-0.69c1.18 0 2.06 0.458 2.64 1.37 0.578 0.914 0.868 2.29 0.868 4.14 0 1.91-0.31 3.36-0.928 4.34-0.618 0.982-1.52 1.47-2.71 1.47-1.17 0-2.04-0.46-2.61-1.38s-0.854-2.31-0.854-4.18c0-0.994 0.088-1.85 0.262-2.58 0.176-0.724 0.422-1.32 0.738-1.8 0.316-0.472 0.696-0.822 1.14-1.05 0.442-0.228 0.926-0.342 1.45-0.342z\" />\n <path d=\"m256 182 3.24 7.28v0.6l-3.24 7.29-0.866-0.308 2.6-7.28-2.6-7.29 0.866-0.292z\" />\n <path d=\"m139 72.2h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m148 72.6h0.444c-0.032 0.519-0.048 1.24-0.048 2.16v6.92c0 0.313 0.018 0.55 0.052 0.709 0.036 0.159 0.098 0.289 0.188 0.389 0.088 0.1 0.216 0.178 0.384 0.235 0.168 0.0566 0.378 0.0998 0.632 0.13s0.59 0.05 1.01 0.0608v0.592h-5.99v-0.592c0.6-0.027 1.03-0.0634 1.28-0.109 0.258-0.046 0.454-0.115 0.588-0.207 0.136-0.0918 0.234-0.221 0.296-0.389 0.062-0.167 0.094-0.44 0.094-0.819v-6.57c0-0.216-0.038-0.374-0.114-0.474-0.076-0.0998-0.186-0.15-0.332-0.15-0.174 0-0.42 0.089-0.738 0.267-0.32 0.178-0.714 0.424-1.18 0.738l-0.356-0.624 3.79-2.26z\" />\n <path d=\"m153 71.5 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\" />\n <path d=\"m208 115h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m217 117h1.15v4.67h4.42v1.08h-4.42v4.67h-1.15v-4.67h-4.42v-1.08h4.42v-4.67z\" />\n <path d=\"m225 114 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\" />\n <path d=\"m208 248h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m212 255h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m225 247 3.23 7.28v0.6l-3.23 7.29-0.866-0.308 2.6-7.28-2.6-7.29 0.866-0.292z\" />\n <path d=\"m132 292h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m145 285h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m154 286h0.444c-0.032 0.52-0.048 1.24-0.048 2.16v6.92c0 0.314 0.018 0.55 0.054 0.71 0.034 0.16 0.096 0.29 0.186 0.39 0.088 0.1 0.216 0.178 0.384 0.234 0.168 0.058 0.378 0.1 0.632 0.13s0.59 0.05 1.01 0.06v0.592h-5.99v-0.592c0.6-0.026 1.03-0.062 1.28-0.108 0.258-0.046 0.454-0.116 0.588-0.208 0.136-0.092 0.234-0.22 0.296-0.388s0.094-0.44 0.094-0.82v-6.57c0-0.216-0.038-0.374-0.114-0.474s-0.186-0.15-0.332-0.15c-0.174 0-0.42 0.088-0.738 0.266-0.318 0.18-0.714 0.424-1.18 0.738l-0.356-0.624 3.79-2.26z\" />\n <path d=\"m159 285 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\" />\n <path d=\"m27.9 189h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m41 183h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m48.9 184c-0.373 0-0.685 0.11-0.936 0.332-0.251 0.222-0.454 0.54-0.608 0.956s-0.264 0.924-0.328 1.52c-0.0648 0.598-0.0972 1.27-0.0972 2.02 0 1.76 0.163 3.05 0.49 3.88 0.327 0.826 0.833 1.24 1.52 1.24 0.654 0 1.14-0.388 1.45-1.16 0.316-0.776 0.474-1.98 0.474-3.6 0-1.24-0.081-2.25-0.243-3.02-0.162-0.77-0.388-1.32-0.677-1.66-0.289-0.334-0.639-0.502-1.05-0.502zm0.0406-0.69c1.18 0 2.06 0.458 2.64 1.37 0.578 0.914 0.867 2.29 0.867 4.14 0 1.91-0.309 3.36-0.928 4.34-0.619 0.982-1.52 1.47-2.71 1.47-1.17 0-2.04-0.46-2.61-1.38-0.57-0.918-0.855-2.31-0.855-4.18 0-0.994 0.0878-1.85 0.263-2.58s0.422-1.32 0.738-1.8c0.316-0.472 0.696-0.822 1.14-1.05 0.443-0.228 0.927-0.342 1.45-0.342z\" />\n <path d=\"m55.2 182 3.23 7.28v0.6l-3.23 7.29-0.867-0.308 2.6-7.28-2.6-7.29 0.867-0.292z\" />\n <path d=\"m57.3 254h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m70.4 248h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m79.3 250h1.15v4.67h4.42v1.08h-4.42v4.67h-1.15v-4.67h-4.42v-1.08h4.42v-4.67z\" />\n <path d=\"m87.8 247 3.23 7.28v0.6l-3.23 7.29-0.867-0.308 2.6-7.28-2.6-7.29 0.867-0.292z\" />\n <path d=\"m56.6 121h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m69.8 115h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m74.3 121h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m87.1 114 3.23 7.28v0.599l-3.23 7.29-0.867-0.308 2.6-7.28-2.6-7.29 0.867-0.292z\" />\n <path d=\"m593 183h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m601 184c-0.372 0-0.684 0.11-0.936 0.332-0.25 0.222-0.454 0.54-0.608 0.956s-0.262 0.924-0.328 1.52c-0.064 0.598-0.096 1.27-0.096 2.02 0 1.76 0.162 3.05 0.49 3.88 0.326 0.826 0.834 1.24 1.52 1.24 0.654 0 1.14-0.388 1.45-1.16s0.474-1.98 0.474-3.6c0-1.24-0.08-2.25-0.242-3.02s-0.388-1.32-0.678-1.66c-0.288-0.334-0.638-0.502-1.05-0.502zm0.042-0.69c1.18 0 2.06 0.458 2.64 1.37 0.578 0.914 0.868 2.29 0.868 4.14 0 1.91-0.31 3.36-0.93 4.34-0.618 0.982-1.52 1.47-2.71 1.47-1.17 0-2.04-0.46-2.61-1.38s-0.856-2.31-0.856-4.18c0-0.994 0.088-1.85 0.264-2.58s0.422-1.32 0.738-1.8c0.316-0.472 0.696-0.822 1.14-1.05 0.444-0.228 0.928-0.342 1.45-0.342z\" />\n <path d=\"m607 182 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\" />\n <path d=\"m490 72.2h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m499 72.6h0.446c-0.032 0.519-0.048 1.24-0.048 2.16v6.92c0 0.313 0.018 0.55 0.052 0.709 0.036 0.159 0.098 0.289 0.186 0.389 0.09 0.1 0.218 0.178 0.386 0.235 0.168 0.0566 0.378 0.0998 0.632 0.13s0.588 0.05 1 0.0608v0.592h-5.99v-0.592c0.6-0.027 1.03-0.0634 1.29-0.109 0.256-0.046 0.452-0.115 0.588-0.207 0.134-0.0918 0.234-0.221 0.296-0.389 0.062-0.167 0.092-0.44 0.092-0.819v-6.57c0-0.216-0.038-0.374-0.114-0.474-0.074-0.0998-0.186-0.15-0.332-0.15-0.172 0-0.418 0.089-0.736 0.267-0.32 0.178-0.714 0.424-1.18 0.738l-0.358-0.624 3.79-2.26z\" />\n <path d=\"m504 71.5 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\" />\n <path d=\"m559 115h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m567 117h1.15v4.67h4.42v1.08h-4.42v4.67h-1.15v-4.67h-4.42v-1.08h4.42v-4.67z\" />\n <path d=\"m576 114 3.23 7.28v0.6l-3.23 7.29-0.866-0.308 2.6-7.28-2.6-7.29 0.866-0.292z\" />\n <path d=\"m559 248h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m563 255h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m576 247 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\" />\n <path d=\"m483 292h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m496 285h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m505 286h0.446c-0.032 0.52-0.048 1.24-0.048 2.16v6.92c0 0.314 0.018 0.55 0.052 0.71 0.036 0.16 0.098 0.29 0.186 0.39 0.09 0.1 0.218 0.178 0.386 0.234 0.168 0.058 0.378 0.1 0.632 0.13s0.588 0.05 1 0.06v0.592h-5.99v-0.592c0.598-0.026 1.03-0.062 1.28-0.108s0.452-0.116 0.588-0.208c0.134-0.092 0.234-0.22 0.296-0.388s0.092-0.44 0.092-0.82v-6.57c0-0.216-0.038-0.374-0.114-0.474-0.074-0.1-0.186-0.15-0.332-0.15-0.172 0-0.418 0.088-0.736 0.266-0.32 0.18-0.714 0.424-1.18 0.738l-0.358-0.624 3.79-2.26z\" />\n <path d=\"m510 285 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\" />\n <path d=\"m379 189h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m392 183h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m400 184c-0.372 0-0.684 0.11-0.936 0.332-0.25 0.222-0.454 0.54-0.608 0.956s-0.262 0.924-0.328 1.52c-0.064 0.598-0.098 1.27-0.098 2.02 0 1.76 0.164 3.05 0.492 3.88 0.326 0.826 0.832 1.24 1.52 1.24 0.652 0 1.14-0.388 1.45-1.16s0.474-1.98 0.474-3.6c0-1.24-0.08-2.25-0.242-3.02-0.164-0.77-0.388-1.32-0.678-1.66-0.288-0.334-0.638-0.502-1.05-0.502zm0.042-0.69c1.18 0 2.06 0.458 2.64 1.37 0.578 0.914 0.866 2.29 0.866 4.14 0 1.91-0.308 3.36-0.928 4.34-0.618 0.982-1.52 1.47-2.71 1.47-1.17 0-2.04-0.46-2.61-1.38s-0.856-2.31-0.856-4.18c0-0.994 0.088-1.85 0.264-2.58s0.422-1.32 0.738-1.8c0.316-0.472 0.696-0.822 1.14-1.05 0.444-0.228 0.926-0.342 1.45-0.342z\" />\n <path d=\"m406 182 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\" />\n <path d=\"m408 254h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m421 248h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m430 250h1.15v4.67h4.42v1.08h-4.42v4.67h-1.15v-4.67h-4.42v-1.08h4.42v-4.67z\" />\n <path d=\"m439 247 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\" />\n <path d=\"m408 121h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m421 115h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m425 121h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m438 114 3.23 7.28v0.599l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\" />\n </g>\n </g>\n <defs>\n <clipPath id=\"clip0_5_635\">\n <rect transform=\"translate(.6 .2)\" width=\"737\" height=\"374\" />\n </clipPath>\n </defs>\n</svg>\n\n3. Apply the $H$ gate to the qubit again.\n Now, you get the $\\ket{0}$ state for both constant scenarios and the $\\ket{1}$ state for both variable scenarios!\n <br/>\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"679\" height=\"365\" fill=\"none\" version=\"1.1\" viewBox=\"0 0 679 365\" xmlns=\"http://www.w3.org/2000/svg\">\n <style>\n :root {\n --kata-svg-stroke: #222;\n --kata-svg-fill: #fff;\n --kata-svg-path: #777;\n --kata-svg-accent: #06c;\n }\n @media(prefers-color-scheme: dark) {\n :root {\n --kata-svg-stroke: #eee;\n --kata-svg-fill: #111;\n --kata-svg-path: #bbb;\n --kata-svg-accent: #08f;\n }\n }\n .kata_svg_path {\n stroke: var(--kata-svg-path);\n }\n .kata_svg_text {\n fill: var(--kata-svg-stroke);\n }\n .kata_svg_point {\n fill: var(--kata-svg-fill);\n stroke: var(--kata-svg-stroke);\n }\n .kata_svg_fill_accent {\n fill: var(--kata-svg-accent);\n }\n .kata_svg_stroke_accent {\n stroke: var(--kata-svg-accent);\n }\n </style>\n <g clip-path=\"url(#clip0_6_812)\" clip-rule=\"evenodd\" fill-rule=\"evenodd\">\n <!-- Large circles -->\n <g class=\"kata_svg_path\">\n <path d=\"m24.1 163c0-76.8 62.3-139 139-139 76.8 0 139 62.3 139 139 0 76.8-62.3 139-139 139-76.8 0-139-62.3-139-139z\" />\n <path d=\"m375 163c0-76.8 62.2-139 139-139s139 62.3 139 139c0 76.8-62.2 139-139 139s-139-62.3-139-139z\" />\n </g>\n <!-- Target points -->\n <g class=\"kata_svg_fill_accent\">\n <path d=\"m296 163c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9-2.64 5.9-5.9 5.9-5.9-2.64-5.9-5.9z\" />\n <path d=\"m18 163c0-3.26 2.69-5.9 6-5.9 3.31 0 6 2.64 6 5.9s-2.69 5.9-6 5.9c-3.31 0-6-2.64-6-5.9z\" />\n <path d=\"m508 23.7c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9c0 3.26-2.69 5.9-6 5.9s-6-2.64-6-5.9z\" />\n <path d=\"m508 302c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9-2.69 5.9-6 5.9-6-2.64-6-5.9z\" />\n </g>\n <!-- Normal points -->\n <g class=\"kata_svg_point\">\n <path d=\"m157 23.8c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9c0 3.26-2.64 5.9-5.9 5.9s-5.9-2.64-5.9-5.9z\" />\n <path d=\"m157 302c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9-2.64 5.9-5.9 5.9-5.9-2.64-5.9-5.9z\" />\n <path d=\"m257 260c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9-2.69 5.9-6 5.9-6-2.64-6-5.9z\" />\n <path d=\"m57.3 66.6c0-3.26 2.69-5.9 6-5.9 3.31 0 6 2.64 6 5.9 0 3.26-2.69 5.9-6 5.9-3.31 0-6-2.64-6-5.9z\" />\n <path d=\"m647 163c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9-2.69 5.9-6 5.9-6-2.64-6-5.9z\" />\n <path d=\"m369 163c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9-2.64 5.9-5.9 5.9-5.9-2.64-5.9-5.9z\" />\n <path d=\"m608 66.6c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9c0 3.26-2.69 5.9-6 5.9s-6-2.64-6-5.9z\" />\n <path d=\"m408 260c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9-2.64 5.9-5.9 5.9-5.9-2.64-5.9-5.9z\" />\n </g>\n <!-- From point -->\n <g class=\"kata_svg_point kata_svg_stroke_accent\">\n <path d=\"m257 66.6c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9c0 3.26-2.69 5.9-6 5.9s-6-2.64-6-5.9z\" />\n <path d=\"m57.3 260c0-3.26 2.69-5.9 6-5.9 3.31 0 6 2.64 6 5.9s-2.69 5.9-6 5.9c-3.31 0-6-2.64-6-5.9z\" />\n <path d=\"m608 260c0-3.26 2.69-5.9 6-5.9s6 2.64 6 5.9-2.69 5.9-6 5.9-6-2.64-6-5.9z\" />\n <path d=\"m408 66.6c0-3.26 2.64-5.9 5.9-5.9s5.9 2.64 5.9 5.9c0 3.26-2.64 5.9-5.9 5.9s-5.9-2.64-5.9-5.9z\" />\n </g>\n <!-- Arrows -->\n <g class=\"kata_svg_fill_accent\" >\n <path d=\"m309 162h15.1l-0.688 0.688v-96.5l0.688 0.688h-55.3v-1.38h56v97.9h-15.8v-1.38zm5.06 5.8-6.13-5.11 6.13-5.11c0.292-0.242 0.726-0.202 0.968 0.088 0.244 0.292 0.204 0.726-0.088 0.97l-5.5 4.58v-1.06l5.5 4.58c0.292 0.242 0.332 0.676 0.088 0.968-0.242 0.292-0.676 0.33-0.968 0.088z\" />\n <path d=\"m17 164h-15.4l0.688-0.688v96.5l-0.688-0.688h55.7v1.38h-56.3v-97.9h16.1v1.38zm-5.06-5.8 6.13 5.11-6.13 5.11c-0.292 0.242-0.725 0.204-0.968-0.088-0.243-0.292-0.204-0.726 0.088-0.968l5.5-4.58v1.06l-5.5-4.58c-0.292-0.242-0.331-0.676-0.088-0.968 0.243-0.292 0.677-0.33 0.968-0.088z\" />\n <path d=\"m620 259h57.4l-0.688 0.686v-258l0.688 0.687h-163l0.688-0.687v15.4h-1.38v-16.1h165v260h-58.1v-1.37zm-101-247-5.11 6.13-5.11-6.13c-0.242-0.292-0.204-0.725 0.088-0.968 0.292-0.243 0.726-0.204 0.968 0.088l4.58 5.5h-1.06l4.58-5.5c0.242-0.292 0.676-0.331 0.968-0.088 0.292 0.243 0.33 0.677 0.088 0.968z\" />\n <path d=\"m408 67.4h-51.1l0.686-0.688v258l-0.686-0.688h157l-0.686 0.688v-15.4h1.37v16.1h-158v-259h51.8v1.38zm101 247 5.11-6.13 5.11 6.13c0.244 0.292 0.204 0.726-0.088 0.97-0.292 0.242-0.724 0.202-0.968-0.088l-4.58-5.5h1.06l-4.58 5.5c-0.244 0.29-0.676 0.33-0.968 0.088-0.292-0.244-0.332-0.678-0.088-0.97z\" />\n </g>\n <g class=\"kata_svg_text\" clip-rule=\"evenodd\" fill-rule=\"evenodd\">\n <!-- Legend text -->\n <path d=\"m135 350c-0.94 0.455-2.17 0.683-3.68 0.683-1.98 0-3.53-0.581-4.66-1.74s-1.7-2.71-1.7-4.64c0-2.06 0.635-3.73 1.9-5.01 1.28-1.28 2.93-1.92 4.96-1.92 1.26 0 2.32 0.159 3.18 0.476v2.79c-0.862-0.515-1.84-0.773-2.95-0.773-1.21 0-2.19 0.381-2.93 1.14-0.743 0.761-1.11 1.79-1.11 3.09 0 1.25 0.35 2.24 1.05 2.98 0.7 0.737 1.64 1.1 2.83 1.1 1.13 0 2.17-0.276 3.11-0.827v2.65zm6.35 0.683c-1.53 0-2.74-0.429-3.62-1.28-0.875-0.863-1.31-2.03-1.31-3.5 0-1.52 0.455-2.71 1.37-3.57 0.91-0.862 2.14-1.29 3.69-1.29 1.53 0 2.72 0.432 3.59 1.29 0.868 0.857 1.3 1.99 1.3 3.4 0 1.53-0.45 2.73-1.35 3.62-0.893 0.886-2.12 1.33-3.68 1.33zm0.072-7.48c-0.671 0-1.19 0.23-1.56 0.691-0.371 0.462-0.557 1.11-0.557 1.96 0 1.77 0.713 2.65 2.14 2.65 1.36 0 2.04-0.907 2.04-2.72 0-1.72-0.686-2.58-2.06-2.58zm15.7 7.25h-2.83v-5.11c0-1.43-0.509-2.14-1.53-2.14-0.492 0-0.896 0.188-1.21 0.566-0.318 0.377-0.477 0.856-0.477 1.44v5.25h-2.84v-9.2h2.84v1.46h0.036c0.677-1.12 1.66-1.68 2.96-1.68 2.04 0 3.06 1.26 3.06 3.79v5.63zm1.65-0.243v-2.3c0.467 0.282 0.931 0.492 1.39 0.629 0.467 0.138 0.907 0.207 1.32 0.207 0.503 0 0.899-0.069 1.19-0.207 0.294-0.137 0.441-0.347 0.441-0.629 0-0.179-0.066-0.329-0.198-0.449s-0.303-0.224-0.512-0.314c-0.204-0.09-0.429-0.171-0.674-0.243-0.246-0.072-0.482-0.153-0.71-0.242-0.365-0.138-0.689-0.285-0.97-0.441-0.276-0.161-0.509-0.347-0.701-0.557-0.186-0.209-0.329-0.452-0.431-0.727-0.096-0.276-0.144-0.602-0.144-0.98 0-0.515 0.111-0.958 0.332-1.33 0.228-0.372 0.528-0.674 0.899-0.908 0.377-0.239 0.806-0.413 1.28-0.521 0.485-0.114 0.988-0.171 1.51-0.171 0.407 0 0.821 0.033 1.24 0.099 0.419 0.06 0.832 0.15 1.24 0.27v2.19c-0.36-0.21-0.746-0.365-1.16-0.467-0.408-0.108-0.809-0.162-1.2-0.162-0.186 0-0.363 0.018-0.53 0.054-0.162 0.03-0.306 0.078-0.431 0.144-0.126 0.06-0.225 0.14-0.297 0.242-0.072 0.096-0.108 0.207-0.108 0.333 0 0.167 0.054 0.311 0.162 0.431s0.249 0.225 0.422 0.314c0.174 0.084 0.366 0.162 0.575 0.234 0.216 0.066 0.428 0.135 0.638 0.207 0.377 0.131 0.719 0.275 1.02 0.431 0.306 0.156 0.566 0.338 0.782 0.548 0.222 0.21 0.389 0.455 0.503 0.737 0.12 0.281 0.18 0.617 0.18 1.01 0 0.545-0.12 1.01-0.36 1.4-0.233 0.384-0.548 0.698-0.943 0.944-0.389 0.239-0.841 0.413-1.36 0.521-0.509 0.114-1.04 0.171-1.59 0.171-1.01 0-1.95-0.156-2.81-0.468zm14.3 0.135c-0.419 0.222-1.05 0.333-1.9 0.333-2 0-3-1.04-3-3.12v-4.21h-1.49v-2.09h1.49v-1.99l2.83-0.808v2.79h2.07v2.09h-2.07v3.72c0 0.958 0.38 1.44 1.14 1.44 0.299 0 0.608-0.086 0.925-0.26v2.1zm9.26 0.108h-2.69v-1.32h-0.036c-0.617 1.03-1.53 1.55-2.74 1.55-0.893 0-1.6-0.252-2.11-0.755-0.509-0.509-0.763-1.19-0.763-2.03 0-1.78 1.06-2.82 3.17-3.09l2.5-0.333c0-1.01-0.545-1.51-1.64-1.51-1.1 0-2.14 0.326-3.13 0.979v-2.14c0.395-0.204 0.934-0.383 1.62-0.539 0.689-0.156 1.32-0.234 1.88-0.234 2.62 0 3.94 1.31 3.94 3.93v5.5zm-2.67-3.74v-0.62l-1.67 0.215c-0.923 0.12-1.38 0.536-1.38 1.25 0 0.323 0.111 0.59 0.333 0.8 0.227 0.203 0.533 0.305 0.916 0.305 0.533 0 0.967-0.183 1.3-0.548 0.335-0.371 0.503-0.838 0.503-1.4zm13.8 3.74h-2.83v-5.11c0-1.43-0.509-2.14-1.53-2.14-0.491 0-0.895 0.188-1.21 0.566-0.317 0.377-0.476 0.856-0.476 1.44v5.25h-2.84v-9.2h2.84v1.46h0.036c0.677-1.12 1.66-1.68 2.96-1.68 2.04 0 3.06 1.26 3.06 3.79v5.63zm7.82-0.108c-0.419 0.222-1.05 0.333-1.9 0.333-2 0-3-1.04-3-3.12v-4.21h-1.49v-2.09h1.49v-1.99l2.83-0.808v2.79h2.07v2.09h-2.07v3.72c0 0.958 0.38 1.44 1.14 1.44 0.299 0 0.608-0.086 0.925-0.26v2.1z\" />\n <path d=\"m491 338-4.44 12.9h-3.29l-4.38-12.9h3.13l2.69 8.97c0.144 0.485 0.23 0.913 0.26 1.28h0.054c0.042-0.402 0.135-0.842 0.279-1.32l2.67-8.93h3.04zm7.54 12.9h-2.69v-1.32h-0.036c-0.616 1.03-1.53 1.55-2.74 1.55-0.892 0-1.6-0.252-2.11-0.755-0.509-0.509-0.764-1.19-0.764-2.03 0-1.78 1.06-2.82 3.17-3.09l2.5-0.333c0-1.01-0.545-1.51-1.64-1.51-1.1 0-2.14 0.326-3.13 0.979v-2.14c0.395-0.204 0.934-0.383 1.62-0.539 0.689-0.156 1.32-0.234 1.88-0.234 2.62 0 3.94 1.31 3.94 3.93v5.5zm-2.67-3.74v-0.62l-1.67 0.215c-0.922 0.12-1.38 0.536-1.38 1.25 0 0.323 0.11 0.59 0.332 0.8 0.228 0.203 0.533 0.305 0.916 0.305 0.534 0 0.968-0.183 1.3-0.548 0.336-0.371 0.503-0.838 0.503-1.4zm10.9-2.9c-0.341-0.186-0.739-0.279-1.2-0.279-0.616 0-1.1 0.228-1.45 0.683-0.347 0.449-0.521 1.06-0.521 1.84v4.39h-2.84v-9.2h2.84v1.71h0.036c0.449-1.25 1.26-1.87 2.43-1.87 0.299 0 0.533 0.036 0.7 0.108v2.62zm2.84-4.02c-0.479 0-0.871-0.141-1.18-0.423-0.305-0.287-0.458-0.638-0.458-1.05 0-0.425 0.153-0.773 0.458-1.04 0.306-0.27 0.698-0.404 1.18-0.404 0.486 0 0.878 0.134 1.18 0.404 0.306 0.269 0.459 0.617 0.459 1.04 0 0.431-0.153 0.785-0.459 1.06-0.299 0.276-0.691 0.414-1.18 0.414zm1.4 10.7h-2.84v-9.2h2.84v9.2zm10 0h-2.69v-1.32h-0.036c-0.617 1.03-1.53 1.55-2.74 1.55-0.892 0-1.6-0.252-2.11-0.755-0.509-0.509-0.764-1.19-0.764-2.03 0-1.78 1.06-2.82 3.17-3.09l2.5-0.333c0-1.01-0.545-1.51-1.64-1.51-1.1 0-2.14 0.326-3.13 0.979v-2.14c0.396-0.204 0.935-0.383 1.62-0.539 0.688-0.156 1.31-0.234 1.88-0.234 2.62 0 3.94 1.31 3.94 3.93v5.5zm-2.67-3.74v-0.62l-1.67 0.215c-0.922 0.12-1.38 0.536-1.38 1.25 0 0.323 0.111 0.59 0.333 0.8 0.227 0.203 0.533 0.305 0.916 0.305 0.533 0 0.968-0.183 1.3-0.548 0.335-0.371 0.503-0.838 0.503-1.4zm7.79 2.67h-0.036v1.07h-2.84v-13.6h2.84v5.8h0.036c0.7-1.07 1.7-1.61 2.99-1.61 1.19 0 2.1 0.408 2.74 1.22 0.641 0.815 0.961 1.93 0.961 3.34 0 1.53-0.374 2.76-1.12 3.69s-1.75 1.39-3 1.39c-1.13 0-1.99-0.432-2.57-1.29zm-0.081-3.88v0.943c0 0.593 0.17 1.08 0.512 1.47 0.341 0.39 0.779 0.584 1.31 0.584 0.646 0 1.15-0.248 1.5-0.745 0.359-0.503 0.539-1.21 0.539-2.13 0-0.76-0.165-1.35-0.494-1.78-0.324-0.431-0.788-0.646-1.39-0.646-0.569 0-1.04 0.212-1.42 0.638-0.372 0.425-0.557 0.979-0.557 1.66zm11.5 4.95h-2.84v-13.6h2.84v13.6zm10.7-3.79h-6c0.096 1.34 0.937 2 2.52 2 1.01 0 1.9-0.239 2.67-0.719v2.05c-0.851 0.455-1.96 0.683-3.32 0.683-1.48 0-2.64-0.411-3.46-1.23-0.82-0.827-1.23-1.98-1.23-3.45 0-1.53 0.443-2.74 1.33-3.63 0.887-0.892 1.98-1.34 3.27-1.34 1.34 0 2.38 0.399 3.11 1.2 0.737 0.797 1.1 1.88 1.1 3.24v1.2zm-2.63-1.74c0-1.32-0.533-1.98-1.6-1.98-0.456 0-0.851 0.189-1.19 0.566-0.33 0.377-0.53 0.848-0.602 1.41h3.39z\" />\n <!-- Ket text -->\n <path d=\"m259 156h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m266 157c-0.372 0-0.684 0.11-0.936 0.332s-0.454 0.54-0.608 0.956-0.264 0.924-0.328 1.52c-0.064 0.598-0.098 1.27-0.098 2.02 0 1.76 0.164 3.05 0.49 3.88 0.328 0.824 0.834 1.24 1.52 1.24 0.654 0 1.14-0.386 1.46-1.16s0.474-1.98 0.474-3.6c0-1.24-0.082-2.25-0.244-3.02s-0.388-1.32-0.676-1.66c-0.29-0.334-0.64-0.502-1.05-0.502zm0.04-0.69c1.18 0 2.06 0.458 2.64 1.37 0.578 0.914 0.866 2.29 0.866 4.14 0 1.91-0.308 3.36-0.928 4.34-0.618 0.982-1.52 1.47-2.71 1.47-1.17 0-2.04-0.46-2.61-1.38s-0.856-2.31-0.856-4.18c0-0.994 0.088-1.85 0.264-2.58s0.42-1.32 0.738-1.8c0.316-0.472 0.694-0.822 1.14-1.05 0.442-0.228 0.926-0.342 1.45-0.342z\" />\n <path d=\"m273 156 3.23 7.28v0.598l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\" />\n <path d=\"m156 45.5h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m164 45.9h0.446c-0.032 0.519-0.05 1.24-0.05 2.16v6.92c0 0.313 0.018 0.55 0.054 0.709 0.034 0.159 0.096 0.289 0.186 0.389s0.218 0.178 0.384 0.235c0.168 0.0568 0.38 0.1 0.634 0.13 0.254 0.0298 0.588 0.05 1 0.0608v0.592h-5.99v-0.592c0.6-0.027 1.03-0.0634 1.29-0.109 0.256-0.0458 0.452-0.115 0.586-0.207 0.136-0.0918 0.234-0.222 0.296-0.389 0.062-0.168 0.094-0.44 0.094-0.819v-6.57c0-0.216-0.038-0.374-0.114-0.474s-0.186-0.15-0.332-0.15c-0.172 0-0.418 0.0892-0.738 0.267-0.318 0.178-0.712 0.424-1.18 0.738l-0.356-0.624 3.79-2.26z\" />\n <path d=\"m170 44.8 3.23 7.28v0.6l-3.23 7.29-0.866-0.308 2.6-7.28-2.6-7.29 0.866-0.292z\" />\n <path d=\"m224 88.4h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m233 90h1.15v4.67h4.42v1.08h-4.42v4.67h-1.15v-4.67h-4.42v-1.08h4.42v-4.67z\" />\n <path d=\"m242 87.6 3.23 7.28v0.6l-3.23 7.29-0.866-0.308 2.6-7.28-2.6-7.29 0.866-0.292z\" />\n <path d=\"m224 222h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m229 228h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m242 221 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\" />\n <path d=\"m149 265h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m162 259h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m171 259h0.446c-0.032 0.52-0.05 1.24-0.05 2.16v6.92c0 0.314 0.018 0.55 0.054 0.71 0.034 0.16 0.096 0.29 0.186 0.39s0.218 0.178 0.386 0.234c0.166 0.056 0.378 0.1 0.632 0.13s0.588 0.05 1 0.06v0.592h-5.99v-0.592c0.6-0.026 1.03-0.062 1.29-0.108 0.256-0.046 0.452-0.116 0.586-0.208 0.136-0.092 0.234-0.222 0.296-0.388 0.062-0.168 0.094-0.44 0.094-0.82v-6.57c0-0.216-0.038-0.374-0.114-0.474s-0.186-0.15-0.332-0.15c-0.172 0-0.418 0.088-0.738 0.266-0.318 0.178-0.712 0.424-1.18 0.738l-0.358-0.624 3.79-2.26z\" />\n <path d=\"m176 258 3.23 7.28v0.6l-3.23 7.29-0.866-0.308 2.6-7.28-2.6-7.29 0.866-0.292z\" />\n <path d=\"m44.7 163h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m57.9 156h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m65.7 157c-0.373 0-0.685 0.11-0.936 0.332s-0.454 0.54-0.608 0.956-0.264 0.924-0.328 1.52c-0.0648 0.598-0.0972 1.27-0.0972 2.02 0 1.76 0.163 3.05 0.49 3.88 0.327 0.824 0.833 1.24 1.52 1.24 0.654 0 1.14-0.386 1.45-1.16 0.316-0.776 0.474-1.98 0.474-3.6 0-1.24-0.081-2.25-0.243-3.02-0.162-0.77-0.388-1.32-0.677-1.66-0.289-0.334-0.639-0.502-1.05-0.502zm0.0406-0.69c1.18 0 2.06 0.458 2.64 1.37 0.578 0.914 0.867 2.29 0.867 4.14 0 1.91-0.309 3.36-0.928 4.34-0.619 0.982-1.52 1.47-2.71 1.47-1.17 0-2.04-0.46-2.61-1.38-0.57-0.918-0.855-2.31-0.855-4.18 0-0.994 0.0878-1.85 0.263-2.58s0.422-1.32 0.738-1.8c0.316-0.472 0.696-0.822 1.14-1.05 0.443-0.228 0.927-0.342 1.45-0.342z\" />\n <path d=\"m72 156 3.23 7.28v0.598l-3.23 7.29-0.867-0.308 2.6-7.28-2.6-7.29 0.867-0.292z\" />\n <path d=\"m74.1 228h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m87.3 221h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m96.2 223h1.15v4.67h4.42v1.08h-4.42v4.67h-1.15v-4.67h-4.42v-1.08h4.42v-4.67z\" />\n <path d=\"m105 220 3.23 7.28v0.598l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\" />\n <path d=\"m73.4 94.2h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m86.6 87.9h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m91.1 94.2h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m104 87.2 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\" />\n <path d=\"m608 156h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m616 157c-0.374 0-0.686 0.11-0.936 0.332-0.252 0.222-0.454 0.54-0.608 0.956s-0.264 0.924-0.328 1.52c-0.066 0.598-0.098 1.27-0.098 2.02 0 1.76 0.164 3.05 0.49 3.88 0.328 0.824 0.834 1.24 1.52 1.24 0.654 0 1.14-0.386 1.46-1.16s0.474-1.98 0.474-3.6c0-1.24-0.082-2.25-0.244-3.02s-0.388-1.32-0.676-1.66c-0.29-0.334-0.64-0.502-1.05-0.502zm0.04-0.69c1.18 0 2.06 0.458 2.64 1.37 0.578 0.914 0.868 2.29 0.868 4.14 0 1.91-0.31 3.36-0.928 4.34-0.618 0.982-1.52 1.47-2.71 1.47-1.17 0-2.04-0.46-2.61-1.38s-0.854-2.31-0.854-4.18c0-0.994 0.088-1.85 0.262-2.58 0.176-0.724 0.422-1.32 0.738-1.8 0.316-0.472 0.696-0.822 1.14-1.05 0.442-0.228 0.926-0.342 1.45-0.342z\" />\n <path d=\"m622 156 3.23 7.28v0.598l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\" />\n <path d=\"m505 45.5h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m514 45.9h0.444c-0.032 0.519-0.048 1.24-0.048 2.16v6.92c0 0.313 0.018 0.55 0.054 0.709 0.034 0.159 0.096 0.289 0.186 0.389 0.088 0.1 0.216 0.178 0.384 0.235s0.378 0.1 0.632 0.13c0.254 0.0298 0.59 0.05 1.01 0.0608v0.592h-5.99v-0.592c0.6-0.027 1.03-0.0634 1.28-0.109 0.258-0.0458 0.454-0.115 0.588-0.207 0.136-0.0918 0.234-0.222 0.296-0.389 0.062-0.168 0.094-0.44 0.094-0.819v-6.57c0-0.216-0.038-0.374-0.114-0.474s-0.186-0.15-0.332-0.15c-0.174 0-0.42 0.0892-0.738 0.267-0.318 0.178-0.714 0.424-1.18 0.738l-0.356-0.624 3.79-2.26z\" />\n <path d=\"m519 44.8 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\" />\n <path d=\"m574 88.4h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m583 90h1.15v4.67h4.42v1.08h-4.42v4.67h-1.15v-4.67h-4.42v-1.08h4.42v-4.67z\" />\n <path d=\"m591 87.6 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\" />\n <path d=\"m574 222h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m578 228h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m591 221 3.23 7.28v0.6l-3.23 7.29-0.866-0.308 2.6-7.28-2.6-7.29 0.866-0.292z\" />\n <path d=\"m498 265h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m511 259h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m520 259h0.446c-0.034 0.52-0.05 1.24-0.05 2.16v6.92c0 0.314 0.018 0.55 0.054 0.71 0.034 0.16 0.096 0.29 0.186 0.39 0.088 0.1 0.216 0.178 0.384 0.234s0.378 0.1 0.632 0.13 0.59 0.05 1.01 0.06v0.592h-5.99v-0.592c0.6-0.026 1.03-0.062 1.28-0.108 0.258-0.046 0.454-0.116 0.588-0.208 0.136-0.092 0.234-0.222 0.296-0.388 0.062-0.168 0.094-0.44 0.094-0.82v-6.57c0-0.216-0.038-0.374-0.114-0.474s-0.186-0.15-0.332-0.15c-0.174 0-0.42 0.088-0.738 0.266s-0.714 0.424-1.18 0.738l-0.356-0.624 3.79-2.26z\" />\n <path d=\"m525 258 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\" />\n <path d=\"m394 163h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m407 156h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m415 157c-0.374 0-0.686 0.11-0.936 0.332-0.252 0.222-0.454 0.54-0.608 0.956s-0.264 0.924-0.328 1.52c-0.066 0.598-0.098 1.27-0.098 2.02 0 1.76 0.164 3.05 0.49 3.88 0.328 0.824 0.834 1.24 1.52 1.24 0.654 0 1.14-0.386 1.45-1.16 0.318-0.776 0.476-1.98 0.476-3.6 0-1.24-0.082-2.25-0.244-3.02s-0.388-1.32-0.676-1.66c-0.29-0.334-0.64-0.502-1.05-0.502zm0.04-0.69c1.18 0 2.06 0.458 2.64 1.37 0.578 0.914 0.868 2.29 0.868 4.14 0 1.91-0.31 3.36-0.928 4.34-0.62 0.982-1.52 1.47-2.71 1.47-1.17 0-2.04-0.46-2.61-1.38s-0.854-2.31-0.854-4.18c0-0.994 0.088-1.85 0.262-2.58 0.176-0.724 0.422-1.32 0.738-1.8 0.316-0.472 0.696-0.822 1.14-1.05 0.442-0.228 0.926-0.342 1.45-0.342z\" />\n <path d=\"m421 156 3.23 7.28v0.598l-3.23 7.29-0.866-0.308 2.6-7.28-2.6-7.29 0.866-0.292z\" />\n <path d=\"m423 228h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m436 221h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m445 223h1.15v4.67h4.42v1.08h-4.42v4.67h-1.15v-4.67h-4.42v-1.08h4.42v-4.67z\" />\n <path d=\"m454 220 3.23 7.28v0.598l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\" />\n <path d=\"m423 94.2h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m436 87.9h1.25v15.1h-1.25v-15.1z\" />\n <path d=\"m440 94.2h9.99v1.08h-9.99v-1.08z\" />\n <path d=\"m453 87.2 3.23 7.28v0.6l-3.23 7.29-0.868-0.308 2.6-7.28-2.6-7.29 0.868-0.292z\" />\n </g>\n </g>\n <defs>\n <clipPath id=\"clip0_6_812\">\n <rect transform=\"translate(.8 .6)\" width=\"677\" height=\"364\"/>\n </clipPath>\n </defs>\n</svg>\n"
|
|
6655
6655
|
}
|
|
6656
6656
|
]
|
|
6657
6657
|
},
|
|
@@ -6980,7 +6980,7 @@ export default {
|
|
|
6980
6980
|
"items": [
|
|
6981
6981
|
{
|
|
6982
6982
|
"type": "text-content",
|
|
6983
|
-
"content": "\n### Inputs\n\nYou are given the number of bits in the function input $n$ and the phase oracle for the problem we're solving - a \"black box\" quantum operation $U_f$ that implements a classical function $f(x)$. \n\nAs usual, the phase oracle $U_f$ is defined by its effect on the individual values $x$ (represented as basis states $\\ket{x}$). \nIf the value of the function on the input $x$ $f(x) = 1$, the corresponding basis state $\\ket{x}$ is multiplied by $-1$; otherwise, the basis state is not changed.\nFormally, this can be written as follows:\n\n$$U_f \\ket{x} = (-1)^{f(x)} \\ket{x}$$\n\n> Typically the oracle for Grover's search is implemented as a marking oracle and then converted into a phase oracle using the phase kickback trick.\n\n\n### Algorithm outline\n\nThe high-level outline of the algorithm is very simple:\n\n1. Initialize the quantum system to a well-known starting state.\n2. Apply a fixed sequence of \"Grover iterations\" several times. Each iteration is implemented as pair of operations that includes one call of the oracle \"black box\".\n3. Finally, measuring all qubits will produce the desired output with high probability.\n\nLet's take a closer look at the algorithm.\n\n> We will use a convenient visualization of the algorithm steps rather than mathematical derivation.\n> They are equivalent, but the visual representation is much easier to follow.\n\n\n### Initial state and definitions\n\nGrover's search algorithm begins with a uniform superposition of all the states in the search space.\nTypically, the search space is defined as all $n$-bit bit strings, so this superposition is just an even superposition \nof all $N = 2^n$ basis states on $n$ qubits:\n$$\\ket{\\text{all}} = \\frac{1}{\\sqrt{N}}\\sum_{x=0}^{N-1}{\\ket{x}} $$\n\nWhen this superposition is considered in the context of the equation $f(x) = 1$, \nall the basis states can be split in two groups: \"good\" (solutions) and \"bad\" (non-solutions).\nIf the number of states for which $f(x)=1$ (the number of equation solutions) is $M$, \ntwo uniform superpositions of \"good\" and \"bad\" states can be defined as follows:\n\n$$\\ket{\\text{good}} = \\frac{1}{\\sqrt{M}}\\sum_{x,f(x)=1}{\\ket{x}}$$\n$$\\ket{\\text{bad}} = \\frac{1}{\\sqrt{N-M}}\\sum_{x,f(x)=0}{\\ket{x}}$$\n\nNow, the even superposition of all basis states can be rewritten as follows:\n$$\\ket{\\text{all}} = \\sqrt{\\frac{M}{N}}\\ket{\\text{good}} + \\sqrt{\\frac{N-M}{N}}\\ket{\\text{bad}}$$\n\nThe amplutudes $\\sqrt{\\frac{M}{N}}$ and $\\sqrt{\\frac{N-M}{N}}$ can then be written in a trigonometric representation,\nas a sine and cosine of the angle $\\theta$:\n\n$$\\sin \\theta = \\sqrt{\\frac{M}{N}}, \\cos \\theta = \\sqrt{\\frac{N-M}{N}}$$\n\nWith this replacement, the initial state can be written as \n\n$$\\ket{\\text{all}} = \\sin \\theta \\ket{\\text{good}} + \\cos \\theta \\ket{\\text{bad}}$$\n\nThe states involved in the algorithm can be represented on a plane on which $\\ket{\\text{good}}$ and $\\ket{\\text{bad}}$ vectors correspond to vertical and horizontal axes, respectively.\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"447\" height=\"366\" overflow=\"hidden\" version=\"1.1\" xml:space=\"preserve\" xmlns=\"http://www.w3.org/2000/svg\"><defs><linearGradient id=\"fill0\" x1=\"2824\" x2=\"2824\" y1=\"1084\" y2=\"1211\" gradientUnits=\"userSpaceOnUse\" spreadMethod=\"reflect\"><stop offset=\"0\"/><stop offset=\".0292\"/><stop offset=\".3\"/><stop offset=\"1\"/></linearGradient><linearGradient id=\"fill3\" x1=\"2026\" x2=\"2026\" y1=\"516\" y2=\"642\" gradientUnits=\"userSpaceOnUse\" spreadMethod=\"reflect\"><stop offset=\"0\"/><stop offset=\".0292\"/><stop offset=\".3\"/><stop offset=\"1\"/></linearGradient><linearGradient id=\"fill6\" x1=\"2877\" x2=\"2877\" y1=\"1261\" y2=\"1388\" gradientUnits=\"userSpaceOnUse\" spreadMethod=\"reflect\"><stop offset=\"0\"/><stop offset=\".0292\"/><stop offset=\".3\"/><stop offset=\"1\"/></linearGradient></defs><g transform=\"matrix(.25 0 0 .25 -333 -132)\"><path d=\"m1336 1325c0-368 308-666 689-666s689 298 689 666c0 368-308 666-689 666s-689-298-689-666z\" fill=\"none\" fill-rule=\"evenodd\" stroke=\"#000\" stroke-miterlimit=\"8\" stroke-width=\"6.88\"/><path d=\"m1336 1322h1373v6.88h-1373zm1348-22.1 30.7 25.6-30.7 25.6c-1.46 1.21-3.62 1.02-4.84-0.44s-1.02-3.63 0.44-4.84l27.5-22.9v5.28l-27.5-22.9c-1.46-1.21-1.66-3.38-0.44-4.84s3.38-1.65 4.84-0.44z\"/><path d=\"m2028 664v1328h-6.88v-1328zm-29 25.3 25.6-30.7 25.6 30.7c1.21 1.46 1.02 3.63-0.44 4.84-1.46 1.22-3.63 1.02-4.84-0.44l-22.9-27.5h5.28l-22.9 27.5c-1.21 1.46-3.38 1.66-4.84 0.44-1.46-1.22-1.65-3.38-0.44-4.84z\"/><path d=\"m2735 1098h6.92v83.6h-6.92z\" fill=\"url(#fill0)\" fill-rule=\"evenodd\"/><text x=\"2735.3799\" y=\"1171.12\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"83.6px\">|</text><path d=\"m2782 1122c-3.09 0-5.86 1.25-8.31 3.73-2.46 2.49-4.37 5.82-5.75 10s-2.07 8.35-2.07 12.5c0 3.11 0.43 5.44 1.28 6.98 0.86 1.55 2.29 2.32 4.29 2.32 1.98 0 3.92-0.86 5.82-2.56 1.9-1.71 3.86-4.14 5.88-7.3 2.03-3.16 3.46-6.81 4.29-10.9l0.41-1.93c0.27-1.23 0.45-2.29 0.54-3.19s0.13-1.87 0.13-2.92c0-2.31-0.49-4-1.48-5.08s-2.66-1.62-5.03-1.62zm-0.9-3.54c1.95 0 3.77 0.21 5.46 0.65 1.69 0.43 3.44 1.2 5.23 2.31l4.14-2.96 2.87 0.71-6.6 28.5c-0.66 2.85-0.99 5.07-0.99 6.65 0 1.2 0.19 2.07 0.58 2.61s1.01 0.81 1.84 0.81c0.9 0 1.86-0.37 2.88-1.1 1.02-0.74 2.45-2.14 4.31-4.2l2.56 2.51c-2.69 2.88-4.99 4.92-6.89 6.13-1.9 1.22-3.96 1.82-6.18 1.82-1.86 0-3.34-0.61-4.45-1.84s-1.66-2.86-1.66-4.9c0-1.64 0.34-3.39 1.03-5.25l-0.58-0.18c-2.88 4.19-5.6 7.26-8.18 9.21-2.57 1.94-5.3 2.92-8.17 2.92-3.3 0-5.85-1.24-7.66-3.73s-2.72-5.98-2.72-10.5c0-5.15 1.01-10.1 3.03-14.8 2.02-4.75 4.8-8.49 8.34-11.2 3.53-2.74 7.47-4.11 11.8-4.11zm75.2-20.5h2.65l-11 49.7c-0.66 2.97-0.99 5.19-0.99 6.65 0 1.2 0.2 2.07 0.58 2.61 0.39 0.54 1.01 0.81 1.85 0.81 0.89 0 1.85-0.37 2.87-1.1 1.02-0.74 2.46-2.14 4.31-4.2l2.56 2.51c-2.9 3.06-5.27 5.15-7.12 6.27-1.84 1.12-3.9 1.68-6.17 1.68-1.95 0-3.51-0.71-4.67-2.13-1.17-1.42-1.76-3.24-1.76-5.46 0-2.01 0.42-4.91 1.26-8.71l8.04-36c0.36-1.58 0.62-2.85 0.77-3.79 0.15-0.95 0.22-1.82 0.22-2.63 0-0.9-0.16-1.58-0.49-2.04-0.33-0.47-0.8-0.81-1.42-1.01-0.61-0.21-1.71-0.36-3.3-0.45l0.54-2.34zm-29 0h2.65l-11 49.7c-0.66 2.97-0.99 5.19-0.99 6.65 0 1.2 0.2 2.07 0.58 2.61 0.39 0.54 1.01 0.81 1.85 0.81 0.89 0 1.85-0.37 2.87-1.1 1.02-0.74 2.46-2.14 4.31-4.2l2.56 2.51c-2.9 3.06-5.27 5.15-7.12 6.27-1.84 1.12-3.9 1.68-6.17 1.68-1.95 0-3.51-0.71-4.67-2.13-1.17-1.42-1.76-3.24-1.76-5.46 0-2.01 0.42-4.91 1.26-8.71l8.04-36c0.36-1.58 0.62-2.85 0.77-3.79 0.15-0.95 0.22-1.82 0.22-2.63 0-0.9-0.16-1.58-0.49-2.04-0.33-0.47-0.8-0.81-1.42-1.01-0.61-0.21-1.71-0.36-3.3-0.45l0.54-2.34z\" fill=\"url(#fill0)\" fill-rule=\"evenodd\"/><text x=\"2758.22\" y=\"1154.85\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"65px\">𝑎𝑙𝑙</text><path d=\"m2875 1098 17.9 40.3v3.32l-17.9 40.4-4.81-1.71 14.4-40.3-14.4-40.4z\" fill=\"url(#fill0)\" fill-rule=\"evenodd\"/><text x=\"2870.6001\" y=\"1171.29\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"84px\">〉</text><path d=\"m1889 530h6.91v83.6h-6.91z\" fill=\"url(#fill3)\" fill-rule=\"evenodd\"/><text x=\"1888.67\" y=\"602.83099\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"83.6px\">|</text><path d=\"m2040 554c-3.11 0-5.83 1.3-8.15 3.91-2.32 2.6-4.15 6.33-5.48 11.2-1.33 4.85-2 9.03-2 12.5 0 3.29 0.68 5.73 2.05 7.3 1.36 1.57 3.42 2.36 6.17 2.36 2.94 0 5.54-1.32 7.82-3.95 2.28-2.64 4.07-6.33 5.39-11.1 1.32-4.75 1.98-8.92 1.98-12.5 0-3.24-0.63-5.67-1.89-7.3s-3.22-2.45-5.89-2.45zm-49 0c-3.11 0-5.83 1.3-8.15 3.91-2.32 2.6-4.15 6.33-5.48 11.2-1.33 4.85-2 9.03-2 12.5 0 3.29 0.68 5.73 2.05 7.3 1.36 1.57 3.42 2.36 6.17 2.36 2.94 0 5.54-1.32 7.82-3.95 2.28-2.64 4.07-6.33 5.39-11.1 1.32-4.75 1.98-8.92 1.98-12.5 0-3.24-0.63-5.67-1.89-7.3s-3.22-2.45-5.89-2.45zm98.3-0.09c-3.05 0-5.79 1.24-8.22 3.71-2.42 2.47-4.33 5.8-5.72 10-1.4 4.19-2.09 8.37-2.09 12.5 0 3.12 0.42 5.44 1.28 6.99 0.85 1.54 2.28 2.31 4.29 2.31 0.93 0 1.87-0.202 2.83-0.606 0.96-0.405 1.95-1.06 2.99-1.96 1.03-0.898 2.05-1.99 3.05-3.28s1.92-2.58 2.76-3.89c0.84-1.3 1.62-2.84 2.34-4.63 0.72-1.78 1.33-3.93 1.84-6.45l0.4-1.93c0.45-2.16 0.68-4.19 0.68-6.11 0-2.34-0.5-4.04-1.48-5.1-0.99-1.06-2.64-1.6-4.95-1.6zm-148 0c-3.05 0-5.79 1.24-8.22 3.71-2.42 2.47-4.33 5.8-5.72 10-1.4 4.19-2.09 8.37-2.09 12.5 0 3.12 0.45 5.44 1.35 6.99 0.89 1.54 2.3 2.31 4.22 2.31 1.53 0 3.05-0.524 4.56-1.57s3.13-2.71 4.85-4.99 3.06-4.45 4.02-6.51c0.96-2.07 1.77-4.64 2.45-7.73 0.67-3.08 1.01-5.76 1.01-8.04 0-2.34-0.5-4.04-1.48-5.1-0.99-1.06-2.64-1.6-4.95-1.6zm100-3.5c4.8 0 8.45 1.31 11 3.93 2.52 2.62 3.78 6.37 3.78 11.3 0 3.47-0.61 7.19-1.82 11.1s-2.88 7.28-4.99 9.97c-2.11 2.7-4.63 4.72-7.57 6.09-2.93 1.36-6.3 2.04-10.1 2.04-4.65 0-8.25-1.3-10.8-3.91-2.56-2.6-3.84-6.35-3.84-11.2 0-2.4 0.36-5.17 1.08-8.31 0.93-4.25 2.48-7.97 4.67-11.1 2.19-3.18 4.88-5.61 8.09-7.3 3.2-1.69 6.72-2.54 10.6-2.54zm-49 0c4.8 0 8.45 1.31 11 3.93 2.52 2.62 3.78 6.37 3.78 11.3 0 3.47-0.61 7.19-1.82 11.1s-2.88 7.28-4.99 9.97c-2.11 2.7-4.63 4.72-7.57 6.09-2.93 1.36-6.3 2.04-10.1 2.04-4.65 0-8.25-1.3-10.8-3.91-2.56-2.6-3.84-6.35-3.84-11.2 0-2.4 0.36-5.17 1.08-8.31 0.93-4.25 2.48-7.97 4.67-11.1 2.19-3.18 4.88-5.61 8.09-7.3 3.2-1.69 6.72-2.54 10.6-2.54zm-51.7-0.045c1.88 0 3.66 0.225 5.34 0.674s3.37 1.21 5.08 2.29l4.13-2.96 2.88 0.719-4.63 20.9c-0.33 1.47-1.08 5.17-2.25 11.1-1.23 6.29-2.22 10.7-2.98 13.3-0.77 2.6-1.72 4.98-2.86 7.12s-2.6 4-4.4 5.59c-1.8 1.59-3.98 2.82-6.54 3.68-2.56 0.869-5.59 1.3-9.09 1.3-11.3 0-17-3.29-17-9.88 0-1.68 0.51-3.2 1.52-4.58 1.02-1.38 2.65-2.83 4.9-4.36l3.24 2.6c-0.57 0.689-1.05 1.37-1.44 2.04s-0.67 1.32-0.83 1.95c-0.17 0.629-0.25 1.38-0.25 2.25 0 2.25 0.81 3.89 2.43 4.92 1.61 1.03 4.05 1.55 7.32 1.55 3.68 0 6.64-0.831 8.87-2.49s4.14-4.34 5.73-8.02c1.58-3.68 3.13-9.25 4.62-16.7l-0.62-0.134c-2.91 3.98-5.6 6.89-8.09 8.72-2.49 1.83-5.17 2.74-8.04 2.74-3.27 0-5.8-1.23-7.62-3.68-1.81-2.46-2.71-5.96-2.71-10.5 0-5.12 1-10 3.01-14.8 2-4.72 4.79-8.47 8.35-11.3 3.57-2.78 7.53-4.18 11.9-4.18zm168-20.5h2.65l-11.2 49.7c-0.66 2.94-0.99 5.15-0.99 6.65 0 1.2 0.2 2.07 0.59 2.6s1 0.809 1.84 0.809c0.9 0 1.86-0.367 2.87-1.1 1.02-0.734 2.46-2.13 4.32-4.2l2.56 2.52c-2.76 2.9-5.08 4.96-6.97 6.15-1.88 1.2-3.92 1.8-6.1 1.8-1.86 0-3.34-0.614-4.45-1.84s-1.66-2.86-1.66-4.9c0-1.65 0.34-3.4 1.03-5.26l-0.59-0.18c-2.87 4.19-5.6 7.26-8.17 9.21-2.58 1.95-5.3 2.92-8.18 2.92-3.29 0-5.84-1.24-7.66-3.73-1.81-2.48-2.71-5.97-2.71-10.5 0-5.15 1.01-10.1 3.03-14.8s4.8-8.49 8.33-11.2c3.54-2.74 7.47-4.11 11.8-4.11 1.82 0 3.51 0.187 5.05 0.562 1.54 0.374 3.12 1.02 4.74 1.95l2.33-10.4c0.24-0.989 0.45-2.08 0.63-3.28s0.27-2.25 0.27-3.14c0-0.899-0.16-1.58-0.49-2.04s-0.8-0.801-1.42-1.01c-0.61-0.209-1.71-0.359-3.3-0.449l0.54-2.34z\" fill=\"url(#fill3)\" fill-rule=\"evenodd\"/><text x=\"1908.14\" y=\"603.505\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"84.3px\">𝑔𝑜𝑜𝑑</text><path d=\"m2126 529 17.9 40.3v3.32l-17.9 40.4-4.81-1.71 14.4-40.3-14.4-40.4z\" fill=\"url(#fill3)\" fill-rule=\"evenodd\"/><text x=\"2121.28\" y=\"603\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"84px\">〉</text><path transform=\"matrix(1 0 0 -1 2024 1326)\" d=\"m0.823-3.34 660 163-1.64 6.68-660-163zm641 135 23.7 32.2-35.9 17.5c-1.71 0.831-3.76 0.121-4.6-1.59s-0.121-3.76 1.59-4.6l32.2-15.7-1.26 5.13-21.2-28.8c-1.12-1.53-0.798-3.68 0.731-4.81s3.68-0.798 4.81 0.731z\"/><path d=\"m2766 1275h6.92v83.6h-6.92z\" fill=\"url(#fill6)\" fill-rule=\"evenodd\"/><text x=\"2766.3201\" y=\"1348.14\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"83.6px\">|</text><path d=\"m2816 1301c-1.43 0-2.85 0.46-4.24 1.37s-2.94 2.43-4.65 4.54-3.1 4.27-4.18 6.49-1.99 5.05-2.74 8.49l-0.4 1.89c-0.45 2.09-0.68 4.13-0.68 6.11 0 2.36 0.52 4.07 1.55 5.12 1.04 1.05 2.75 1.57 5.15 1.57 1.22 0 2.39-0.2 3.5-0.61 1.11-0.4 2.24-1.07 3.39-2 1.15-0.92 2.25-2.14 3.28-3.66 1.03-1.51 1.99-3.37 2.85-5.59 0.87-2.22 1.55-4.59 2.03-7.12 0.47-2.53 0.71-4.95 0.71-7.25 0-3.12-0.44-5.46-1.32-7.01-0.88-1.56-2.3-2.34-4.25-2.34zm97.4-1.75c-3.06 0-5.8 1.23-8.22 3.71-2.43 2.47-4.34 5.8-5.73 9.99s-2.09 8.37-2.09 12.5c0 3.12 0.43 5.45 1.28 6.99s2.29 2.31 4.29 2.31c0.93 0 1.87-0.2 2.83-0.6 0.96-0.41 1.96-1.06 2.99-1.96s2.05-1.99 3.05-3.28c1.01-1.29 1.93-2.58 2.77-3.88 0.83-1.31 1.61-2.85 2.33-4.63s1.33-3.93 1.84-6.45l0.41-1.93c0.45-2.15 0.67-4.19 0.67-6.11 0-2.33-0.49-4.03-1.48-5.1-0.99-1.06-2.64-1.59-4.94-1.59zm-50.9 0c-3.09 0-5.86 1.24-8.31 3.73-2.46 2.48-4.37 5.82-5.75 9.99-1.38 4.18-2.07 8.35-2.07 12.5 0 3.12 0.43 5.45 1.28 6.99s2.29 2.31 4.29 2.31c1.98 0 3.92-0.85 5.82-2.56 1.9-1.7 3.86-4.14 5.88-7.3 2.03-3.16 3.46-6.8 4.29-10.9l0.41-1.93c0.27-1.23 0.45-2.29 0.54-3.19s0.13-1.87 0.13-2.92c0-2.3-0.49-4-1.48-5.07-0.99-1.08-2.67-1.62-5.03-1.62zm-0.9-3.55c1.95 0 3.77 0.22 5.46 0.65 1.69 0.44 3.43 1.21 5.23 2.32l4.13-2.97 2.88 0.72-6.6 28.5c-0.66 2.84-0.99 5.06-0.99 6.65 0 1.2 0.19 2.06 0.58 2.6s1 0.81 1.84 0.81c0.9 0 1.86-0.36 2.88-1.1 1.02-0.73 2.45-2.13 4.31-4.2l2.56 2.52c-2.69 2.87-4.99 4.92-6.89 6.13-1.91 1.21-3.97 1.82-6.18 1.82-1.86 0-3.34-0.62-4.45-1.84-1.11-1.23-1.66-2.86-1.66-4.9 0-1.65 0.34-3.4 1.03-5.26l-0.58-0.18c-2.88 4.2-5.6 7.27-8.18 9.21-2.57 1.95-5.3 2.92-8.17 2.92-3.3 0-5.85-1.24-7.66-3.73-1.81-2.48-2.72-5.97-2.72-10.5 0-5.15 1.01-10.1 3.03-14.8s4.8-8.49 8.34-11.2c3.53-2.74 7.47-4.11 11.8-4.11zm70.6-20.5h2.65l-11.2 49.7c-0.66 2.93-0.99 5.15-0.99 6.65 0 1.2 0.19 2.06 0.58 2.6s1 0.81 1.84 0.81c0.9 0 1.86-0.36 2.88-1.1 1.02-0.73 2.45-2.13 4.31-4.2l2.56 2.52c-2.75 2.9-5.08 4.95-6.96 6.15-1.89 1.2-3.93 1.8-6.11 1.8-1.86 0-3.34-0.62-4.45-1.84-1.11-1.23-1.66-2.86-1.66-4.9 0-1.65 0.34-3.4 1.03-5.26l-0.58-0.18c-2.88 4.2-5.6 7.27-8.18 9.21-2.57 1.95-5.3 2.92-8.17 2.92-3.3 0-5.85-1.24-7.66-3.73-1.81-2.48-2.72-5.97-2.72-10.5 0-5.15 1.01-10.1 3.03-14.8s4.8-8.49 8.34-11.2c3.53-2.74 7.47-4.11 11.8-4.11 1.83 0 3.51 0.19 5.05 0.56 1.55 0.38 3.13 1.03 4.74 1.96l2.34-10.4c0.24-0.99 0.45-2.08 0.63-3.28s0.27-2.25 0.27-3.14c0-0.9-0.17-1.58-0.5-2.05-0.33-0.46-0.8-0.8-1.41-1.01-0.62-0.21-1.72-0.36-3.3-0.45l0.54-2.33zm-124 0h2.61l-7.91 31.4 0.59 0.18c2.9-3.9 5.63-6.71 8.17-8.45 2.55-1.74 5.09-2.6 7.64-2.6 3.26 0 5.8 1.24 7.61 3.72 1.81 2.49 2.72 5.99 2.72 10.5 0 4.94-1 9.8-2.99 14.6-1.99 4.78-4.75 8.57-8.29 11.4-3.53 2.8-7.48 4.2-11.8 4.2-3.99 0-7.52-0.98-10.6-2.92l-4.13 2.92-2.87-0.72 11.6-51.4c0.69-3.05 1.03-5.27 1.03-6.64 0-1.26-0.38-2.15-1.14-2.66-0.77-0.5-2.14-0.79-4.11-0.85l0.54-2.33z\" fill=\"url(#fill6)\" fill-rule=\"evenodd\"/><text x=\"2788.5801\" y=\"1331.87\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"65px\">𝑏𝑎𝑑</text><path d=\"m2950 1275 17.9 40.3v3.33l-17.9 40.4-4.8-1.71 14.4-40.3-14.4-40.4z\" fill=\"url(#fill6)\" fill-rule=\"evenodd\"/><text x=\"2945.6599\" y=\"1348.3\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"84px\">〉</text><path d=\"m2414 1269c-1.4 6.49-2.11 12-2.11 16.4 0 3.36 0.51 5.82 1.53 7.39s2.67 2.36 4.94 2.36c3.36 0 6.54-2.25 9.55-6.76s5.56-11 7.66-19.4zm18.4-30.3c-3.5 0-6.74 2.22-9.72 6.65s-5.52 10.8-7.62 19h21.5c1.41-6.31 2.11-11.8 2.11-16.3 0-3.15-0.51-5.5-1.53-7.06-1.01-1.55-2.6-2.33-4.76-2.33zm0.54-3.64c8.69 0 13 5.51 13 16.5 0 3.12-0.35 6.84-1.06 11.2-0.7 4.33-1.82 8.74-3.34 13.2-1.53 4.5-3.46 8.47-5.8 11.9-2.33 3.46-5.03 6.13-8.08 8.02-3.06 1.89-6.35 2.83-9.89 2.83-4.46 0-7.78-1.36-9.97-4.09-2.19-2.72-3.28-6.81-3.28-12.3 0-2.97 0.33-6.62 0.99-11 0.66-4.35 1.74-8.79 3.26-13.3 1.51-4.54 3.45-8.57 5.84-12.1 2.38-3.52 5.12-6.23 8.22-8.13s6.46-2.85 10.1-2.85z\" fill-rule=\"evenodd\"/><text x=\"2404.45\" y=\"1290.41\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"63.7px\">𝜃</text><path d=\"m2357 1240c6.73 27 10.1 54.7 10.1 82.5\" fill=\"none\" fill-rule=\"evenodd\" stroke=\"#000\" stroke-miterlimit=\"8\" stroke-width=\"6.88\"/><path d=\"m2722 1082v-49h89v-49 49h89v49\" fill=\"none\" fill-rule=\"evenodd\" stroke=\"#0070c0\" stroke-miterlimit=\"8\" stroke-width=\"6.88\"/><text transform=\"translate(2634 952)\" fill=\"#0070c0\" font-family=\"'Segoe UI', 'Segoe UI_MSFontService', sans-serif\" font-size=\"64px\" font-weight=\"400\">The starting state</text></g></svg>\n\n### Grover's iteration\n\nEach Grover's iteration consists of two operations.\n\n1. The phase oracle $U_f$.\n2. An operation called \"reflection about the mean\".\n\nApplying the phase oracle to the state will flip the sign of all basis states in $\\ket{\\text{good}}$ \nand leave all basis states in $\\ket{\\text{bad}}$ unchanged:\n\n$$U_f\\ket{\\text{good}} = -\\ket{\\text{good}}$$\n$$U_f\\ket{\\text{bad}} = \\ket{\\text{bad}}$$\n\nOn the circle plot, this transformation leaves the horizontal component of the state vector unchanged and reverses its vertical component. In other words, this operation is a reflection along the horizontal axis.\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"475\" height=\"368\" overflow=\"hidden\" version=\"1.1\" xml:space=\"preserve\" xmlns=\"http://www.w3.org/2000/svg\"><defs><linearGradient id=\"fill0\" x1=\"2830\" x2=\"2830\" y1=\"1062\" y2=\"1188\" gradientUnits=\"userSpaceOnUse\" spreadMethod=\"reflect\"><stop offset=\"0\"/><stop offset=\".0292\"/><stop offset=\".3\"/><stop offset=\"1\"/></linearGradient><linearGradient id=\"fill3\" x1=\"2031\" x2=\"2031\" y1=\"494\" y2=\"621\" gradientUnits=\"userSpaceOnUse\" spreadMethod=\"reflect\"><stop offset=\"0\"/><stop offset=\".0292\"/><stop offset=\".3\"/><stop offset=\"1\"/></linearGradient><linearGradient id=\"fill6\" x1=\"2876\" x2=\"2876\" y1=\"1238\" y2=\"1365\" gradientUnits=\"userSpaceOnUse\" spreadMethod=\"reflect\"><stop offset=\"0\"/><stop offset=\".0292\"/><stop offset=\".3\"/><stop offset=\"1\"/></linearGradient></defs><g transform=\"matrix(.25 0 0 .25 -332 -127)\"><path d=\"m2423 1245c-1.41 6.5-2.11 12-2.11 16.4 0 3.35 0.51 5.81 1.53 7.39 1.01 1.57 2.66 2.35 4.94 2.35 3.35 0 6.53-2.25 9.54-6.76 3.01-4.5 5.57-11 7.66-19.4zm18.4-30.3c-3.51 0-6.75 2.22-9.73 6.65s-5.52 10.8-7.61 19h21.5c1.4-6.32 2.11-11.8 2.11-16.3 0-3.14-0.51-5.49-1.53-7.05s-2.61-2.34-4.76-2.34zm0.54-3.64c8.68 0 13 5.51 13 16.5 0 3.11-0.35 6.83-1.05 11.2-0.71 4.33-1.82 8.74-3.35 13.2s-3.46 8.47-5.79 11.9c-2.34 3.45-5.03 6.13-8.09 8.01-3.05 1.89-6.35 2.83-9.88 2.83-4.46 0-7.79-1.36-9.97-4.08-2.19-2.73-3.28-6.82-3.28-12.3 0-2.96 0.33-6.62 0.98-11 0.66-4.34 1.75-8.78 3.26-13.3s3.46-8.56 5.84-12.1 5.12-6.23 8.22-8.13 6.46-2.86 10.1-2.86z\" fill=\"#243a5e\" fill-rule=\"evenodd\"/><text x=\"2413.1399\" y=\"1267.03\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"63.7px\">𝜃</text><path d=\"m2423 1344c-1.41 6.5-2.11 12-2.11 16.4 0 3.35 0.51 5.82 1.52 7.39 1.02 1.57 2.67 2.36 4.95 2.36 3.35 0 6.53-2.26 9.54-6.76 3.01-4.51 5.56-11 7.66-19.4zm18.4-30.3c-3.51 0-6.75 2.21-9.73 6.64-2.98 4.44-5.52 10.8-7.61 19h21.5c1.41-6.32 2.12-11.8 2.12-16.3 0-3.14-0.51-5.49-1.53-7.05s-2.61-2.33-4.76-2.33zm0.54-3.64c8.68 0 13 5.51 13 16.5 0 3.11-0.35 6.83-1.05 11.2-0.71 4.33-1.82 8.74-3.35 13.2s-3.46 8.47-5.79 11.9c-2.34 3.46-5.04 6.13-8.09 8.02-3.06 1.88-6.35 2.83-9.88 2.83-4.47 0-7.79-1.37-9.98-4.09-2.18-2.73-3.28-6.82-3.28-12.3 0-2.96 0.33-6.61 0.99-11 0.66-4.34 1.75-8.78 3.26-13.3 1.51-4.53 3.46-8.56 5.84-12.1s5.12-6.23 8.22-8.13 6.46-2.85 10.1-2.85z\" fill=\"#0070c0\" fill-rule=\"evenodd\"/><text x=\"2413.0701\" y=\"1366.24\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"63.7px\">𝜃</text><path d=\"m1332 1302c0-373 313-675 698-675s698 302 698 675c0 373-313 675-698 675s-698-302-698-675z\" fill=\"none\" fill-rule=\"evenodd\" stroke=\"#000\" stroke-miterlimit=\"8\" stroke-width=\"6.88\"/><path d=\"m2033 633v1345h-6.88v-1345zm-29 25.3 25.6-30.7 25.6 30.7c1.21 1.46 1.02 3.63-0.44 4.84s-3.63 1.02-4.84-0.44l-22.9-27.5h5.28l-22.9 27.5c-1.21 1.46-3.38 1.66-4.84 0.44s-1.65-3.38-0.44-4.84z\"/><path d=\"m2741 1075h6.92v83.6h-6.92z\" fill=\"url(#fill0)\" fill-rule=\"evenodd\"/><text x=\"2740.6201\" y=\"1148.61\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"83.6px\">|</text><path d=\"m2788 1100c-3.08 0-5.85 1.24-8.31 3.73-2.46 2.48-4.37 5.82-5.75 9.99-1.38 4.18-2.07 8.35-2.07 12.5 0 3.12 0.43 5.45 1.28 6.99 0.86 1.54 2.29 2.31 4.29 2.31 1.98 0 3.92-0.85 5.82-2.56 1.9-1.7 3.86-4.14 5.89-7.3 2.02-3.16 3.45-6.8 4.29-10.9l0.4-1.93c0.27-1.23 0.45-2.29 0.54-3.19s0.13-1.87 0.13-2.92c0-2.3-0.49-4-1.48-5.07-0.99-1.08-2.66-1.62-5.03-1.62zm-0.9-3.55c1.95 0 3.77 0.22 5.46 0.65 1.69 0.44 3.44 1.21 5.23 2.32l4.14-2.97 2.87 0.72-6.6 28.5c-0.66 2.85-0.99 5.06-0.99 6.65 0 1.2 0.19 2.06 0.58 2.6s1.01 0.81 1.85 0.81c0.89 0 1.85-0.36 2.87-1.1 1.02-0.73 2.46-2.13 4.31-4.2l2.56 2.52c-2.69 2.87-4.99 4.92-6.89 6.13s-3.96 1.82-6.18 1.82c-1.86 0-3.34-0.62-4.45-1.84-1.1-1.23-1.66-2.86-1.66-4.9 0-1.65 0.35-3.4 1.03-5.26l-0.58-0.18c-2.87 4.2-5.6 7.27-8.17 9.21-2.58 1.95-5.31 2.92-8.18 2.92-3.29 0-5.85-1.24-7.66-3.72-1.81-2.49-2.72-5.98-2.72-10.5 0-5.15 1.01-10.1 3.03-14.8 2.03-4.75 4.8-8.49 8.34-11.2 3.53-2.74 7.47-4.11 11.8-4.11zm75.2-20.5h2.65l-11 49.7c-0.66 2.96-0.99 5.18-0.99 6.65 0 1.2 0.2 2.06 0.59 2.6s1 0.81 1.84 0.81c0.9 0 1.85-0.36 2.87-1.1 1.02-0.73 2.46-2.13 4.31-4.2l2.57 2.52c-2.91 3.05-5.28 5.14-7.12 6.26-1.85 1.13-3.91 1.69-6.18 1.69-1.95 0-3.51-0.71-4.67-2.14-1.17-1.42-1.76-3.24-1.76-5.45 0-2.01 0.42-4.91 1.26-8.72l8.04-36c0.36-1.59 0.62-2.85 0.77-3.8 0.15-0.94 0.22-1.82 0.22-2.62 0-0.9-0.16-1.58-0.49-2.05-0.33-0.46-0.8-0.8-1.42-1.01-0.61-0.21-1.71-0.36-3.3-0.45l0.54-2.33zm-29 0h2.65l-11 49.7c-0.66 2.96-0.99 5.18-0.99 6.65 0 1.2 0.2 2.06 0.59 2.6s1 0.81 1.84 0.81c0.9 0 1.85-0.36 2.87-1.1 1.02-0.73 2.46-2.13 4.31-4.2l2.57 2.52c-2.91 3.05-5.28 5.14-7.12 6.26-1.85 1.13-3.91 1.69-6.18 1.69-1.95 0-3.51-0.71-4.67-2.14-1.17-1.42-1.76-3.24-1.76-5.45 0-2.01 0.42-4.91 1.26-8.72l8.04-36c0.36-1.59 0.62-2.85 0.77-3.8 0.15-0.94 0.22-1.82 0.22-2.62 0-0.9-0.16-1.58-0.49-2.05-0.33-0.46-0.8-0.8-1.42-1.01-0.61-0.21-1.71-0.36-3.3-0.45l0.54-2.33z\" fill=\"url(#fill0)\" fill-rule=\"evenodd\"/><text x=\"2763.46\" y=\"1132.34\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"65px\">𝑎𝑙𝑙</text><path d=\"m2881 1075 17.9 40.3v3.33l-17.9 40.4-4.81-1.71 14.4-40.3-14.4-40.4z\" fill=\"url(#fill0)\" fill-rule=\"evenodd\"/><text x=\"2875.8401\" y=\"1148.77\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"84px\">〉</text><path d=\"m1893 508h6.92v83.6h-6.92z\" fill=\"url(#fill3)\" fill-rule=\"evenodd\"/><text x=\"1893.42\" y=\"580.99402\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"83.6px\">|</text><path d=\"m2045 532c-3.11 0-5.83 1.3-8.15 3.91-2.32 2.6-4.15 6.33-5.48 11.2-1.34 4.85-2 9.03-2 12.5 0 3.29 0.68 5.73 2.04 7.3 1.36 1.57 3.42 2.36 6.18 2.36 2.93 0 5.54-1.32 7.81-3.95 2.28-2.64 4.08-6.33 5.39-11.1 1.32-4.75 1.98-8.92 1.98-12.5 0-3.24-0.63-5.67-1.89-7.3-1.25-1.63-3.21-2.45-5.88-2.45zm-49 0c-3.11 0-5.83 1.3-8.15 3.91-2.32 2.6-4.15 6.33-5.48 11.2-1.34 4.85-2 9.03-2 12.5 0 3.29 0.68 5.73 2.04 7.3 1.36 1.57 3.42 2.36 6.18 2.36 2.93 0 5.54-1.32 7.81-3.95 2.28-2.64 4.08-6.33 5.4-11.1 1.31-4.75 1.97-8.92 1.97-12.5 0-3.24-0.63-5.67-1.89-7.3-1.25-1.63-3.21-2.45-5.88-2.45zm98.3-0.09c-3.06 0-5.8 1.24-8.22 3.71-2.43 2.47-4.34 5.8-5.73 10s-2.09 8.37-2.09 12.5c0 3.12 0.43 5.44 1.28 6.99 0.86 1.54 2.29 2.31 4.29 2.31 0.93 0 1.87-0.202 2.83-0.606 0.96-0.405 1.96-1.06 2.99-1.96 1.03-0.898 2.05-1.99 3.05-3.28 1.01-1.29 1.93-2.58 2.77-3.89 0.84-1.3 1.61-2.84 2.33-4.63 0.72-1.78 1.34-3.93 1.85-6.45l0.4-1.93c0.45-2.16 0.67-4.19 0.67-6.11 0-2.34-0.49-4.04-1.48-5.1-0.99-1.06-2.63-1.59-4.94-1.59zm-148 0c-3.05 0-5.8 1.24-8.22 3.71-2.43 2.47-4.34 5.8-5.73 10s-2.09 8.37-2.09 12.5c0 3.12 0.45 5.44 1.35 6.99 0.9 1.54 2.31 2.31 4.22 2.31 1.53 0 3.05-0.524 4.56-1.57 1.51-1.05 3.13-2.71 4.85-4.99 1.73-2.28 3.07-4.45 4.02-6.51 0.96-2.07 1.78-4.64 2.45-7.73 0.68-3.08 1.01-5.76 1.01-8.04 0-2.34-0.49-4.04-1.48-5.1-0.99-1.06-2.63-1.59-4.94-1.59zm100-3.5c4.79 0 8.44 1.31 11 3.93 2.51 2.62 3.77 6.37 3.77 11.3 0 3.47-0.6 7.19-1.82 11.1-1.21 3.95-2.87 7.28-4.98 9.97-2.11 2.7-4.64 4.72-7.57 6.09-2.94 1.36-6.31 2.04-10.1 2.04-4.64 0-8.24-1.3-10.8-3.91-2.56-2.6-3.84-6.35-3.84-11.2 0-2.4 0.36-5.17 1.07-8.31 0.93-4.25 2.49-7.97 4.68-11.1 2.18-3.18 4.88-5.61 8.08-7.3 3.21-1.69 6.73-2.54 10.6-2.54zm-49 0c4.79 0 8.44 1.31 11 3.93 2.52 2.62 3.77 6.37 3.77 11.3 0 3.47-0.6 7.19-1.82 11.1-1.21 3.95-2.87 7.28-4.98 9.97-2.11 2.7-4.64 4.72-7.57 6.09-2.94 1.36-6.31 2.04-10.1 2.04-4.64 0-8.24-1.3-10.8-3.91-2.56-2.6-3.84-6.35-3.84-11.2 0-2.4 0.36-5.17 1.07-8.31 0.93-4.25 2.49-7.97 4.68-11.1 2.18-3.18 4.88-5.61 8.08-7.3 3.21-1.69 6.73-2.54 10.6-2.54zm-51.7-0.045c1.89 0 3.67 0.225 5.35 0.674 1.67 0.449 3.37 1.21 5.07 2.29l4.14-2.96 2.87 0.719-4.63 20.9c-0.33 1.47-1.07 5.17-2.24 11.1-1.23 6.29-2.23 10.7-2.99 13.3-0.76 2.6-1.71 4.98-2.85 7.12s-2.61 4-4.4 5.59c-1.8 1.59-3.98 2.82-6.54 3.68-2.56 0.869-5.59 1.3-9.1 1.3-11.3 0-17-3.29-17-9.88 0-1.68 0.51-3.2 1.53-4.58 1.02-1.38 2.65-2.83 4.9-4.36l3.23 2.6c-0.57 0.689-1.05 1.37-1.44 2.04s-0.66 1.32-0.83 1.95c-0.16 0.629-0.25 1.38-0.25 2.25 0 2.25 0.81 3.89 2.43 4.92 1.62 1.03 4.06 1.55 7.32 1.55 3.69 0 6.64-0.831 8.87-2.49 2.24-1.66 4.15-4.34 5.73-8.02 1.59-3.68 3.13-9.25 4.63-16.7l-0.63-0.134c-2.9 3.98-5.6 6.89-8.09 8.72-2.48 1.83-5.16 2.74-8.04 2.74-3.26 0-5.8-1.23-7.61-3.68s-2.72-5.96-2.72-10.5c0-5.12 1-10 3.01-14.8 2.01-4.72 4.79-8.47 8.36-11.3 3.56-2.78 7.53-4.18 11.9-4.18zm168-20.5h2.65l-11.2 49.7c-0.66 2.94-0.99 5.15-0.99 6.65 0 1.2 0.19 2.07 0.58 2.6s1.01 0.809 1.84 0.809c0.9 0 1.86-0.367 2.88-1.1s2.45-2.13 4.31-4.2l2.56 2.52c-2.75 2.9-5.07 4.96-6.96 6.15s-3.92 1.8-6.11 1.8c-1.86 0-3.34-0.614-4.45-1.84s-1.66-2.86-1.66-4.9c0-1.65 0.35-3.4 1.03-5.26l-0.58-0.18c-2.88 4.19-5.6 7.26-8.18 9.21-2.57 1.95-5.3 2.92-8.17 2.92-3.3 0-5.85-1.24-7.66-3.73-1.81-2.48-2.72-5.97-2.72-10.5 0-5.15 1.01-10.1 3.03-14.8s4.8-8.49 8.34-11.2c3.53-2.74 7.47-4.11 11.8-4.11 1.83 0 3.51 0.187 5.05 0.561 1.55 0.375 3.13 1.03 4.74 1.96l2.34-10.4c0.24-0.989 0.45-2.08 0.63-3.28s0.27-2.25 0.27-3.14c0-0.899-0.17-1.58-0.5-2.04s-0.8-0.801-1.41-1.01-1.72-0.359-3.3-0.449l0.54-2.34z\" fill=\"url(#fill3)\" fill-rule=\"evenodd\"/><text x=\"1912.89\" y=\"581.66803\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"84.3px\">𝑔𝑜𝑜𝑑</text><path d=\"m2131 508 17.9 40.3v3.32l-17.9 40.4-4.81-1.71 14.4-40.3-14.4-40.4z\" fill=\"url(#fill3)\" fill-rule=\"evenodd\"/><text x=\"2126.04\" y=\"581.16302\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"84px\">〉</text><path transform=\"matrix(1 0 0 -1 2030 1303)\" d=\"m0.823-3.34 669 165-1.65 6.68-669-165zm649 137 23.7 32.2-35.9 17.5c-1.71 0.831-3.76 0.121-4.6-1.59s-0.121-3.76 1.59-4.6l32.2-15.7-1.26 5.13-21.2-28.8c-1.12-1.53-0.798-3.68 0.731-4.81 1.53-1.12 3.68-0.798 4.81 0.731z\"/><path d=\"m2765 1252h6.92v83.6h-6.92z\" fill=\"url(#fill6)\" fill-rule=\"evenodd\"/><text x=\"2765.25\" y=\"1324.91\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"83.6px\">|</text><path d=\"m2815 1278c-1.43 0-2.85 0.45-4.24 1.37-1.39 0.91-2.94 2.42-4.65 4.53-1.71 2.12-3.1 4.28-4.18 6.5-1.08 2.21-1.99 5.04-2.74 8.49l-0.4 1.88c-0.45 2.1-0.68 4.14-0.68 6.11 0 2.37 0.52 4.07 1.55 5.12 1.04 1.05 2.75 1.58 5.15 1.58 1.22 0 2.39-0.21 3.5-0.61 1.11-0.41 2.24-1.07 3.39-2 1.16-0.93 2.25-2.15 3.28-3.66s1.99-3.38 2.85-5.59c0.87-2.22 1.55-4.59 2.03-7.12 0.47-2.53 0.71-4.95 0.71-7.26 0-3.11-0.44-5.45-1.32-7.01-0.88-1.55-2.3-2.33-4.25-2.33zm97.4-1.75c-3.06 0-5.8 1.23-8.22 3.7-2.43 2.47-4.34 5.8-5.73 10-1.39 4.19-2.09 8.37-2.09 12.5 0 3.11 0.43 5.44 1.28 6.98 0.86 1.55 2.29 2.32 4.29 2.32 0.93 0 1.87-0.2 2.83-0.61 0.96-0.4 1.96-1.05 2.99-1.95s2.05-1.99 3.05-3.28c1.01-1.29 1.93-2.58 2.77-3.89 0.84-1.3 1.61-2.84 2.33-4.62 0.72-1.79 1.34-3.93 1.84-6.45l0.41-1.93c0.45-2.16 0.67-4.19 0.67-6.11 0-2.34-0.49-4.04-1.48-5.1s-2.64-1.59-4.94-1.59zm-50.9 0c-3.09 0-5.86 1.24-8.31 3.72-2.46 2.49-4.37 5.82-5.75 10s-2.07 8.35-2.07 12.5c0 3.11 0.43 5.44 1.28 6.98 0.86 1.55 2.29 2.32 4.29 2.32 1.98 0 3.92-0.86 5.82-2.56 1.9-1.71 3.86-4.14 5.88-7.3 2.03-3.16 3.46-6.81 4.29-10.9l0.41-1.93c0.27-1.23 0.45-2.29 0.54-3.19s0.13-1.87 0.13-2.92c0-2.31-0.49-4-1.48-5.08s-2.67-1.61-5.03-1.61zm-0.9-3.55c1.95 0 3.77 0.21 5.46 0.65 1.69 0.43 3.43 1.2 5.23 2.31l4.13-2.96 2.88 0.72-6.6 28.5c-0.66 2.84-0.99 5.06-0.99 6.64 0 1.2 0.19 2.07 0.58 2.61s1 0.81 1.84 0.81c0.9 0 1.86-0.37 2.88-1.1 1.02-0.74 2.45-2.14 4.31-4.2l2.56 2.51c-2.69 2.88-4.99 4.92-6.89 6.13-1.91 1.22-3.96 1.82-6.18 1.82-1.86 0-3.34-0.61-4.45-1.84s-1.66-2.86-1.66-4.89c0-1.65 0.34-3.4 1.03-5.26l-0.58-0.18c-2.88 4.19-5.6 7.26-8.18 9.21-2.57 1.95-5.3 2.92-8.17 2.92-3.3 0-5.85-1.24-7.66-3.73-1.81-2.48-2.72-5.97-2.72-10.5 0-5.15 1.01-10.1 3.03-14.8 2.02-4.75 4.8-8.49 8.34-11.2 3.53-2.74 7.47-4.11 11.8-4.11zm70.6-20.5h2.65l-11.2 49.7c-0.66 2.93-0.99 5.15-0.99 6.64 0 1.2 0.19 2.07 0.58 2.61s1 0.81 1.84 0.81c0.9 0 1.86-0.37 2.88-1.1 1.02-0.74 2.45-2.14 4.31-4.2l2.56 2.51c-2.75 2.91-5.07 4.96-6.96 6.16s-3.92 1.79-6.11 1.79c-1.86 0-3.34-0.61-4.45-1.84s-1.66-2.86-1.66-4.89c0-1.65 0.34-3.4 1.03-5.26l-0.58-0.18c-2.88 4.19-5.6 7.26-8.18 9.21-2.57 1.95-5.3 2.92-8.17 2.92-3.3 0-5.85-1.24-7.66-3.73-1.81-2.48-2.72-5.97-2.72-10.5 0-5.15 1.01-10.1 3.03-14.8 2.02-4.75 4.8-8.49 8.34-11.2 3.53-2.74 7.47-4.11 11.8-4.11 1.83 0 3.51 0.18 5.05 0.56 1.55 0.37 3.13 1.02 4.74 1.95l2.34-10.4c0.24-0.99 0.45-2.09 0.63-3.28 0.18-1.2 0.27-2.25 0.27-3.15s-0.17-1.58-0.5-2.04c-0.33-0.47-0.8-0.8-1.41-1.01-0.62-0.21-1.72-0.36-3.3-0.45l0.54-2.34zm-124 0h2.61l-7.91 31.4 0.59 0.18c2.9-3.89 5.63-6.71 8.17-8.44 2.55-1.74 5.09-2.61 7.64-2.61 3.26 0 5.8 1.24 7.61 3.73s2.72 5.99 2.72 10.5c0 4.94-1 9.8-2.99 14.6s-4.75 8.56-8.28 11.4c-3.54 2.8-7.49 4.2-11.9 4.2-3.99 0-7.52-0.97-10.6-2.92l-4.13 2.92-2.87-0.71 11.6-51.4c0.69-3.05 1.03-5.27 1.03-6.65 0-1.26-0.38-2.14-1.14-2.65s-2.13-0.79-4.11-0.85l0.54-2.34z\" fill=\"url(#fill6)\" fill-rule=\"evenodd\"/><text x=\"2787.51\" y=\"1308.64\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"65px\">𝑏𝑎𝑑</text><path d=\"m2949 1252 17.9 40.3v3.32l-17.9 40.4-4.8-1.71 14.4-40.3-14.4-40.4z\" fill=\"url(#fill6)\" fill-rule=\"evenodd\"/><text x=\"2944.5901\" y=\"1325.08\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"84px\">〉</text><path d=\"m2032 1298 675 161-1.59 6.69-675-161zm656 133 23.9 32-35.8 17.8c-1.7 0.85-3.76 0.15-4.61-1.55-0.84-1.7-0.15-3.76 1.55-4.61l32.1-15.9-1.22 5.14-21.4-28.7c-1.14-1.52-0.83-3.67 0.69-4.81s3.68-0.83 4.81 0.69z\" fill=\"#0070c0\"/><path d=\"m2367 1219c6.27 26.2 9.43 53.1 9.43 80.1\" fill=\"none\" fill-rule=\"evenodd\" stroke=\"#000\" stroke-miterlimit=\"8\" stroke-width=\"6.88\"/><path transform=\"matrix(1 0 0 -1 1686 1644)\" d=\"m679 259c7.22 28.1 10.9 56.9 10.9 85.9\" fill=\"none\" fill-rule=\"evenodd\" stroke=\"#0070c0\" stroke-miterlimit=\"8\" stroke-width=\"6.88\"/><path d=\"m1332 1299h1390v6.88h-1390zm1365-22.1 30.7 25.6-30.7 25.6c-1.46 1.21-3.63 1.02-4.84-0.44-1.22-1.46-1.02-3.63 0.44-4.84l27.5-22.9v5.28l-27.5-22.9c-1.46-1.21-1.66-3.38-0.44-4.84 1.21-1.46 3.38-1.65 4.84-0.44z\"/><g fill=\"#0070c0\" font-family=\"'Segoe UI', 'Segoe UI_MSFontService', sans-serif\" font-size=\"64px\" font-weight=\"400\"><text transform=\"translate(2734 1521)\">State after</text><text transform=\"translate(2734 1598)\">the first </text><text transform=\"translate(2969 1598)\">reflection</text></g></g></svg>\n\n\"Reflection about the mean\" is an operation for which the visual definition is much more intuitive than the mathematical one.\nIt is literally a reflection about the state $\\ket{\\text{all}}$ - the uniform superposition of all basis states in the search space. \n\nMathematically, this operation is described as $2\\ket{\\text{all}}\\bra{\\text{all}} - I$: it leaves the component of the input state parallel to the state $\\ket{\\text{all}}$ unchanged and multiplies the component orthogonal to it by $-1$.\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"428\" height=\"374\" overflow=\"hidden\" version=\"1.1\" xml:space=\"preserve\" xmlns=\"http://www.w3.org/2000/svg\"><defs><linearGradient id=\"fill0\" x1=\"2874\" x2=\"2874\" y1=\"1061\" y2=\"1188\" gradientUnits=\"userSpaceOnUse\" spreadMethod=\"reflect\"><stop offset=\"0\"/><stop offset=\".0292\"/><stop offset=\".3\"/><stop offset=\"1\"/></linearGradient><linearGradient id=\"fill3\" x1=\"2065\" x2=\"2065\" y1=\"482\" y2=\"609\" gradientUnits=\"userSpaceOnUse\" spreadMethod=\"reflect\"><stop offset=\"0\"/><stop offset=\".0292\"/><stop offset=\".3\"/><stop offset=\"1\"/></linearGradient><linearGradient id=\"fill6\" x1=\"2922\" x2=\"2922\" y1=\"1241\" y2=\"1368\" gradientUnits=\"userSpaceOnUse\" spreadMethod=\"reflect\"><stop offset=\"0\"/><stop offset=\".0292\"/><stop offset=\".3\"/><stop offset=\"1\"/></linearGradient></defs><g transform=\"matrix(.25 0 0 .25 -338 -124)\"><path d=\"m2319 1062c42.5 44.9 72.4 100 86.6 160\" fill=\"none\" fill-rule=\"evenodd\" stroke=\"#0070c0\" stroke-miterlimit=\"8\" stroke-width=\"6.88\"/><path d=\"m1356 1305c0-378 317-684 708-684s708 306 708 684c0 378-317 684-708 684s-708-306-708-684z\" fill=\"none\" fill-rule=\"evenodd\" stroke=\"#000\" stroke-miterlimit=\"8\" stroke-width=\"6.88\"/><path d=\"m1356 1302h1410v6.88h-1410zm1385-22.1 30.7 25.6-30.7 25.6c-1.46 1.21-3.63 1.02-4.84-0.44-1.22-1.46-1.02-3.63 0.44-4.84l27.5-22.9v5.28l-27.5-22.9c-1.46-1.21-1.66-3.38-0.44-4.84 1.21-1.46 3.38-1.65 4.84-0.44z\"/><path d=\"m2067 626v1364h-6.88v-1364zm-29 25.3 25.6-30.7 25.6 30.7c1.21 1.46 1.02 3.63-0.44 4.84-1.46 1.22-3.63 1.02-4.84-0.44l-22.9-27.5h5.28l-22.9 27.5c-1.21 1.46-3.38 1.66-4.84 0.44-1.46-1.22-1.65-3.38-0.44-4.84z\"/><path d=\"m2785 1075h6.92v83.6h-6.92z\" fill=\"url(#fill0)\" fill-rule=\"evenodd\"/><text x=\"2784.6899\" y=\"1148.25\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"83.6px\">|</text><path d=\"m2832 1099c-3.09 0-5.86 1.25-8.32 3.73-2.45 2.49-4.37 5.82-5.75 10-1.37 4.17-2.06 8.35-2.06 12.5 0 3.11 0.43 5.44 1.28 6.98 0.85 1.55 2.28 2.32 4.29 2.32 1.98 0 3.91-0.86 5.82-2.56 1.9-1.71 3.86-4.14 5.88-7.3s3.45-6.81 4.29-10.9l0.41-1.93c0.26-1.23 0.44-2.29 0.53-3.19s0.14-1.88 0.14-2.92c0-2.31-0.5-4-1.48-5.08-0.99-1.08-2.67-1.62-5.03-1.62zm-0.9-3.55c1.94 0 3.76 0.22 5.46 0.66 1.69 0.43 3.43 1.2 5.23 2.31l4.13-2.97 2.88 0.72-6.61 28.5c-0.66 2.85-0.99 5.07-0.99 6.65 0 1.2 0.2 2.07 0.59 2.61s1 0.81 1.84 0.81c0.9 0 1.86-0.37 2.88-1.1 1.01-0.74 2.45-2.14 4.31-4.2l2.56 2.51c-2.7 2.88-5 4.92-6.9 6.13-1.9 1.22-3.96 1.82-6.17 1.82-1.86 0-3.34-0.61-4.45-1.84s-1.66-2.86-1.66-4.9c0-1.64 0.34-3.4 1.03-5.25l-0.58-0.18c-2.88 4.19-5.6 7.26-8.18 9.21-2.58 1.94-5.3 2.92-8.18 2.92-3.29 0-5.84-1.25-7.65-3.73-1.82-2.49-2.72-5.98-2.72-10.5 0-5.15 1.01-10.1 3.03-14.8 2.02-4.75 4.8-8.49 8.33-11.2 3.54-2.74 7.47-4.11 11.8-4.11zm75.2-20.5h2.65l-11.1 49.7c-0.65 2.97-0.98 5.18-0.98 6.65 0 1.2 0.19 2.07 0.58 2.61s1 0.81 1.84 0.81c0.9 0 1.86-0.37 2.88-1.1 1.02-0.74 2.45-2.14 4.31-4.2l2.56 2.51c-2.9 3.06-5.28 5.14-7.12 6.27-1.84 1.12-3.9 1.68-6.18 1.68-1.94 0-3.5-0.71-4.67-2.13s-1.75-3.24-1.75-5.46c0-2.01 0.42-4.91 1.26-8.71l8.04-36c0.36-1.58 0.61-2.85 0.76-3.79 0.15-0.95 0.23-1.82 0.23-2.63 0-0.9-0.17-1.58-0.5-2.04-0.33-0.47-0.8-0.81-1.41-1.02-0.62-0.2-1.72-0.35-3.3-0.44l0.53-2.34zm-29 0h2.65l-11.1 49.7c-0.65 2.97-0.98 5.18-0.98 6.65 0 1.2 0.19 2.07 0.58 2.61s1 0.81 1.84 0.81c0.9 0 1.86-0.37 2.88-1.1 1.02-0.74 2.45-2.14 4.31-4.2l2.56 2.51c-2.9 3.06-5.28 5.14-7.12 6.27-1.84 1.12-3.9 1.68-6.18 1.68-1.94 0-3.5-0.71-4.67-2.13s-1.75-3.24-1.75-5.46c0-2.01 0.42-4.91 1.26-8.71l8.04-36c0.36-1.58 0.61-2.85 0.76-3.79 0.15-0.95 0.23-1.82 0.23-2.63 0-0.9-0.17-1.58-0.5-2.04-0.33-0.47-0.8-0.81-1.41-1.02-0.62-0.2-1.72-0.35-3.3-0.44l0.53-2.34z\" fill=\"url(#fill0)\" fill-rule=\"evenodd\"/><text x=\"2807.53\" y=\"1131.98\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"65px\">𝑎𝑙𝑙</text><path d=\"m2925 1075 17.9 40.3v3.32l-17.9 40.4-4.81-1.7 14.4-40.3-14.4-40.4z\" fill=\"url(#fill0)\" fill-rule=\"evenodd\"/><text x=\"2919.9099\" y=\"1148.42\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"84px\">〉</text><path d=\"m1927 496h6.91v83.6h-6.91z\" fill=\"url(#fill3)\" fill-rule=\"evenodd\"/><text x=\"1927.0699\" y=\"569.07397\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"83.6px\">|</text><path d=\"m2079 520c-3.11 0-5.83 1.3-8.15 3.91-2.32 2.6-4.15 6.33-5.48 11.2-1.33 4.85-2 9.03-2 12.5 0 3.29 0.68 5.73 2.05 7.3 1.36 1.57 3.42 2.36 6.17 2.36 2.94 0 5.54-1.32 7.82-3.95 2.28-2.64 4.07-6.33 5.39-11.1 1.32-4.75 1.98-8.92 1.98-12.5 0-3.24-0.63-5.67-1.89-7.3s-3.22-2.45-5.89-2.45zm-49 0c-3.11 0-5.83 1.3-8.15 3.91-2.32 2.6-4.15 6.33-5.48 11.2-1.33 4.85-2 9.03-2 12.5 0 3.29 0.68 5.73 2.05 7.3 1.36 1.57 3.42 2.36 6.17 2.36 2.94 0 5.54-1.32 7.82-3.95 2.28-2.64 4.07-6.33 5.39-11.1 1.32-4.75 1.98-8.92 1.98-12.5 0-3.24-0.63-5.67-1.89-7.3s-3.22-2.45-5.89-2.45zm98.3-0.09c-3.05 0-5.79 1.24-8.22 3.71-2.42 2.47-4.33 5.8-5.72 10-1.4 4.19-2.09 8.37-2.09 12.5 0 3.12 0.42 5.44 1.28 6.99 0.85 1.54 2.28 2.31 4.29 2.31 0.93 0 1.87-0.202 2.83-0.606 0.96-0.405 1.95-1.06 2.98-1.95 1.04-0.899 2.06-1.99 3.06-3.28s1.92-2.58 2.76-3.89c0.84-1.3 1.62-2.84 2.34-4.63 0.72-1.78 1.33-3.93 1.84-6.45l0.4-1.93c0.45-2.16 0.68-4.19 0.68-6.11 0-2.34-0.5-4.04-1.48-5.1-0.99-1.06-2.64-1.6-4.95-1.6zm-148 0c-3.05 0-5.79 1.24-8.22 3.71-2.42 2.47-4.33 5.8-5.72 10-1.4 4.19-2.09 8.37-2.09 12.5 0 3.12 0.45 5.44 1.34 6.99 0.9 1.54 2.31 2.31 4.23 2.31 1.52 0 3.04-0.524 4.56-1.57 1.51-1.05 3.13-2.71 4.85-4.99s3.06-4.45 4.02-6.51c0.96-2.07 1.77-4.64 2.45-7.73 0.67-3.08 1.01-5.76 1.01-8.04 0-2.34-0.5-4.04-1.48-5.1-0.99-1.06-2.64-1.6-4.95-1.6zm100-3.5c4.79 0 8.45 1.31 11 3.93 2.52 2.62 3.78 6.37 3.78 11.3 0 3.47-0.61 7.19-1.82 11.1s-2.88 7.28-4.99 9.97-4.63 4.72-7.57 6.09c-2.93 1.36-6.3 2.04-10.1 2.04-4.65 0-8.25-1.3-10.8-3.91-2.56-2.6-3.84-6.35-3.84-11.2 0-2.4 0.36-5.17 1.08-8.31 0.93-4.25 2.48-7.97 4.67-11.1 2.19-3.18 4.88-5.61 8.09-7.3 3.2-1.69 6.72-2.54 10.6-2.54zm-49 0c4.79 0 8.45 1.31 11 3.93 2.52 2.62 3.78 6.37 3.78 11.3 0 3.47-0.61 7.19-1.82 11.1s-2.88 7.28-4.99 9.97-4.63 4.72-7.57 6.09c-2.93 1.36-6.3 2.04-10.1 2.04-4.65 0-8.25-1.3-10.8-3.91-2.56-2.6-3.84-6.35-3.84-11.2 0-2.4 0.36-5.17 1.08-8.31 0.93-4.25 2.48-7.97 4.67-11.1 2.19-3.18 4.88-5.61 8.09-7.3 3.2-1.69 6.72-2.54 10.6-2.54zm-51.7-0.045c1.88 0 3.66 0.225 5.34 0.674s3.37 1.21 5.08 2.29l4.13-2.96 2.88 0.719-4.63 20.9c-0.33 1.47-1.08 5.17-2.25 11.1-1.23 6.29-2.22 10.7-2.98 13.3-0.77 2.6-1.72 4.98-2.86 7.12s-2.6 4-4.4 5.59c-1.8 1.59-3.98 2.82-6.54 3.68-2.56 0.869-5.59 1.3-9.09 1.3-11.3 0-17-3.29-17-9.88 0-1.68 0.51-3.2 1.52-4.58 1.02-1.38 2.65-2.83 4.9-4.36l3.24 2.6c-0.57 0.689-1.05 1.37-1.44 2.04s-0.67 1.32-0.83 1.95c-0.17 0.629-0.25 1.38-0.25 2.25 0 2.25 0.81 3.89 2.43 4.92 1.61 1.03 4.05 1.55 7.32 1.55 3.68 0 6.64-0.831 8.87-2.49s4.14-4.34 5.73-8.02c1.58-3.68 3.13-9.25 4.62-16.7l-0.62-0.135c-2.91 3.98-5.61 6.89-8.09 8.72-2.49 1.83-5.17 2.74-8.04 2.74-3.27 0-5.8-1.23-7.62-3.68-1.81-2.46-2.71-5.96-2.71-10.5 0-5.12 1-10 3.01-14.8 2-4.72 4.79-8.47 8.35-11.3 3.57-2.78 7.53-4.18 11.9-4.18zm168-20.5h2.65l-11.2 49.7c-0.66 2.94-0.99 5.15-0.99 6.65 0 1.2 0.2 2.07 0.59 2.6s1 0.809 1.84 0.809c0.9 0 1.86-0.367 2.87-1.1 1.02-0.734 2.46-2.13 4.32-4.2l2.56 2.52c-2.76 2.9-5.08 4.96-6.97 6.15-1.88 1.2-3.92 1.8-6.11 1.8-1.85 0-3.33-0.614-4.44-1.84s-1.66-2.86-1.66-4.9c0-1.65 0.34-3.4 1.03-5.26l-0.59-0.18c-2.87 4.19-5.6 7.26-8.17 9.21-2.58 1.95-5.3 2.92-8.18 2.92-3.29 0-5.84-1.24-7.66-3.73-1.81-2.48-2.71-5.97-2.71-10.5 0-5.15 1.01-10.1 3.03-14.8s4.8-8.49 8.33-11.2c3.54-2.74 7.47-4.11 11.8-4.11 1.82 0 3.51 0.187 5.05 0.562 1.54 0.374 3.12 1.02 4.74 1.95l2.33-10.4c0.24-0.989 0.45-2.08 0.63-3.28s0.27-2.25 0.27-3.14c0-0.899-0.16-1.58-0.49-2.04s-0.8-0.801-1.42-1.01c-0.61-0.209-1.71-0.359-3.3-0.449l0.54-2.34z\" fill=\"url(#fill3)\" fill-rule=\"evenodd\"/><text x=\"1946.54\" y=\"569.74799\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"84.3px\">𝑔𝑜𝑜𝑑</text><path d=\"m2164 496 17.9 40.3v3.32l-17.9 40.4-4.81-1.71 14.4-40.3-14.4-40.4z\" fill=\"url(#fill3)\" fill-rule=\"evenodd\"/><text x=\"2159.6799\" y=\"569.24298\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"84px\">〉</text><path transform=\"matrix(1 0 0 -1 2064 1305)\" d=\"m0.823-3.34 678 167-1.64 6.68-678-167zm659 140 23.7 32.2-35.9 17.5c-1.71 0.831-3.76 0.121-4.6-1.58-0.831-1.71-0.121-3.76 1.59-4.6l32.2-15.7-1.26 5.13-21.2-28.8c-1.13-1.53-0.798-3.68 0.731-4.81 1.53-1.12 3.68-0.798 4.81 0.731z\"/><path d=\"m2811 1255h6.92v83.6h-6.92z\" fill=\"url(#fill6)\" fill-rule=\"evenodd\"/><text x=\"2811.4199\" y=\"1328.05\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"83.6px\">|</text><path d=\"m2861 1281c-1.44 0-2.86 0.46-4.25 1.37-1.39 0.92-2.94 2.43-4.65 4.54-1.7 2.11-3.1 4.27-4.18 6.49-1.07 2.22-1.99 5.05-2.74 8.49l-0.4 1.89c-0.45 2.09-0.67 4.13-0.67 6.11 0 2.36 0.51 4.07 1.55 5.12 1.03 1.05 2.74 1.57 5.14 1.57 1.23 0 2.4-0.2 3.5-0.61 1.11-0.4 2.24-1.07 3.4-2 1.15-0.92 2.24-2.14 3.27-3.66 1.04-1.51 1.99-3.37 2.86-5.59s1.54-4.59 2.02-7.12 0.72-4.95 0.72-7.25c0-3.12-0.44-5.46-1.33-7.01-0.88-1.56-2.3-2.34-4.24-2.34zm97.4-1.75c-3.05 0-5.79 1.24-8.22 3.71s-4.33 5.8-5.73 9.99c-1.39 4.19-2.09 8.37-2.09 12.5 0 3.12 0.43 5.45 1.28 6.99 0.86 1.54 2.29 2.31 4.29 2.31 0.93 0 1.88-0.2 2.83-0.6 0.96-0.41 1.96-1.06 2.99-1.96 1.04-0.9 2.05-1.99 3.06-3.28 1-1.28 1.92-2.58 2.76-3.88 0.84-1.31 1.62-2.85 2.34-4.63 0.71-1.78 1.33-3.93 1.84-6.45l0.4-1.93c0.45-2.15 0.68-4.19 0.68-6.11 0-2.33-0.5-4.03-1.49-5.1-0.99-1.06-2.63-1.59-4.94-1.59zm-50.9 0c-3.08 0-5.85 1.24-8.31 3.73-2.46 2.48-4.37 5.82-5.75 9.99-1.38 4.18-2.07 8.35-2.07 12.5 0 3.12 0.43 5.45 1.28 6.99 0.86 1.54 2.29 2.31 4.29 2.31 1.98 0 3.92-0.85 5.82-2.56 1.9-1.7 3.87-4.14 5.89-7.3s3.45-6.8 4.29-10.9l0.4-1.93c0.27-1.23 0.45-2.29 0.54-3.19s0.13-1.87 0.13-2.92c0-2.3-0.49-4-1.48-5.07-0.99-1.08-2.66-1.62-5.03-1.62zm-0.9-3.55c1.95 0 3.77 0.22 5.46 0.65 1.69 0.44 3.44 1.21 5.23 2.32l4.14-2.97 2.87 0.72-6.6 28.5c-0.66 2.85-0.99 5.06-0.99 6.65 0 1.2 0.19 2.06 0.58 2.6s1.01 0.81 1.85 0.81c0.89 0 1.85-0.36 2.87-1.1 1.02-0.73 2.46-2.13 4.31-4.2l2.56 2.52c-2.69 2.87-4.99 4.92-6.89 6.13s-3.96 1.82-6.18 1.82c-1.85 0-3.34-0.62-4.45-1.84-1.1-1.23-1.66-2.86-1.66-4.9 0-1.65 0.35-3.4 1.04-5.26l-0.59-0.18c-2.87 4.2-5.6 7.27-8.17 9.21-2.58 1.95-5.3 2.92-8.18 2.92-3.29 0-5.85-1.24-7.66-3.72-1.81-2.49-2.72-5.98-2.72-10.5 0-5.15 1.01-10.1 3.04-14.8 2.02-4.75 4.79-8.49 8.33-11.2 3.53-2.74 7.47-4.11 11.8-4.11zm70.6-20.5h2.65l-11.2 49.7c-0.66 2.93-0.99 5.15-0.99 6.65 0 1.2 0.19 2.06 0.58 2.6s1.01 0.81 1.85 0.81c0.89 0 1.85-0.36 2.87-1.1 1.02-0.73 2.46-2.13 4.31-4.2l2.56 2.52c-2.75 2.9-5.07 4.95-6.96 6.15s-3.92 1.8-6.11 1.8c-1.85 0-3.34-0.62-4.45-1.84-1.1-1.23-1.66-2.86-1.66-4.9 0-1.65 0.35-3.4 1.04-5.26l-0.59-0.18c-2.87 4.2-5.6 7.27-8.17 9.21-2.58 1.95-5.3 2.92-8.18 2.92-3.29 0-5.85-1.24-7.66-3.72-1.81-2.49-2.72-5.98-2.72-10.5 0-5.15 1.01-10.1 3.04-14.8 2.02-4.75 4.79-8.49 8.33-11.2 3.53-2.74 7.47-4.11 11.8-4.11 1.83 0 3.51 0.19 5.06 0.56 1.54 0.38 3.12 1.03 4.74 1.96l2.33-10.4c0.24-0.99 0.45-2.08 0.63-3.28s0.27-2.25 0.27-3.14c0-0.9-0.16-1.58-0.49-2.05-0.33-0.46-0.8-0.8-1.42-1.01-0.61-0.21-1.71-0.36-3.3-0.45l0.54-2.33zm-124 0h2.6l-7.91 31.4 0.59 0.18c2.9-3.9 5.63-6.71 8.17-8.45 2.55-1.74 5.1-2.6 7.64-2.6 3.27 0 5.8 1.24 7.62 3.72 1.81 2.49 2.71 5.99 2.71 10.5 0 4.94-0.99 9.8-2.98 14.6-2 4.78-4.76 8.57-8.29 11.4-3.54 2.8-7.49 4.2-11.9 4.2-3.98 0-7.52-0.97-10.6-2.92l-4.14 2.92-2.87-0.72 11.6-51.4c0.69-3.05 1.04-5.27 1.04-6.64 0-1.26-0.38-2.15-1.15-2.65-0.76-0.51-2.13-0.8-4.11-0.86l0.54-2.33z\" fill=\"url(#fill6)\" fill-rule=\"evenodd\"/><text x=\"2833.6799\" y=\"1311.78\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"65px\">𝑏𝑎𝑑</text><path d=\"m3e3 1255 17.9 40.3v3.33l-17.9 40.4-4.81-1.71 14.4-40.3-14.4-40.4z\" fill=\"url(#fill6)\" fill-rule=\"evenodd\"/><text x=\"2990.76\" y=\"1328.21\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"84px\">〉</text><path d=\"m2449 1254c-1.12 5.16-1.67 9.49-1.67 13 0 2.66 0.4 4.62 1.21 5.87 0.81 1.24 2.11 1.87 3.92 1.87 2.66 0 5.19-1.79 7.57-5.37 2.39-3.57 4.42-8.7 6.08-15.4zm14.6-24c-2.78 0-5.36 1.76-7.72 5.27-2.37 3.52-4.38 8.56-6.04 15.1h17.1c1.12-5.02 1.68-9.33 1.68-12.9 0-2.5-0.41-4.36-1.22-5.6-0.8-1.24-2.06-1.85-3.77-1.85zm0.42-2.89c6.89 0 10.3 4.37 10.3 13.1 0 2.47-0.28 5.42-0.84 8.85-0.56 3.44-1.44 6.94-2.65 10.5-1.21 3.57-2.75 6.72-4.6 9.47-1.85 2.74-3.99 4.86-6.42 6.36-2.42 1.5-5.03 2.24-7.84 2.24-3.54 0-6.18-1.08-7.91-3.24-1.74-2.16-2.6-5.41-2.6-9.73 0-2.35 0.26-5.25 0.78-8.7 0.52-3.44 1.38-6.97 2.58-10.6s2.75-6.79 4.64-9.59c1.89-2.79 4.06-4.94 6.52-6.45s5.13-2.26 8-2.26z\" fill-rule=\"evenodd\"/><text x=\"2441.72\" y=\"1271.74\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"50.5px\">𝜃</text><path d=\"m2067 1301 685 163-1.59 6.69-685-163zm666 136 23.9 32-35.8 17.8c-1.7 0.84-3.76 0.15-4.61-1.55-0.84-1.7-0.15-3.76 1.55-4.61l32.1-15.9-1.22 5.13-21.4-28.7c-1.14-1.52-0.83-3.67 0.69-4.81s3.68-0.83 4.82 0.69z\"/><path d=\"m2449 1350c-1.12 5.15-1.68 9.49-1.68 13 0 2.66 0.41 4.61 1.22 5.86 0.8 1.25 2.11 1.87 3.92 1.87 2.66 0 5.18-1.79 7.57-5.36 2.39-3.58 4.41-8.71 6.08-15.4zm14.6-24c-2.78 0-5.35 1.76-7.71 5.28-2.37 3.51-4.38 8.55-6.05 15.1h17.1c1.12-5.01 1.67-9.33 1.67-12.9 0-2.49-0.4-4.36-1.21-5.6-0.81-1.23-2.07-1.85-3.78-1.85zm0.43-2.89c6.89 0 10.3 4.38 10.3 13.1 0 2.47-0.28 5.42-0.84 8.86-0.56 3.43-1.44 6.93-2.66 10.5-1.21 3.56-2.74 6.71-4.59 9.46-1.86 2.74-4 4.86-6.42 6.36s-5.04 2.25-7.84 2.25c-3.54 0-6.18-1.08-7.91-3.25-1.74-2.16-2.61-5.4-2.61-9.73 0-2.35 0.27-5.25 0.79-8.69 0.52-3.45 1.38-6.97 2.58-10.6s2.75-6.8 4.64-9.59c1.88-2.79 4.06-4.94 6.52-6.45s5.13-2.27 8-2.27z\" fill-rule=\"evenodd\"/><text x=\"2441.6499\" y=\"1367.58\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"50.5px\">𝜃</text><path transform=\"matrix(1 0 0 -1 2062 1310)\" d=\"m2.4-2.46 498 484-4.79 4.93-498-484zm495 451 4.16 39.7-39.8-3.07c-1.89-0.146-3.31-1.8-3.16-3.69 0.145-1.89 1.8-3.31 3.69-3.16l35.7 2.75-3.68 3.79-3.73-35.6c-0.198-1.89 1.17-3.58 3.06-3.78 1.89-0.197 3.58 1.17 3.78 3.06z\" fill=\"#0070c0\"/><path d=\"m2443 1093c-1.12 5.16-1.68 9.5-1.68 13 0 2.66 0.41 4.61 1.22 5.86 0.8 1.25 2.11 1.87 3.92 1.87 2.66 0 5.18-1.79 7.57-5.36 2.39-3.58 4.42-8.71 6.08-15.4zm14.6-24c-2.78 0-5.35 1.76-7.71 5.28-2.37 3.51-4.38 8.55-6.04 15.1h17.1c1.12-5.01 1.67-9.33 1.67-12.9 0-2.49-0.4-4.36-1.21-5.6-0.81-1.23-2.07-1.85-3.78-1.85zm-46.7-2.14c4.42 0 7.76 0.97 10 2.91 2.25 1.93 3.38 4.74 3.38 8.43 0 1.26-0.12 2.41-0.37 3.47s-0.64 2.11-1.18 3.14c-0.53 1.03-1.25 2.14-2.15 3.33-0.91 1.19-1.9 2.4-3 3.62-1.09 1.22-2.98 3.26-5.67 6.11-4.51 4.78-7.83 8.95-9.94 12.5h13.4c1.16 0 2.1-0.07 2.81-0.21 0.72-0.14 1.29-0.38 1.71-0.71 0.43-0.34 0.77-0.77 1.02-1.3 0.25-0.54 0.56-1.36 0.95-2.48h3.02l-0.6 10.4h-29.3v-1.71c1.03-2.5 2.4-5.05 4.14-7.67 1.73-2.61 4.19-5.69 7.38-9.23 2.75-3.04 4.74-5.35 5.95-6.91 1.33-1.72 2.32-3.19 2.98-4.44 0.65-1.25 1.12-2.43 1.4-3.53 0.29-1.11 0.43-2.22 0.43-3.33 0-1.79-0.28-3.36-0.85-4.73-0.57-1.36-1.45-2.44-2.62-3.22-1.18-0.79-2.66-1.18-4.44-1.18-4.45 0-7.44 2.47-8.98 7.42h-4.32v-6.85c2.88-1.35 5.57-2.33 8.08-2.94 2.5-0.61 4.75-0.91 6.75-0.91zm47.1-0.75c6.89 0 10.3 4.38 10.3 13.1 0 2.47-0.28 5.42-0.84 8.86-0.56 3.43-1.44 6.93-2.65 10.5-1.22 3.56-2.75 6.71-4.6 9.46-1.86 2.74-3.99 4.86-6.42 6.36-2.42 1.5-5.04 2.25-7.84 2.25-3.54 0-6.18-1.08-7.91-3.25-1.74-2.16-2.61-5.4-2.61-9.73 0-2.35 0.27-5.25 0.79-8.69 0.52-3.45 1.38-6.97 2.58-10.6s2.75-6.8 4.64-9.59 4.06-4.94 6.52-6.45 5.13-2.27 8-2.27z\" fill=\"#0070c0\" fill-rule=\"evenodd\"/><text x=\"2395.01\" y=\"1110.6801\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"50.5px\">2𝜃</text><path d=\"m2406 1221c6.32 26.6 9.52 53.8 9.52 81.1\" fill=\"none\" fill-rule=\"evenodd\" stroke=\"#000\" stroke-miterlimit=\"8\" stroke-width=\"6.88\"/><path transform=\"matrix(1 0 0 -1 1716 1652)\" d=\"m688 263c7.29 28.4 11 57.7 11 87\" fill=\"none\" fill-rule=\"evenodd\" stroke=\"#000\" stroke-miterlimit=\"8\" stroke-width=\"6.88\"/><g fill=\"#0070c0\" font-family=\"'Segoe UI', 'Segoe UI_MSFontService', sans-serif\" font-size=\"64px\" font-weight=\"400\"><text transform=\"translate(2582 724)\">State after the</text><text transform=\"translate(2582 801)\">second </text><text transform=\"translate(2803 801)\">reflection</text></g></g></svg>\n\nAs we can see, the pair of these reflections combined amount to a counterclockwise rotation by an angle $2\\theta$. \nIf we repeat the Grover's iteration, reflecting the new state first along the horizontal axis and then along the $\\ket{\\text{all}}$ vector, it performs a rotation by $2\\theta$ again. The angle of this rotation depends only on the angle between the reflection axes and not on the state we reflect!\n\nEach iteration of Grover's search adds $2\\theta$ to the current angle in the expression of the system state as a superposition of $\\ket{\\text{good}}$ and $\\ket{\\text{bad}}$.\nAfter applying $R$ iterations of Grover's search the state of the system will become\n\n$$\\sin{(2R+1)\\theta}\\ket{\\text{good}} + \\cos{(2R+1)\\theta}\\ket{\\text{bad}}$$\n\nAt firat, each iteration brings the state of the system closer to the vertical axis, increasing the probability of measuring one of the basis states that are part of $\\ket{\\text{good}}$ - the states that are solutions to the problem."
|
|
6983
|
+
"content": "\n### Inputs\n\nYou are given the number of bits in the function input $n$ and the phase oracle for the problem we're solving - a \"black box\" quantum operation $U_f$ that implements a classical function $f(x)$. \n\nAs usual, the phase oracle $U_f$ is defined by its effect on the individual values $x$ (represented as basis states $\\ket{x}$). \nIf the value of the function on the input $x$ $f(x) = 1$, the corresponding basis state $\\ket{x}$ is multiplied by $-1$; otherwise, the basis state is not changed.\nFormally, this can be written as follows:\n\n$$U_f \\ket{x} = (-1)^{f(x)} \\ket{x}$$\n\n> Typically the oracle for Grover's search is implemented as a marking oracle and then converted into a phase oracle using the phase kickback trick.\n\n\n### Algorithm outline\n\nThe high-level outline of the algorithm is very simple:\n\n1. Initialize the quantum system to a well-known starting state.\n2. Apply a fixed sequence of \"Grover iterations\" several times. Each iteration is implemented as pair of operations that includes one call of the oracle \"black box\".\n3. Finally, measuring all qubits will produce the desired output with high probability.\n\nLet's take a closer look at the algorithm.\n\n> We will use a convenient visualization of the algorithm steps rather than mathematical derivation.\n> They are equivalent, but the visual representation is much easier to follow.\n\n\n### Initial state and definitions\n\nGrover's search algorithm begins with a uniform superposition of all the states in the search space.\nTypically, the search space is defined as all $n$-bit bit strings, so this superposition is just an even superposition \nof all $N = 2^n$ basis states on $n$ qubits:\n$$\\ket{\\text{all}} = \\frac{1}{\\sqrt{N}}\\sum_{x=0}^{N-1}{\\ket{x}} $$\n\nWhen this superposition is considered in the context of the equation $f(x) = 1$, \nall the basis states can be split in two groups: \"good\" (solutions) and \"bad\" (non-solutions).\nIf the number of states for which $f(x)=1$ (the number of equation solutions) is $M$, \ntwo uniform superpositions of \"good\" and \"bad\" states can be defined as follows:\n\n$$\\ket{\\text{good}} = \\frac{1}{\\sqrt{M}}\\sum_{x,f(x)=1}{\\ket{x}}$$\n$$\\ket{\\text{bad}} = \\frac{1}{\\sqrt{N-M}}\\sum_{x,f(x)=0}{\\ket{x}}$$\n\nNow, the even superposition of all basis states can be rewritten as follows:\n$$\\ket{\\text{all}} = \\sqrt{\\frac{M}{N}}\\ket{\\text{good}} + \\sqrt{\\frac{N-M}{N}}\\ket{\\text{bad}}$$\n\nThe amplutudes $\\sqrt{\\frac{M}{N}}$ and $\\sqrt{\\frac{N-M}{N}}$ can then be written in a trigonometric representation,\nas a sine and cosine of the angle $\\theta$:\n\n$$\\sin \\theta = \\sqrt{\\frac{M}{N}}, \\cos \\theta = \\sqrt{\\frac{N-M}{N}}$$\n\nWith this replacement, the initial state can be written as \n\n$$\\ket{\\text{all}} = \\sin \\theta \\ket{\\text{good}} + \\cos \\theta \\ket{\\text{bad}}$$\n\nThe states involved in the algorithm can be represented on a plane on which $\\ket{\\text{good}}$ and $\\ket{\\text{bad}}$ vectors correspond to vertical and horizontal axes, respectively.\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"447\" height=\"370\" overflow=\"hidden\" version=\"1.1\" xml:space=\"preserve\" xmlns=\"http://www.w3.org/2000/svg\">\n <style>\n :root {\n --kata-svg-stroke: #222;\n --kata-svg-fill: #fff;\n --kata-svg-path: #777;\n --kata-svg-accent: #06c;\n }\n @media(prefers-color-scheme: dark) {\n :root {\n --kata-svg-stroke: #eee;\n --kata-svg-fill: #111;\n --kata-svg-path: #bbb;\n --kata-svg-accent: #08f;\n }\n }\n .kata_svg_path {\n stroke: var(--kata-svg-path);\n stroke-width: 10;\n stroke-linecap: round;\n fill: none;\n }\n .kata_svg_text {\n fill: var(--kata-svg-stroke);\n }\n .kata_svg_point {\n fill: var(--kata-svg-fill);\n stroke: var(--kata-svg-stroke);\n }\n .kata_svg_fill_accent {\n fill: var(--kata-svg-accent);\n }\n .kata_svg_stroke_accent {\n stroke: var(--kata-svg-accent);\n }\n </style>\n <g transform=\"matrix(.25 0 0 .25 -333 -132)\">\n <g class=\"kata_svg_path\">\n <!-- Main circle -->\n <circle cx=\"2020\" cy=\"1310\" r=\"670\" />\n <!-- x axis -->\n <path d=\"M2685 1310 h-1335 m1335 0 l-32 -32 m32 32 l-32 32\" />\n <!-- y axis -->\n <path d=\"m2020 645 v1323 m0 -1323 l-32 32 m32 -32 l32 32\" />\n <!-- Angle line -->\n <path d=\"m2665 1145 l-645 165 m645 -165 l-32 45 m32 -45 l -45 -25\" />\n <path d=\"m2357 1225c6.73 27 10.1 54.7 10.1 82.5\" fill-rule=\"evenodd\" />\n </g>\n <g class=\"kata_svg_text\">\n <!-- |all> ket -->\n <path d=\"m2735 1098h6.92v83.6h-6.92z\" />\n <path d=\"m2782 1122c-3.09 0-5.86 1.25-8.31 3.73-2.46 2.49-4.37 5.82-5.75 10s-2.07 8.35-2.07 12.5c0 3.11 0.43 5.44 1.28 6.98 0.86 1.55 2.29 2.32 4.29 2.32 1.98 0 3.92-0.86 5.82-2.56 1.9-1.71 3.86-4.14 5.88-7.3 2.03-3.16 3.46-6.81 4.29-10.9l0.41-1.93c0.27-1.23 0.45-2.29 0.54-3.19s0.13-1.87 0.13-2.92c0-2.31-0.49-4-1.48-5.08s-2.66-1.62-5.03-1.62zm-0.9-3.54c1.95 0 3.77 0.21 5.46 0.65 1.69 0.43 3.44 1.2 5.23 2.31l4.14-2.96 2.87 0.71-6.6 28.5c-0.66 2.85-0.99 5.07-0.99 6.65 0 1.2 0.19 2.07 0.58 2.61s1.01 0.81 1.84 0.81c0.9 0 1.86-0.37 2.88-1.1 1.02-0.74 2.45-2.14 4.31-4.2l2.56 2.51c-2.69 2.88-4.99 4.92-6.89 6.13-1.9 1.22-3.96 1.82-6.18 1.82-1.86 0-3.34-0.61-4.45-1.84s-1.66-2.86-1.66-4.9c0-1.64 0.34-3.39 1.03-5.25l-0.58-0.18c-2.88 4.19-5.6 7.26-8.18 9.21-2.57 1.94-5.3 2.92-8.17 2.92-3.3 0-5.85-1.24-7.66-3.73s-2.72-5.98-2.72-10.5c0-5.15 1.01-10.1 3.03-14.8 2.02-4.75 4.8-8.49 8.34-11.2 3.53-2.74 7.47-4.11 11.8-4.11zm75.2-20.5h2.65l-11 49.7c-0.66 2.97-0.99 5.19-0.99 6.65 0 1.2 0.2 2.07 0.58 2.61 0.39 0.54 1.01 0.81 1.85 0.81 0.89 0 1.85-0.37 2.87-1.1 1.02-0.74 2.46-2.14 4.31-4.2l2.56 2.51c-2.9 3.06-5.27 5.15-7.12 6.27-1.84 1.12-3.9 1.68-6.17 1.68-1.95 0-3.51-0.71-4.67-2.13-1.17-1.42-1.76-3.24-1.76-5.46 0-2.01 0.42-4.91 1.26-8.71l8.04-36c0.36-1.58 0.62-2.85 0.77-3.79 0.15-0.95 0.22-1.82 0.22-2.63 0-0.9-0.16-1.58-0.49-2.04-0.33-0.47-0.8-0.81-1.42-1.01-0.61-0.21-1.71-0.36-3.3-0.45l0.54-2.34zm-29 0h2.65l-11 49.7c-0.66 2.97-0.99 5.19-0.99 6.65 0 1.2 0.2 2.07 0.58 2.61 0.39 0.54 1.01 0.81 1.85 0.81 0.89 0 1.85-0.37 2.87-1.1 1.02-0.74 2.46-2.14 4.31-4.2l2.56 2.51c-2.9 3.06-5.27 5.15-7.12 6.27-1.84 1.12-3.9 1.68-6.17 1.68-1.95 0-3.51-0.71-4.67-2.13-1.17-1.42-1.76-3.24-1.76-5.46 0-2.01 0.42-4.91 1.26-8.71l8.04-36c0.36-1.58 0.62-2.85 0.77-3.79 0.15-0.95 0.22-1.82 0.22-2.63 0-0.9-0.16-1.58-0.49-2.04-0.33-0.47-0.8-0.81-1.42-1.01-0.61-0.21-1.71-0.36-3.3-0.45l0.54-2.34z\" />\n <path d=\"m2875 1098 17.9 40.3v3.32l-17.9 40.4-4.81-1.71 14.4-40.3-14.4-40.4z\" />\n <!-- |good> ket -->\n <path d=\"m1889 530h6.91v83.6h-6.91z\" />\n <path d=\"m2040 554c-3.11 0-5.83 1.3-8.15 3.91-2.32 2.6-4.15 6.33-5.48 11.2-1.33 4.85-2 9.03-2 12.5 0 3.29 0.68 5.73 2.05 7.3 1.36 1.57 3.42 2.36 6.17 2.36 2.94 0 5.54-1.32 7.82-3.95 2.28-2.64 4.07-6.33 5.39-11.1 1.32-4.75 1.98-8.92 1.98-12.5 0-3.24-0.63-5.67-1.89-7.3s-3.22-2.45-5.89-2.45zm-49 0c-3.11 0-5.83 1.3-8.15 3.91-2.32 2.6-4.15 6.33-5.48 11.2-1.33 4.85-2 9.03-2 12.5 0 3.29 0.68 5.73 2.05 7.3 1.36 1.57 3.42 2.36 6.17 2.36 2.94 0 5.54-1.32 7.82-3.95 2.28-2.64 4.07-6.33 5.39-11.1 1.32-4.75 1.98-8.92 1.98-12.5 0-3.24-0.63-5.67-1.89-7.3s-3.22-2.45-5.89-2.45zm98.3-0.09c-3.05 0-5.79 1.24-8.22 3.71-2.42 2.47-4.33 5.8-5.72 10-1.4 4.19-2.09 8.37-2.09 12.5 0 3.12 0.42 5.44 1.28 6.99 0.85 1.54 2.28 2.31 4.29 2.31 0.93 0 1.87-0.202 2.83-0.606 0.96-0.405 1.95-1.06 2.99-1.96 1.03-0.898 2.05-1.99 3.05-3.28s1.92-2.58 2.76-3.89c0.84-1.3 1.62-2.84 2.34-4.63 0.72-1.78 1.33-3.93 1.84-6.45l0.4-1.93c0.45-2.16 0.68-4.19 0.68-6.11 0-2.34-0.5-4.04-1.48-5.1-0.99-1.06-2.64-1.6-4.95-1.6zm-148 0c-3.05 0-5.79 1.24-8.22 3.71-2.42 2.47-4.33 5.8-5.72 10-1.4 4.19-2.09 8.37-2.09 12.5 0 3.12 0.45 5.44 1.35 6.99 0.89 1.54 2.3 2.31 4.22 2.31 1.53 0 3.05-0.524 4.56-1.57s3.13-2.71 4.85-4.99 3.06-4.45 4.02-6.51c0.96-2.07 1.77-4.64 2.45-7.73 0.67-3.08 1.01-5.76 1.01-8.04 0-2.34-0.5-4.04-1.48-5.1-0.99-1.06-2.64-1.6-4.95-1.6zm100-3.5c4.8 0 8.45 1.31 11 3.93 2.52 2.62 3.78 6.37 3.78 11.3 0 3.47-0.61 7.19-1.82 11.1s-2.88 7.28-4.99 9.97c-2.11 2.7-4.63 4.72-7.57 6.09-2.93 1.36-6.3 2.04-10.1 2.04-4.65 0-8.25-1.3-10.8-3.91-2.56-2.6-3.84-6.35-3.84-11.2 0-2.4 0.36-5.17 1.08-8.31 0.93-4.25 2.48-7.97 4.67-11.1 2.19-3.18 4.88-5.61 8.09-7.3 3.2-1.69 6.72-2.54 10.6-2.54zm-49 0c4.8 0 8.45 1.31 11 3.93 2.52 2.62 3.78 6.37 3.78 11.3 0 3.47-0.61 7.19-1.82 11.1s-2.88 7.28-4.99 9.97c-2.11 2.7-4.63 4.72-7.57 6.09-2.93 1.36-6.3 2.04-10.1 2.04-4.65 0-8.25-1.3-10.8-3.91-2.56-2.6-3.84-6.35-3.84-11.2 0-2.4 0.36-5.17 1.08-8.31 0.93-4.25 2.48-7.97 4.67-11.1 2.19-3.18 4.88-5.61 8.09-7.3 3.2-1.69 6.72-2.54 10.6-2.54zm-51.7-0.045c1.88 0 3.66 0.225 5.34 0.674s3.37 1.21 5.08 2.29l4.13-2.96 2.88 0.719-4.63 20.9c-0.33 1.47-1.08 5.17-2.25 11.1-1.23 6.29-2.22 10.7-2.98 13.3-0.77 2.6-1.72 4.98-2.86 7.12s-2.6 4-4.4 5.59c-1.8 1.59-3.98 2.82-6.54 3.68-2.56 0.869-5.59 1.3-9.09 1.3-11.3 0-17-3.29-17-9.88 0-1.68 0.51-3.2 1.52-4.58 1.02-1.38 2.65-2.83 4.9-4.36l3.24 2.6c-0.57 0.689-1.05 1.37-1.44 2.04s-0.67 1.32-0.83 1.95c-0.17 0.629-0.25 1.38-0.25 2.25 0 2.25 0.81 3.89 2.43 4.92 1.61 1.03 4.05 1.55 7.32 1.55 3.68 0 6.64-0.831 8.87-2.49s4.14-4.34 5.73-8.02c1.58-3.68 3.13-9.25 4.62-16.7l-0.62-0.134c-2.91 3.98-5.6 6.89-8.09 8.72-2.49 1.83-5.17 2.74-8.04 2.74-3.27 0-5.8-1.23-7.62-3.68-1.81-2.46-2.71-5.96-2.71-10.5 0-5.12 1-10 3.01-14.8 2-4.72 4.79-8.47 8.35-11.3 3.57-2.78 7.53-4.18 11.9-4.18zm168-20.5h2.65l-11.2 49.7c-0.66 2.94-0.99 5.15-0.99 6.65 0 1.2 0.2 2.07 0.59 2.6s1 0.809 1.84 0.809c0.9 0 1.86-0.367 2.87-1.1 1.02-0.734 2.46-2.13 4.32-4.2l2.56 2.52c-2.76 2.9-5.08 4.96-6.97 6.15-1.88 1.2-3.92 1.8-6.1 1.8-1.86 0-3.34-0.614-4.45-1.84s-1.66-2.86-1.66-4.9c0-1.65 0.34-3.4 1.03-5.26l-0.59-0.18c-2.87 4.19-5.6 7.26-8.17 9.21-2.58 1.95-5.3 2.92-8.18 2.92-3.29 0-5.84-1.24-7.66-3.73-1.81-2.48-2.71-5.97-2.71-10.5 0-5.15 1.01-10.1 3.03-14.8s4.8-8.49 8.33-11.2c3.54-2.74 7.47-4.11 11.8-4.11 1.82 0 3.51 0.187 5.05 0.562 1.54 0.374 3.12 1.02 4.74 1.95l2.33-10.4c0.24-0.989 0.45-2.08 0.63-3.28s0.27-2.25 0.27-3.14c0-0.899-0.16-1.58-0.49-2.04s-0.8-0.801-1.42-1.01c-0.61-0.209-1.71-0.359-3.3-0.449l0.54-2.34z\" />\n <path d=\"m2126 529 17.9 40.3v3.32l-17.9 40.4-4.81-1.71 14.4-40.3-14.4-40.4z\" />\n <!-- |bad> ket -->\n <path d=\"m2766 1275h6.92v83.6h-6.92z\" />\n <path d=\"m2816 1301c-1.43 0-2.85 0.46-4.24 1.37s-2.94 2.43-4.65 4.54-3.1 4.27-4.18 6.49-1.99 5.05-2.74 8.49l-0.4 1.89c-0.45 2.09-0.68 4.13-0.68 6.11 0 2.36 0.52 4.07 1.55 5.12 1.04 1.05 2.75 1.57 5.15 1.57 1.22 0 2.39-0.2 3.5-0.61 1.11-0.4 2.24-1.07 3.39-2 1.15-0.92 2.25-2.14 3.28-3.66 1.03-1.51 1.99-3.37 2.85-5.59 0.87-2.22 1.55-4.59 2.03-7.12 0.47-2.53 0.71-4.95 0.71-7.25 0-3.12-0.44-5.46-1.32-7.01-0.88-1.56-2.3-2.34-4.25-2.34zm97.4-1.75c-3.06 0-5.8 1.23-8.22 3.71-2.43 2.47-4.34 5.8-5.73 9.99s-2.09 8.37-2.09 12.5c0 3.12 0.43 5.45 1.28 6.99s2.29 2.31 4.29 2.31c0.93 0 1.87-0.2 2.83-0.6 0.96-0.41 1.96-1.06 2.99-1.96s2.05-1.99 3.05-3.28c1.01-1.29 1.93-2.58 2.77-3.88 0.83-1.31 1.61-2.85 2.33-4.63s1.33-3.93 1.84-6.45l0.41-1.93c0.45-2.15 0.67-4.19 0.67-6.11 0-2.33-0.49-4.03-1.48-5.1-0.99-1.06-2.64-1.59-4.94-1.59zm-50.9 0c-3.09 0-5.86 1.24-8.31 3.73-2.46 2.48-4.37 5.82-5.75 9.99-1.38 4.18-2.07 8.35-2.07 12.5 0 3.12 0.43 5.45 1.28 6.99s2.29 2.31 4.29 2.31c1.98 0 3.92-0.85 5.82-2.56 1.9-1.7 3.86-4.14 5.88-7.3 2.03-3.16 3.46-6.8 4.29-10.9l0.41-1.93c0.27-1.23 0.45-2.29 0.54-3.19s0.13-1.87 0.13-2.92c0-2.3-0.49-4-1.48-5.07-0.99-1.08-2.67-1.62-5.03-1.62zm-0.9-3.55c1.95 0 3.77 0.22 5.46 0.65 1.69 0.44 3.43 1.21 5.23 2.32l4.13-2.97 2.88 0.72-6.6 28.5c-0.66 2.84-0.99 5.06-0.99 6.65 0 1.2 0.19 2.06 0.58 2.6s1 0.81 1.84 0.81c0.9 0 1.86-0.36 2.88-1.1 1.02-0.73 2.45-2.13 4.31-4.2l2.56 2.52c-2.69 2.87-4.99 4.92-6.89 6.13-1.91 1.21-3.97 1.82-6.18 1.82-1.86 0-3.34-0.62-4.45-1.84-1.11-1.23-1.66-2.86-1.66-4.9 0-1.65 0.34-3.4 1.03-5.26l-0.58-0.18c-2.88 4.2-5.6 7.27-8.18 9.21-2.57 1.95-5.3 2.92-8.17 2.92-3.3 0-5.85-1.24-7.66-3.73-1.81-2.48-2.72-5.97-2.72-10.5 0-5.15 1.01-10.1 3.03-14.8s4.8-8.49 8.34-11.2c3.53-2.74 7.47-4.11 11.8-4.11zm70.6-20.5h2.65l-11.2 49.7c-0.66 2.93-0.99 5.15-0.99 6.65 0 1.2 0.19 2.06 0.58 2.6s1 0.81 1.84 0.81c0.9 0 1.86-0.36 2.88-1.1 1.02-0.73 2.45-2.13 4.31-4.2l2.56 2.52c-2.75 2.9-5.08 4.95-6.96 6.15-1.89 1.2-3.93 1.8-6.11 1.8-1.86 0-3.34-0.62-4.45-1.84-1.11-1.23-1.66-2.86-1.66-4.9 0-1.65 0.34-3.4 1.03-5.26l-0.58-0.18c-2.88 4.2-5.6 7.27-8.18 9.21-2.57 1.95-5.3 2.92-8.17 2.92-3.3 0-5.85-1.24-7.66-3.73-1.81-2.48-2.72-5.97-2.72-10.5 0-5.15 1.01-10.1 3.03-14.8s4.8-8.49 8.34-11.2c3.53-2.74 7.47-4.11 11.8-4.11 1.83 0 3.51 0.19 5.05 0.56 1.55 0.38 3.13 1.03 4.74 1.96l2.34-10.4c0.24-0.99 0.45-2.08 0.63-3.28s0.27-2.25 0.27-3.14c0-0.9-0.17-1.58-0.5-2.05-0.33-0.46-0.8-0.8-1.41-1.01-0.62-0.21-1.72-0.36-3.3-0.45l0.54-2.33zm-124 0h2.61l-7.91 31.4 0.59 0.18c2.9-3.9 5.63-6.71 8.17-8.45 2.55-1.74 5.09-2.6 7.64-2.6 3.26 0 5.8 1.24 7.61 3.72 1.81 2.49 2.72 5.99 2.72 10.5 0 4.94-1 9.8-2.99 14.6-1.99 4.78-4.75 8.57-8.29 11.4-3.53 2.8-7.48 4.2-11.8 4.2-3.99 0-7.52-0.98-10.6-2.92l-4.13 2.92-2.87-0.72 11.6-51.4c0.69-3.05 1.03-5.27 1.03-6.64 0-1.26-0.38-2.15-1.14-2.66-0.77-0.5-2.14-0.79-4.11-0.85l0.54-2.33z\" />\n <path d=\"m2950 1275 17.9 40.3v3.33l-17.9 40.4-4.8-1.71 14.4-40.3-14.4-40.4z\" />\n <!-- theta-->\n <path d=\"m2414 1260c-1.4 6.49-2.11 12-2.11 16.4 0 3.36 0.51 5.82 1.53 7.39s2.67 2.36 4.94 2.36c3.36 0 6.54-2.25 9.55-6.76s5.56-11 7.66-19.4zm18.4-30.3c-3.5 0-6.74 2.22-9.72 6.65s-5.52 10.8-7.62 19h21.5c1.41-6.31 2.11-11.8 2.11-16.3 0-3.15-0.51-5.5-1.53-7.06-1.01-1.55-2.6-2.33-4.76-2.33zm0.54-3.64c8.69 0 13 5.51 13 16.5 0 3.12-0.35 6.84-1.06 11.2-0.7 4.33-1.82 8.74-3.34 13.2-1.53 4.5-3.46 8.47-5.8 11.9-2.33 3.46-5.03 6.13-8.08 8.02-3.06 1.89-6.35 2.83-9.89 2.83-4.46 0-7.78-1.36-9.97-4.09-2.19-2.72-3.28-6.81-3.28-12.3 0-2.97 0.33-6.62 0.99-11 0.66-4.35 1.74-8.79 3.26-13.3 1.51-4.54 3.45-8.57 5.84-12.1 2.38-3.52 5.12-6.23 8.22-8.13s6.46-2.85 10.1-2.85z\" fill-rule=\"evenodd\" />\n </g>\n <g class=\"kata_svg_fill_accent kata_svg_stroke_accent\">\n <!-- Started state square braket -->\n <path d=\"m2722 1082v-49h89v-49 49h89v49\" fill=\"none\" stroke-width=\"6\" />\n <text transform=\"translate(2605 952)\" font-family=\"sans-serif\" font-size=\"64px\" font-weight=\"400\">The starting state</text>\n </g>\n </g>\n</svg>\n\n### Grover's iteration\n\nEach Grover's iteration consists of two operations.\n\n1. The phase oracle $U_f$.\n2. An operation called \"reflection about the mean\".\n\nApplying the phase oracle to the state will flip the sign of all basis states in $\\ket{\\text{good}}$ \nand leave all basis states in $\\ket{\\text{bad}}$ unchanged:\n\n$$U_f\\ket{\\text{good}} = -\\ket{\\text{good}}$$\n$$U_f\\ket{\\text{bad}} = \\ket{\\text{bad}}$$\n\nOn the circle plot, this transformation leaves the horizontal component of the state vector unchanged and reverses its vertical component. In other words, this operation is a reflection along the horizontal axis.\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"447\" height=\"370\" overflow=\"hidden\" version=\"1.1\" xml:space=\"preserve\" xmlns=\"http://www.w3.org/2000/svg\">\n <style>\n :root {\n --kata-svg-stroke: #222;\n --kata-svg-fill: #fff;\n --kata-svg-path: #777;\n --kata-svg-accent: #06c;\n }\n @media(prefers-color-scheme: dark) {\n :root {\n --kata-svg-stroke: #eee;\n --kata-svg-fill: #111;\n --kata-svg-path: #bbb;\n --kata-svg-accent: #08f;\n }\n }\n .kata_svg_path {\n stroke: var(--kata-svg-path);\n stroke-width: 10;\n stroke-linecap: round;\n fill: none;\n }\n .kata_svg_text {\n fill: var(--kata-svg-stroke);\n }\n .kata_svg_point {\n fill: var(--kata-svg-fill);\n stroke: var(--kata-svg-stroke);\n }\n .kata_svg_fill_accent {\n fill: var(--kata-svg-accent);\n }\n .kata_svg_stroke_accent {\n stroke: var(--kata-svg-accent);\n }\n </style>\n <g transform=\"matrix(.25 0 0 .25 -333 -132)\">\n <g class=\"kata_svg_path\">\n <!-- Main circle -->\n <circle cx=\"2020\" cy=\"1310\" r=\"670\" />\n <!-- x axis -->\n <path d=\"M2685 1310 h-1335 m1335 0 l-32 -32 m32 32 l-32 32\" />\n <!-- y axis -->\n <path d=\"m2020 645 v1323 m0 -1323 l-32 32 m32 -32 l32 32\" />\n <!-- Angle line -->\n <path d=\"m2665 1145 l-645 165 m645 -165 l-32 45 m32 -45 l -45 -25\" />\n <path d=\"m2357 1225c6.73 27 10.1 54.7 10.1 82.5\" fill-rule=\"evenodd\" />\n <!-- lower angle line -->\n <path d=\"m2665 1475 l-645 -165 m645 165 l-32 -45 m32 45 l -45 25\" class=\"kata_svg_stroke_accent\"/>\n <!-- lower angle curve -->\n <path transform=\"matrix(1 0 0 -1 1677 1655)\" d=\"m679 259c7.22 28.1 10.9 56.9 10.9 85.9\" class=\"kata_svg_stroke_accent\"/>\n </g>\n <g class=\"kata_svg_text\">\n <!-- |all> ket -->\n <path d=\"m2735 1098h6.92v83.6h-6.92z\" />\n <path d=\"m2782 1122c-3.09 0-5.86 1.25-8.31 3.73-2.46 2.49-4.37 5.82-5.75 10s-2.07 8.35-2.07 12.5c0 3.11 0.43 5.44 1.28 6.98 0.86 1.55 2.29 2.32 4.29 2.32 1.98 0 3.92-0.86 5.82-2.56 1.9-1.71 3.86-4.14 5.88-7.3 2.03-3.16 3.46-6.81 4.29-10.9l0.41-1.93c0.27-1.23 0.45-2.29 0.54-3.19s0.13-1.87 0.13-2.92c0-2.31-0.49-4-1.48-5.08s-2.66-1.62-5.03-1.62zm-0.9-3.54c1.95 0 3.77 0.21 5.46 0.65 1.69 0.43 3.44 1.2 5.23 2.31l4.14-2.96 2.87 0.71-6.6 28.5c-0.66 2.85-0.99 5.07-0.99 6.65 0 1.2 0.19 2.07 0.58 2.61s1.01 0.81 1.84 0.81c0.9 0 1.86-0.37 2.88-1.1 1.02-0.74 2.45-2.14 4.31-4.2l2.56 2.51c-2.69 2.88-4.99 4.92-6.89 6.13-1.9 1.22-3.96 1.82-6.18 1.82-1.86 0-3.34-0.61-4.45-1.84s-1.66-2.86-1.66-4.9c0-1.64 0.34-3.39 1.03-5.25l-0.58-0.18c-2.88 4.19-5.6 7.26-8.18 9.21-2.57 1.94-5.3 2.92-8.17 2.92-3.3 0-5.85-1.24-7.66-3.73s-2.72-5.98-2.72-10.5c0-5.15 1.01-10.1 3.03-14.8 2.02-4.75 4.8-8.49 8.34-11.2 3.53-2.74 7.47-4.11 11.8-4.11zm75.2-20.5h2.65l-11 49.7c-0.66 2.97-0.99 5.19-0.99 6.65 0 1.2 0.2 2.07 0.58 2.61 0.39 0.54 1.01 0.81 1.85 0.81 0.89 0 1.85-0.37 2.87-1.1 1.02-0.74 2.46-2.14 4.31-4.2l2.56 2.51c-2.9 3.06-5.27 5.15-7.12 6.27-1.84 1.12-3.9 1.68-6.17 1.68-1.95 0-3.51-0.71-4.67-2.13-1.17-1.42-1.76-3.24-1.76-5.46 0-2.01 0.42-4.91 1.26-8.71l8.04-36c0.36-1.58 0.62-2.85 0.77-3.79 0.15-0.95 0.22-1.82 0.22-2.63 0-0.9-0.16-1.58-0.49-2.04-0.33-0.47-0.8-0.81-1.42-1.01-0.61-0.21-1.71-0.36-3.3-0.45l0.54-2.34zm-29 0h2.65l-11 49.7c-0.66 2.97-0.99 5.19-0.99 6.65 0 1.2 0.2 2.07 0.58 2.61 0.39 0.54 1.01 0.81 1.85 0.81 0.89 0 1.85-0.37 2.87-1.1 1.02-0.74 2.46-2.14 4.31-4.2l2.56 2.51c-2.9 3.06-5.27 5.15-7.12 6.27-1.84 1.12-3.9 1.68-6.17 1.68-1.95 0-3.51-0.71-4.67-2.13-1.17-1.42-1.76-3.24-1.76-5.46 0-2.01 0.42-4.91 1.26-8.71l8.04-36c0.36-1.58 0.62-2.85 0.77-3.79 0.15-0.95 0.22-1.82 0.22-2.63 0-0.9-0.16-1.58-0.49-2.04-0.33-0.47-0.8-0.81-1.42-1.01-0.61-0.21-1.71-0.36-3.3-0.45l0.54-2.34z\" />\n <path d=\"m2875 1098 17.9 40.3v3.32l-17.9 40.4-4.81-1.71 14.4-40.3-14.4-40.4z\" />\n <!-- |good> ket -->\n <path d=\"m1889 530h6.91v83.6h-6.91z\" />\n <path d=\"m2040 554c-3.11 0-5.83 1.3-8.15 3.91-2.32 2.6-4.15 6.33-5.48 11.2-1.33 4.85-2 9.03-2 12.5 0 3.29 0.68 5.73 2.05 7.3 1.36 1.57 3.42 2.36 6.17 2.36 2.94 0 5.54-1.32 7.82-3.95 2.28-2.64 4.07-6.33 5.39-11.1 1.32-4.75 1.98-8.92 1.98-12.5 0-3.24-0.63-5.67-1.89-7.3s-3.22-2.45-5.89-2.45zm-49 0c-3.11 0-5.83 1.3-8.15 3.91-2.32 2.6-4.15 6.33-5.48 11.2-1.33 4.85-2 9.03-2 12.5 0 3.29 0.68 5.73 2.05 7.3 1.36 1.57 3.42 2.36 6.17 2.36 2.94 0 5.54-1.32 7.82-3.95 2.28-2.64 4.07-6.33 5.39-11.1 1.32-4.75 1.98-8.92 1.98-12.5 0-3.24-0.63-5.67-1.89-7.3s-3.22-2.45-5.89-2.45zm98.3-0.09c-3.05 0-5.79 1.24-8.22 3.71-2.42 2.47-4.33 5.8-5.72 10-1.4 4.19-2.09 8.37-2.09 12.5 0 3.12 0.42 5.44 1.28 6.99 0.85 1.54 2.28 2.31 4.29 2.31 0.93 0 1.87-0.202 2.83-0.606 0.96-0.405 1.95-1.06 2.99-1.96 1.03-0.898 2.05-1.99 3.05-3.28s1.92-2.58 2.76-3.89c0.84-1.3 1.62-2.84 2.34-4.63 0.72-1.78 1.33-3.93 1.84-6.45l0.4-1.93c0.45-2.16 0.68-4.19 0.68-6.11 0-2.34-0.5-4.04-1.48-5.1-0.99-1.06-2.64-1.6-4.95-1.6zm-148 0c-3.05 0-5.79 1.24-8.22 3.71-2.42 2.47-4.33 5.8-5.72 10-1.4 4.19-2.09 8.37-2.09 12.5 0 3.12 0.45 5.44 1.35 6.99 0.89 1.54 2.3 2.31 4.22 2.31 1.53 0 3.05-0.524 4.56-1.57s3.13-2.71 4.85-4.99 3.06-4.45 4.02-6.51c0.96-2.07 1.77-4.64 2.45-7.73 0.67-3.08 1.01-5.76 1.01-8.04 0-2.34-0.5-4.04-1.48-5.1-0.99-1.06-2.64-1.6-4.95-1.6zm100-3.5c4.8 0 8.45 1.31 11 3.93 2.52 2.62 3.78 6.37 3.78 11.3 0 3.47-0.61 7.19-1.82 11.1s-2.88 7.28-4.99 9.97c-2.11 2.7-4.63 4.72-7.57 6.09-2.93 1.36-6.3 2.04-10.1 2.04-4.65 0-8.25-1.3-10.8-3.91-2.56-2.6-3.84-6.35-3.84-11.2 0-2.4 0.36-5.17 1.08-8.31 0.93-4.25 2.48-7.97 4.67-11.1 2.19-3.18 4.88-5.61 8.09-7.3 3.2-1.69 6.72-2.54 10.6-2.54zm-49 0c4.8 0 8.45 1.31 11 3.93 2.52 2.62 3.78 6.37 3.78 11.3 0 3.47-0.61 7.19-1.82 11.1s-2.88 7.28-4.99 9.97c-2.11 2.7-4.63 4.72-7.57 6.09-2.93 1.36-6.3 2.04-10.1 2.04-4.65 0-8.25-1.3-10.8-3.91-2.56-2.6-3.84-6.35-3.84-11.2 0-2.4 0.36-5.17 1.08-8.31 0.93-4.25 2.48-7.97 4.67-11.1 2.19-3.18 4.88-5.61 8.09-7.3 3.2-1.69 6.72-2.54 10.6-2.54zm-51.7-0.045c1.88 0 3.66 0.225 5.34 0.674s3.37 1.21 5.08 2.29l4.13-2.96 2.88 0.719-4.63 20.9c-0.33 1.47-1.08 5.17-2.25 11.1-1.23 6.29-2.22 10.7-2.98 13.3-0.77 2.6-1.72 4.98-2.86 7.12s-2.6 4-4.4 5.59c-1.8 1.59-3.98 2.82-6.54 3.68-2.56 0.869-5.59 1.3-9.09 1.3-11.3 0-17-3.29-17-9.88 0-1.68 0.51-3.2 1.52-4.58 1.02-1.38 2.65-2.83 4.9-4.36l3.24 2.6c-0.57 0.689-1.05 1.37-1.44 2.04s-0.67 1.32-0.83 1.95c-0.17 0.629-0.25 1.38-0.25 2.25 0 2.25 0.81 3.89 2.43 4.92 1.61 1.03 4.05 1.55 7.32 1.55 3.68 0 6.64-0.831 8.87-2.49s4.14-4.34 5.73-8.02c1.58-3.68 3.13-9.25 4.62-16.7l-0.62-0.134c-2.91 3.98-5.6 6.89-8.09 8.72-2.49 1.83-5.17 2.74-8.04 2.74-3.27 0-5.8-1.23-7.62-3.68-1.81-2.46-2.71-5.96-2.71-10.5 0-5.12 1-10 3.01-14.8 2-4.72 4.79-8.47 8.35-11.3 3.57-2.78 7.53-4.18 11.9-4.18zm168-20.5h2.65l-11.2 49.7c-0.66 2.94-0.99 5.15-0.99 6.65 0 1.2 0.2 2.07 0.59 2.6s1 0.809 1.84 0.809c0.9 0 1.86-0.367 2.87-1.1 1.02-0.734 2.46-2.13 4.32-4.2l2.56 2.52c-2.76 2.9-5.08 4.96-6.97 6.15-1.88 1.2-3.92 1.8-6.1 1.8-1.86 0-3.34-0.614-4.45-1.84s-1.66-2.86-1.66-4.9c0-1.65 0.34-3.4 1.03-5.26l-0.59-0.18c-2.87 4.19-5.6 7.26-8.17 9.21-2.58 1.95-5.3 2.92-8.18 2.92-3.29 0-5.84-1.24-7.66-3.73-1.81-2.48-2.71-5.97-2.71-10.5 0-5.15 1.01-10.1 3.03-14.8s4.8-8.49 8.33-11.2c3.54-2.74 7.47-4.11 11.8-4.11 1.82 0 3.51 0.187 5.05 0.562 1.54 0.374 3.12 1.02 4.74 1.95l2.33-10.4c0.24-0.989 0.45-2.08 0.63-3.28s0.27-2.25 0.27-3.14c0-0.899-0.16-1.58-0.49-2.04s-0.8-0.801-1.42-1.01c-0.61-0.209-1.71-0.359-3.3-0.449l0.54-2.34z\" />\n <path d=\"m2126 529 17.9 40.3v3.32l-17.9 40.4-4.81-1.71 14.4-40.3-14.4-40.4z\" />\n <!-- |bad> ket -->\n <path d=\"m2766 1275h6.92v83.6h-6.92z\" />\n <path d=\"m2816 1301c-1.43 0-2.85 0.46-4.24 1.37s-2.94 2.43-4.65 4.54-3.1 4.27-4.18 6.49-1.99 5.05-2.74 8.49l-0.4 1.89c-0.45 2.09-0.68 4.13-0.68 6.11 0 2.36 0.52 4.07 1.55 5.12 1.04 1.05 2.75 1.57 5.15 1.57 1.22 0 2.39-0.2 3.5-0.61 1.11-0.4 2.24-1.07 3.39-2 1.15-0.92 2.25-2.14 3.28-3.66 1.03-1.51 1.99-3.37 2.85-5.59 0.87-2.22 1.55-4.59 2.03-7.12 0.47-2.53 0.71-4.95 0.71-7.25 0-3.12-0.44-5.46-1.32-7.01-0.88-1.56-2.3-2.34-4.25-2.34zm97.4-1.75c-3.06 0-5.8 1.23-8.22 3.71-2.43 2.47-4.34 5.8-5.73 9.99s-2.09 8.37-2.09 12.5c0 3.12 0.43 5.45 1.28 6.99s2.29 2.31 4.29 2.31c0.93 0 1.87-0.2 2.83-0.6 0.96-0.41 1.96-1.06 2.99-1.96s2.05-1.99 3.05-3.28c1.01-1.29 1.93-2.58 2.77-3.88 0.83-1.31 1.61-2.85 2.33-4.63s1.33-3.93 1.84-6.45l0.41-1.93c0.45-2.15 0.67-4.19 0.67-6.11 0-2.33-0.49-4.03-1.48-5.1-0.99-1.06-2.64-1.59-4.94-1.59zm-50.9 0c-3.09 0-5.86 1.24-8.31 3.73-2.46 2.48-4.37 5.82-5.75 9.99-1.38 4.18-2.07 8.35-2.07 12.5 0 3.12 0.43 5.45 1.28 6.99s2.29 2.31 4.29 2.31c1.98 0 3.92-0.85 5.82-2.56 1.9-1.7 3.86-4.14 5.88-7.3 2.03-3.16 3.46-6.8 4.29-10.9l0.41-1.93c0.27-1.23 0.45-2.29 0.54-3.19s0.13-1.87 0.13-2.92c0-2.3-0.49-4-1.48-5.07-0.99-1.08-2.67-1.62-5.03-1.62zm-0.9-3.55c1.95 0 3.77 0.22 5.46 0.65 1.69 0.44 3.43 1.21 5.23 2.32l4.13-2.97 2.88 0.72-6.6 28.5c-0.66 2.84-0.99 5.06-0.99 6.65 0 1.2 0.19 2.06 0.58 2.6s1 0.81 1.84 0.81c0.9 0 1.86-0.36 2.88-1.1 1.02-0.73 2.45-2.13 4.31-4.2l2.56 2.52c-2.69 2.87-4.99 4.92-6.89 6.13-1.91 1.21-3.97 1.82-6.18 1.82-1.86 0-3.34-0.62-4.45-1.84-1.11-1.23-1.66-2.86-1.66-4.9 0-1.65 0.34-3.4 1.03-5.26l-0.58-0.18c-2.88 4.2-5.6 7.27-8.18 9.21-2.57 1.95-5.3 2.92-8.17 2.92-3.3 0-5.85-1.24-7.66-3.73-1.81-2.48-2.72-5.97-2.72-10.5 0-5.15 1.01-10.1 3.03-14.8s4.8-8.49 8.34-11.2c3.53-2.74 7.47-4.11 11.8-4.11zm70.6-20.5h2.65l-11.2 49.7c-0.66 2.93-0.99 5.15-0.99 6.65 0 1.2 0.19 2.06 0.58 2.6s1 0.81 1.84 0.81c0.9 0 1.86-0.36 2.88-1.1 1.02-0.73 2.45-2.13 4.31-4.2l2.56 2.52c-2.75 2.9-5.08 4.95-6.96 6.15-1.89 1.2-3.93 1.8-6.11 1.8-1.86 0-3.34-0.62-4.45-1.84-1.11-1.23-1.66-2.86-1.66-4.9 0-1.65 0.34-3.4 1.03-5.26l-0.58-0.18c-2.88 4.2-5.6 7.27-8.18 9.21-2.57 1.95-5.3 2.92-8.17 2.92-3.3 0-5.85-1.24-7.66-3.73-1.81-2.48-2.72-5.97-2.72-10.5 0-5.15 1.01-10.1 3.03-14.8s4.8-8.49 8.34-11.2c3.53-2.74 7.47-4.11 11.8-4.11 1.83 0 3.51 0.19 5.05 0.56 1.55 0.38 3.13 1.03 4.74 1.96l2.34-10.4c0.24-0.99 0.45-2.08 0.63-3.28s0.27-2.25 0.27-3.14c0-0.9-0.17-1.58-0.5-2.05-0.33-0.46-0.8-0.8-1.41-1.01-0.62-0.21-1.72-0.36-3.3-0.45l0.54-2.33zm-124 0h2.61l-7.91 31.4 0.59 0.18c2.9-3.9 5.63-6.71 8.17-8.45 2.55-1.74 5.09-2.6 7.64-2.6 3.26 0 5.8 1.24 7.61 3.72 1.81 2.49 2.72 5.99 2.72 10.5 0 4.94-1 9.8-2.99 14.6-1.99 4.78-4.75 8.57-8.29 11.4-3.53 2.8-7.48 4.2-11.8 4.2-3.99 0-7.52-0.98-10.6-2.92l-4.13 2.92-2.87-0.72 11.6-51.4c0.69-3.05 1.03-5.27 1.03-6.64 0-1.26-0.38-2.15-1.14-2.66-0.77-0.5-2.14-0.79-4.11-0.85l0.54-2.33z\" />\n <path d=\"m2950 1275 17.9 40.3v3.33l-17.9 40.4-4.8-1.71 14.4-40.3-14.4-40.4z\" />\n <!-- theta-->\n <path d=\"m2414 1260c-1.4 6.49-2.11 12-2.11 16.4 0 3.36 0.51 5.82 1.53 7.39s2.67 2.36 4.94 2.36c3.36 0 6.54-2.25 9.55-6.76s5.56-11 7.66-19.4zm18.4-30.3c-3.5 0-6.74 2.22-9.72 6.65s-5.52 10.8-7.62 19h21.5c1.41-6.31 2.11-11.8 2.11-16.3 0-3.15-0.51-5.5-1.53-7.06-1.01-1.55-2.6-2.33-4.76-2.33zm0.54-3.64c8.69 0 13 5.51 13 16.5 0 3.12-0.35 6.84-1.06 11.2-0.7 4.33-1.82 8.74-3.34 13.2-1.53 4.5-3.46 8.47-5.8 11.9-2.33 3.46-5.03 6.13-8.08 8.02-3.06 1.89-6.35 2.83-9.89 2.83-4.46 0-7.78-1.36-9.97-4.09-2.19-2.72-3.28-6.81-3.28-12.3 0-2.97 0.33-6.62 0.99-11 0.66-4.35 1.74-8.79 3.26-13.3 1.51-4.54 3.45-8.57 5.84-12.1 2.38-3.52 5.12-6.23 8.22-8.13s6.46-2.85 10.1-2.85z\" fill-rule=\"evenodd\" />\n </g>\n <g class=\"kata_svg_fill_accent kata_svg_stroke_accent\" font-family=\"sans-serif\" font-size=\"64px\" font-weight=\"400\">\n <!-- theta -->\n <path d=\"m2415 1364c-1.41 6.5-2.11 12-2.11 16.4 0 3.35 0.51 5.82 1.52 7.39 1.02 1.57 2.67 2.36 4.95 2.36 3.35 0 6.53-2.26 9.54-6.76 3.01-4.51 5.56-11 7.66-19.4zm18.4-30.3c-3.51 0-6.75 2.21-9.73 6.64-2.98 4.44-5.52 10.8-7.61 19h21.5c1.41-6.32 2.12-11.8 2.12-16.3 0-3.14-0.51-5.49-1.53-7.05s-2.61-2.33-4.76-2.33zm0.54-3.64c8.68 0 13 5.51 13 16.5 0 3.11-0.35 6.83-1.05 11.2-0.71 4.33-1.82 8.74-3.35 13.2s-3.46 8.47-5.79 11.9c-2.34 3.46-5.04 6.13-8.09 8.02-3.06 1.88-6.35 2.83-9.88 2.83-4.47 0-7.79-1.37-9.98-4.09-2.18-2.73-3.28-6.82-3.28-12.3 0-2.96 0.33-6.61 0.99-11 0.66-4.34 1.75-8.78 3.26-13.3 1.51-4.53 3.46-8.56 5.84-12.1s5.12-6.23 8.22-8.13 6.46-2.85 10.1-2.85z\" />\n <text transform=\"translate(2734 1521)\">State after</text>\n <text transform=\"translate(2734 1598)\">the first </text>\n <text transform=\"translate(2734 1676)\">reflection</text>\n </g>\n </g>\n</svg>\n\n\"Reflection about the mean\" is an operation for which the visual definition is much more intuitive than the mathematical one.\nIt is literally a reflection about the state $\\ket{\\text{all}}$ - the uniform superposition of all basis states in the search space. \n\nMathematically, this operation is described as $2\\ket{\\text{all}}\\bra{\\text{all}} - I$: it leaves the component of the input state parallel to the state $\\ket{\\text{all}}$ unchanged and multiplies the component orthogonal to it by $-1$.\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"447\" height=\"370\" overflow=\"hidden\" version=\"1.1\" xml:space=\"preserve\" xmlns=\"http://www.w3.org/2000/svg\">\n <style>\n :root {\n --kata-svg-stroke: #222;\n --kata-svg-fill: #fff;\n --kata-svg-path: #777;\n --kata-svg-accent: #06c;\n }\n @media(prefers-color-scheme: dark) {\n :root {\n --kata-svg-stroke: #eee;\n --kata-svg-fill: #111;\n --kata-svg-path: #bbb;\n --kata-svg-accent: #08f;\n }\n }\n .kata_svg_path {\n stroke: var(--kata-svg-path);\n stroke-width: 10;\n stroke-linecap: round;\n fill: none;\n }\n .kata_svg_text {\n fill: var(--kata-svg-stroke);\n }\n .kata_svg_point {\n fill: var(--kata-svg-fill);\n stroke: var(--kata-svg-stroke);\n }\n .kata_svg_fill_accent {\n fill: var(--kata-svg-accent);\n }\n .kata_svg_stroke_accent {\n stroke: var(--kata-svg-accent);\n }\n </style>\n <g transform=\"matrix(.25 0 0 .25 -333 -132)\">\n <g class=\"kata_svg_path\">\n <!-- Main circle -->\n <circle cx=\"2020\" cy=\"1310\" r=\"670\" />\n <!-- x axis -->\n <path d=\"M2685 1310 h-1335 m1335 0 l-32 -32 m32 32 l-32 32\" />\n <!-- y axis -->\n <path d=\"m2020 645 v1323 m0 -1323 l-32 32 m32 -32 l32 32\" />\n <!-- Angle line -->\n <path d=\"m2665 1145 l-645 165 m645 -165 l-32 45 m32 -45 l -45 -25\" />\n <path d=\"m2357 1225c6.73 27 10.1 54.7 10.1 82.5\" fill-rule=\"evenodd\" />\n <!-- lower angle line -->\n <path d=\"m2665 1475 l-645 -165 m645 165 l-32 -45 m32 45 l -45 25\" stroke-width=\"10\" stroke-linecap=\"round\" />\n <!-- lower angle curve -->\n <path transform=\"matrix(1 0 0 -1 1677 1655)\" d=\"m679 259c7.22 28.1 10.9 56.9 10.9 85.9\" fill=\"none\" fill-rule=\"evenodd\" stroke-width=\"10\" />\n <path d=\"M2490 845 l-470 465 m470 -465 l-50 0 m50 0 l0 50\" class=\"kata_svg_stroke_accent\"/>\n <!-- Accented angle line -->\n <path d=\"m2270 1065c43.2 45.4 73.5 102 88 160\" class=\"kata_svg_stroke_accent\"/>\n </g>\n <g class=\"kata_svg_text\">\n <!-- |all> ket -->\n <path d=\"m2735 1098h6.92v83.6h-6.92z\" />\n <path d=\"m2782 1122c-3.09 0-5.86 1.25-8.31 3.73-2.46 2.49-4.37 5.82-5.75 10s-2.07 8.35-2.07 12.5c0 3.11 0.43 5.44 1.28 6.98 0.86 1.55 2.29 2.32 4.29 2.32 1.98 0 3.92-0.86 5.82-2.56 1.9-1.71 3.86-4.14 5.88-7.3 2.03-3.16 3.46-6.81 4.29-10.9l0.41-1.93c0.27-1.23 0.45-2.29 0.54-3.19s0.13-1.87 0.13-2.92c0-2.31-0.49-4-1.48-5.08s-2.66-1.62-5.03-1.62zm-0.9-3.54c1.95 0 3.77 0.21 5.46 0.65 1.69 0.43 3.44 1.2 5.23 2.31l4.14-2.96 2.87 0.71-6.6 28.5c-0.66 2.85-0.99 5.07-0.99 6.65 0 1.2 0.19 2.07 0.58 2.61s1.01 0.81 1.84 0.81c0.9 0 1.86-0.37 2.88-1.1 1.02-0.74 2.45-2.14 4.31-4.2l2.56 2.51c-2.69 2.88-4.99 4.92-6.89 6.13-1.9 1.22-3.96 1.82-6.18 1.82-1.86 0-3.34-0.61-4.45-1.84s-1.66-2.86-1.66-4.9c0-1.64 0.34-3.39 1.03-5.25l-0.58-0.18c-2.88 4.19-5.6 7.26-8.18 9.21-2.57 1.94-5.3 2.92-8.17 2.92-3.3 0-5.85-1.24-7.66-3.73s-2.72-5.98-2.72-10.5c0-5.15 1.01-10.1 3.03-14.8 2.02-4.75 4.8-8.49 8.34-11.2 3.53-2.74 7.47-4.11 11.8-4.11zm75.2-20.5h2.65l-11 49.7c-0.66 2.97-0.99 5.19-0.99 6.65 0 1.2 0.2 2.07 0.58 2.61 0.39 0.54 1.01 0.81 1.85 0.81 0.89 0 1.85-0.37 2.87-1.1 1.02-0.74 2.46-2.14 4.31-4.2l2.56 2.51c-2.9 3.06-5.27 5.15-7.12 6.27-1.84 1.12-3.9 1.68-6.17 1.68-1.95 0-3.51-0.71-4.67-2.13-1.17-1.42-1.76-3.24-1.76-5.46 0-2.01 0.42-4.91 1.26-8.71l8.04-36c0.36-1.58 0.62-2.85 0.77-3.79 0.15-0.95 0.22-1.82 0.22-2.63 0-0.9-0.16-1.58-0.49-2.04-0.33-0.47-0.8-0.81-1.42-1.01-0.61-0.21-1.71-0.36-3.3-0.45l0.54-2.34zm-29 0h2.65l-11 49.7c-0.66 2.97-0.99 5.19-0.99 6.65 0 1.2 0.2 2.07 0.58 2.61 0.39 0.54 1.01 0.81 1.85 0.81 0.89 0 1.85-0.37 2.87-1.1 1.02-0.74 2.46-2.14 4.31-4.2l2.56 2.51c-2.9 3.06-5.27 5.15-7.12 6.27-1.84 1.12-3.9 1.68-6.17 1.68-1.95 0-3.51-0.71-4.67-2.13-1.17-1.42-1.76-3.24-1.76-5.46 0-2.01 0.42-4.91 1.26-8.71l8.04-36c0.36-1.58 0.62-2.85 0.77-3.79 0.15-0.95 0.22-1.82 0.22-2.63 0-0.9-0.16-1.58-0.49-2.04-0.33-0.47-0.8-0.81-1.42-1.01-0.61-0.21-1.71-0.36-3.3-0.45l0.54-2.34z\" />\n <path d=\"m2875 1098 17.9 40.3v3.32l-17.9 40.4-4.81-1.71 14.4-40.3-14.4-40.4z\" />\n <!-- |good> ket -->\n <path d=\"m1889 530h6.91v83.6h-6.91z\" />\n <path d=\"m2040 554c-3.11 0-5.83 1.3-8.15 3.91-2.32 2.6-4.15 6.33-5.48 11.2-1.33 4.85-2 9.03-2 12.5 0 3.29 0.68 5.73 2.05 7.3 1.36 1.57 3.42 2.36 6.17 2.36 2.94 0 5.54-1.32 7.82-3.95 2.28-2.64 4.07-6.33 5.39-11.1 1.32-4.75 1.98-8.92 1.98-12.5 0-3.24-0.63-5.67-1.89-7.3s-3.22-2.45-5.89-2.45zm-49 0c-3.11 0-5.83 1.3-8.15 3.91-2.32 2.6-4.15 6.33-5.48 11.2-1.33 4.85-2 9.03-2 12.5 0 3.29 0.68 5.73 2.05 7.3 1.36 1.57 3.42 2.36 6.17 2.36 2.94 0 5.54-1.32 7.82-3.95 2.28-2.64 4.07-6.33 5.39-11.1 1.32-4.75 1.98-8.92 1.98-12.5 0-3.24-0.63-5.67-1.89-7.3s-3.22-2.45-5.89-2.45zm98.3-0.09c-3.05 0-5.79 1.24-8.22 3.71-2.42 2.47-4.33 5.8-5.72 10-1.4 4.19-2.09 8.37-2.09 12.5 0 3.12 0.42 5.44 1.28 6.99 0.85 1.54 2.28 2.31 4.29 2.31 0.93 0 1.87-0.202 2.83-0.606 0.96-0.405 1.95-1.06 2.99-1.96 1.03-0.898 2.05-1.99 3.05-3.28s1.92-2.58 2.76-3.89c0.84-1.3 1.62-2.84 2.34-4.63 0.72-1.78 1.33-3.93 1.84-6.45l0.4-1.93c0.45-2.16 0.68-4.19 0.68-6.11 0-2.34-0.5-4.04-1.48-5.1-0.99-1.06-2.64-1.6-4.95-1.6zm-148 0c-3.05 0-5.79 1.24-8.22 3.71-2.42 2.47-4.33 5.8-5.72 10-1.4 4.19-2.09 8.37-2.09 12.5 0 3.12 0.45 5.44 1.35 6.99 0.89 1.54 2.3 2.31 4.22 2.31 1.53 0 3.05-0.524 4.56-1.57s3.13-2.71 4.85-4.99 3.06-4.45 4.02-6.51c0.96-2.07 1.77-4.64 2.45-7.73 0.67-3.08 1.01-5.76 1.01-8.04 0-2.34-0.5-4.04-1.48-5.1-0.99-1.06-2.64-1.6-4.95-1.6zm100-3.5c4.8 0 8.45 1.31 11 3.93 2.52 2.62 3.78 6.37 3.78 11.3 0 3.47-0.61 7.19-1.82 11.1s-2.88 7.28-4.99 9.97c-2.11 2.7-4.63 4.72-7.57 6.09-2.93 1.36-6.3 2.04-10.1 2.04-4.65 0-8.25-1.3-10.8-3.91-2.56-2.6-3.84-6.35-3.84-11.2 0-2.4 0.36-5.17 1.08-8.31 0.93-4.25 2.48-7.97 4.67-11.1 2.19-3.18 4.88-5.61 8.09-7.3 3.2-1.69 6.72-2.54 10.6-2.54zm-49 0c4.8 0 8.45 1.31 11 3.93 2.52 2.62 3.78 6.37 3.78 11.3 0 3.47-0.61 7.19-1.82 11.1s-2.88 7.28-4.99 9.97c-2.11 2.7-4.63 4.72-7.57 6.09-2.93 1.36-6.3 2.04-10.1 2.04-4.65 0-8.25-1.3-10.8-3.91-2.56-2.6-3.84-6.35-3.84-11.2 0-2.4 0.36-5.17 1.08-8.31 0.93-4.25 2.48-7.97 4.67-11.1 2.19-3.18 4.88-5.61 8.09-7.3 3.2-1.69 6.72-2.54 10.6-2.54zm-51.7-0.045c1.88 0 3.66 0.225 5.34 0.674s3.37 1.21 5.08 2.29l4.13-2.96 2.88 0.719-4.63 20.9c-0.33 1.47-1.08 5.17-2.25 11.1-1.23 6.29-2.22 10.7-2.98 13.3-0.77 2.6-1.72 4.98-2.86 7.12s-2.6 4-4.4 5.59c-1.8 1.59-3.98 2.82-6.54 3.68-2.56 0.869-5.59 1.3-9.09 1.3-11.3 0-17-3.29-17-9.88 0-1.68 0.51-3.2 1.52-4.58 1.02-1.38 2.65-2.83 4.9-4.36l3.24 2.6c-0.57 0.689-1.05 1.37-1.44 2.04s-0.67 1.32-0.83 1.95c-0.17 0.629-0.25 1.38-0.25 2.25 0 2.25 0.81 3.89 2.43 4.92 1.61 1.03 4.05 1.55 7.32 1.55 3.68 0 6.64-0.831 8.87-2.49s4.14-4.34 5.73-8.02c1.58-3.68 3.13-9.25 4.62-16.7l-0.62-0.134c-2.91 3.98-5.6 6.89-8.09 8.72-2.49 1.83-5.17 2.74-8.04 2.74-3.27 0-5.8-1.23-7.62-3.68-1.81-2.46-2.71-5.96-2.71-10.5 0-5.12 1-10 3.01-14.8 2-4.72 4.79-8.47 8.35-11.3 3.57-2.78 7.53-4.18 11.9-4.18zm168-20.5h2.65l-11.2 49.7c-0.66 2.94-0.99 5.15-0.99 6.65 0 1.2 0.2 2.07 0.59 2.6s1 0.809 1.84 0.809c0.9 0 1.86-0.367 2.87-1.1 1.02-0.734 2.46-2.13 4.32-4.2l2.56 2.52c-2.76 2.9-5.08 4.96-6.97 6.15-1.88 1.2-3.92 1.8-6.1 1.8-1.86 0-3.34-0.614-4.45-1.84s-1.66-2.86-1.66-4.9c0-1.65 0.34-3.4 1.03-5.26l-0.59-0.18c-2.87 4.19-5.6 7.26-8.17 9.21-2.58 1.95-5.3 2.92-8.18 2.92-3.29 0-5.84-1.24-7.66-3.73-1.81-2.48-2.71-5.97-2.71-10.5 0-5.15 1.01-10.1 3.03-14.8s4.8-8.49 8.33-11.2c3.54-2.74 7.47-4.11 11.8-4.11 1.82 0 3.51 0.187 5.05 0.562 1.54 0.374 3.12 1.02 4.74 1.95l2.33-10.4c0.24-0.989 0.45-2.08 0.63-3.28s0.27-2.25 0.27-3.14c0-0.899-0.16-1.58-0.49-2.04s-0.8-0.801-1.42-1.01c-0.61-0.209-1.71-0.359-3.3-0.449l0.54-2.34z\" />\n <path d=\"m2126 529 17.9 40.3v3.32l-17.9 40.4-4.81-1.71 14.4-40.3-14.4-40.4z\" />\n <!-- |bad> ket -->\n <path d=\"m2766 1275h6.92v83.6h-6.92z\" />\n <path d=\"m2816 1301c-1.43 0-2.85 0.46-4.24 1.37s-2.94 2.43-4.65 4.54-3.1 4.27-4.18 6.49-1.99 5.05-2.74 8.49l-0.4 1.89c-0.45 2.09-0.68 4.13-0.68 6.11 0 2.36 0.52 4.07 1.55 5.12 1.04 1.05 2.75 1.57 5.15 1.57 1.22 0 2.39-0.2 3.5-0.61 1.11-0.4 2.24-1.07 3.39-2 1.15-0.92 2.25-2.14 3.28-3.66 1.03-1.51 1.99-3.37 2.85-5.59 0.87-2.22 1.55-4.59 2.03-7.12 0.47-2.53 0.71-4.95 0.71-7.25 0-3.12-0.44-5.46-1.32-7.01-0.88-1.56-2.3-2.34-4.25-2.34zm97.4-1.75c-3.06 0-5.8 1.23-8.22 3.71-2.43 2.47-4.34 5.8-5.73 9.99s-2.09 8.37-2.09 12.5c0 3.12 0.43 5.45 1.28 6.99s2.29 2.31 4.29 2.31c0.93 0 1.87-0.2 2.83-0.6 0.96-0.41 1.96-1.06 2.99-1.96s2.05-1.99 3.05-3.28c1.01-1.29 1.93-2.58 2.77-3.88 0.83-1.31 1.61-2.85 2.33-4.63s1.33-3.93 1.84-6.45l0.41-1.93c0.45-2.15 0.67-4.19 0.67-6.11 0-2.33-0.49-4.03-1.48-5.1-0.99-1.06-2.64-1.59-4.94-1.59zm-50.9 0c-3.09 0-5.86 1.24-8.31 3.73-2.46 2.48-4.37 5.82-5.75 9.99-1.38 4.18-2.07 8.35-2.07 12.5 0 3.12 0.43 5.45 1.28 6.99s2.29 2.31 4.29 2.31c1.98 0 3.92-0.85 5.82-2.56 1.9-1.7 3.86-4.14 5.88-7.3 2.03-3.16 3.46-6.8 4.29-10.9l0.41-1.93c0.27-1.23 0.45-2.29 0.54-3.19s0.13-1.87 0.13-2.92c0-2.3-0.49-4-1.48-5.07-0.99-1.08-2.67-1.62-5.03-1.62zm-0.9-3.55c1.95 0 3.77 0.22 5.46 0.65 1.69 0.44 3.43 1.21 5.23 2.32l4.13-2.97 2.88 0.72-6.6 28.5c-0.66 2.84-0.99 5.06-0.99 6.65 0 1.2 0.19 2.06 0.58 2.6s1 0.81 1.84 0.81c0.9 0 1.86-0.36 2.88-1.1 1.02-0.73 2.45-2.13 4.31-4.2l2.56 2.52c-2.69 2.87-4.99 4.92-6.89 6.13-1.91 1.21-3.97 1.82-6.18 1.82-1.86 0-3.34-0.62-4.45-1.84-1.11-1.23-1.66-2.86-1.66-4.9 0-1.65 0.34-3.4 1.03-5.26l-0.58-0.18c-2.88 4.2-5.6 7.27-8.18 9.21-2.57 1.95-5.3 2.92-8.17 2.92-3.3 0-5.85-1.24-7.66-3.73-1.81-2.48-2.72-5.97-2.72-10.5 0-5.15 1.01-10.1 3.03-14.8s4.8-8.49 8.34-11.2c3.53-2.74 7.47-4.11 11.8-4.11zm70.6-20.5h2.65l-11.2 49.7c-0.66 2.93-0.99 5.15-0.99 6.65 0 1.2 0.19 2.06 0.58 2.6s1 0.81 1.84 0.81c0.9 0 1.86-0.36 2.88-1.1 1.02-0.73 2.45-2.13 4.31-4.2l2.56 2.52c-2.75 2.9-5.08 4.95-6.96 6.15-1.89 1.2-3.93 1.8-6.11 1.8-1.86 0-3.34-0.62-4.45-1.84-1.11-1.23-1.66-2.86-1.66-4.9 0-1.65 0.34-3.4 1.03-5.26l-0.58-0.18c-2.88 4.2-5.6 7.27-8.18 9.21-2.57 1.95-5.3 2.92-8.17 2.92-3.3 0-5.85-1.24-7.66-3.73-1.81-2.48-2.72-5.97-2.72-10.5 0-5.15 1.01-10.1 3.03-14.8s4.8-8.49 8.34-11.2c3.53-2.74 7.47-4.11 11.8-4.11 1.83 0 3.51 0.19 5.05 0.56 1.55 0.38 3.13 1.03 4.74 1.96l2.34-10.4c0.24-0.99 0.45-2.08 0.63-3.28s0.27-2.25 0.27-3.14c0-0.9-0.17-1.58-0.5-2.05-0.33-0.46-0.8-0.8-1.41-1.01-0.62-0.21-1.72-0.36-3.3-0.45l0.54-2.33zm-124 0h2.61l-7.91 31.4 0.59 0.18c2.9-3.9 5.63-6.71 8.17-8.45 2.55-1.74 5.09-2.6 7.64-2.6 3.26 0 5.8 1.24 7.61 3.72 1.81 2.49 2.72 5.99 2.72 10.5 0 4.94-1 9.8-2.99 14.6-1.99 4.78-4.75 8.57-8.29 11.4-3.53 2.8-7.48 4.2-11.8 4.2-3.99 0-7.52-0.98-10.6-2.92l-4.13 2.92-2.87-0.72 11.6-51.4c0.69-3.05 1.03-5.27 1.03-6.64 0-1.26-0.38-2.15-1.14-2.66-0.77-0.5-2.14-0.79-4.11-0.85l0.54-2.33z\" />\n <path d=\"m2950 1275 17.9 40.3v3.33l-17.9 40.4-4.8-1.71 14.4-40.3-14.4-40.4z\" />\n <!-- theta-->\n <path d=\"m2414 1260c-1.4 6.49-2.11 12-2.11 16.4 0 3.36 0.51 5.82 1.53 7.39s2.67 2.36 4.94 2.36c3.36 0 6.54-2.25 9.55-6.76s5.56-11 7.66-19.4zm18.4-30.3c-3.5 0-6.74 2.22-9.72 6.65s-5.52 10.8-7.62 19h21.5c1.41-6.31 2.11-11.8 2.11-16.3 0-3.15-0.51-5.5-1.53-7.06-1.01-1.55-2.6-2.33-4.76-2.33zm0.54-3.64c8.69 0 13 5.51 13 16.5 0 3.12-0.35 6.84-1.06 11.2-0.7 4.33-1.82 8.74-3.34 13.2-1.53 4.5-3.46 8.47-5.8 11.9-2.33 3.46-5.03 6.13-8.08 8.02-3.06 1.89-6.35 2.83-9.89 2.83-4.46 0-7.78-1.36-9.97-4.09-2.19-2.72-3.28-6.81-3.28-12.3 0-2.97 0.33-6.62 0.99-11 0.66-4.35 1.74-8.79 3.26-13.3 1.51-4.54 3.45-8.57 5.84-12.1 2.38-3.52 5.12-6.23 8.22-8.13s6.46-2.85 10.1-2.85z\" fill-rule=\"evenodd\" />\n <!-- lower theta -->\n <path d=\"m2415 1364c-1.41 6.5-2.11 12-2.11 16.4 0 3.35 0.51 5.82 1.52 7.39 1.02 1.57 2.67 2.36 4.95 2.36 3.35 0 6.53-2.26 9.54-6.76 3.01-4.51 5.56-11 7.66-19.4zm18.4-30.3c-3.51 0-6.75 2.21-9.73 6.64-2.98 4.44-5.52 10.8-7.61 19h21.5c1.41-6.32 2.12-11.8 2.12-16.3 0-3.14-0.51-5.49-1.53-7.05s-2.61-2.33-4.76-2.33zm0.54-3.64c8.68 0 13 5.51 13 16.5 0 3.11-0.35 6.83-1.05 11.2-0.71 4.33-1.82 8.74-3.35 13.2s-3.46 8.47-5.79 11.9c-2.34 3.46-5.04 6.13-8.09 8.02-3.06 1.88-6.35 2.83-9.88 2.83-4.47 0-7.79-1.37-9.98-4.09-2.18-2.73-3.28-6.82-3.28-12.3 0-2.96 0.33-6.61 0.99-11 0.66-4.34 1.75-8.78 3.26-13.3 1.51-4.53 3.46-8.56 5.84-12.1s5.12-6.23 8.22-8.13 6.46-2.85 10.1-2.85z\" />\n </g>\n <g class=\"kata_svg_fill_accent kata_svg_stroke_accent\" font-family=\"sans-serif\" font-size=\"64px\" font-weight=\"400\">\n <text transform=\"translate(2490 780)\">State after</text>\n <text transform=\"translate(2550 840)\">the second</text>\n <text transform=\"translate(2610 900)\">reflection</text>\n <!--2 \\theta and angle -->\n <path d=\"m2410 1105c-1.41 6.5-2.12 12-2.12 16.4 0 3.35 0.51 5.82 1.53 7.39s2.67 2.36 4.94 2.36c3.36 0 6.54-2.25 9.55-6.76s5.56-11 7.66-19.4zm18.4-30.3c-3.5 0-6.74 2.22-9.72 6.65s-5.52 10.8-7.62 19h21.5c1.41-6.32 2.11-11.8 2.11-16.3 0-3.14-0.51-5.5-1.52-7.05-1.02-1.56-2.61-2.34-4.77-2.34zm-58.2-2.7c5.57 0 9.77 1.22 12.6 3.66 2.84 2.44 4.27 5.98 4.27 10.6 0 1.59-0.16 3.05-0.48 4.38-0.31 1.33-0.8 2.65-1.48 3.95-0.67 1.3-1.58 2.7-2.72 4.2-1.13 1.5-2.39 3.02-3.77 4.56s-3.76 4.11-7.14 7.7c-5.69 6.02-9.87 11.3-12.5 15.8h16.9c1.47 0 2.65-0.09 3.55-0.27s1.62-0.479 2.16-0.898c0.54-0.42 0.96-0.966 1.28-1.64 0.31-0.674 0.71-1.72 1.19-3.12h3.82l-0.77 13.1h-37v-2.16c1.29-3.14 3.03-6.36 5.21-9.66 2.19-3.3 5.29-7.17 9.3-11.6 3.47-3.83 5.98-6.74 7.5-8.72 1.68-2.16 2.93-4.02 3.75-5.59 0.83-1.57 1.42-3.06 1.78-4.45s0.54-2.79 0.54-4.2c0-2.25-0.36-4.23-1.08-5.95s-1.82-3.08-3.3-4.07c-1.49-0.988-3.35-1.48-5.6-1.48-5.6 0-9.37 3.11-11.3 9.34h-5.43v-8.62c3.62-1.71 7.01-2.94 10.2-3.71 3.16-0.763 6-1.14 8.52-1.14zm58.7-0.943c8.69 0 13 5.51 13 16.5 0 3.11-0.35 6.84-1.06 11.2-0.7 4.33-1.82 8.74-3.34 13.2-1.53 4.49-3.46 8.47-5.8 11.9-2.33 3.46-5.03 6.13-8.08 8.02-3.06 1.89-6.35 2.83-9.89 2.83-4.46 0-7.78-1.36-9.97-4.09s-3.28-6.81-3.28-12.3c0-2.96 0.33-6.62 0.99-11 0.66-4.34 1.74-8.78 3.26-13.3 1.51-4.54 3.46-8.56 5.84-12.1s5.12-6.23 8.22-8.13 6.46-2.85 10.1-2.85z\" fill=\"#0070c0\" fill-rule=\"evenodd\" />\n </g>\n </g>\n</svg>\n\nAs we can see, the pair of these reflections combined amount to a counterclockwise rotation by an angle $2\\theta$. \nIf we repeat the Grover's iteration, reflecting the new state first along the horizontal axis and then along the $\\ket{\\text{all}}$ vector, it performs a rotation by $2\\theta$ again. The angle of this rotation depends only on the angle between the reflection axes and not on the state we reflect!\n\nEach iteration of Grover's search adds $2\\theta$ to the current angle in the expression of the system state as a superposition of $\\ket{\\text{good}}$ and $\\ket{\\text{bad}}$.\nAfter applying $R$ iterations of Grover's search the state of the system will become\n\n$$\\sin{(2R+1)\\theta}\\ket{\\text{good}} + \\cos{(2R+1)\\theta}\\ket{\\text{bad}}$$\n\nAt firat, each iteration brings the state of the system closer to the vertical axis, increasing the probability of measuring one of the basis states that are part of $\\ket{\\text{good}}$ - the states that are solutions to the problem."
|
|
6984
6984
|
}
|
|
6985
6985
|
]
|
|
6986
6986
|
},
|
|
@@ -7075,7 +7075,7 @@ export default {
|
|
|
7075
7075
|
"items": [
|
|
7076
7076
|
{
|
|
7077
7077
|
"type": "text-content",
|
|
7078
|
-
"content": "\nThe optimal number of iterations to use in Grover's search algorithm is typically defined as the number of iterations \nafter which the success probability of the algorithm - the probability of measuring one of the \"good\" states - is maximized.\n\nGeometrically, this means that the state vector should be rotated to be as close to the vertical axis as possible.\nMathematically, this means maximizing the ampitude $\\sin{(2R+1)\\theta}$ of the state $\\ket{\\text{good}}$ \nin the superposition.\nWith either definition, the goal is to have the angle $(2R+1)\\theta$ that describes the system after $R$ rotations\nas close to $\\frac{\\pi}{2}$ as possible:\n\n$$(2R+1)\\theta \\approx \\frac{\\pi}{2}$$\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"421\" height=\"383\" overflow=\"hidden\" version=\"1.1\" xml:space=\"preserve\" xmlns=\"http://www.w3.org/2000/svg\"><defs><linearGradient id=\"fill3\" x1=\"2073\" x2=\"2073\" y1=\"475\" y2=\"601\" gradientUnits=\"userSpaceOnUse\" spreadMethod=\"reflect\"><stop offset=\"0\"/><stop offset=\".0292\"/><stop offset=\".3\"/><stop offset=\"1\"/></linearGradient><linearGradient id=\"fill6\" x1=\"2933\" x2=\"2933\" y1=\"1228\" y2=\"1354\" gradientUnits=\"userSpaceOnUse\" spreadMethod=\"reflect\"><stop offset=\"0\"/><stop offset=\".0292\"/><stop offset=\".3\"/><stop offset=\"1\"/></linearGradient></defs><g transform=\"matrix(.25 0 0 .25 -335 -117)\"><path d=\"m1344 1304c0-384 321-694 718-694s718 311 718 694c0 384-321 694-718 694s-718-311-718-694z\" fill=\"none\" fill-rule=\"evenodd\" stroke=\"#000\" stroke-miterlimit=\"8\" stroke-width=\"6.88\"/><path d=\"m1344 1300h1430v6.88h-1430zm1405-22.1 30.7 25.6-30.7 25.6c-1.46 1.21-3.63 1.02-4.84-0.44-1.22-1.46-1.02-3.63 0.44-4.84l27.5-22.9v5.28l-27.5-22.9c-1.46-1.21-1.66-3.38-0.44-4.84 1.21-1.46 3.38-1.65 4.84-0.44z\"/><path d=\"m2065 615v1383h-6.88v-1383zm-29 25.3 25.6-30.7 25.6 30.7c1.21 1.46 1.02 3.63-0.44 4.84-1.46 1.22-3.63 1.02-4.84-0.44l-22.9-27.5h5.28l-22.9 27.5c-1.21 1.46-3.38 1.66-4.84 0.44s-1.65-3.38-0.44-4.84z\"/><path transform=\"matrix(1 0 0 -1 2062 1304)\" d=\"m0.823-3.34 688 170-1.65 6.68-688-170zm669 142 23.7 32.2-35.9 17.5c-1.71 0.831-3.76 0.121-4.6-1.58-0.832-1.71-0.121-3.76 1.58-4.6l32.2-15.7-1.26 5.13-21.2-28.8c-1.12-1.53-0.798-3.68 0.731-4.81 1.53-1.12 3.68-0.798 4.81 0.732z\"/><path d=\"m2464 1246c-1.41 6.5-2.11 12-2.11 16.4 0 3.35 0.5 5.81 1.52 7.39 1.02 1.57 2.67 2.35 4.94 2.35 3.36 0 6.54-2.25 9.55-6.76 3.01-4.5 5.56-11 7.66-19.4zm18.4-30.3c-3.51 0-6.75 2.22-9.73 6.65s-5.52 10.8-7.61 19h21.5c1.41-6.32 2.11-11.8 2.11-16.3 0-3.14-0.5-5.5-1.52-7.05-1.02-1.56-2.61-2.34-4.76-2.34zm0.53-3.64c8.69 0 13 5.51 13 16.5 0 3.12-0.35 6.84-1.05 11.2-0.71 4.32-1.82 8.73-3.35 13.2-1.53 4.49-3.46 8.46-5.8 11.9-2.33 3.46-5.03 6.14-8.08 8.02-3.06 1.89-6.35 2.83-9.88 2.83-4.47 0-7.79-1.36-9.98-4.09-2.18-2.72-3.28-6.81-3.28-12.3 0-2.96 0.33-6.62 0.99-11s1.75-8.78 3.26-13.3 3.46-8.56 5.84-12.1 5.12-6.23 8.22-8.13c3.1-1.91 6.46-2.86 10.1-2.86z\" fill-rule=\"evenodd\"/><text x=\"2454.7\" y=\"1369.71\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"63.7px\"/><path d=\"m2463 1095c-1.41 6.5-2.11 12-2.11 16.4 0 3.35 0.51 5.82 1.52 7.39 1.02 1.57 2.67 2.36 4.95 2.36 3.35 0 6.53-2.26 9.54-6.76 3.01-4.51 5.56-11 7.66-19.4zm18.4-30.3c-3.51 0-6.75 2.21-9.73 6.64-2.98 4.44-5.52 10.8-7.61 19h21.5c1.41-6.32 2.12-11.8 2.12-16.3 0-3.14-0.51-5.49-1.53-7.05s-2.61-2.33-4.76-2.33zm-58.2-2.7c5.57 0 9.78 1.22 12.6 3.66 2.85 2.44 4.27 5.98 4.27 10.6 0 1.58-0.16 3.04-0.47 4.38-0.32 1.33-0.81 2.65-1.48 3.95-0.68 1.3-1.58 2.7-2.72 4.2s-2.4 3.02-3.78 4.56c-1.37 1.54-3.75 4.11-7.14 7.7-5.69 6.02-9.87 11.3-12.5 15.8h16.9c1.47 0 2.65-0.09 3.55-0.27s1.62-0.48 2.16-0.9 0.96-0.96 1.28-1.64c0.31-0.67 0.71-1.71 1.19-3.12h3.82l-0.77 13.1h-37v-2.16c1.29-3.14 3.03-6.36 5.21-9.66 2.19-3.29 5.29-7.17 9.3-11.6 3.48-3.83 5.98-6.74 7.51-8.72 1.67-2.15 2.92-4.02 3.75-5.59 0.82-1.57 1.41-3.05 1.77-4.45 0.36-1.39 0.54-2.79 0.54-4.2 0-2.24-0.36-4.23-1.08-5.95s-1.82-3.08-3.3-4.06c-1.48-0.99-3.35-1.49-5.59-1.49-5.6 0-9.38 3.12-11.3 9.35h-5.44v-8.63c3.62-1.7 7.02-2.94 10.2-3.7 3.16-0.77 5.99-1.15 8.51-1.15zm58.7-0.94c8.68 0 13 5.51 13 16.5 0 3.11-0.35 6.83-1.05 11.2-0.71 4.33-1.82 8.74-3.35 13.2s-3.46 8.47-5.79 11.9c-2.34 3.46-5.04 6.13-8.09 8.02-3.06 1.88-6.35 2.83-9.88 2.83-4.47 0-7.79-1.37-9.98-4.09-2.18-2.73-3.28-6.81-3.28-12.3 0-2.97 0.33-6.62 0.99-11 0.66-4.34 1.75-8.78 3.26-13.3 1.51-4.53 3.46-8.56 5.84-12.1s5.12-6.23 8.22-8.13 6.46-2.85 10.1-2.85z\" fill-rule=\"evenodd\"/><text x=\"2403.0801\" y=\"1117.16\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"63.7px\">2𝜃</text><path transform=\"matrix(1 0 0 -1 2062 1308)\" d=\"m3.34-0.795 161 676-6.69 1.59-161-676zm176 646-17.8 35.7-32-23.9c-1.52-1.14-1.83-3.29-0.691-4.81 1.14-1.52 3.29-1.83 4.81-0.69l28.7 21.5-5.14 1.22 15.9-32.1c0.845-1.7 2.91-2.39 4.61-1.55 1.7 0.845 2.39 2.91 1.55 4.61z\" fill=\"#0070c0\"/><g fill=\"none\" fill-rule=\"evenodd\" stroke-miterlimit=\"8\" stroke-width=\"6.88\"><path d=\"m2320 1057c43.2 45.4 73.5 102 88 163\" stroke=\"#000\"/><path d=\"m2145 956c67.8 16 129 51.7 177 103\" stroke=\"#0070c0\"/><path d=\"m2409 1219c6.43 27 9.68 54.6 9.68 82.3\" stroke=\"#000\"/></g><path d=\"m2291 924c-1.41 6.5-2.12 12-2.12 16.4 0 3.35 0.51 5.82 1.53 7.39s2.67 2.36 4.94 2.36c3.36 0 6.54-2.25 9.55-6.76s5.56-11 7.66-19.4zm18.4-30.3c-3.5 0-6.74 2.22-9.72 6.65s-5.52 10.8-7.62 19h21.5c1.41-6.32 2.11-11.8 2.11-16.3 0-3.14-0.51-5.5-1.52-7.05-1.02-1.56-2.61-2.34-4.77-2.34zm-58.2-2.7c5.57 0 9.77 1.22 12.6 3.66 2.84 2.44 4.27 5.98 4.27 10.6 0 1.59-0.16 3.05-0.48 4.38-0.31 1.33-0.8 2.65-1.48 3.95-0.67 1.3-1.58 2.7-2.72 4.2-1.13 1.5-2.39 3.02-3.77 4.56s-3.76 4.11-7.14 7.7c-5.69 6.02-9.87 11.3-12.5 15.8h16.9c1.47 0 2.65-0.09 3.55-0.27s1.62-0.479 2.16-0.898c0.54-0.42 0.96-0.966 1.28-1.64 0.31-0.674 0.71-1.72 1.19-3.12h3.82l-0.77 13.1h-37v-2.16c1.29-3.14 3.03-6.36 5.21-9.66 2.19-3.3 5.29-7.17 9.3-11.6 3.47-3.83 5.98-6.74 7.5-8.72 1.68-2.16 2.93-4.02 3.75-5.59 0.83-1.57 1.42-3.06 1.78-4.45s0.54-2.79 0.54-4.2c0-2.25-0.36-4.23-1.08-5.95s-1.82-3.08-3.3-4.07c-1.49-0.988-3.35-1.48-5.6-1.48-5.6 0-9.37 3.11-11.3 9.34h-5.43v-8.62c3.62-1.71 7.01-2.94 10.2-3.71 3.16-0.763 6-1.14 8.52-1.14zm58.7-0.943c8.69 0 13 5.51 13 16.5 0 3.11-0.35 6.84-1.06 11.2-0.7 4.33-1.82 8.74-3.34 13.2-1.53 4.49-3.46 8.47-5.8 11.9-2.33 3.46-5.03 6.13-8.08 8.02-3.06 1.89-6.35 2.83-9.89 2.83-4.46 0-7.78-1.36-9.97-4.09s-3.28-6.81-3.28-12.3c0-2.96 0.33-6.62 0.99-11 0.66-4.34 1.74-8.78 3.26-13.3 1.51-4.54 3.46-8.56 5.84-12.1s5.12-6.23 8.22-8.13 6.46-2.85 10.1-2.85z\" fill=\"#0070c0\" fill-rule=\"evenodd\"/><text x=\"2231.1599\" y=\"945.87799\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"63.7px\">2𝜃</text><text x=\"2825.96\" y=\"1131.05\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"65px\">𝑎𝑙𝑙</text><path d=\"m1935 488h6.92v83.6h-6.92z\" fill=\"url(#fill3)\" fill-rule=\"evenodd\"/><text x=\"1935.1801\" y=\"561.573\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"83.6px\">|</text><path d=\"m2087 513c-3.12 0-5.83 1.3-8.16 3.91-2.32 2.61-4.14 6.33-5.48 11.2-1.33 4.85-2 9.03-2 12.5 0 3.29 0.69 5.73 2.05 7.3s3.42 2.36 6.18 2.36c2.93 0 5.54-1.32 7.81-3.95 2.28-2.64 4.08-6.33 5.39-11.1 1.32-4.75 1.98-8.92 1.98-12.5 0-3.23-0.63-5.67-1.89-7.3s-3.22-2.45-5.88-2.45zm-49 0c-3.12 0-5.83 1.3-8.16 3.91-2.32 2.61-4.14 6.33-5.48 11.2-1.33 4.85-1.99 9.03-1.99 12.5 0 3.29 0.68 5.73 2.04 7.3s3.42 2.36 6.18 2.36c2.93 0 5.54-1.32 7.81-3.95 2.28-2.64 4.08-6.33 5.39-11.1 1.32-4.75 1.98-8.92 1.98-12.5 0-3.23-0.63-5.67-1.89-7.3s-3.22-2.45-5.88-2.45zm98.3-0.09c-3.06 0-5.8 1.24-8.22 3.71-2.43 2.47-4.34 5.8-5.73 10-1.39 4.19-2.09 8.37-2.09 12.5 0 3.11 0.43 5.44 1.28 6.98s2.28 2.31 4.29 2.31c0.93 0 1.87-0.203 2.83-0.607s1.95-1.06 2.99-1.95c1.03-0.898 2.05-1.99 3.05-3.28 1.01-1.29 1.93-2.58 2.77-3.89 0.83-1.3 1.61-2.84 2.33-4.63s1.33-3.93 1.84-6.45l0.41-1.93c0.45-2.16 0.67-4.19 0.67-6.11 0-2.34-0.49-4.04-1.48-5.1s-2.64-1.6-4.94-1.6zm-148 0c-3.06 0-5.8 1.24-8.22 3.71-2.43 2.47-4.34 5.8-5.73 10-1.39 4.19-2.09 8.37-2.09 12.5 0 3.11 0.45 5.44 1.35 6.98s2.3 2.31 4.22 2.31c1.53 0 3.05-0.525 4.56-1.57s3.13-2.71 4.85-4.99 3.06-4.45 4.02-6.51c0.96-2.07 1.78-4.64 2.45-7.73 0.67-3.08 1.01-5.76 1.01-8.04 0-2.34-0.49-4.04-1.48-5.1s-2.64-1.6-4.94-1.6zm100-3.5c4.79 0 8.44 1.31 11 3.93 2.51 2.62 3.77 6.37 3.77 11.3 0 3.47-0.61 7.19-1.82 11.1s-2.87 7.28-4.99 9.97c-2.11 2.7-4.63 4.72-7.56 6.09-2.94 1.36-6.31 2.04-10.1 2.04-4.64 0-8.24-1.3-10.8-3.91s-3.84-6.35-3.84-11.2c0-2.4 0.36-5.17 1.08-8.31 0.93-4.25 2.49-7.97 4.67-11.1 2.19-3.17 4.89-5.61 8.09-7.3s6.72-2.54 10.6-2.54zm-49 0c4.79 0 8.44 1.31 11 3.93 2.51 2.62 3.77 6.37 3.77 11.3 0 3.47-0.61 7.19-1.82 11.1s-2.87 7.28-4.98 9.97c-2.12 2.7-4.64 4.72-7.57 6.09-2.94 1.36-6.31 2.04-10.1 2.04-4.64 0-8.24-1.3-10.8-3.91s-3.84-6.35-3.84-11.2c0-2.4 0.36-5.17 1.08-8.31 0.93-4.25 2.49-7.97 4.67-11.1 2.19-3.17 4.89-5.61 8.09-7.3s6.72-2.54 10.6-2.54zm-51.7-0.045c1.89 0 3.67 0.225 5.34 0.674 1.68 0.45 3.37 1.21 5.08 2.29l4.13-2.96 2.88 0.719-4.63 20.9c-0.33 1.47-1.08 5.17-2.24 11.1-1.23 6.29-2.23 10.7-2.99 13.3-0.77 2.61-1.72 4.98-2.85 7.12-1.14 2.14-2.61 4.01-4.41 5.59-1.79 1.59-3.97 2.82-6.53 3.68-2.56 0.868-5.6 1.3-9.1 1.3-11.3 0-17-3.3-17-9.88 0-1.68 0.51-3.2 1.53-4.58s2.65-2.83 4.89-4.36l3.24 2.61c-0.57 0.689-1.05 1.37-1.44 2.04s-0.67 1.32-0.83 1.95c-0.17 0.629-0.25 1.38-0.25 2.25 0 2.25 0.81 3.89 2.43 4.92s4.06 1.55 7.32 1.55c3.68 0 6.64-0.831 8.87-2.49 2.23-1.66 4.14-4.33 5.73-8.02s3.13-9.25 4.63-16.7l-0.63-0.135c-2.91 3.98-5.6 6.89-8.09 8.72-2.48 1.83-5.16 2.74-8.04 2.74-3.26 0-5.8-1.23-7.61-3.68-1.81-2.46-2.72-5.96-2.72-10.5 0-5.12 1-10 3.01-14.8s4.79-8.47 8.35-11.3c3.57-2.78 7.54-4.18 11.9-4.18zm168-20.5h2.65l-11.2 49.7c-0.65 2.94-0.98 5.15-0.98 6.65 0 1.2 0.19 2.07 0.58 2.61s1 0.808 1.84 0.808c0.9 0 1.86-0.367 2.88-1.1 1.02-0.734 2.45-2.13 4.31-4.2l2.56 2.52c-2.76 2.9-5.08 4.96-6.96 6.15-1.89 1.2-3.93 1.8-6.11 1.8-1.86 0-3.34-0.614-4.45-1.84-1.11-1.23-1.66-2.86-1.66-4.9 0-1.65 0.34-3.4 1.03-5.26l-0.58-0.18c-2.88 4.19-5.6 7.26-8.18 9.21-2.57 1.95-5.3 2.92-8.17 2.92-3.3 0-5.85-1.24-7.66-3.73s-2.72-5.98-2.72-10.5c0-5.15 1.01-10.1 3.03-14.8 2.02-4.75 4.8-8.49 8.33-11.2 3.54-2.74 7.48-4.11 11.8-4.11 1.83 0 3.51 0.188 5.05 0.562s3.12 1.03 4.74 1.95l2.34-10.4c0.24-0.988 0.45-2.08 0.63-3.28s0.27-2.25 0.27-3.14c0-0.898-0.17-1.58-0.5-2.04-0.33-0.464-0.8-0.801-1.41-1.01-0.62-0.21-1.72-0.36-3.3-0.45l0.53-2.34z\" fill=\"url(#fill3)\" fill-rule=\"evenodd\"/><text x=\"1954.65\" y=\"562.24701\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"84.3px\">𝑔𝑜𝑜𝑑</text><path d=\"m2173 488 17.9 40.3v3.32l-17.9 40.4-4.8-1.71 14.4-40.3-14.4-40.4z\" fill=\"url(#fill3)\" fill-rule=\"evenodd\"/><text x=\"2167.8\" y=\"561.74103\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"84px\">〉</text><path d=\"m2822 1242h6.92v83.6h-6.92z\" fill=\"url(#fill6)\" fill-rule=\"evenodd\"/><text x=\"2821.6101\" y=\"1314.8199\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"83.6px\">|</text><path d=\"m2871 1268c-1.44 0-2.85 0.46-4.24 1.37-1.4 0.91-2.95 2.43-4.65 4.54-1.71 2.11-3.1 4.27-4.18 6.49-1.08 2.21-1.99 5.04-2.74 8.49l-0.4 1.89c-0.45 2.09-0.68 4.13-0.68 6.11 0 2.36 0.52 4.07 1.55 5.12 1.03 1.04 2.75 1.57 5.15 1.57 1.22 0 2.39-0.2 3.5-0.61 1.11-0.4 2.24-1.07 3.39-2s2.25-2.15 3.28-3.66 1.98-3.37 2.85-5.59 1.54-4.59 2.02-7.12 0.72-4.95 0.72-7.26c0-3.11-0.44-5.45-1.32-7-0.89-1.56-2.3-2.34-4.25-2.34zm97.4-1.75c-3.06 0-5.8 1.23-8.22 3.7-2.43 2.48-4.34 5.81-5.73 10s-2.09 8.37-2.09 12.5c0 3.12 0.43 5.45 1.28 6.99s2.28 2.31 4.29 2.31c0.93 0 1.87-0.2 2.83-0.6 0.96-0.41 1.95-1.06 2.99-1.96 1.03-0.9 2.05-1.99 3.05-3.28 1.01-1.29 1.93-2.58 2.76-3.88 0.84-1.31 1.62-2.85 2.34-4.63s1.33-3.93 1.84-6.45l0.41-1.93c0.45-2.16 0.67-4.19 0.67-6.11 0-2.33-0.49-4.03-1.48-5.1-0.99-1.06-2.64-1.59-4.94-1.59zm-50.9 0c-3.09 0-5.86 1.24-8.31 3.73-2.46 2.48-4.38 5.81-5.75 9.99-1.38 4.18-2.07 8.35-2.07 12.5 0 3.12 0.43 5.45 1.28 6.99s2.28 2.31 4.29 2.31c1.98 0 3.92-0.85 5.82-2.56s3.86-4.14 5.88-7.3 3.45-6.8 4.29-10.9l0.41-1.93c0.27-1.23 0.45-2.29 0.54-3.19s0.13-1.87 0.13-2.92c0-2.3-0.49-4-1.48-5.07-0.99-1.08-2.67-1.62-5.03-1.62zm-0.9-3.55c1.94 0 3.76 0.22 5.46 0.65 1.69 0.44 3.43 1.21 5.23 2.31l4.13-2.96 2.88 0.72-6.61 28.5c-0.65 2.84-0.98 5.06-0.98 6.65 0 1.2 0.19 2.06 0.58 2.6s1 0.81 1.84 0.81c0.9 0 1.86-0.37 2.88-1.1 1.01-0.73 2.45-2.13 4.31-4.2l2.56 2.52c-2.7 2.87-4.99 4.92-6.9 6.13-1.9 1.21-3.96 1.82-6.17 1.82-1.86 0-3.34-0.62-4.45-1.84-1.11-1.23-1.66-2.86-1.66-4.9 0-1.65 0.34-3.4 1.03-5.26l-0.58-0.18c-2.88 4.2-5.6 7.27-8.18 9.21-2.57 1.95-5.3 2.92-8.17 2.92-3.3 0-5.85-1.24-7.66-3.73-1.82-2.48-2.72-5.97-2.72-10.5 0-5.15 1.01-10.1 3.03-14.8s4.8-8.49 8.33-11.2c3.54-2.74 7.48-4.11 11.8-4.11zm70.6-20.5h2.65l-11.2 49.7c-0.65 2.93-0.98 5.15-0.98 6.65 0 1.2 0.19 2.06 0.58 2.6s1 0.81 1.84 0.81c0.9 0 1.86-0.37 2.88-1.1 1.01-0.73 2.45-2.13 4.31-4.2l2.56 2.52c-2.76 2.9-5.08 4.95-6.96 6.15-1.89 1.2-3.93 1.8-6.11 1.8-1.86 0-3.34-0.62-4.45-1.84-1.11-1.23-1.66-2.86-1.66-4.9 0-1.65 0.34-3.4 1.03-5.26l-0.58-0.18c-2.88 4.2-5.6 7.27-8.18 9.21-2.57 1.95-5.3 2.92-8.17 2.92-3.3 0-5.85-1.24-7.66-3.73-1.82-2.48-2.72-5.97-2.72-10.5 0-5.15 1.01-10.1 3.03-14.8s4.8-8.49 8.33-11.2c3.54-2.74 7.48-4.11 11.8-4.11 1.83 0 3.51 0.19 5.05 0.56 1.54 0.38 3.12 1.03 4.74 1.96l2.34-10.4c0.24-0.99 0.45-2.08 0.63-3.28s0.27-2.25 0.27-3.15c0-0.89-0.17-1.58-0.5-2.04s-0.8-0.8-1.41-1.01c-0.62-0.21-1.72-0.36-3.31-0.45l0.54-2.34zm-124 0h2.61l-7.91 31.4 0.58 0.18c2.91-3.9 5.63-6.71 8.18-8.45s5.09-2.61 7.64-2.61c3.26 0 5.8 1.25 7.61 3.73 1.81 2.49 2.72 5.99 2.72 10.5 0 4.95-1 9.81-2.99 14.6-1.99 4.78-4.75 8.57-8.29 11.4-3.53 2.8-7.48 4.2-11.9 4.2-3.98 0-7.51-0.98-10.6-2.92l-4.13 2.92-2.88-0.72 11.6-51.4c0.69-3.05 1.03-5.27 1.03-6.65 0-1.25-0.38-2.14-1.14-2.65-0.77-0.51-2.14-0.79-4.11-0.85l0.54-2.34z\" fill=\"url(#fill6)\" fill-rule=\"evenodd\"/><text x=\"2843.8601\" y=\"1298.5601\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"65px\">𝑏𝑎𝑑</text><path d=\"m3006 1241 17.9 40.3v3.32l-17.9 40.4-4.8-1.71 14.4-40.3-14.4-40.4z\" fill=\"url(#fill6)\" fill-rule=\"evenodd\"/><text x=\"3000.95\" y=\"1314.99\" fill=\"#000000\" fill-opacity=\"0\" font-family=\"Arial, Arial_MSFontService, sans-serif\" font-size=\"84px\">〉</text><path transform=\"matrix(1 0 0 -1 2060 1308)\" d=\"m2.4-2.46 505 491-4.79 4.93-505-491zm502 458 4.16 39.7-39.8-3.07c-1.89-0.146-3.31-1.8-3.16-3.69 0.146-1.89 1.8-3.31 3.69-3.16l35.7 2.75-3.68 3.79-3.73-35.6c-0.198-1.89 1.17-3.58 3.06-3.78 1.89-0.198 3.58 1.17 3.78 3.06z\"/><text transform=\"translate(2240 517)\" fill=\"#0070c0\" font-family=\"'Segoe UI', 'Segoe UI_MSFontService', sans-serif\" font-size=\"64px\" font-weight=\"400\">Close enough</text><text transform=\"translate(2240 594)\" fill=\"#0070c0\" font-family=\"'Segoe UI', 'Segoe UI_MSFontService', sans-serif\" font-size=\"64px\" font-weight=\"400\">to measure</text></g></svg>\n\nNow, recall that $\\theta = \\arcsin \\sqrt{\\frac{M}{N}}$. When $M$ is much smaller than $N$, $\\frac{M}{N}$ is close to 0, and $\\theta$ is a small angle that can approximated as $\\theta \\approx \\sqrt{\\frac{M}{N}}$. This gives the following equation for $R_{opt}$\n\n$$ 2R_{opt}+1 \\approx \\frac{\\pi}{2\\theta} = \\frac{\\pi}{2}\\sqrt{\\frac{N}{M}}$$\nSince $\\theta$ is small, $R_{opt}$ is large, and the $+1$ term next to $2R_{opt}$ can be ignored, giving the final formula:\n$$ R_{opt} \\approx \\frac{\\pi}{4}\\sqrt{\\frac{N}{M}}$$\n\nWhat happens if you use more iterations than is optimal? Each iteration will keep rotating the state $2\\theta$ counterclockwise,\ngetting it further away from the vertical axis and thus reducing the probability of measuring the correct answer.\n\nIn this demo you will see how success probability of Grover's algorithm changes when it uses different numbers of iterations\nbefore the final measurements."
|
|
7078
|
+
"content": "\nThe optimal number of iterations to use in Grover's search algorithm is typically defined as the number of iterations \nafter which the success probability of the algorithm - the probability of measuring one of the \"good\" states - is maximized.\n\nGeometrically, this means that the state vector should be rotated to be as close to the vertical axis as possible.\nMathematically, this means maximizing the ampitude $\\sin{(2R+1)\\theta}$ of the state $\\ket{\\text{good}}$ \nin the superposition.\nWith either definition, the goal is to have the angle $(2R+1)\\theta$ that describes the system after $R$ rotations\nas close to $\\frac{\\pi}{2}$ as possible:\n\n$$(2R+1)\\theta \\approx \\frac{\\pi}{2}$$\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"447\" height=\"370\" overflow=\"hidden\" version=\"1.1\" xml:space=\"preserve\" xmlns=\"http://www.w3.org/2000/svg\">\n <style>\n :root {\n --kata-svg-stroke: #222;\n --kata-svg-fill: #fff;\n --kata-svg-path: #777;\n --kata-svg-accent: #06c;\n }\n @media(prefers-color-scheme: dark) {\n :root {\n --kata-svg-stroke: #eee;\n --kata-svg-fill: #111;\n --kata-svg-path: #bbb;\n --kata-svg-accent: #08f;\n }\n }\n .kata_svg_path {\n stroke: var(--kata-svg-path);\n stroke-width: 10;\n stroke-linecap: round;\n fill: none;\n }\n .kata_svg_text {\n fill: var(--kata-svg-stroke);\n }\n .kata_svg_point {\n fill: var(--kata-svg-fill);\n stroke: var(--kata-svg-stroke);\n }\n .kata_svg_fill_accent {\n fill: var(--kata-svg-accent);\n }\n .kata_svg_stroke_accent {\n stroke: var(--kata-svg-accent);\n }\n </style>\n <g transform=\"matrix(.25 0 0 .25 -333 -132)\">\n <g class=\"kata_svg_path\">\n <!-- Main circle -->\n <circle cx=\"2020\" cy=\"1310\" r=\"670\" />\n <!-- x axis -->\n <path d=\"M2685 1310 h-1335 m1335 0 l-32 -32 m32 32 l-32 32\" />\n <!-- y axis -->\n <path d=\"m2020 645 v1323 m0 -1323 l-32 32 m32 -32 l32 32\" />\n <!-- Angle line -->\n <path d=\"m2665 1145 l-645 165 m645 -165 l-32 45 m32 -45 l -45 -25\" />\n <path d=\"m2357 1225c6.73 27 10.1 54.7 10.1 82.5\" fill-rule=\"evenodd\" />\n <!-- upper angle line -->\n <path d=\"M2490 845 l-470 465 m470 -465 l-50 0 m50 0 l0 50\" stroke-width=\"10\" stroke-linecap=\"round\" />\n <path d=\"m2270 1065c43.2 45.4 73.5 102 88 160\" />\n <path d=\"M2150 655 l-130 655 m130 -655 l-45 30 m45 -30 l30 45\" stroke-width=\"10\" stroke-linecap=\"round\" class=\"kata_svg_stroke_accent\"/>\n <path d=\"m2090 956c67.8 16 129 51.7 177 103\" class=\"kata_svg_stroke_accent\"/>\n </g>\n <g class=\"kata_svg_text\">\n <!-- |good> ket -->\n <path d=\"m1889 530h6.91v83.6h-6.91z\" />\n <path d=\"m2040 554c-3.11 0-5.83 1.3-8.15 3.91-2.32 2.6-4.15 6.33-5.48 11.2-1.33 4.85-2 9.03-2 12.5 0 3.29 0.68 5.73 2.05 7.3 1.36 1.57 3.42 2.36 6.17 2.36 2.94 0 5.54-1.32 7.82-3.95 2.28-2.64 4.07-6.33 5.39-11.1 1.32-4.75 1.98-8.92 1.98-12.5 0-3.24-0.63-5.67-1.89-7.3s-3.22-2.45-5.89-2.45zm-49 0c-3.11 0-5.83 1.3-8.15 3.91-2.32 2.6-4.15 6.33-5.48 11.2-1.33 4.85-2 9.03-2 12.5 0 3.29 0.68 5.73 2.05 7.3 1.36 1.57 3.42 2.36 6.17 2.36 2.94 0 5.54-1.32 7.82-3.95 2.28-2.64 4.07-6.33 5.39-11.1 1.32-4.75 1.98-8.92 1.98-12.5 0-3.24-0.63-5.67-1.89-7.3s-3.22-2.45-5.89-2.45zm98.3-0.09c-3.05 0-5.79 1.24-8.22 3.71-2.42 2.47-4.33 5.8-5.72 10-1.4 4.19-2.09 8.37-2.09 12.5 0 3.12 0.42 5.44 1.28 6.99 0.85 1.54 2.28 2.31 4.29 2.31 0.93 0 1.87-0.202 2.83-0.606 0.96-0.405 1.95-1.06 2.99-1.96 1.03-0.898 2.05-1.99 3.05-3.28s1.92-2.58 2.76-3.89c0.84-1.3 1.62-2.84 2.34-4.63 0.72-1.78 1.33-3.93 1.84-6.45l0.4-1.93c0.45-2.16 0.68-4.19 0.68-6.11 0-2.34-0.5-4.04-1.48-5.1-0.99-1.06-2.64-1.6-4.95-1.6zm-148 0c-3.05 0-5.79 1.24-8.22 3.71-2.42 2.47-4.33 5.8-5.72 10-1.4 4.19-2.09 8.37-2.09 12.5 0 3.12 0.45 5.44 1.35 6.99 0.89 1.54 2.3 2.31 4.22 2.31 1.53 0 3.05-0.524 4.56-1.57s3.13-2.71 4.85-4.99 3.06-4.45 4.02-6.51c0.96-2.07 1.77-4.64 2.45-7.73 0.67-3.08 1.01-5.76 1.01-8.04 0-2.34-0.5-4.04-1.48-5.1-0.99-1.06-2.64-1.6-4.95-1.6zm100-3.5c4.8 0 8.45 1.31 11 3.93 2.52 2.62 3.78 6.37 3.78 11.3 0 3.47-0.61 7.19-1.82 11.1s-2.88 7.28-4.99 9.97c-2.11 2.7-4.63 4.72-7.57 6.09-2.93 1.36-6.3 2.04-10.1 2.04-4.65 0-8.25-1.3-10.8-3.91-2.56-2.6-3.84-6.35-3.84-11.2 0-2.4 0.36-5.17 1.08-8.31 0.93-4.25 2.48-7.97 4.67-11.1 2.19-3.18 4.88-5.61 8.09-7.3 3.2-1.69 6.72-2.54 10.6-2.54zm-49 0c4.8 0 8.45 1.31 11 3.93 2.52 2.62 3.78 6.37 3.78 11.3 0 3.47-0.61 7.19-1.82 11.1s-2.88 7.28-4.99 9.97c-2.11 2.7-4.63 4.72-7.57 6.09-2.93 1.36-6.3 2.04-10.1 2.04-4.65 0-8.25-1.3-10.8-3.91-2.56-2.6-3.84-6.35-3.84-11.2 0-2.4 0.36-5.17 1.08-8.31 0.93-4.25 2.48-7.97 4.67-11.1 2.19-3.18 4.88-5.61 8.09-7.3 3.2-1.69 6.72-2.54 10.6-2.54zm-51.7-0.045c1.88 0 3.66 0.225 5.34 0.674s3.37 1.21 5.08 2.29l4.13-2.96 2.88 0.719-4.63 20.9c-0.33 1.47-1.08 5.17-2.25 11.1-1.23 6.29-2.22 10.7-2.98 13.3-0.77 2.6-1.72 4.98-2.86 7.12s-2.6 4-4.4 5.59c-1.8 1.59-3.98 2.82-6.54 3.68-2.56 0.869-5.59 1.3-9.09 1.3-11.3 0-17-3.29-17-9.88 0-1.68 0.51-3.2 1.52-4.58 1.02-1.38 2.65-2.83 4.9-4.36l3.24 2.6c-0.57 0.689-1.05 1.37-1.44 2.04s-0.67 1.32-0.83 1.95c-0.17 0.629-0.25 1.38-0.25 2.25 0 2.25 0.81 3.89 2.43 4.92 1.61 1.03 4.05 1.55 7.32 1.55 3.68 0 6.64-0.831 8.87-2.49s4.14-4.34 5.73-8.02c1.58-3.68 3.13-9.25 4.62-16.7l-0.62-0.134c-2.91 3.98-5.6 6.89-8.09 8.72-2.49 1.83-5.17 2.74-8.04 2.74-3.27 0-5.8-1.23-7.62-3.68-1.81-2.46-2.71-5.96-2.71-10.5 0-5.12 1-10 3.01-14.8 2-4.72 4.79-8.47 8.35-11.3 3.57-2.78 7.53-4.18 11.9-4.18zm168-20.5h2.65l-11.2 49.7c-0.66 2.94-0.99 5.15-0.99 6.65 0 1.2 0.2 2.07 0.59 2.6s1 0.809 1.84 0.809c0.9 0 1.86-0.367 2.87-1.1 1.02-0.734 2.46-2.13 4.32-4.2l2.56 2.52c-2.76 2.9-5.08 4.96-6.97 6.15-1.88 1.2-3.92 1.8-6.1 1.8-1.86 0-3.34-0.614-4.45-1.84s-1.66-2.86-1.66-4.9c0-1.65 0.34-3.4 1.03-5.26l-0.59-0.18c-2.87 4.19-5.6 7.26-8.17 9.21-2.58 1.95-5.3 2.92-8.18 2.92-3.29 0-5.84-1.24-7.66-3.73-1.81-2.48-2.71-5.97-2.71-10.5 0-5.15 1.01-10.1 3.03-14.8s4.8-8.49 8.33-11.2c3.54-2.74 7.47-4.11 11.8-4.11 1.82 0 3.51 0.187 5.05 0.562 1.54 0.374 3.12 1.02 4.74 1.95l2.33-10.4c0.24-0.989 0.45-2.08 0.63-3.28s0.27-2.25 0.27-3.14c0-0.899-0.16-1.58-0.49-2.04s-0.8-0.801-1.42-1.01c-0.61-0.209-1.71-0.359-3.3-0.449l0.54-2.34z\" />\n <path d=\"m2126 529 17.9 40.3v3.32l-17.9 40.4-4.81-1.71 14.4-40.3-14.4-40.4z\" />\n <!-- |bad> ket -->\n <path d=\"m2766 1275h6.92v83.6h-6.92z\" />\n <path d=\"m2816 1301c-1.43 0-2.85 0.46-4.24 1.37s-2.94 2.43-4.65 4.54-3.1 4.27-4.18 6.49-1.99 5.05-2.74 8.49l-0.4 1.89c-0.45 2.09-0.68 4.13-0.68 6.11 0 2.36 0.52 4.07 1.55 5.12 1.04 1.05 2.75 1.57 5.15 1.57 1.22 0 2.39-0.2 3.5-0.61 1.11-0.4 2.24-1.07 3.39-2 1.15-0.92 2.25-2.14 3.28-3.66 1.03-1.51 1.99-3.37 2.85-5.59 0.87-2.22 1.55-4.59 2.03-7.12 0.47-2.53 0.71-4.95 0.71-7.25 0-3.12-0.44-5.46-1.32-7.01-0.88-1.56-2.3-2.34-4.25-2.34zm97.4-1.75c-3.06 0-5.8 1.23-8.22 3.71-2.43 2.47-4.34 5.8-5.73 9.99s-2.09 8.37-2.09 12.5c0 3.12 0.43 5.45 1.28 6.99s2.29 2.31 4.29 2.31c0.93 0 1.87-0.2 2.83-0.6 0.96-0.41 1.96-1.06 2.99-1.96s2.05-1.99 3.05-3.28c1.01-1.29 1.93-2.58 2.77-3.88 0.83-1.31 1.61-2.85 2.33-4.63s1.33-3.93 1.84-6.45l0.41-1.93c0.45-2.15 0.67-4.19 0.67-6.11 0-2.33-0.49-4.03-1.48-5.1-0.99-1.06-2.64-1.59-4.94-1.59zm-50.9 0c-3.09 0-5.86 1.24-8.31 3.73-2.46 2.48-4.37 5.82-5.75 9.99-1.38 4.18-2.07 8.35-2.07 12.5 0 3.12 0.43 5.45 1.28 6.99s2.29 2.31 4.29 2.31c1.98 0 3.92-0.85 5.82-2.56 1.9-1.7 3.86-4.14 5.88-7.3 2.03-3.16 3.46-6.8 4.29-10.9l0.41-1.93c0.27-1.23 0.45-2.29 0.54-3.19s0.13-1.87 0.13-2.92c0-2.3-0.49-4-1.48-5.07-0.99-1.08-2.67-1.62-5.03-1.62zm-0.9-3.55c1.95 0 3.77 0.22 5.46 0.65 1.69 0.44 3.43 1.21 5.23 2.32l4.13-2.97 2.88 0.72-6.6 28.5c-0.66 2.84-0.99 5.06-0.99 6.65 0 1.2 0.19 2.06 0.58 2.6s1 0.81 1.84 0.81c0.9 0 1.86-0.36 2.88-1.1 1.02-0.73 2.45-2.13 4.31-4.2l2.56 2.52c-2.69 2.87-4.99 4.92-6.89 6.13-1.91 1.21-3.97 1.82-6.18 1.82-1.86 0-3.34-0.62-4.45-1.84-1.11-1.23-1.66-2.86-1.66-4.9 0-1.65 0.34-3.4 1.03-5.26l-0.58-0.18c-2.88 4.2-5.6 7.27-8.18 9.21-2.57 1.95-5.3 2.92-8.17 2.92-3.3 0-5.85-1.24-7.66-3.73-1.81-2.48-2.72-5.97-2.72-10.5 0-5.15 1.01-10.1 3.03-14.8s4.8-8.49 8.34-11.2c3.53-2.74 7.47-4.11 11.8-4.11zm70.6-20.5h2.65l-11.2 49.7c-0.66 2.93-0.99 5.15-0.99 6.65 0 1.2 0.19 2.06 0.58 2.6s1 0.81 1.84 0.81c0.9 0 1.86-0.36 2.88-1.1 1.02-0.73 2.45-2.13 4.31-4.2l2.56 2.52c-2.75 2.9-5.08 4.95-6.96 6.15-1.89 1.2-3.93 1.8-6.11 1.8-1.86 0-3.34-0.62-4.45-1.84-1.11-1.23-1.66-2.86-1.66-4.9 0-1.65 0.34-3.4 1.03-5.26l-0.58-0.18c-2.88 4.2-5.6 7.27-8.18 9.21-2.57 1.95-5.3 2.92-8.17 2.92-3.3 0-5.85-1.24-7.66-3.73-1.81-2.48-2.72-5.97-2.72-10.5 0-5.15 1.01-10.1 3.03-14.8s4.8-8.49 8.34-11.2c3.53-2.74 7.47-4.11 11.8-4.11 1.83 0 3.51 0.19 5.05 0.56 1.55 0.38 3.13 1.03 4.74 1.96l2.34-10.4c0.24-0.99 0.45-2.08 0.63-3.28s0.27-2.25 0.27-3.14c0-0.9-0.17-1.58-0.5-2.05-0.33-0.46-0.8-0.8-1.41-1.01-0.62-0.21-1.72-0.36-3.3-0.45l0.54-2.33zm-124 0h2.61l-7.91 31.4 0.59 0.18c2.9-3.9 5.63-6.71 8.17-8.45 2.55-1.74 5.09-2.6 7.64-2.6 3.26 0 5.8 1.24 7.61 3.72 1.81 2.49 2.72 5.99 2.72 10.5 0 4.94-1 9.8-2.99 14.6-1.99 4.78-4.75 8.57-8.29 11.4-3.53 2.8-7.48 4.2-11.8 4.2-3.99 0-7.52-0.98-10.6-2.92l-4.13 2.92-2.87-0.72 11.6-51.4c0.69-3.05 1.03-5.27 1.03-6.64 0-1.26-0.38-2.15-1.14-2.66-0.77-0.5-2.14-0.79-4.11-0.85l0.54-2.33z\" />\n <path d=\"m2950 1275 17.9 40.3v3.33l-17.9 40.4-4.8-1.71 14.4-40.3-14.4-40.4z\" />\n <!-- theta-->\n <path d=\"m2414 1260c-1.4 6.49-2.11 12-2.11 16.4 0 3.36 0.51 5.82 1.53 7.39s2.67 2.36 4.94 2.36c3.36 0 6.54-2.25 9.55-6.76s5.56-11 7.66-19.4zm18.4-30.3c-3.5 0-6.74 2.22-9.72 6.65s-5.52 10.8-7.62 19h21.5c1.41-6.31 2.11-11.8 2.11-16.3 0-3.15-0.51-5.5-1.53-7.06-1.01-1.55-2.6-2.33-4.76-2.33zm0.54-3.64c8.69 0 13 5.51 13 16.5 0 3.12-0.35 6.84-1.06 11.2-0.7 4.33-1.82 8.74-3.34 13.2-1.53 4.5-3.46 8.47-5.8 11.9-2.33 3.46-5.03 6.13-8.08 8.02-3.06 1.89-6.35 2.83-9.89 2.83-4.46 0-7.78-1.36-9.97-4.09-2.19-2.72-3.28-6.81-3.28-12.3 0-2.97 0.33-6.62 0.99-11 0.66-4.35 1.74-8.79 3.26-13.3 1.51-4.54 3.45-8.57 5.84-12.1 2.38-3.52 5.12-6.23 8.22-8.13s6.46-2.85 10.1-2.85z\" fill-rule=\"evenodd\" />\n <!--2 \\theta and angle -->\n <path d=\"m2410 1105c-1.41 6.5-2.12 12-2.12 16.4 0 3.35 0.51 5.82 1.53 7.39s2.67 2.36 4.94 2.36c3.36 0 6.54-2.25 9.55-6.76s5.56-11 7.66-19.4zm18.4-30.3c-3.5 0-6.74 2.22-9.72 6.65s-5.52 10.8-7.62 19h21.5c1.41-6.32 2.11-11.8 2.11-16.3 0-3.14-0.51-5.5-1.52-7.05-1.02-1.56-2.61-2.34-4.77-2.34zm-58.2-2.7c5.57 0 9.77 1.22 12.6 3.66 2.84 2.44 4.27 5.98 4.27 10.6 0 1.59-0.16 3.05-0.48 4.38-0.31 1.33-0.8 2.65-1.48 3.95-0.67 1.3-1.58 2.7-2.72 4.2-1.13 1.5-2.39 3.02-3.77 4.56s-3.76 4.11-7.14 7.7c-5.69 6.02-9.87 11.3-12.5 15.8h16.9c1.47 0 2.65-0.09 3.55-0.27s1.62-0.479 2.16-0.898c0.54-0.42 0.96-0.966 1.28-1.64 0.31-0.674 0.71-1.72 1.19-3.12h3.82l-0.77 13.1h-37v-2.16c1.29-3.14 3.03-6.36 5.21-9.66 2.19-3.3 5.29-7.17 9.3-11.6 3.47-3.83 5.98-6.74 7.5-8.72 1.68-2.16 2.93-4.02 3.75-5.59 0.83-1.57 1.42-3.06 1.78-4.45s0.54-2.79 0.54-4.2c0-2.25-0.36-4.23-1.08-5.95s-1.82-3.08-3.3-4.07c-1.49-0.988-3.35-1.48-5.6-1.48-5.6 0-9.37 3.11-11.3 9.34h-5.43v-8.62c3.62-1.71 7.01-2.94 10.2-3.71 3.16-0.763 6-1.14 8.52-1.14zm58.7-0.943c8.69 0 13 5.51 13 16.5 0 3.11-0.35 6.84-1.06 11.2-0.7 4.33-1.82 8.74-3.34 13.2-1.53 4.49-3.46 8.47-5.8 11.9-2.33 3.46-5.03 6.13-8.08 8.02-3.06 1.89-6.35 2.83-9.89 2.83-4.46 0-7.78-1.36-9.97-4.09s-3.28-6.81-3.28-12.3c0-2.96 0.33-6.62 0.99-11 0.66-4.34 1.74-8.78 3.26-13.3 1.51-4.54 3.46-8.56 5.84-12.1s5.12-6.23 8.22-8.13 6.46-2.85 10.1-2.85z\" />\n </g>\n <g class=\"kata_svg_fill_accent kata_svg_stroke_accent\" font-family=\"sans-serif\" font-size=\"64px\" font-weight=\"400\">\n <text transform=\"translate(2220 580)\">Close enough</text>\n <text transform=\"translate(2220 650)\">to measure</text>\n <!--2 \\theta and angle -->\n <path d=\"m2210 905c-1.41 6.5-2.12 12-2.12 16.4 0 3.35 0.51 5.82 1.53 7.39s2.67 2.36 4.94 2.36c3.36 0 6.54-2.25 9.55-6.76s5.56-11 7.66-19.4zm18.4-30.3c-3.5 0-6.74 2.22-9.72 6.65s-5.52 10.8-7.62 19h21.5c1.41-6.32 2.11-11.8 2.11-16.3 0-3.14-0.51-5.5-1.52-7.05-1.02-1.56-2.61-2.34-4.77-2.34zm-58.2-2.7c5.57 0 9.77 1.22 12.6 3.66 2.84 2.44 4.27 5.98 4.27 10.6 0 1.59-0.16 3.05-0.48 4.38-0.31 1.33-0.8 2.65-1.48 3.95-0.67 1.3-1.58 2.7-2.72 4.2-1.13 1.5-2.39 3.02-3.77 4.56s-3.76 4.11-7.14 7.7c-5.69 6.02-9.87 11.3-12.5 15.8h16.9c1.47 0 2.65-0.09 3.55-0.27s1.62-0.479 2.16-0.898c0.54-0.42 0.96-0.966 1.28-1.64 0.31-0.674 0.71-1.72 1.19-3.12h3.82l-0.77 13.1h-37v-2.16c1.29-3.14 3.03-6.36 5.21-9.66 2.19-3.3 5.29-7.17 9.3-11.6 3.47-3.83 5.98-6.74 7.5-8.72 1.68-2.16 2.93-4.02 3.75-5.59 0.83-1.57 1.42-3.06 1.78-4.45s0.54-2.79 0.54-4.2c0-2.25-0.36-4.23-1.08-5.95s-1.82-3.08-3.3-4.07c-1.49-0.988-3.35-1.48-5.6-1.48-5.6 0-9.37 3.11-11.3 9.34h-5.43v-8.62c3.62-1.71 7.01-2.94 10.2-3.71 3.16-0.763 6-1.14 8.52-1.14zm58.7-0.943c8.69 0 13 5.51 13 16.5 0 3.11-0.35 6.84-1.06 11.2-0.7 4.33-1.82 8.74-3.34 13.2-1.53 4.49-3.46 8.47-5.8 11.9-2.33 3.46-5.03 6.13-8.08 8.02-3.06 1.89-6.35 2.83-9.89 2.83-4.46 0-7.78-1.36-9.97-4.09s-3.28-6.81-3.28-12.3c0-2.96 0.33-6.62 0.99-11 0.66-4.34 1.74-8.78 3.26-13.3 1.51-4.54 3.46-8.56 5.84-12.1s5.12-6.23 8.22-8.13 6.46-2.85 10.1-2.85z\" fill=\"#0070c0\" fill-rule=\"evenodd\" />\n </g>\n </g>\n</svg>\n\nNow, recall that $\\theta = \\arcsin \\sqrt{\\frac{M}{N}}$. When $M$ is much smaller than $N$, $\\frac{M}{N}$ is close to 0, and $\\theta$ is a small angle that can approximated as $\\theta \\approx \\sqrt{\\frac{M}{N}}$. This gives the following equation for $R_{opt}$\n\n$$ 2R_{opt}+1 \\approx \\frac{\\pi}{2\\theta} = \\frac{\\pi}{2}\\sqrt{\\frac{N}{M}}$$\nSince $\\theta$ is small, $R_{opt}$ is large, and the $+1$ term next to $2R_{opt}$ can be ignored, giving the final formula:\n$$ R_{opt} \\approx \\frac{\\pi}{4}\\sqrt{\\frac{N}{M}}$$\n\nWhat happens if you use more iterations than is optimal? Each iteration will keep rotating the state $2\\theta$ counterclockwise,\ngetting it further away from the vertical axis and thus reducing the probability of measuring the correct answer.\n\nIn this demo you will see how success probability of Grover's algorithm changes when it uses different numbers of iterations\nbefore the final measurements."
|
|
7079
7079
|
},
|
|
7080
7080
|
{
|
|
7081
7081
|
"type": "example",
|