Microsoft.Quantum.Arithmetic ad alanı

Uyarı

Bu belge, Modern QDK ile değiştirilen Klasik QDK'yi ifade eder.

Lütfen Modern QDK için API belgelerine bakın https://aka.ms/qdk.api .

Bu ad alanı, aritmetiği tutarlı bir şekilde hesaplama için kullanılan işlevleri ve işlemleri içerir.

Operations

Name Özet
AddConstantFxP Kuantum sabit noktası sayısına klasik bir sabit ekler.
AddFxP Kuantum yazmaçlarında depolanan iki sabit noktalı sayı ekler.
AddI yazmaç boyutuna ysbağlı olarak taşıma ve taşıma olmadan toplama arasında otomatik olarak seçim gerçekleştirir.
ApplyLEOperationOnPhaseLE PhaseLittleEndian kullanıcı tanımlı tür yazmaçlarını LittleEndian kullanıcı tanımlı türünde bir hedef yazmaçta giriş olarak alan bir işlemi uygular.
ApplyLEOperationOnPhaseLEA PhaseLittleEndian kullanıcı tanımlı tür yazmaçlarını LittleEndian kullanıcı tanımlı türünde bir hedef yazmaçta giriş olarak alan bir işlemi uygular.
ApplyLEOperationOnPhaseLEC PhaseLittleEndian kullanıcı tanımlı tür yazmaçlarını LittleEndian kullanıcı tanımlı türünde bir hedef yazmaçta giriş olarak alan bir işlemi uygular.
ApplyLEOperationOnPhaseLECA PhaseLittleEndian kullanıcı tanımlı tür yazmaçlarını LittleEndian kullanıcı tanımlı türünde bir hedef yazmaçta giriş olarak alan bir işlemi uygular.
ApplyMajorityInPlace Üç kubitli çoğunluk işlemini kubit yazmaçlarına yerinde uygular.
ApplyPhaseLEOperationOnLE PhaseLittleEndian kullanıcı tanımlı türünde bir hedef yazmaçta giriş olarak LittleEndian kullanıcı tanımlı tür yazmaç alan bir işlem uygular.
ApplyPhaseLEOperationOnLEA PhaseLittleEndian kullanıcı tanımlı türünde bir hedef yazmaçta giriş olarak LittleEndian kullanıcı tanımlı tür yazmaç alan bir işlem uygular.
ApplyPhaseLEOperationOnLEC PhaseLittleEndian kullanıcı tanımlı türünde bir hedef yazmaçta giriş olarak LittleEndian kullanıcı tanımlı tür yazmaç alan bir işlem uygular.
ApplyPhaseLEOperationOnLECA PhaseLittleEndian kullanıcı tanımlı türünde bir hedef yazmaçta giriş olarak LittleEndian kullanıcı tanımlı tür yazmaç alan bir işlem uygular.
ApplyReversedOpBE Küçük endian biçimi kullanarak işaretsiz bir tamsayı kodlayan bir yazmaca büyük endian girişi alan bir işlem uygular.
ApplyReversedOpBEA Küçük endian biçimi kullanarak işaretsiz bir tamsayı kodlayan bir yazmaca büyük endian girişi alan bir işlem uygular.
ApplyReversedOpBEC Küçük endian biçimi kullanarak işaretsiz bir tamsayı kodlayan bir yazmaca büyük endian girişi alan bir işlem uygular.
ApplyReversedOpBECA Küçük endian biçimi kullanarak işaretsiz bir tamsayı kodlayan bir yazmaca büyük endian girişi alan bir işlem uygular.
ApplyReversedOpLE Big-endian biçimini kullanarak işaretsiz tamsayıyı kodlayan bir yazmaca küçük endian girişi alan bir işlem uygular.
ApplyReversedOpLEA Big-endian biçimini kullanarak işaretsiz tamsayıyı kodlayan bir yazmaca küçük endian girişi alan bir işlem uygular.
ApplyReversedOpLEC Big-endian biçimini kullanarak işaretsiz tamsayıyı kodlayan bir yazmaca küçük endian girişi alan bir işlem uygular.
ApplyReversedOpLECA Big-endian biçimini kullanarak işaretsiz tamsayıyı kodlayan bir yazmaca küçük endian girişi alan bir işlem uygular.
ApplyXorInPlace Klasik bir tamsayı ile kubit yazmacı tarafından temsil edilen bir tamsayı arasında bit düzeyinde XOR işlemi uygular.
AssertAllZeroFxP Kuantum sabit noktası numarasının sıfır olarak başlatıldığını onaylar.
AssertMostSignificantBit İmzasız bir tamsayıyı temsil eden kubit yazmaçlarının en önemli kubitinin belirli bir durumda olduğunu onaylar.
AssertPhaseLessThan PhaseLittleEndian içinde kodlanan değerinin değerinden valueküçük olduğunu onaylarnumber.
AssertProbInt Kuantum yazmaçlarının belirli bir durumunun olasılığının beklenen değere sahip olduğunu onaylar.
Sonraki basamağa geçirme Ters çevrilebilir taşıma kapısı uygular. Kubitte carryIn kodlanmış bir taşıma biti ve ve summand2ile summand1 kodlanmış iki summand biti verildiğinde, ve kubitindeki bit düzeyinde xor'ını summand1carryInhesaplar ve summand2 yürütme kubitine summand2carryOutxored edilir.
CompareGTI Tamsayı karşılaştırması için sarmalayıcı: result = x > y.
CompareGTSI İmzalı tamsayı karşılaştırması için sarmalayıcı: result = xs > ys.
CompareGreaterThanFxP Kuantum yazmaçlarında depolanan iki sabit noktalı sayıyı karşılaştırır ve sonuçtaki ters çevirmeyi denetler.
CompareUsingRippleCarry Bu işlem, kubitlerin bir yazmaç tarafından temsil edilen bir tamsayının başka bir tamsayıdan büyük olup olmadığını test eder ve sonucun XOR değerini bir çıkış kubiti üzerine uygular.
ComputeReciprocalFxP Kuantum yazmacında depolanan bir sayının karşılıklı değerini sabit nokta gösterimiyle hesaplar.
ComputeReciprocalI Tamsayı bölmeyi kullanarak işaretsiz bir x tamsayı için karşılıklı 1/x'i hesaplar. Tamsayı olarak yorumlanan sonuç olacaktır floor(2^(2*n-1) / x).
CopyMostSignificantBit İmzasız bir tamsayıyı temsil eden bir kubit yazmaçının from en önemli bitini kubit targetiçine kopyalar.
DivideI İki kuantum tamsayısını böler.
EvaluateEvenPolynomialFxP Sabit noktalı bir gösterimde çift polinom değerini değerlendirir.
EvaluateOddPolynomialFxP Sabit noktalı bir gösterimde tek bir polinom değerini değerlendirir.
EvaluatePolynomialFxP Sabit noktalı bir gösterimde polinom değerini değerlendirir.
GreaterThan Kubit yazmaçlarına kodlanmış iki tamsayı arasında bir büyüktür karşılaştırması uygular ve karşılaştırmanın sonucuna göre hedef kubiti çevirir.
IncrementByInteger Aşama döndürmelerini kullanarak işaretsiz bir kuantum yazmacını klasik bir tamsayıyla artırır.
IncrementByModularInteger Kubit yazmaçlarının modüler bir artışını bir tamsayı sabiti ile gerçekleştirir.
IncrementPhaseByInteger Aşama döndürmelerini kullanarak işaretsiz bir kuantum yazmacını klasik bir tamsayıyla artırır.
IncrementPhaseByModularInteger Kubit yazmaçlarının modüler bir artışını bir tamsayı sabiti ile gerçekleştirir.
Invert2sSI Belirli bir tamsayı modül 2'nin tamamlayıcısını ters çevirir.
InvertFxP öğesinin katkısal tersini fphesaplar.
MAJ Bu, yerinde çoğunluk işlemini 3 kubite uygular.
MeasureFxP Sabit noktalı bir sayıyı ölçün, değerini Double olarak döndürür ve tüm yazmaç sıfırlanır.
MeasureInteger Kuantum yazmaç içeriğini ölçer ve bir tamsayıya dönüştürür. Ölçüm, standart hesaplama temeli olan eigenbasis PauliZile gerçekleştirilir.
MultiplyAndAddByModularInteger Kubit yazmaç üzerinde tamsayı sabitleriyle modüler çarpma ve ekleme gerçekleştirir.
MultiplyAndAddPhaseByModularInteger ÇarpmaAndAddByModularInteger ile aynıdır, ancak summand'ın tamsayıları QFT temelinde kodladığını varsayar.
MultiplyByModularInteger Kubit yazmaç üzerinde bir tamsayı sabiti ile modüler çarpma gerçekleştirir.
MultiplyFxP Kuantum yazmaçlarındaki iki sabit noktalı sayıyı çarpar.
MultiplyI Tamsayıyı tamsayı xsys ile çarpın ve sonucu başlangıçta sıfır olması gereken içinde resultdepolayın.
MultiplySI İmzalı tamsayıyı xs imzalı tamsayı ys ile çarpın ve sonucu başlangıçta sıfır olması gereken içinde resultdepolayın.
PrepareFxP Kuantum sabit noktalı bir sayıyı klasik sabite başlatın.
ReflectAboutInteger Belirli bir klasik tamsayı hakkında bir kuantum yazmaç yansıtır.
RippleCarryAdderCDKM İki tamsayının geri döndürülebilir, yerinde dalgalı taşıma eklemesi.
RippleCarryAdderD İki tamsayının geri döndürülebilir, yerinde dalgalı taşıma eklemesi.
RippleCarryAdderNoCarryTTK İki tamsayıyı taşımadan geri döndürülebilir, yerinde dalgalı taşıma eklemesi.
RippleCarryAdderTTK İki tamsayının geri döndürülebilir, yerinde dalgalı taşıma eklemesi. LittleEndian yazmaçları ve içinde kodlanmış iki $n$-bit tamsayısı xs ve ysbir kubit taşıması verildiğinde, işlem sonucun $n$ en az önemli bitlerinin tutulduğu ys ve yürütme bitinin kubite carryxored olduğu iki tamsayının toplamını hesaplar.
SquareFxP Sabit noktalı bir sayıyı kareler.
SquareI Tamsayı xsresultkaresini, başlangıçta sıfır olması gereken şeklinde hesaplar.
SquareSI Kare işaretli tamsayı xs ve sonucu, başlangıçta sıfır olması gereken içinde resultdepolayın.
ÇıkarmaFxP minuend - subtrahend farkı içinde minuendhesaplar ve depolar.
Sum Ters çevrilebilir bir toplam kapısı uygular. Kubitte carryIn kodlanmış bir taşıma biti ve ile summand2kodlanmış iki summand summand1 biti verüldüğünde, summand1 ve 'nin carryInbit düzeyinde xor değerini ve summand2 kubiti summand2içinde hesaplar.

