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

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

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 a LargestFixedPoint 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.

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 a InvertFxP. 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

Aktualizace služby Azure Quantum

2022-03-30

QDK verze 0.24.201332

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)

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 do backend.run a backend.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 nebo streaming_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í. Do seed 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
  • 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 na input_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ého azure.quantum.aio balíčku.
  • Opravili jsme problém: Úlohy Qiskit načtené pomocí AzureQuantumProvider.get_job() teď můžou používat job.result() , aniž by narazily na KeyError.
  • Opravili jsme problém, který způsobovalazure.quantum.cirq, že pylance nerozpoznal a azure.quantum.qiskit . Balíček azure.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 microsofta channels čá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, ApplyIfCa ApplyIfCAse změnilo tak, aby bylo konzistentní se souvisejícími operacemi, jako ApplyIfElseB 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

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.

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ů z npz 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 a log-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 jako Problem 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

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 v iqsharp-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 a qdk, 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 ifpříkazy , elif, whilea until . Závorky pro forpříkazy , usea borrow 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 jako Foo(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í:

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 %simulatepříkazy , %estimatea 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 now Microsoft.Quantum.Diagnostics.AssertMeasurement
    • Microsoft.Quantum.Intrinsic.AssertProb is now Microsoft.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í:

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í:

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:

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:

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:

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.

  1. 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.

  2. Z příkazového řádku příkazem Run dotnet clean odeberte všechny existující binární soubory a mezilehlé soubory.

  3. V textovém editoru .csproj upravte soubor tak, aby se změnila verze všechPackageReferenceMicrosoft.Quantumsouborů na verzi 0.6.1904, a změňte Microsoft.Quantum.Canon název balíčku na Microsoft.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" />
    
  4. Z příkazového řádku spusťte tento příkaz: dotnet msbuild

  5. 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í:

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:

  1. Vytvořte nový projekt .NET Core pomocí správného typu Q# šablony projektu (aplikace, knihovna nebo testovací projekt).
  2. 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.
  3. 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 nefunguje dotnet 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žít dotnet 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í typ Int, a ne Double.

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 objektu DoubleInt, i když podkladová System.Math.Sign funkce vždy vrátí hodnotu integer. Výsledek můžete bezpečně porovnat s 1,0, -1,0 a 0,0, protože všechny tyto doubles hodnoty mají přesné binární reprezentace.