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 ys bağ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 value küçü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 summand2 ile summand1 kodlanmış iki summand biti verildiğinde, ve kubitindeki bit düzeyinde xor'ını summand1 carryIn hesaplar ve summand2 yürütme kubitine summand2 carryOut xored 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 target iç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 fp hesaplar. |
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 PauliZ ile 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ı xs ys ile çarpın ve sonucu başlangıçta sıfır olması gereken içinde result depolayın. |
MultiplySI | İmzalı tamsayıyı xs imzalı tamsayı ys ile çarpın ve sonucu başlangıçta sıfır olması gereken içinde result depolayı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 ys bir kubit taşıması verildiğinde, işlem sonucun $n$ en az önemli bitlerinin tutulduğu ys ve yürütme bitinin kubite carry xored olduğu iki tamsayının toplamını hesaplar. |
SquareFxP | Sabit noktalı bir sayıyı kareler. |
SquareI | Tamsayı xs result karesini, 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 result depolayın. |
ÇıkarmaFxP | minuend - subtrahend farkı içinde minuend hesaplar ve depolar. |
Sum | Ters çevrilebilir bir toplam kapısı uygular. Kubitte carryIn kodlanmış bir taşıma biti ve ile summand2 kodlanmış iki summand summand1 biti verüldüğünde, summand1 ve 'nin carryIn bit düzeyinde xor değerini ve summand2 kubiti summand2 iç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. |