İşlevler

Name Özet
ApplyFunctionWithLookupTable Bu işlev, yaklaşık olarak bulmak istediğiniz işlev için bir arama tablosu işleci ve işleç için giriş olarak kullanılması gereken iki FixedPoint kaydı yapmak için gereken parametreleri oluşturur.
BigEndianAsLittleEndian BigEndian Kubit sıralamasını LittleEndian tersine çevirerek kubit kaydını kubit yazmaçlarına dönüştürür.
IdenticalFormatFactFxP Sağlanan dizideki tüm sabit noktalı sayıların aynı nokta konumlarına ve kubit sayılarına sahip olduğunu onaylar.
IdenticalPointPosFactFxP Sağlanan dizideki tüm sabit noktalı sayıların, en az- önemli bitten sayılırken aynı nokta konumlarına sahip olduğunu onaylar. Diğer bir deyişle, dizideki tüm sabit noktalı sayılar için bit sayısı eksi noktası konumu sabit olmalıdır.
LittleEndianAsBigEndian LittleEndian Kubit sıralamasını BigEndian tersine çevirerek kubit kaydını kubit yazmaçlarına dönüştürür.
ReversedOpBE Big-endian girişi alan bir işlem verüldüğünde, küçük bir endian girişi alan yeni bir işlem döndürür.
ReversedOpBEA Big-endian girişi alan bir işlem verüldüğünde, küçük bir endian girişi alan yeni bir işlem döndürür.
ReversedOpBEC Big-endian girişi alan bir işlem verüldüğünde, küçük bir endian girişi alan yeni bir işlem döndürür.
ReversedOpBECA Big-endian girişi alan bir işlem verüldüğünde, küçük bir endian girişi alan yeni bir işlem döndürür.
ReversedOpLE Küçük bir endian girişi alan bir işlem verüldüğünde, büyük endian girişi alan yeni bir işlem döndürür.
ReversedOpLEA Küçük bir endian girişi alan bir işlem verüldüğünde, büyük endian girişi alan yeni bir işlem döndürür.
ReversedOpLEC Küçük bir endian girişi alan bir işlem verüldüğünde, büyük endian girişi alan yeni bir işlem döndürür.
ReversedOpLECA Küçük bir endian girişi alan bir işlem verüldüğünde, büyük endian girişi alan yeni bir işlem döndürür.

