Quantum Development Kit Zpráva k vydání verze (QDK) a Azure Quantum
Tento článek popisuje aktualizace Quantum Development Kit sady (QDK) a služby Azure Quantum.
Pokyny začínáme najdete v tématu Nastavení Azure Quantum. Pokyny k aktualizaci sady QDK na nejnovější verzi najdete v tématu Aktualizace Quantum Development Kit sady QDK na nejnovější verzi.
2023-09-15
QDK verze 0.28.302812
- Nyní můžete vygenerovat profily odhadu prostředků, abyste zjistili, jak operace v kvantovém programu přispívají k celkovým nákladům. Informace o používání najdete v dokumentaci ke službě Azure Quantum.
- Teď můžete volat
result.json
, abyste získali reprezentaci json výsledku odhadu prostředků. - Aktualizace funkce odhadu nákladů IonQ pro aria-1 tak, aby používala minimální ceny úloh ve výši 97,50 USD (předpokládá se, že zmírnění chyb je ve výchozím nastavení povolené). Přečtěte si další informace o cenách IonQ nebo o tom, jak povolit nebo zakázat zmírnění chyb.
- Odebrané zastaralé názvy Quantinuum target . Podívejte se na úplný seznam podporovaných targetsfunkcí Quantinuum .
2023-07-31
QDK verze 0.28.291394
- Přidali jsme podporu vlastních destilačních jednotek. Nástroj Resource Estimator teď přijímá vlastní definice algoritmů destilace, které je možné použít u fyzických nebo logických qubitů.
- Přidání podrobnějších definic chyb fyzických qubitů: míra chyb nečinnosti pro všechny typy qubitů a míra chyb čtení a zpracování pro měření qubitů Majorana.
- Teď můžete pomocí koncového bodu result.diagram vizualizovat odhadované požadavky na modul runtime a prostor vašeho algoritmu.
- Přidání rQOPS do souhrnu výsledků odhadu prostředků
- Zásadní změna: Byla odebrána možnost odesílat úlohy do Microsoft QIO targets nebo 1QBit targets, protože tyto úlohy jsou nyní zastaralé.
2023-06-05
QDK verze 0.28.277227
- Přidání podpory pro relace pro zlepšení prostředí interaktivních hybridních algoritmů
- K odesílání úloh z Q#, Qiskit a QIR teď můžete použít jednotné a pohodlné klientské rozhraní API pro odhad prostředků.
- V Q# poznámkových blocích Jupyter opravili problém microsoft/iqsharp#776 , kdy Q# výjimky způsobovaly nedostatek paměti v jádru poznámkového bloku.
- Odebrány odkazy na dříve zastaralé Rigetti Aspen M-2 target.
- Přidali jsme upozornění, že řešitelé QIO microsoftu budou po 30. červnu 2023 zastaralé a nebudou v Azure Quantum k dispozici.
2023-03-29
QDK verze 0.28.263081
- Přidání Q# rozhraní API azure Quantum Resource Estimator pro pomoc s odhadem velkých programů
- V balíčku azure-quantum jsme zjednodušili prostředí pro odesílání úloh QIR do nástroje pro posouzení prostředků.
- V balíčku azure-quantum teď objekt zprostředkovatele Qiskit poskytuje seznam back-endů a možnost filtrovat a získávat back-endy.
- Opravili jsme pevně zakódovanou toleranci v AssertOperationsEqualInPlace a přidali volání pro resetování všech pomocných qubitů na konci jejich oboru. Opravuje microsoft/qsharp-runtime#1129.
- Byl odebrán nástroj pro posouzení místních prostředků. Nástroj Azure Quantum Resource Estimator je teď k dispozici prostřednictvím služby Azure Quantum.
2023-03-01
QDK verze 0.27.258160
- V Q# poznámkových blocích Jupyter opravili problém, kdy
%azure.connect
v určitých prostředích trvalo několik minut, než se úspěšně provede. Další informace najdete v tématu microsoft/Quantum#762. - Kvůli vyřazení se odebrala podpora pro kvantový procesor Rigetti Aspen-11. Další targets dostupné informace najdete v dokumentaci k poskytovateli Rigetti .
- Přidání upozornění, že v březnu 2023 se odebere místní nástroj pro posouzení prostředků . Nástroj Azure Quantum Resource Estimator je teď k dispozici prostřednictvím služby Azure Quantum.
2023-01-31
QDK verze 0.27.253010
- Přidání podpory pro kvantový procesor Rigetti Aspen-M-3
- Chyby kompilátoru související s hardwarovými funkcemi jsou teď ve výchozím nastavení upozornění. Programy s těmito upozorněními můžou nebo nemusí běžet na konkrétním target, ale před spuštěním jsou ověřeny službou Azure Quantum a uživatelům se neúčtují poplatky, pokud program neprojde ověřením.
- Kompilátor Q# teď ke generování QIR používá LLVM 14.
- V imagi iqsharp-base se odebrala podpora pro .NET Core 3.1, protože se jedná o konec životnosti. Upgradoval různé balíčky v imagi a provedl malá vylepšení, aby se zmenšila velikost kontejneru. Opravuje microsoft/iqsharp#757.
- V balíčku azure-quantum jsou pevné
cost_estimate()
ceny pro IonQ Aria od \$0,00022 za jeden qgs do \$0,0002205 za jeden qgs.
2022-12-07
QDK verze 0.27.244707
- Azure Quantum teď podporuje nativní brány CCX, což řeší problém na GitHubu microsoft/qiskit-qir#19.
- Odeslání úlohy do Azure Quantum teď podporuje předávání polí z Pythonu do Q#.
2022-10-27
QDK verze 0.27.238334
- Menší opravy
2022-10-24
QDK verze 0.27.236950
- Oprava problému s modulem microsoft/qsharp-runtime#1081 v Q# modulu runtime na GitHubu byla konzistentní mezi simulátorem úplného stavu a řídkým simulátorem.
- Honeywell poskytovatel a targets už se nepodporují. Zákazníci by měli používat poskytovatele Quantinuum a targets.
2022-10-04
QDK verze 0.26.233415
- Vylepšili jsme dodržování protokolu zasílání zpráv Jupyter opravou problému microsoft/iqsharp#732.
2022-09-28
QDK verze 0.26.232864
- Přidání podpory pro Rigetti v Azure Quantum, která zahrnuje Rigetti Aspen-M-2 a Quantum Virtual Machine.
- Všechny komponenty Microsoftu Quantum Development Kit byly aktualizovány na Python 3.9.
- Názvy Quantinuum target byly aktualizovány kvůli srozumitelnosti a konzistenci. Staré target názvy budou dál k dispozici.
- Přidání podpory pro více klasických registrů v Qiskitu tím, že řeší problémy microsoft/qdk-python#361 a microsoft/qdk-python#375.
- Opravili jsme počet qubitů pro odkazy Quantinuum H1-2 tím, že target opravili microsoft /qdk-python#391.
Aktualizace služby Azure Quantum
- Optimalizace pro zkrácení doby odeslání úlohy
2022-09-01
QDK verze 0.25.228311
- Přidání podpory pro IonQ Aria QPU v Azure Quantum
- Operace
ApplyFunctionWithTableLookup
(QuantumLibraries#607) byla přidána do kvantových knihoven. Tato operace umožňuje implementovat klasické funkce s reálnou hodnotou až do určité přesnosti pomocí technik vyhledávání tabulek. Děkujeme Rajiv Krishnakumarovi (@rajkk1) za přispívání této nové funkce do Q# knihoven. - Hardwarová možnost FPGA pro řešitele QiO od Microsoftu je zastaralá.
2022-07-26
QDK verze 0.25.222597
- Přidání podpory pro IonQ Native Gates při vytváření úlohy Qiskit.
- Byly přidány dvě nové operace
SmallestFixedPoint
aLargestFixedPoint
pro výpočet číselné hodnoty pro nejmenší a největší pevný bod s počtem celých a desetinných bitů. - Opravili jsme Q# načítání projektu pro uživatele rozhraní .NET 6.0.302 nebo novější tím, že vyřešili problém qsharp-compiler/1470.
- Povolilo použití položek pole jako kroků výrazu s rozsahem, aniž by došlo k chybě kontroly typu opravou qsharp-compiler/1430.
Aktualizace služby Azure Quantum
- Vylepšené prostředí portálu Azure Quantum Portal, abyste mohli snadno zkontrolovat, kolik kreditů Azure Quantum jste využili, kolik zbývá, a stav kvóty (pokud je to možné).
- Přidali jsme novou pokročilou ukázku, která vám pomůže prozkoumat provádění skrytých úloh směn na kvantovém počítači.
- Zabránilo se dlouhým čekacím dobám odmítnutím odeslání úlohy, pokud je cíl ve stavu Nedostupný.
2022-06-28
QDK verze 0.25.218240
- Nejnovější verze sady QDK obsahuje nové magické příkazy pro Q# poznámkové bloky Jupyter:
%azure.target-capability
,%qir
. Nové příkazy umožňují konkrétní target diagnostiku a zobrazí se v každé buňce poznámkového bloku, pokud je nastavená target hodnota . - Vylepšili jsme diagnostiku kompilátoru Q# v poznámkových blocích Jupyter. Při kompilaci buňky teď kompilátor odkazuje na řádky, které způsobují chyby a upozornění, a také vás nasměruje na Q# dokumentaci k dané chybě nebo upozornění.
- Tato verze také do simulátoru otevřených systémů (například Microsoft.Quantum.Intrinsic.Rx a Microsoft.Quantum.Intrinsic.Exp) přidává podporu průběžného otáčení úhlu, což umožňuje simulaci dalších Q# programů. Další informace najdete v tématu žádost o funkce GitHubu microsoft/qsharp-runtime#914.
- Všichni řešitelé procesoru QIO od Microsoftu teď podporují kvadraické termíny lineární kombinace a binární formát protobuf. Kromě toho teď několik řešitelů těží z vylepšení výkonu, což vede ke snížení využití paměti a zkrácení modulů runtime. Tito řešitelé používají pouze vstupní formát
microsoft.qio.v2
, výchozí formát pro všechny problémy odeslané prostřednictvím sady Azure Quantum Python SDK. - Nejnovější aktualizace také umožňuje volání Funkce Parity() se záporným argumentem, která opravuje problém na GitHubu microsoft/qsharp-runtime#993.
- Přidali jsme nové kvantové rozšíření Azure CLI verze 0.16.0.
- Všichni poskytovatelé, kteří se účastní programu Kredity pro všechny, se při vytvoření pracovního prostoru pomocí rozhraní příkazového řádku automaticky přidají. Projděte si nejčastější dotazy k kreditům Azure Quantum.
2022-05-23
QDK verze 0.24.210930
- V květnové verzi jsme přidali názvy pro přístup k polím v
FixedPoint
uživatelsky definovaném typu (microsoft/QuantumLibraries#549). - Přidali jsme dvě nové operace
SubtractFxP
aInvertFxP
. Ty umožňují odečíst a invertovat kvantová čísla s pevnou desetinou čárkou (microsoft/QuantumLibraries#555). - Ve vydané verzi byly přidány funkce nástroje pro převod mezi reprezentací s plovoucí a pevnou desetinou čárkou microsoft/QuantumLibraries#559.
- Nakonec jsme opravili problém microsoft/qdk-python#323, který řeší zjevnou nekonzistenci výsledků vrácených funkcí
job.result()
Qiskit.
Aktualizace služby Azure Quantum
- Nejnovější aktualizace služby zjednodušuje pokročilé vytváření pracovních prostorů Azure Quantum na webu Azure Portal.
- Aktualizovali jsme výchozí typ účtu úložiště na verzi 2 pro obecné účely (z verze 1 pro obecné účely), aby se při správě dat podporovaly moderní funkce a nabídky účtu úložiště.
2022-04-29
QDK verze 0.24.208024
- Tento měsíc jsme nově přidali velkou ukázku simulace demonstrující použití řídkého simulátoru.
- Tato verze obsahuje také nové kvantové rozšíření Azure CLI verze 0.15.0.
- Opravili jsme následující problémy GitHubu:
- Sada QDK teď zahrnuje vylepšené zpracování dat úloh Qiskit v sadě Azure Quantum Python SDK. To umožňuje scénáře VQE a StateTomography experimentu Qiskit. Tím se řeší problémy GitHubu: microsoft/qdk-python#224, microsoft/qdk-python#258, microsoft/qdk-python#259 a microsoft/qdk-python#263.
- Tato verze implementuje problém na GitHubu microsoft/QuantumLibraries#442. Sada QDK teď poskytuje dvě nové operace pro stručné zkrácené řízení operací s jedním qubitem:
SinglyControlled
aSinglyControlledA
. - microsoft/QuantumLibraries#367 mění způsob počítání variant operací v AllowAtMostNCallsCA.
- microsoft/QuantumLibraries#546 navrhuje alternativu pro použití ,
Default
což se nedoporučuje.
- microsoft/QuantumLibraries#560 řeší nesprávnou hodnotu vrácenou v operaci MeasureFxP , pokud naměřená hodnota odpovídá nejmenší reprezentovatelné pevné bodě.
- azure/azure-cli-extensions#4697 v rozšíření Azure CLI, které umožňuje nastavit interval dotazování při čekání na dokončení úlohy Azure Quantum.
Aktualizace služby Azure Quantum
- Azure Portal teď obsahuje poznámkový blok pro velkou ukázku simulace.
2022-03-30
QDK verze 0.24.201332
- Ve verzi vydané tento měsíc jsme přidali SparseSimulator s diskrétními (řídkými) stavy qubitů. Tento simulátor je efektivnější pro třídu kvantových algoritmů s menším počtem stavů v superpozici. Odemkne aplikace s větším počtem qubitů, než podporuje QuantumSimulator.
- Migrovali jsme z Quantum Development Kit. NETCore 3.1 na .NET 6.0 a odpovídajícím způsobem zvýšili minimální podporovanou verzi.
- Vydání také aktualizuje rozšíření Microsoft Quantum Development Kit pro Visual Studio Code , aby podporovalo verze QDK založené na .NET 6.
- K dispozici je nové rozšíření z marketplace: Rozšíření Microsoft Quantum Development Kit for Visual Studio 2022 .
- Nová sada QDK zahrnuje vylepšení výkonu pro Q# poznámkové bloky a Q# + pracovní postupy Pythonu.
- K dispozici je nové kvantové rozšíření Azure CLI verze 0.14.0, které obsahuje následující:
- Rozšířená chybová zpráva v neúspěšných úlohách, aby obsahovala podrobnosti pocházející od poskytovatele.
- Podpora při vytváření pracovního prostoru pro všechny typy účtů úložiště povolené ve službě Azure Quantum
- Tato verze řeší následující problémy GitHubu:
- microsoft/qsharp-runtime#967 , kde rozklad operace Expv Q# programech odeslaných do IonQ targets použije nesprávnou konvenci úhlu, což vede k nesprávné rotaci. -microsoft/iqsharp#606 , kde výrazy lambda nešlo použít v Q# programech volaných z Pythonu, včetně poznámkových bloků Jupyter.
- microsoft/QuantumLibraries#511 , kde se nesprávně vypočítaly fáze odrazu pro odhad amplitudy. -microsoft/QuantumLibraries#527 , kde funkce RangeAsIntArray vrátila nesprávnou hodnotu pro rohový případ. -microsoft/QuantumLibraries#494 , kde nástroj qdk-chem vytvořil neplatné soubory Broombridge. -microsoft/QuantumLibraries#386 , kde operace AllowAtMostNCallsCA nedeterministicky selhala. -microsoft/qsharp-runtime#929 , kde prázdný kvantový program způsoboval výjimku při odeslání do Azure Quantum.
- microsoft/QuantumLibraries#444 , kde testy probabilisticky selhaly.
- Opravili jsme problém na GitHubu microsoft/QuantumLibraries#270, kdy se počet qubitů v knihovně strojového učení přeceňoval.
Aktualizace služby Azure Quantum
- Zjednodušili jsme vytváření pracovních prostorů a prostředí navigace v Azure Portal a přidali jsme ukázku poznámkového bloku na portálu pro scénář skrytého posunu.
2022-03-15
QDK verze 0.23.198514-beta (Preview)
- Vydali jsme Microsoft Quantum Development Kit for Visual Studio 2022 ve verzi Preview.
2022-03-02
QDK verze 0.23.195983
- Tato verze řeší následující problémy GitHubu:
- microsoft/qsharp-compiler#1235, rozšíření sady Visual Studio a editoru Visual Studio Code už nevyvolají neošetřenou výjimku, pokud se nenajde sada .NET SDK. Jazykový server se vrátí k čistě syntaktické diagnostice.
- Q# teď podporuje výrazy lambda. Informace o tom, jak je používat, najdete v Q# jazykové dokumentaci .
- microsoft/qsharp-compiler#1300 – řeší problém, kdy Q# kompilátor kromě chybové zprávy protokoloval výjimku pro operace, které vrací typ, který není jednotkou, když jsou nesprávně definovány jako adjointable nebo controllable.
- microsoft/qsharp-compiler#1346 – Opravuje problém, kdy Q# formátovací modul odebral závorky kolem podmínek smyčky for, aniž by se zajistilo mezery kolem podmínky. -microsoft/qsharp-compiler#1289 – zlepšuje použitelnost Q# formatteru tím, že vypíše souhrn jeho změn do konzoly a nepřepíše nezměněné soubory.
- Vylepšili jsme chybovou zprávu, která se zobrazí při pokusu o spuštění ukázky před přidáním zprostředkovatele do pracovního prostoru Azure Quantum (odkaz), jak přidat nového zprostředkovatele.
- Zásadní změna: microsoft/qdk-python#269 – Teď můžete předávat
shots
dobackend.run
abackend.estimate_cost
pro všechny back-endy v balíčku azure-quantum Python. - microsoft/qdk-python#248 – Tato změna se vztahuje na modul plug-in Qiskit balíčku Azure-quantum Python. Celkový počet počtů v histogramu teď odpovídá celkovému počtu střel.
- Odebrali jsme userWarning při inicializaci úlohy řešitele odeslané do toshiba SimulatedBifurcationMachine.
- Změna způsobující chybu: Příznak komprese byl odebrán z problémů, řešitelů a streaming_problem tříd. Parametr compress již nelze nastavit v
solvers.problem
objektech nebostreaming_problem
a metodách. - microsoft/qsharp-compiler#1046 a microsoft/qsharp-compiler#1352 – Tyto opravy souvisejí s generováním QIR. První řeší problém při generování velkých celočíselných literálů s více než 64 bity. Druhá změna řeší potenciální selhání modulu runtime způsobená použitím nového maticového výrazu k vytvoření pole volatelných hodnot.
- Přidali jsme podporu pro zprostředkovatele Quantinuum, který nahrazuje zprostředkovatele Honeywell.
- Zásadní změna: QuantumSimulator byl refaktorován. Pokud použijete
StateDumper::Callback()
přímo, musíte tento kód aktualizovat.
Známé problémy
- Q# Funkce a operace lambda se nekompilují správně v Q# poznámkových blocích Jupyter nebo z Q# aplikací + Python, jak sleduje microsoft/iqsharp#606.
2022-02-01
QDK verze 0.22.189218-beta (Preview)
- Přidání podpory pro .NET 6.0 do .Quantum Development Kit
- Aktualizuje se minimální požadovaná verze pro Quantum Development Kit rozšíření .NET 6.0.
- Q# Kompilátor používá k vytváření QIR binární soubory LLVM 13.
- Vydáno Microsoft Quantum Development Kit for Visual Studio Code .NET 6 Preview. (Aktualizace:Toto rozšíření ve verzi Preview bylo nyní vyřazeno a jeho změny byly začleněny do běžného rozšíření editoru Visual Studio Code.)
2022-01-26
QDK verze 0.22.187631
- Simulátor :::no-loc text="Full state::: Simulátor byl migrován z kompilátoru specifického pro platformu do Clang, aby se vyřešil problém GitHubu #876.
- Při odesílání úlohy do Azure Quantum prostřednictvím rozhraní příkazového řádku, Pythonu, IQ# a dalších sad Azure Quantum SDK můžou podrobnosti o úloze zahrnovat odhad nákladů na úlohu (pokud ji poskytovatel podporuje). Konečné náklady na faktuře se můžou mírně lišit z důvodu přidané daně a směnného kurzu.
- Cenu úlohy v balíčku azure-quantum teď můžete odhadnout pomocí estimate_cost , target které používáte s funkcemi Qiskit, Cirq a pass-through.
- Balíček azure-quantum teď podporuje odesílání seznamů Qiskit o délce 1.
- Byl opraven problém na GitHubu microsoft/qdk-python#198 v balíčku azure-quantum, kdy úlohy Qiskit způsobovaly nesprávné výsledky v okruzích s pomocnými qubity.
- V balíčku azure-quantum byl parametr perform_icm 1QBit
PticmSolver
zastaralý a jeho použití teď vrací upozornění na vyřazení. Doseed
všech ostatních 1QBit řešitelů byl přidán parametr, který určuje náhodné počáteční hodnoty. - Vyřešení problému microsoft/qdk-python#178 na GitHubu v balíčku azure-quantum, takže chyby vrácené službou Azure Quantum při použití funkce Qiskit nebo Cirq se teď šíří.
- Opravili jsme problém na GitHubu microsoft/qsharp-compiler#1297 , kdy se při změně vlastnosti ExecutionTarget v souboru projektu neaktualizovaly informace IntelliSense.
2021-12-14
QDK verze 0.21.2112.180703
- Vydané kvantové rozšíření Azure CLI verze 0.11.0: Histogramy výsledků úloh jsou ve výstupu konzoly zarovnané doleva (ne zarovnané na střed).
2021-11-23
QDK verze 0.21.2111.177148
- Q# Přidání formátovače pro aktualizaci zastaralé Q# syntaxe a základního formátování pro Q# projekty s QDK verze 0.21.2111.177148 a novější:
- Abyste mohli formátovací modul používatQ#, musíte aktualizovat verzi QDK ve
<Project>
značce souboru.csproj
. - Formátovací nástroj můžete použít Q# prostřednictvím sady Visual Studio kliknutím na položku nabídky Upravit –> Upřesnit –> Formátovat dokument . Prostřednictvím editoru Visual Studio Code můžete kód naformátovat tak, že kliknete pravým tlačítkem na kód, který chcete formátovat, a kliknete na položku nabídky Format Document (Formát dokumentu ).
- Přidání buildu targetUpdateSyntax pro aktualizaci zastaralé syntaxe v Q# projektu Můžete target ho použít s
dotnet msbuild -t:UpdateSyntax
příkazovým řádkem. - Přidání akcí kódu pro automatickou aktualizaci zastaralé syntaxe
- Abyste mohli formátovací modul používatQ#, musíte aktualizovat verzi QDK ve
- Přidání podpory pro odesílání problémů do podmnožina Microsoftu targets v binárním formátu protobuf. Můžete ho použít ke kódování větších problémů tím, že zmenšíte velikost datových částí a zvýšíte rychlost nahrávání a zpracování.
- Zásadní změna: Metoda třídy deserialize třídy Problem má změnu názvu parametru z
problem_as_json
nainput_problem
pro podporu deserializace protobuf.
2021-10-26
QDK verze 0.20.2110.171573
- IQ# kernel %azure.connect command již nenastavuje "West US" jako výchozí umístění. Parametr location je teď povinný.
- Balíček
azure-quantum
teď podporuje asynchronní vstupně-výstupní operace prostřednictvím novéhoazure.quantum.aio
balíčku. - Opravili jsme problém: Úlohy Qiskit načtené pomocí
AzureQuantumProvider.get_job()
teď můžou používatjob.result()
, aniž by narazily naKeyError
. - Opravili jsme problém, který způsoboval
azure.quantum.cirq
, že pylance nerozpoznal aazure.quantum.qiskit
. Balíčekazure.quantum.plugins
je zastaralý. - Opravili jsme problém vQ# I, kdy provádění úlohy selhalo, pokud se v daném targetsouboru nepodporovala žádná operace definovaná v externím souboru.
- Opravili jsme problém v rozšíření sady Visual Studio, který v některých případech způsoboval nesprávné odsazení, když byla zadána pravá hranatá závorka.
- Refaktoroval Quantum Intermediate Representation knihovny DLL modulu runtime (QIR) tak, aby používaly statický modul runtime VC, čímž se odebrala závislost na msvcrt.dll a instalaci sady Visual Studio.
- Refaktorovaný modul runtime QIR pro konzistentně používané
intptr_t
typy ID qubitů - Aktualizace rozšíření Azure CLI na verzi 0.9.0
2021-09-28
QDK verze 0.19.2109.165653
- Přidání podpory pro odesílání okruhů Cirq a Qiskit do IonQ a Quantinuum
- Balíčky Conda byly přesunuty z kanálu kvantového inženýrství do kanálu Microsoftu. Pokud k instalaci Quantum Development KitQ# pro poznámkový blok nebo Q# použití + Python použijete conda,
-c quantum-engineering
měli byste změnit argument conda na-c microsoft
achannels
část souborů environment.yml by se měla aktualizovat. Příkaz úplné instalace s použitím nových balíčků najdete v příručce Začínáme . - Problémy PUBO a Ising můžete formulovat pomocí čtvercových lineárních termínů nativně na řešicích PA a SSMC.
- Oprava potíží se správou paměti a vylepšenou spolehlivostí pro generaci QIR: 1152 a 1086.
- Oprava potíží souvisejících s
Workspace.get_targets()
. Teď vrátí všechny dostupné targets v předplatném, a to i ty, které nemají podporu na straně klienta. - Opravili jsme problémy s Q# tím, že se diagnostika kompilátoru zobrazovala na nesprávných místech: 1133 a 1172.
- Zásadní změna: Pořadí argumentů v
ApplyIf
,ApplyIfA
,ApplyIfC
aApplyIfCA
se změnilo tak, aby bylo konzistentní se souvisejícími operacemi, jakoApplyIfElseB
jsou a Q# principy návrhu rozhraní API. Problem.serialize()
azure.quantum.optimization
balíčku Pythonu teď serializuje název problému optimalizace do nového volitelného pole metadat, takže ho nemusíte zadávat znovu při deserializaci problému, jak je podrobně popsáno v tomto problému.- Vydané kvantové rozšíření Azure CLI verze 0.8.0: Uživatelům se maximálně jednou denně zobrazí doporučení k aktualizaci rozšíření az quantum, pokud je nainstalovaná verze za aktuální.
2021-09-10
QDK verze 0.18.2109.162713
- Opravuje problém , který někdy způsoboval chybové ukončení jádra v online kvantových katách. Žádný dopad na zákazníky, protože online Katy zůstaly se starší verzí QDK.
2021-09-01
QDK verze 0.18.2108.160999
- Opravili jsme problém, kdy pro balíček NuGet Microsoft.Quantum.Qir.Runtime chyběla požadovaná metadata.
2021-08-31
QDK verze 0.18.2108.160310
- Alternativní operace v @SubstitutableOnTarget už není potřeba explicitně odkazovat v balíčku NuGet Microsoft.Quantum.AutoSubstitution .
- Nová metoda Workspace.get_targets() v balíčku azure-quantum, která vrací seznam všech dostupných targetsmetod . Může filtrovat podle ID poskytovatele nebo ID cíle.
- Byl vyřešen problém , který bránil použitíQ# I nebo pythonového
qsharp
balíčku s Pythonem 3.8 nebo 3.9 při použitíconda
. - Opravili jsme problém , který způsoboval, že se nesprávně zvedaly vnořené podmíněné bloky.
- Vyřešili jsme problém , kdy se dříve nepodařilo zkompilovat kód pro Quantinuum target.
- Přidali jsme možnost, kdy generování QIR není target specifické.
- Opravili jsme chybu souběžnosti, která mohla občas způsobovat chybové ukončení, pokud se ve stejném procesu spustilo více instancí simulátoru.
- Vydané kvantové rozšíření Azure CLI verze 0.7.0:
- Pokud došlo k chybě, poskytněte uživatelům výstup kompilátoru, aby se usnadnilo řešení potíží.
- Opravili jsme chybu, kdy se nepodařilo načíst výstup z pracovních prostorů v umístění jiném než v jiné sadě jako výchozí.
- Zpracování úloh, které nevytvářely žádný výstup, je povoleno.
2021-07-27
QDK verze 0.18.2107.153439
- Při výpisu úloh v azure-quantum můžete filtrovat podle názvu úlohy, stavu úlohy a času vytvoření úlohy.
- Oprava regrese v akcích kódu kvůli nekompatibilitě s protokolem ve verzích VS 16.10.x
- Vylepšili jsme chybovou zprávu u příkazů magic IQ#
%azure.*
, když nejsou k dispozici žádné kvantové výpočty targets . azure-quantum
Balíček Pythonu řeší problém s přihlašovacími údaji MSAL ve Windows a teď vyžaduje minimální verze pro všechny závislosti, aby se zmírnily další potenciální problémy se staršími závislostmi.- Opravili jsme chybu vQ# I, při které se provádění úlohy nezdařilo, pokud byla definována jakákoli operace, která nebyla v daném targetobjektu podporována.
- Opravili jsme chybu vQ# I, kdy se některé programy targethardwaru, které podporují Basic Measurement Feedback profile , nesprávně oznamovaly, že Azure Quantum targetnepodporuje.
- Vydané kvantové rozšíření Azure CLI verze 0.6.1:
- Přidání příkazu pro žádost o zrušení úlohy:
az quantum job cancel
. - Opravili jsme chybu, kdy se odeslání úloh v Azure Quantum, které generují standardní výstup, hlásilo jako neúspěšné, i když úloha proběhla úspěšně.
- Povolili jsme odesílání úloh z jiného adresáře pomocí
--project
parametru.
- Přidání příkazu pro žádost o zrušení úlohy:
Aktualizace služby Azure Quantum
- Řešitel žíhání populace bez parametrů je teď k dispozici prostřednictvím plánu dřívějšího přístupu v Azure Quantum. Pokud si chcete zaregistrovat dřívější přístup, přečtěte si téma Žádost o dřívější přístup k Azure Quantum.
- Nápis Termíny na kartě Revize na portálu Azure Quantum je skrytý, pokud se během vytváření pracovního prostoru přidává jenom poskytovatel Microsoftu.
2021-06-25
QDK verze 0.18.2106.148911
- Teď můžete nakonfigurovat, kolik řešení chcete vrátit spuštěním řešitele.
- Nový balíček NuGet Microsoft.Quantum.AutoSubstitution, který po přidání do Q# projektu umožňuje anotovat operace pomocí atributu
SubstitutableOnTarget(AltOp, Sim)
. Při každém spuštění operace s poznámkami pak místo operace s poznámkami voláAltOp
.Sim
- Integrace s Azure-Identity poskytuje další mechanismy pro ověřování v Azure.
- .NET Microsoft.Azure.Management.Quantum teď vrací adresu URL s omezeným přístupem, abyste věděli víc a mohli požádat o plán omezeného přístupu.
- Podpora verze Preview pro hlučné simulace v otevřených systémech a reprezentacích stabilizátoru qsharp-runtime#714 Dokumentaci k simulátorům ve verzi Preview najdete tady .
- Použití quantum-viz.js jako modulu k vykreslení výstupu z poznámkového bloku jupyter %trace magic.
2021-06-01
QDK verze 0.17.2105.144881
- Vrátili jsme v klientovi
azure-quantum
Pythonu změnu, která mohla u některých uživatelů způsobovat problémy s ověřováním (viz problémy č. 66, č. 67).
2021-05-26
QDK verze 0.17.2105.143879
- Přidání nové funkce do klienta Pythonu
azure-quantum
pro podporu překladu binárních optimalizačních termínů znpz
do Azure Quantum Projděte si úplné podrobnosti v QDK Pythonu. - Publikovaná ukázka generování orákula QIR. Tento program umožňuje převést klasické Q# funkce na logických vstupech na kvantové implementace těchto funkcí z Q# hlediska operací na úrovni QIR. To umožňuje například implementovat kvantové algoritmy, které mnoho kvantových algoritmů snadno používá jako klasické funkce.
- Opravili jsme chybu, která bránila povolení generování QIR v imagi Dockeru iqsharp-base. Podrobnosti najdete tady.
- Implementovali jsme nové speciální funkce,
factorial
například alog-gamma
, v Microsoft.Quantum.Math (microsoft/QuantumLibraries#448). @TheMagicNacho Děkujeme za příspěvek (microsoft/QuantumLibraries#440)! - Klient C#: Změna typu formátu vstupních dat na "v2" pro kvantové výpočty.
- Vydané kvantové rozšíření Azure CLI verze 0.5.0: Upraveno pro nástroj az verze 2.23.0 a přidává informace o uživatelském agentovi o voláních služby Azure Quantum Service.
Aktualizace služby Azure Quantum
- Přidání řešníků PA (žíhání populace) a SSMC (substochastic Monte Carlo) spolu s přístupem k verzi Preview prostřednictvím specializovaného plánu, který je k dispozici pro podmnožinu zákazníků.
- Přidání podpory pro nové oblasti: Japonsko – východ, Japonsko – západ, Velká Británie – jih, Velká Británie – západ
- Pokud se zřizování nezdaří, nastavte zprostředkovatele do stavu selhání. Dříve by se zablokovala ve stavu spouštění/aktualizace.
- Na portálu bylo přidáno tlačítko nápovědy, které uživatele nasměruje na fórum podpory.
- Vykreslené náklady poskytovatele v lokalizované měně z Azure Marketplace.
- Na portálu jsme přidali tlačítko pro zpětnou vazbu, abyste získali zpětnou vazbu od uživatelů.
- Přidali jsme příručku Rychlý start na portálu v okně Přehled.
2021-05-10
QDK verze 0.16.2105.140472
- Oprava chyby závislostí v IQSharpu v System.Text.Json při odesílání úloh do Azure Quantum Úplné podrobnosti najdete v problému iqsharp#435.
- Vyřešený problém ovlivňující společné měření stavů s více qubity na některých kombinacích Pauliho základě, což vedlo k nesprávným hodnotám. Podrobnosti najdete v problému qsharp-runtime#680.
2021-04-27
QDK verze 0.16.2104.138035
- Vylepšené Q# odvození typů na základě algoritmu Hindley-Milner odvození typu.
- Přidání podpory pro typy NumPy v definicích koeficientů pro problémy v balíčku QIO azure-quantum Python
- Aktualizace souboru Swagger roviny řízení pro podporu plánů omezeného přístupu
- Přidání nové
StreamingProblem
třídy v balíčku AZURE-quantum Pythonu QIO Podporuje stejné rozhraní pro přidávání termínů do definice problému jakoProblem
třída . Jakmile se ale termíny přidají k problému, zadají se do fronty, aby je nahrálo vlákno na pozadí, a neuchovávají se v paměti pro budoucí použití. - Obnovila se normální velikost balíčků Microsoft.Quantum.Sdk a Microsoft.Quantum.Compiler. (Viz související poznámka v 0.15.2103.133969)
- Vylepšený výkon kompilátoru.
- Vydáno kvantové rozšíření Azure CLI verze 0.4.0: Vystavená adresa URL pro plány omezeného přístupu. Oprava regrese u nabízených příkazů závislých na rozhraních API Azure Marketplace.
2021-03-30
QDK verze 0.15.2103.133969
- Vydaná emise QIR jako experimentální funkce (https://github.com/microsoft/qsharp-compiler/tree/main/src/QsCompiler/QirGeneration#qir-emission---preview-feature). Zahrnutí potřebných balíčků LLVM, a zejména LlvmLibs, způsobí zvětšení velikosti balíčku Microsoft.Quantum.Sdk a Microsoft.Quantum.Compiler a odpovídajícím způsobem delší dobu stahování při prvním použití nových verzí. Pracujeme na tom, abychom tento počet v budoucnu zase snížili.
- Uvolněte omezení operace AllowAtMostNCallsCA (https://github.com/microsoft/QuantumLibraries/pull/431).
- Přidání chybějících rozhraní API pro matematickou knihovnu (https://github.com/microsoft/QuantumLibraries/issues/413)
- Odebrané GetQubitsAvailableToBorrow operation a GetQubitsAvailableToUse operation (https://github.com/microsoft/QuantumLibraries/issues/418).
- Opravili jsme Q# chybu jazykového serveru při inicializaci v sadě Visual Studio kvůli jsonReaderException (https://github.com/microsoft/qsharp-compiler/issues/885).
- Přidání podpory pro více vstupních bodů.
- Vydané kvantové rozšíření Az CLI verze 0.3.0: Aktualizace příkazu az quantum workspace create tak, aby vyžadoval explicitní seznam zprostředkovatelů Quantum a odebral výchozí. Opravili jsme problém s nesprávným parametrem location během odesílání úlohy.
2021-02-25
QDK verze 0.15.2102.129448
- Vylepšili jsmeQ# ladění uživatelského prostředí přidáním vodorovného posuvníku pro posouvání cest provádění i vizualizací základního stavu.
- Nové funkce, které budou představovat skupinový produkt a skupinu inverzní ve skupině Clifford s jedním qubitem, rychle definovat běžné Cliffordovy operátory s jedním qubitem a použít cliffordovy operátory s jedním qubitem jako operace. Další informace najdete v tématu problém č. 409.
- Řešení problému se zabezpečením v rozšíření Microsoft Quantum Development Kit pro Visual Studio Code Podrobnosti najdete v cve-2021-27082.
- Vydání kvantového rozšíření Az CLI verze 0.2.0: Přidání parametru --provider-sku-list do příkazu az quantum workspace create umožňujícího specifikaci zprostředkovatelů kvantových služeb Přidání skupiny příkazů az quantum offerings s 'list', 'accept-terms' a 'show-terms'.
2021-02-12
QDK verze 0.15.2102.128318
- Oprava chyby npm není rozpoznán jako interní nebo externí příkaz při vytváření projektů s rozšířením editoru Q# Visual Studio Code. Viz problém č. 848.
2021-01-29
QDK verze 0.15.2101.126940
- Přidání šablon projektů do kompilátoru Q# pro spustitelné soubory targetpro poskytovatele IonQ a Quantinuum
- Aktualizace Zvýrazňování syntaxe jádra IQ# tak, Q# aby zahrnovalo změny syntaxe zavedené ve verzi 0.15.2101125897
- Oprava podpory předávání polí jako vstupních argumentů programům Q# odeslaných do Azure Quantum přes
%azure.execute
, viz problém č. 401 - Oprava chyby "Oprávnění odepřeno" při použití
az
viqsharp-base
imagích Dockeru, viz problém č. 404 - Vydáno kvantové rozšíření Az CLI verze 0.1.0: Byl k dispozici nástroj příkazového řádku pro správu pracovních prostorů a odesílání úloh kvantových výpočtů.
2021-01-26
QDK verze 0.15.2101125897
- Zjednodušené přidělování qubitů, které poskytuje praktičtější syntaxi pro přidělování qubitů, najdete podrobnosti v Q# úložišti jazyků.
- Vytvořeno QDK-Python úložiště, které zahrnuje
azure-quantum
, klienta Pythonu pro odesílání úloh optimalizace inspirované kvantovou mechanikou do služby Azure Quantum aqdk
, včetněqdk.chemistry
, vrstvy pro pohodlí založené na Pythonu pro Q# chemickou knihovnu, která zahrnuje molekulární vizualizaci a funkce pro generování vstupních souborů pro několik chemických balíčků, jako jsou NWChem, Psi4 a OpenMolcas. - Závorky jsou teď volitelné pro typy operací a funkcí a
if
příkazy ,elif
,while
auntil
. Závorky profor
příkazy ,use
aborrow
jsou zastaralé. - Vylepšené odhady šířky pro optimální hloubku , viz podrobnosti.
- Použití unitární operace poskytnuté jako explicitní matice pomocí
ApplyUnitary
(QuantumLibraries#391, externí příspěvek Dmytra Fedoriaka) - Opraveno https://github.com/microsoft/iqsharp/issues/387 zmírněním dopadu na výkon přiQ# spouštění jádra I.
2020-11-25
QDK verze 0.14.2011120240
- Vyšší výkon kompilátoru s rychlejším načítáním referencí.
- Do specifikace jazyka byla přidána gramatika ANTLR proQ#.Q#
- Aktualizovali
Microsoft.Quantum.Preparation
jsme obor názvů tak, aby byl konzistentnější s průvodcem styly a principy návrhu rozhraní API a aby podporoval vyčištěné smíšené stavy s více daty (viz návrhy, poznámky a žádosti o přijetí změn č. 212, č. 322, č. 375, č. 376). - Závorky kolem výrazů opakovaného volání jsou nyní volitelné:
(Foo(x))(y)
mohou být zapsány jakoFoo(x)(y)
. - Uživatelům rozšíření sady Visual Studio nebo Visual Studio Code, kteří nainstalovali .NET 5 nebo Visual Studio 16.8, se může zobrazit výzva k instalaci .NET Core 3.1, aby mohli pokračovat v práci s rozšířeními.
Projděte si úplný seznam uzavřených žádostí o přijetí změn pro knihovny, kompilátor, modul runtime, ukázky, IQ# a katy.
2020-11-10
QDK verze 0.13.20111004
Tato verze zakáže funkce IntelliSense pro Q# soubory v sadě Visual Studio a Visual Studio Code, když soubor projektu není k dispozici. Tím se vyřeší problém, kdy po přidání nového Q# souboru do projektu můžou přestat fungovat funkce IntelliSense (viz qsharp-compiler#720).
2020-10-27
QDK verze 0.13.20102604
Tato verze obsahuje následující:
- Odhad prostředků teď současně generuje dosažitelné odhady hloubky a šířky také do počtu qubitů. Podrobnosti najdete tady .
Podívejte se na úplný seznam uzavřených žádostí o přijetí změn pro knihovny, kompilátor, modul runtime, ukázky, IQ# a kata.
2020-10-05
QDK verze 0.12.20100504
Tato verze opravuje chybu ovlivňující zatížení poznámkových Q# bloků (viz iqsharp#331).
2020-09-29
QDK verze 0.12.20092803
Tato verze obsahuje následující:
- Oznámení a specifikace konceptu kvantového přechodného vyjádření (QIR) určeného jako společný formát napříč různými front-endy a back-endy Podívejte se také na náš blog příspěvek o QIR.
- Spuštění našeho nového Q# úložiště jazyka , které obsahuje také úplnou Q# dokumentaci.
- Vylepšení výkonu pro QuantumSimulator pro programy zahrnující velký počet qubitů: lepší aplikace rozhodnutí o fúzi brány; vylepšená paralelizace v systému Linux; přidání inteligentního plánování provádění bran; opravy chyb.
- Funkce IntelliSense jsou nyní podporovány pro soubory v sadě Q# Visual Studio a Visual Studio Code i bez souboru projektu.
- Různá Q#vylepšení interoperability /Python a opravy chyb, včetně lepší podpory datových typů NumPy.
- Vylepšení oboru názvů Microsoft.Quantum.Arrays (viz microsoft/QuantumLibraries#313).
- Přidali jsme novou ukázku Repeat-Until-Success , která používá jenom dva qubity.
Od poslední verze se výchozí větev v každém z našich opensourcových úložišť přejmenovala na main
.
Podívejte se na úplný seznam uzavřených žádostí o přijetí změn pro knihovny, kompilátor, modul runtime, ukázky, IQ# a kata.
2020-08-25
QDK verze 0.12.20082513
Tato verze obsahuje následující:
- Nový obor názvů Microsoft.Quantum.Random, který nabízí pohodlnější způsob vzorkování náhodných hodnot v rámci Q# programů. (QuantumLibraries#311, qsharp-runtime#328)
- Vylepšený obor názvů Microsoft.Quantum.Diagnostics o novou
DumpOperation
operaci a nové operace pro omezení přidělování qubitů a volání oracle. (QuantumLibraries#302) - Nový
%project
příkaz magic v IQ# aqsharp.projects
rozhraní API v Pythonu pro podporu odkazů na Q# projekty mimo aktuální složku pracovního prostoru Aktuální omezení této funkce najdete v tématu iqsharp#277 . - Podpora automatického načítání
.csproj
souborů pro hostitele VQ#/Pythonu, která umožňuje načtení externích odkazů na projekt nebo balíček při inicializaci. Další informace najdete v průvodci používánímQ# s pythonovými a jupyter notebooky. - Přidání
ErrorCorrection.Syndrome
ukázky - Přidání laditelné spojky do
SimpleIsing
. - Aktualizovaná
HiddenShift
ukázka. - Přidání ukázky pro řešení Sudoku pomocí Groverova algoritmu (externí příspěvek)
- Obecné opravy chyb
Podívejte se na úplný seznam uzavřených žádostí o přijetí změn pro knihovny, kompilátor, modul runtime, ukázky, IQ# a kata.
2020-07-21
QDK verze 0.12.20072031
Tato verze obsahuje následující:
- Otevřené obory názvů v Q# poznámkových blocích jsou teď k dispozici při spouštění všech budoucích buněk. To například umožňuje, aby se obory názvů otevíraly jednou v buňce v horní části poznámkového bloku a nemusely se otevírat relevantní obory názvů v každé buňce kódu. Nový
%lsopen
příkaz magic zobrazí seznam aktuálně otevřených oborů názvů.
Podívejte se na úplný seznam uzavřených žádostí o přijetí změn pro knihovny, kompilátor, modul runtime, ukázky, IQ# a kata.
2020-07-02
QDK verze 0.12.20070124
Tato verze obsahuje následující:
- Nový
qdk-chem
nástroj pro převod starších formátů serializace problémů s elektronickou strukturou (například FCIDUMP) na Broombridge - Nové funkce a operace v
Microsoft.Quantum.Synthesis
oboru názvů pro koherentní použití klasických orákula pomocí transformačních a rozkladových algoritmů založených na syntéze. - Teď povolujemQ# argumenty pro
%simulate
příkazy ,%estimate
a další magické příkazy. Další informace najdete v referenčních informacích k příkazům%simulate
magic. - Možnosti zobrazení nové fáze v IQ#. Další informace najdete v referenčních informacích k příkazům
%config
magic. - JáQ# a balíček Pythonu
qsharp
jsou teď k dispozici prostřednictvím balíčků conda (qsharp a iqsharp), aby se zjednodušila místní instalace Q# funkcí Jupyteru a Pythonu do prostředí Conda. Další informace najdete v průvodcích instalací pomocí PythonuQ#. - Při použití simulátoru už qubity nemusí být při vydání ve stavu |0⟩, ale je možné je automaticky resetovat, pokud byly měřeny bezprostředně před vydáním.
- Aktualizace, aby uživatelé I usnadniliQ# používání balíčků knihovny s různými verzemi sady QDK, což vyžaduje, aby se místo stejné verze shodovala pouze čísla hlavních & podverze.
- Odebraný
Microsoft.Quantum.Primitive.*
zastaralý obor názvů - Přesunuté operace:
Microsoft.Quantum.Intrinsic.Assert
is nowMicrosoft.Quantum.Diagnostics.AssertMeasurement
Microsoft.Quantum.Intrinsic.AssertProb
is nowMicrosoft.Quantum.Diagnostics.AssertMeasurementProbability
- Opravy chyb
Podívejte se na úplný seznam uzavřených žádostí o přijetí změn pro knihovny, kompilátor, modul runtime, ukázky, IQ# a kata.
2020-06-04
QDK verze 0.11.2006.403
Tato verze opravuje chybu ovlivňující kompilaci Q# projektů.
2020-06-03
QDK verze 0.11.2006.207
Tato verze obsahuje následující:
- Q# Poznámkové bloky a hostitelské programy Pythonu už při přítomnosti vstupního bodu neselžou Q# .
- Aktualizace standardní knihovny pro použití modifikátorů přístupu
- Kompilátor teď povoluje modul plug-in pro kroky přepsání mezi vestavěnými kroky přepsání.
- V souladu s plánem popsaným v našich principech rozhraní API bylo odebráno několik vyřazených funkcí a operací. Q# programy a knihovny, které se vytvářejí bez upozornění ve verzi 0.11.2004.2825, budou nadále fungovat beze změny.
Podívejte se na úplný seznam uzavřených žádostí o přijetí změn pro knihovny, kompilátor, modul runtime, ukázky, IQ# a kata.
Poznámka
Tato verze obsahuje chybu, která ovlivňuje kompilaci Q# projektů. Doporučujeme upgradovat na novější verzi.
2020-04-30
QDK verze 0.11.2004.2825
Tato verze obsahuje následující:
- Nová podpora aplikací Q# , které už nevyžadují soubor hostitele jazyka C# nebo Python. Další informace o tom, jak začít s aplikacemi Q# , najdete tady.
- Aktualizovali jsme rychlý start generátoru náhodných čísel, takže už nevyžaduje hostitelský soubor v C# nebo Pythonu. Podívejte se na aktualizovaný rychlý start.
- Vylepšení výkonu imagí IQ# Dockeru
Poznámka
Q# aplikace používající nový @EntryPoint()
atribut se v současné době nedají volat z hostitelských programů Pythonu nebo .NET.
Další informace najdete v průvodcích interoperabilitou Pythonu a .NET .
2020-03-31
QDK verze 0.11.2003.3107
Tato verze obsahuje opravy menších chyb pro verzi 0.11.2003.2506.
2020-03-26
QDK verze 0.11.2003.2506
Tato verze obsahuje následující:
- Nová podpora pro modifikátory přístupu v Q#
- Aktualizováno na .NET Core SDK 3.1
Podívejte se na úplný seznam uzavřených PR pro knihovny, kompilátor, modul runtime, ukázky a katy.
2020-02-27
QDK verze 0.10.2002.2610
Tato verze obsahuje následující:
- Nová knihovna pro kvantové strojové učení. Další informace najdete na naší dokumentační stránce QML.
- Opravy chyb IQ# , jejichž výsledkem je až 10–20x vyšší výkon při načítání balíčků NuGet
Podívejte se na úplný seznam uzavřených PR pro knihovny, kompilátor, modul runtime, ukázky a katy.
2020-01-29
QDK verze 0.10.2001.2831
Tato verze obsahuje následující:
- Nový balíček NuGet Microsoft.Quantum.SDK, který při vytváření nových projektů nahrazuje balíček NuGet Microsoft.Quantum.Development.Kit. Balíček NuGet Microsoft.Quantum.Development.Kit je stále podporován pro stávající projekty.
- Q# Podpora rozšíření kompilátoru povolená novým balíčkem NuGet Microsoft.Quantum.SDK. Další informace najdete v dokumentaci na GitHubu, v ukázce rozšíření kompilátoru a v Q# blogu pro vývojáře.
- Přidání podpory pro .NET Core 3.1. Důrazně doporučujeme mít nainstalovanou verzi 3.1.100, protože sestavení se staršími verzemi sady .NET Core SDK může způsobovat problémy.
- Nové transformace kompilátoru dostupné v oboru názvů Microsoft.Quantum.QsCompiler.Experimental
- Nová funkce pro zveřejnění výstupních vektorů stavu jako HTML v IQ#
- Přidání podpory pro EstimateFrequencyA do oboru názvů Microsoft.Quantum.Characterization kvůli Hadamardovu a SWAP testu
- Obor názvů AmplitudeAmplification teď používá Q# průvodce stylem.
Podívejte se na úplný seznam uzavřených PR pro knihovny, kompilátor, modul runtime, ukázky a katy.
2019-12-05
QDK verze 0.10.1912.0501
Tato verze obsahuje následující:
- Nový test atributu pro Q# testování částí. Viz aktualizovaná dokumentace k rozhraní API a aktualizovaného průvodce laděním testování &tady.
- Přidání trasování zásobníku, pokud došlo k Q# chybě spuštění programu
- Podpora zarážek v editoru Visual Studio Code kvůli aktualizaci v rozšíření OmniSharp C# Visual Studio Code
Podívejte se na úplný seznam uzavřených PR pro knihovny, kompilátor, modul runtime, ukázky a katy.
2019-11-17
QDK verze 0.10.1911.1607
Tato verze obsahuje následující:
- Zlepšení výkonu pro kvantové katy a poznámkové bloky Jupyter
Podívejte se na úplný seznam uzavřených PR pro knihovny, kompilátor, modul runtime, ukázky a katy.
2019-11-01
QDK verze 0.10.1911.307
Tato verze obsahuje následující:
- Aktualizace do editoru Visual Studio Code & Rozšíření sady Visual Studio pro nasazení jazykového serveru jako samostatného spustitelného souboru, která eliminují závislost na verzích sady .NET Core SDK
- Migrace na .NET Core 3.0
- Změna způsobující chybu pro Microsoft.Quantum.Simulation.Core.IOperationFactory se zavedením nové metody
Fail
. Týká se to jenom vlastních simulátorů, které nerozšířuje SimulatorBase. Další informace najdete v žádosti o přijetí změn na GitHubu. - Nová podpora pro zastaralé atributy
Podívejte se na úplný seznam uzavřených PR pro knihovny, kompilátor, modul runtime, ukázky a katy.
2019-09-30
QDK verze 0.9.1909.3002
Tato verze obsahuje následující:
- Nová podpora dokončování Q# kódu v sadě Visual Studio 2019 (verze 16.3 & novější) & Visual Studio Code
- Nová kvantová kata pro kvantové sčítačky
Podívejte se na úplný seznam uzavřených PR pro knihovny, kompilátor, modul runtime, ukázky a katy.
2019-08-29
QDK verze 0.9.1908.2902
Tato verze obsahuje následující:
- Nová podpora příkazů konjugace v Q#
- Nové akce kódu v kompilátoru, například náhrada, přidání dokumentace a aktualizace položky jednoduchého pole
- Přidané instalační šablony a nové příkazy projektu do rozšíření editoru Visual Studio Code
- Přidané nové varianty kombinátoru ApplyIf, například Microsoft.Quantum.Canon.ApplyIfOne
- Další kvantové katy převedené do poznámkových bloků Jupyter
- Rozšíření sady Visual Studio Extension nyní vyžaduje Visual Studio 2019
Podívejte se na úplný seznam uzavřených PR pro knihovny, kompilátor, modul runtime, ukázky a katy.
Tady najdete souhrn změn s pokyny k upgradu stávajících programů. Další informace o těchto změnách najdete na Q# blogu vývojářů.
2019-07-12
QDK verze 0.8.1907.1701
Tato verze obsahuje následující:
- Nové indexování pro řezy polí. Další informace najdete v referenčních informacích k jazyku.
- Přidání souboru Dockerfile hostovaného ve službě Microsoft Container Registry. Další informace najdete v úložišti IQ#.
- Zásadní změna simulátoru trasování, aktualizace nastavení konfigurace, změny názvů; aktualizované názvy najdete v prohlížeči rozhraní .NET API.
Podívejte se na úplný seznam uzavřených žádostí o přijetí změn (PR) pro knihovny a ukázky.
2019-05-31
QDK verze 0.7.1905.3109
Tato verze obsahuje následující:
- Doplňky jazyka Q#
- Aktualizace do chemické knihovny
- Nová číselná knihovna
Podívejte se na úplný seznam uzavřených žádostí o přijetí změn (PR) pro knihovny a ukázky.
Změny jsou zde shrnuté a pokyny k upgradu stávajících programů. Další informace o těchto změnách najdete na Q# blogu vývojářů.
Q# syntaxe jazyka
Tato verze přidává novou Q# syntaxi jazyka:
- Byly přidány pojmenované položky pro uživatelsky definované typy.
- Konstruktory uživatelsky definovaných typů se teď dají použít jako funkce.
- Byla přidána podpora pro příkazy copy-and-update a apply-and-reassign v uživatelsky definovaných typech.
- Opravný blok pro smyčky repeat-until-success je teď volitelný.
- Nyní podporujeme smyčky while ve funkcích (ne v operacích).
Knihovna
Tato verze přidává numerickou knihovnu: Přečtěte si další informace o tom, jak používat novou numerickou knihovnu a vyzkoušejte nové ukázky. PR č. 102.
Tato verze přeuspořádá, rozšiřuje a aktualizuje chemickou knihovnu:
- Vylepšuje modularitu komponent, rozšiřitelnost a obecné vyčištění kódu. PR č. 58.
- Přidává podporu pro multireferenční vlnové funkce, jak řídké multireferenční vlnové funkce, tak i UCC (unitárně spřažený klastr). PR č. 110.
- (Děkujeme!) Přispěvatel 1QBit (@valentinS4t1qbit): Hodnocení energie pomocí variační ansatz. PR č. 120.
- Aktualizace schématu Broombridge na novou verzi 0.2 přidáním specifikace unitárně spřaženého klastru. Problém č. 65.
- Přidání interoperability Pythonu do funkcí chemické knihovny. Vyzkoušejte si tuto ukázku. Problém č. 53PR č. 110.
2019-05-03
QDK verze 0.6.1905
Tato verze obsahuje následující:
- Provede změny jazyka.Q#
- Změna struktury Quantum Development Kit knihoven
- Přidá nové ukázky.
- Opravuje chyby. Několik uzavřených žádostí o přijetí změn (PR) pro knihovny a ukázky.
Tady najdete souhrn změn a pokyny k upgradu stávajících programů. Další informace o těchto změnách si můžete přečíst v blogu devblogs.microsoft.com/qsharp.
Q# syntaxe jazyka
Tato verze přidává novou Q# syntaxi jazyka:
- Přidán zkrácený způsob, jak vyjádřit specializace kvantových operací (řízení a adjungace) pomocí operátorů
+
. Stará syntaxe je zastaralá. Programy, které používají starou syntaxi (například: adjoint
), budou dál fungovat, ale vygeneruje se upozornění při kompilaci. - Přidání nového ternárního operátoru pro kopírování a aktualizaci
w/
<-
, lze použít k vyjádření vytvoření pole jako úpravy existujícího pole. - Přidejte společný příkaz apply-and-reassign,
+=
například ,w/=
. - Přidán způsob, jak zadat krátký název pro obory názvů v direktivách open.
V této verzi už neumožňujeme zadání elementu pole na levé straně příkazu set. Důvodem je, že syntaxe naznačuje, že tato pole jsou měnitelná, a přitom ve skutečnosti výsledkem této operace bylo vždy vytvoření nového pole s modifikací. Místo toho se vygeneruje chyba kompilátoru s návrhem na použití nového operátoru copy-and-update , w/
k dosažení stejného výsledku.
Restrukturalizace knihoven
Tato verze reorganizuje knihovny, aby se umožnil jejich růst konzistentním způsobem:
Přejmenuje obor názvů Microsoft.Quantum.Primitive na Microsoft.Quantum.Intrinsic. Tyto operace implementuje target počítač. Obor názvů Microsoft.Quantum.Primitive je zastaralý. Upozornění modulu runtime doporučuje, když programy volají operace a funkce pomocí zastaralých názvů.
Balíček Microsoft.Quantum.Canon se přejmenoval na Microsoft.Quantum.Standard. Tento balíček obsahuje obory názvů, které jsou společné pro většinu Q# programů. To zahrnuje:
- Microsoft.Quantum.Canon pro běžné operace
- Microsoft.Quantum.Arithmetic pro aritmetické operace pro obecné účely
- Microsoft.Quantum.Preparation pro operace používané k přípravě stavu qubitu
- Microsoft.Quantum.Simulation pro funkce simulace
Při této změně můžou programy, které obsahují jeden příkaz open pro obor názvů Microsoft.Quatum.Canon, najít chyby sestavení, pokud program odkazuje na operace, které byly přesunuty do dalších tří nových oborů názvů. Přidání dalších příkazů otevření pro tři nové obory názvů představuje jednoduchý způsob, jak tento problém vyřešit.
Několik oborů názvů je zastaralých, protože obsažené operace byly přeorganizovány do jiných oborů názvů. Programy, které používají tyto obory názvů, nadále fungují a upozornění při kompilaci označuje obor názvů, ve kterém je operace definována.
Obor názvů Microsoft.Quantum.Arithmetic byl normalizován, aby používal uživatelsky definovaný typ LittleEndian user defined type. V případě potřeby převodu na formát Little Endian použijte funkci BigEndianAsLittleEndian.
Názvy několika volatelných objektů (funkcí a operací) byly změněny tak, aby odpovídaly průvodci stylemQ#. Staré názvy volatelných položek jsou zastaralé. Programy, které používají staré volatelné soubory, nadále fungují s upozorněním v době kompilace.
Nové ukázky
Přidali jsme ukázku použití Q# s ovladačem jazyka F#.
"Děkujeme!" následujícímu přispěvateli do našeho otevřeného základu kódu na adrese https://github.com/Microsoft/Quantum. Tyto příspěvky přidávají do bohatých ukázek Q# kódu:
Migrace existujících projektů do verze 0.6.1905
Pokyny k aktualizaci sady QDK najdete v instalační příručce.
Pokud máte existující Q# projekty z verze 0.5 Quantum Development Kitnástroje , proveďte následující postup migrace těchto projektů na nejnovější verzi.
Projekty se musí upgradovat v pořadí. Pokud máte řešení s více projekty, aktualizujte každý projekt v pořadí, v jakém jsou odkazovány.
Z příkazového řádku příkazem Run
dotnet clean
odeberte všechny existující binární soubory a mezilehlé soubory.V textovém editoru
.csproj
upravte soubor tak, aby se změnila verze všechPackageReference
Microsoft.Quantum
souborů na verzi 0.6.1904, a změňteMicrosoft.Quantum.Canon
název balíčku naMicrosoft.Quantum.Standard
, například:<PackageReference Include="Microsoft.Quantum.Standard" Version="0.6.1905.301" /> <PackageReference Include="Microsoft.Quantum.Development.Kit" Version="0.6.1905.301" />
Z příkazového řádku spusťte tento příkaz:
dotnet msbuild
Po spuštění tohoto příkazu může být stále potřeba ručně řešit chyby kvůli výše uvedeným změnám. V mnoha případech tyto chyby hlásí také IntelliSense v sadě Visual Studio nebo Visual Studio Code.
- Otevřete kořenovou složku projektu nebo obsahující řešení v sadě Visual Studio 2019 nebo editoru Visual Studio Code.
- Po otevření
.qs
souboru v editoru byste měli vidět výstup Q# jazykové přípony v okně výstupu. - Po úspěšném načtení projektu (uvedené v okně výstupu) otevřete každý soubor a ručně vyřešte všechny zbývající problémy.
Poznámka
- Pro verzi 0.6 jazykový server, který je součástí Quantum Development Kit nástroje, nepodporuje více pracovních prostorů.
- Pokud chcete pracovat s projektem v editoru Visual Studio Code, otevřete kořenovou složku obsahující vlastní projekt a všechny odkazované projekty.
- Aby bylo možné pracovat s řešením v sadě Visual Studio, musí být všechny projekty obsažené v řešení ve stejné složce jako řešení nebo v jedné z jeho podsložek.
- Odkazy mezi projekty migrovanými do verze 0.6 a vyšší a projekty, které používají starší verze balíčků, nejsou podporované.
2019-04-15
QDK verze 0.5.1904
Tato verze obsahuje opravy chyb.
2019-03-27
QDK verze 0.5.1903
Tato verze obsahuje následující:
Přidává podporu pro Jupyter Notebook, která nabízí skvělý způsob, jak získat informace o Q#. Podívejte se na nové ukázky Jupyter Notebook a naučte se psát vlastní poznámkové bloky.
Přidává do knihovny Quantum Canon aritmetiku celočíselné sčítačky. Projděte si také Jupyter Notebook, který popisuje způsob použití nových celočíselných sčítaček.
Oprava chyby pro problém DumpRegister hlášených komunitou (č. 148).
Přidali jsme možnost vracet se z výkazu o využití a výpůjčním výpisu.
Přepracování úvodní příručky.
2019-02-27
QDK verze 0.5.1902
Tato verze obsahuje následující:
Přidává podporu pro hostitele Pythonu pro různé platformy. Balíček
qsharp
pro Python usnadňuje simulaci Q# operací a funkcí z Pythonu. Přečtěte si další informace o interoperabilitě Pythonu.Rozšíření Visual Studio a Visual Studio Code teď podporují přejmenování symbolů (například funkcí a operací).
Rozšíření sady Visual Studio se teď dá nainstalovat do sady Visual Studio 2019.
2019-01-30
QDK verze 0.4.1901
Tato verze obsahuje následující:
- Přidá podporu pro nový primitivní typ BigInt, který představuje celé číslo se signýmým kódem libovolné velikosti. Přečtěte si další informace o BigIntu.
- Přidává nový simulátor Toffoli, rychlý simulátor pro speciální účely, který dokáže simulovat kvantové operace X, CNOT a více řízených Kvantových operací X s velkým počtem qubitů. Přečtěte si další informace o simulátoru Toffoli.
- Přidá jednoduchý nástroj pro odhad prostředků, který odhaduje prostředky potřebné ke spuštění dané instance Q# operace na kvantovém počítači. Přečtěte si další informace o estimátoru prostředků.
2018-11-28
QDK verze 0.3.1811.2802
I když ho naše rozšíření VS Code nepoužívá, bylo označeno příznakem a odebráno z marketplace během vymazání rozšíření souvisejících s balíčkem event-stream
npm.
Tato verze odebírá všechny běhové závislosti, které by mohly způsobit, že rozšíření aktivuje nějakou výstrahu.
Pokud jste rozšíření nainstalovali dříve, musíte ho znovu nainstalovat tak, že navštívíte rozšíření Microsoft Quantum Development Kit for Visual Studio Code na Webu Visual Studio Marketplace a stisknete Instalovat. Omlouváme se za nepříjemnosti.
2018-11-20
QDK verze 0.3.1811.1511
Tato verze opravuje chybu, která bránila některým uživatelům v úspěšném načtení rozšíření sady Visual Studio.
2018-11-02
QDK verze 0.3.1811.203
Tato verze zahrnuje několik oprav chyb, včetně:
- Vyvolání
DumpMachine
může v určitých situacích změnit stav simulátoru. - Odebrání upozornění kompilace při sestavování projektů pomocí verze .NET Core dřívější než 2.1.403.
- Vyčištění dokumentace, speciálně popisů zobrazovaných při najetí myší v editoru VS Code nebo sadě Visual Studio.
2018-10-29
QDK verze 0.3.1810.2508
Tato verze zahrnuje nové funkce jazyka a vylepšené vývojové prostředí:
- Tato verze zahrnuje jazykový server pro Q#a integrace klientů pro Visual Studio a Visual Studio Code. To umožňuje novou sadu funkcí IntelliSense spolu s živou odezvou během psaní ve formě podtržení chyb a upozornění.
- Tato aktualizace významně vylepšuje diagnostické zprávy, a to díky snadné navigaci a přesným rozsahům pro diagnostiku a dalším podrobnostem v informacích zobrazených při najetí myší.
- Jazyk Q# byl rozšířen způsoby, které sjednocují způsoby, jak můžou vývojáři provádět běžné operace, a nová vylepšení jazykových funkcí, aby bylo možné efektivně vyjádřit kvantové výpočty. V této verzi došlo k několika zásadním změnám Q# jazyka.
Tato verze taky obsahuje novou kvantovou chemickou knihovnu.
- Chemická knihovna obsahuje nové funkce hamiltoniánských simulací, mimo jiné tyto:
- Trotter-Suzukiho integrátory libovolného sudého řádu pro lepší přesnost simulace.
- Simulační technika qubitizace s optimalizací zaměřenou na chemii ke snížení složitosti hradla $T$.
- Nové opensourcové schéma, označované jako schéma Broombridge (odkaz na orientační bod oslavovaný jako místo narození hamiltoniánů), je zavedeno pro import reprezentací molekul a jejich simulaci.
- K dispozici je více chemických reprezentací definovaných pomocí schématu Broombridge. Tyto modely byly vygenerovány pomocí NWChem, což je opensourcový chemický nástroj pro vysoce výkonné výpočty.
- Kurzy a ukázky popisují, jak použít chemickou knihovnu a datové modely Broombridge k těmto akcím:
- Konstrukce jednoduchých hamiltoniánů pomocí chemické knihovny
- Vizualizace energií základního a excitovaného stavu hydridu lithného pomocí odhadu fáze.
- Provádění odhadů prostředků pro kvantovou chemickou simulaci.
- Odhad energetických úrovní molekul reprezentovaných schématem Broombridge.
- Dokumentace popisuje, jak pomocí NWChem vygenerovat další chemické modely pro kvantovou simulaci pomocí Q#.
Přečtěte si další informace o Quantum Development Kit chemické knihovně.
S novou chemickou knihovnou rozdělujeme knihovny do nového úložiště GitHub Microsoft/QuantumLibraries. Ukázky zůstanou v úložišti Microsoft/Quantum. Uvítáme příspěvky do obou!
Tato verze obsahuje opravy chyb a funkce pro problémy hlášené komunitou.
Komunitní příspěvky
"Děkujeme!" následujícím přispěvatelům do našeho otevřeného základu kódu na adrese https://github.com/Microsoft/Quantum. Tyto příspěvky přidávají do bohatých ukázek Q# kódu:
Rolf Huisman (@RolfHuisman): Vylepšili jsme prostředí pro QASM aQ# vývojáře vytvořením QASM pro Q# překladatele. PR č. 58.
Andrew Helwer (@ahelwer): Přispěl ukázkou implementace hry CHSH, kvantové hry související s nelokalitou. PR č. 84.
Děkujeme také Rohit Gupta (@guptarohit,PR č. 90), Tanaka Takayoshi (@tanaka-takayoshi,PRč. 289) a Lee James O'Riordan (@mlxd,PRč. 96) za jejich práci na vylepšení obsahu pro nás všechny prostřednictvím dokumentace, pravopisu a překlepů oprav!
2018-09-10
QDK verze 0.2.1809.701
Tato verze zahrnuje opravy chyb pro problémy hlášené komunitou.
2018-06-30
QDK verze 0.2.1806.3001
Tato verze je jen rychlou opravou problému č. 48 hlášeného na GitHubu (Q# kompilace se nezdaří, pokud uživatelské jméno obsahuje prázdné místo). Použijte stejné pokyny k aktualizaci jako pro 0.2.1806.1503
s odpovídající novou verzí (0.2.1806.3001-preview
).
2018-06-22
QDK verze 0.2.1806.1503
Tato verze zahrnuje několik příspěvků komunity a vylepšené možnosti ladění a vyšší výkon. Konkrétně se jedná o tyto:
- Vylepšení výkonu malých i velkých simulací pro počítač QuantumSimulator target
- Vylepšené funkce ladění.
- Komunitní příspěvky v opravách chyb, nové funkce pomocníka, operace a nové ukázky.
Zlepšení výkonu
Tato aktualizace zahrnuje vylepšení výkonu pro simulaci velkého a malého počtu qubitů pro všechny target počítače. Toto vylepšení je snadno viditelné u simulace H2 , která je standardním vzorkem v objektu Quantum Development Kit.
Vylepšené funkce ladění
Tato aktualizace přidává nové funkce ladění:
- Byly přidány dvě nové operace a @"microsoft.quantum.extensions.diagnostics.dumpmachine"@"microsoft.quantum.extensions.diagnostics.dumpregister" tato výstupní vlnová funkce informace o kvantovém target počítači v daném okamžiku.
- V sadě Visual Studio se teď pravděpodobnost měření $\ket{1}$ na jednom qubitu automaticky zobrazuje v okně ladění počítače QuantumSimulator target .
- V sadě Visual Studio se zlepšilo zobrazení vlastností proměnných v oknech ladění Autos a Locals.
Přečtěte si další informace o testování a ladění.
Komunitní příspěvky
Komunita coderů Q# se rozrůstá a s radostí vidíme první knihovny a ukázky, kterými přispěli uživatelé, které byly odeslány do našeho otevřeného základu kódu na adrese https://github.com/Microsoft/quantum. Velký "Děkujeme!" následujícím přispěvatelům:
- Mathias Soeken (@msoeken): přispěl ukázkou definující metodu logické syntézy na základě transformace, která konstruuje sítě Toffoli k implementaci dané permutace. Kód je napsaný výhradně ve Q# funkcích a operacích. PR č. 41.
- RolfHuisman (@RolfHuisman): Microsoft MVP Rolf Huisman přispěl ukázkou, která generuje plochý kód QASM z Q# kódu pro omezenou třídu programů, které nemají klasický tok řízení a omezené kvantové operace. PR č. 59
- Sarah Kasier (@crazy4pi314): pomohla vylepšit základ kódu odesláním funkce knihovny pro řízené operace. PR č. 53
- Jessica Lemieux (@Lemj3111): opravili @"microsoft.quantum.canon.quantumphaseestimation" a vytvořili nové testy jednotek. PR č. 54
- Tama McGlinn (@TamaMcGlinn): vyčistili ukázku teleportace tím, že se ujistili, že je instance QuantumSimulator odstraněna. PR č. 20
Navíc děkujeme těmto softwarovým inženýrům Microsoftu od přispěvatelů z týmu commercial engineering services, kteří během hackathonu udělali v naší dokumentaci cenné změny. Jejich změny výrazně vylepšily přehlednost a onboarding pro všechny z nás:
- Sascha Corti
- Mihaela Curmei
- John Donnelly
- Kirill Logachev
- Jan Pospisil
- Anita Ramanan
- Frances Tibble
- Alessandro Vozza
Aktualizace stávajících projektů
Tato verze je plně zpětně kompatibilní. Stačí aktualizovat balíčky NuGet ve vašich projektech na verzi 0.2.1806.1503-preview
a provést úplné opětovné sestavení , aby se zajistilo, že se všechny přechodné soubory znovu vygenerují.
V aplikaci Visual Studio postupujte podle obvyklých pokynů jak aktualizovat balíček.
Chcete-li aktualizovat šablony projektů pro příkazový řádek, spusťte následující příkaz:
dotnet new -i "Microsoft.Quantum.ProjectTemplates::0.2.1806.1503-preview"
Po spuštění tohoto příkazu budou všechny nové projekty vytvořené pomocí dotnet new <project-type> -lang Q#
automaticky používat tuto verzi Quantum Development Kit.
Chcete-li aktualizovat existující projekt, aby používal nejnovější verze, spusťte následující příkaz v adresáři pro každý projekt:
dotnet add package Microsoft.Quantum.Development.Kit -v "0.2.1806.1503-preview"
dotnet add package Microsoft.Quantum.Canon -v "0.2.1806.1503-preview"
Pokud existující projekt také používá integraci XUnit pro testování částí, pak je možné použít podobný příkaz i k aktualizaci balíčku:
dotnet add package Microsoft.Quantum.Xunit -v "0.2.1806.1503-preview"
V závislosti na verzi XUnit, kterou testovací projekt používá, může být také nutné aktualizovat XUnit na verzi 2.3.1:
dotnet add package xunit -v "2.3.1"
Po aktualizaci se ujistěte, že jste odebrali všechny dočasné soubory vygenerované předchozí verzí, a to takto:
dotnet clean
Známé problémy
Žádné další známé problémy, které by bylo potřeba nahlásit.
2018-02-26
QDK verze 0.2.1802.2202
Tato verze přináší podporu pro vývoj na více platformách, interoperabilitu jazyků a vylepšení výkonu. Konkrétně:
- Podpora pro vývoj na bázi systémů macOS a Linux.
- Kompatibilita .NET Core, včetně podpory pro Visual Studio Code napříč platformami.
- Úplná licence Open Source pro Quantum Development Kit knihovny.
- Vylepšený výkon simulátoru v projektech vyžadujících 20 nebo více qubitů.
- Interoperabilita s jazykem Python (verze Preview dostupná ve Windows).
Edice .NET
Platforma .NET je dostupná prostřednictvím dvou různých edic, .NET Framework, která je součástí Windows, a opensourcové .NET Core, která je k dispozici pro Windows, macOS a Linux. V této verzi je většina částí Quantum Development Kit k dispozici jako knihovny pro .NET Standard, což je sada tříd společných pro architekturu i jádro. Tyto knihovny jsou pak kompatibilní s nejnovějšími verzemi rozhraní .NET Framework nebo .NET Core.
Aby se zajistilo, že projekty napsané pomocí Quantum Development Kit metody jsou co nejnosnější, doporučujeme projekty knihoven napsané pomocí Quantum Development Kittarget .NET Standard. Konzolové aplikace by měly target mít .NET Core. Od předchozích verzí jediného podporovaného Quantum Development Kit rozhraní .NET Framework možná budete muset migrovat stávající projekty. Podrobnosti o tom, jak to udělat, najdete níže.
Migrace projektu
Projekty vytvořené pomocí předchozích verzí Quantum Development Kit nástroje stále fungují, pokud neaktualizujete balíčky NuGet, které se v nich používají. Pokud chcete migrovat existující kód na novou verzi, proveďte následující kroky:
- Vytvořte nový projekt .NET Core pomocí správného typu Q# šablony projektu (aplikace, knihovna nebo testovací projekt).
- Zkopírujte existující
.qs
soubory a.fs
.cs
/ze starého projektu do nového projektu (pomocí možnosti Přidat > existující položku). Nekopírujte soubor AssemblyInfo.cs. - Sestavte a spusťte nový projekt.
Všimněte si, že operace RandomWalkPhaseEstimation z oboru názvů Microsoft.Quantum.Canon byla přesunuta do oboru názvů Microsoft.Research.Quantum.RandomWalkPhaseEstimation v úložišti Microsoft/Quantum-NC .
Známé problémy
- Možnost
--filter
nefungujedotnet test
správně pro testy napsané v Q#. V důsledku toho není možné v editoru Visual Studio Code spouštět testy jednotlivých jednotek. k opětovnému spuštění všech testů doporučujeme použítdotnet test
příkazový řádek.
2018-01-18
QDK verze 0.1.1801.1707
Tato verze opravuje některé problémy hlášené komunitou. Konkrétně:
- Simulátor teď funguje s dřívějšími procesory bez podpory AVX.
- Místní nastavení desetinných míst nezpůsobí selhání analyzátoru Q# .
- Primitivní operace
SignD
nyní vrací typInt
, a neDouble
.
2017-12-11
QDK verze 0.1.1712.901
Známé problémy
Požadavky na hardware a software
- Simulátor, který je součástí nástroje , Quantum Development Kit vyžaduje ke spuštění 64bitovou instalaci systému Microsoft Windows.
- Kvantový simulátor Microsoftu, který se instaluje Quantum Development Kits , používá rozšíření AVX (Advanced Vector Extensions) a vyžaduje procesor s podporou AVX. Procesory Intel dodávané v 1. čtvrtletí 2011 (Sandy Bridge) nebo novější podporují AVX. Vyhodnocujeme podporu starších procesorů a podrobnosti můžeme oznámit později.
Vytvoření projektu
- Při vytváření řešení (.sln), které používá Q#, musí být řešení o jeden adresář vyšší než každý projekt (
.csproj
) v řešení. Při vytváření nového řešení to můžete udělat tak, že v dialogovém okně Nový projekt zaškrtnete políčko Vytvořit adresář pro řešení. Pokud to neuděláte, Quantum Development Kit musí se balíčky NuGet nainstalovat ručně.
Q#
- IntelliSense nezobrazuje správné chyby kódu Q# . Ujistěte se, že se v seznamu chyb sady Visual Studio zobrazují chyby sestavení, aby se zobrazily správné Q# chyby. Upozorňujeme také, že Q# chyby se zobrazí až po dokončení sestavení.
- Použití měnitelného pole v částečné aplikaci může vést k neočekávanému chování.
- Vazba neměnného pole s měnitelným polem (let a = b, kde b je měnitelné pole) může vést k neočekávanému chování.
- Profilace, pokrytí kódu a další moduly plug-in VS nemusí vždy přesně počítat Q# řádky a bloky.
- Kompilátor Q# neověřuje interpolované řetězce. Chyby kompilace C# je možné vytvořit chybně napsanými názvy proměnných nebo použitím výrazů v Q# interpolovaných řetězcích.
Simulace
- Kvantový simulátor používá OpenMP k paralelizaci potřebné lineární algebry. OpenMP ve výchozím nastavení používá všechna dostupná hardwarová vlákna, což znamená, že programy s malým počtem qubitů často běží pomalu, protože koordinace vyžadovala trpaslíky skutečné práce. To se dá napravit nastavením proměnné prostředí OMP_NUM_THREADS na malé číslo. Obecně platí, že jedno vlákno je vhodné až pro čtyři qubity a další vlákno na qubit je dobré, i když je to do značné míry závislé na vašem algoritmu.
Ladění
- F11 (vstup) nefunguje v Q# kódu.
- Zvýraznění kódu v Q# zarážce nebo pozastavení v jednom kroku je někdy nepřesné. Správný řádek je zvýrazněný, ale někdy zvýraznění začíná a končí nesprávnými sloupci na řádku.
Testování
- Testy se musí spouštět v 64bitovém režimu. Pokud vaše testy selhávají s chybou BadImageFormatException, přejděte do nabídky Test a vyberte Testovací nastavení > Výchozí architektura procesoru > X64.
- Některým testům trvá spuštění dlouhou dobu (až 5 minut v závislosti na vašem počítači). To je normální, protože někteří používají více než 20 qubitů; náš největší test aktuálně běží na 23 qubitech.
ukázky
- Na některých počítačích můžou některé malé ukázky běžet pomalu, pokud není proměnná prostředí OMP_NUM_THREADS nastavená na 1. Viz také poznámka k verzi v části Simulace.
Knihovny
- Implicitně se předpokládá, že qubity předávané operaci v různých argumentech jsou odlišné. Například všechny operace knihovny (a všechny simulátory) předpokládají, že dva qubity předané do kontrolované operace NOT jsou různé qubity. Porušení tohoto předpokladu může vést nepředvídatelným následkům. To je možné otestovat pomocí simulátoru trasovacího kvantového počítače.
- Funkce
Microsoft.Quantum.Bind
nemusí ve všech případech fungovat podle očekávání. - V oboru
Microsoft.Quantum.Extensions.Math
názvůSignD
vrátí funkce místo objektuDouble
Int
, i když podkladováSystem.Math.Sign
funkce vždy vrátí hodnotuinteger
. Výsledek můžete bezpečně porovnat s 1,0, -1,0 a 0,0, protože všechny tytodoubles
hodnoty mají přesné binární reprezentace.