Kullanıcı tanımlı türler

Name Özet
BigEndian büyük endian sırada işaretsiz bir tamsayı kodlayan kaydedin. Dizinli 0 kubit, işaretsiz tamsayının en yüksek bitini kodlar.
FixedPoint Sabit noktalı bir sayı kodlayarak kubitlerin bir kaydını temsil eder. İkili noktanın solundaki kubit sayısına eşit olan bir tamsayıdan (örneğin, 1'den büyük veya buna eşit olan ağırlık kubitleri) ve bir kuantum yazmaçtan oluşur.
FunctionWithLookupTable Arama tablosu yapılırken dönüş türü. Bu, arama tablosu devresini yapan işlemi ve işleç için giriş ve çıkış olarak kullanılması gereken iki FixedPoint kaydını yapmak için gereken tüm parametreleri içerir.
LittleEndian küçük endian sırada işaretsiz bir tamsayı kodlayan kaydedin. Dizinli 0 kubit, işaretsiz tamsayının en düşük bitini kodlar.
PhaseLittleEndian QFT temelinde küçük endian işaretsiz tamsayılar.
SignedLittleEndian Küçük endian içinde depolanan imzalı tamsayı türü (bkz. LittleEndian). Negatif sayılar, ikinin tamamlayıcısı kullanılarak depolanır.