CINXE.COM
Q Sharp - Wikipedia
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-sticky-header-enabled vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Q Sharp - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-sticky-header-enabled vector-toc-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy", "wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"c0ac02e8-3fc0-4dd5-8109-018862837b4b","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Q_Sharp","wgTitle":"Q Sharp","wgCurRevisionId":1277370822,"wgRevisionId":1277370822,"wgArticleId":56025620,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Articles with short description","Short description is different from Wikidata","Restricted titles (non-leading number sign)","Articles lacking reliable references from September 2018","All articles lacking reliable references","All articles with unsourced statements","Articles with unsourced statements from January 2025","Wikipedia articles with style issues from January 2025","All articles with style issues","Official website different in Wikidata and Wikipedia", "Free and open-source software","Microsoft free software","Microsoft programming languages","Quantum programming","Programming languages created in 2017","Software using the MIT license"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Q_Sharp","wgRelevantArticleId":56025620,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":20000,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage", "wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q45322975","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","ext.pygments":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.makeCollapsible.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"}; RLPAGEMODULES=["ext.cite.ux-enhancements","ext.pygments.view","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.growthExperiments.SuggestedEditSession"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&modules=ext.cite.styles%7Cext.pygments%2CwikimediaBadges%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&modules=site.styles&only=styles&skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.17"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Q Sharp - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/Q_Sharp"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=Q_Sharp&action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/Q_Sharp"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Q_Sharp rootpage-Q_Sharp skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" title="Main menu" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li><li id="n-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages"><span>Special pages</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page's font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/?wmf_source=donate&wmf_medium=sidebar&wmf_campaign=en.wikipedia.org&uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&returnto=Q+Sharp" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&returnto=Q+Sharp" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/?wmf_source=donate&wmf_medium=sidebar&wmf_campaign=en.wikipedia.org&uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&returnto=Q+Sharp" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&returnto=Q+Sharp" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-History" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#History"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>History</span> </div> </a> <ul id="toc-History-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Usage" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Usage"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Usage</span> </div> </a> <ul id="toc-Usage-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Features" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Features"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Features</span> </div> </a> <ul id="toc-Features-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Documentation_and_resources" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Documentation_and_resources"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Documentation and resources</span> </div> </a> <ul id="toc-Documentation_and_resources-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Syntax" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Syntax"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>Syntax</span> </div> </a> <button aria-controls="toc-Syntax-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Syntax subsection</span> </button> <ul id="toc-Syntax-sublist" class="vector-toc-list"> <li id="toc-Similarities_with_C#" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Similarities_with_C#"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.1</span> <span>Similarities with C#</span> </div> </a> <ul id="toc-Similarities_with_C#-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Similarities_with_F#" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Similarities_with_F#"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.2</span> <span>Similarities with F#</span> </div> </a> <ul id="toc-Similarities_with_F#-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Differences" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Differences"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.3</span> <span>Differences</span> </div> </a> <ul id="toc-Differences-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Example" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Example"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>Example</span> </div> </a> <ul id="toc-Example-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-References" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>References</span> </div> </a> <ul id="toc-References-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-External_links" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#External_links"> <div class="vector-toc-text"> <span class="vector-toc-numb">8</span> <span>External links</span> </div> </a> <ul id="toc-External_links-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" title="Table of Contents" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Q Sharp</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 12 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-12" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">12 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/Q_Sharp" title="Q Sharp – Catalan" lang="ca" hreflang="ca" data-title="Q Sharp" data-language-autonym="Català" data-language-local-name="Catalan" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Q-Sharp" title="Q-Sharp – German" lang="de" hreflang="de" data-title="Q-Sharp" data-language-autonym="Deutsch" data-language-local-name="German" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/Q_Sharp" title="Q Sharp – Spanish" lang="es" hreflang="es" data-title="Q Sharp" data-language-autonym="Español" data-language-local-name="Spanish" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Q_Sharp" title="Q Sharp – French" lang="fr" hreflang="fr" data-title="Q Sharp" data-language-autonym="Français" data-language-local-name="French" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/Q_%EC%83%A4%ED%94%84" title="Q 샤프 – Korean" lang="ko" hreflang="ko" data-title="Q 샤프" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/Q_Sharp" title="Q Sharp – Japanese" lang="ja" hreflang="ja" data-title="Q Sharp" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/Q_Sharp" title="Q Sharp – Polish" lang="pl" hreflang="pl" data-title="Q Sharp" data-language-autonym="Polski" data-language-local-name="Polish" class="interlanguage-link-target"><span>Polski</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/Q_Sharp" title="Q Sharp – Portuguese" lang="pt" hreflang="pt" data-title="Q Sharp" data-language-autonym="Português" data-language-local-name="Portuguese" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/Q_Sharp" title="Q Sharp – Russian" lang="ru" hreflang="ru" data-title="Q Sharp" data-language-autonym="Русский" data-language-local-name="Russian" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/Q_Sharp" title="Q Sharp – Ukrainian" lang="uk" hreflang="uk" data-title="Q Sharp" data-language-autonym="Українська" data-language-local-name="Ukrainian" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-zh-yue mw-list-item"><a href="https://zh-yue.wikipedia.org/wiki/Q_Sharp" title="Q Sharp – Cantonese" lang="yue" hreflang="yue" data-title="Q Sharp" data-language-autonym="粵語" data-language-local-name="Cantonese" class="interlanguage-link-target"><span>粵語</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/Q_Sharp" title="Q Sharp – Chinese" lang="zh" hreflang="zh" data-title="Q Sharp" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q45322975#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Q_Sharp" title="View the content page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Talk:Q_Sharp" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Q_Sharp"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Q_Sharp&action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Q_Sharp&action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Q_Sharp"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Q_Sharp&action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Q_Sharp&action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Q_Sharp" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Q_Sharp" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Q_Sharp&oldid=1277370822" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Q_Sharp&action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&page=Q_Sharp&id=1277370822&wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FQ_Sharp"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FQ_Sharp"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&page=Q_Sharp&action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Q_Sharp&printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Category:Q_Sharp" hreflang="en"><span>Wikimedia Commons</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q45322975" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="shortdescription nomobile noexcerpt noprint searchaux" style="display:none">Programming lang. for quantum algorithms</div> <style data-mw-deduplicate="TemplateStyles:r1236090951">.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}</style><div role="note" class="hatnote navigation-not-searchable plainlinks selfreference noprint">The correct title of this article is <b>Q# (programming language)</b>. The substitution of the <a href="/wiki/Number_sign" title="Number sign">#</a> is due to <a href="/wiki/Wikipedia:Naming_conventions_(technical_restrictions)#Clashes_with_wiki_markup/HTML_syntax" title="Wikipedia:Naming conventions (technical restrictions)">technical restrictions</a>.</div> <style data-mw-deduplicate="TemplateStyles:r1251242444">.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}</style><table class="box-Independent_sources plainlinks metadata ambox ambox-content" role="presentation"><tbody><tr><td class="mbox-image"><div class="mbox-image-div"><span typeof="mw:File"><a href="/wiki/File:Question_book-new.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/en/thumb/9/99/Question_book-new.svg/50px-Question_book-new.svg.png" decoding="async" width="50" height="39" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/9/99/Question_book-new.svg/75px-Question_book-new.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/9/99/Question_book-new.svg/100px-Question_book-new.svg.png 2x" data-file-width="512" data-file-height="399" /></a></span></div></td><td class="mbox-text"><div class="mbox-text-span">This article <b>may rely excessively on sources <a href="/wiki/Wikipedia:Verifiability#Self-published_sources" title="Wikipedia:Verifiability">too closely associated with the subject</a></b>, potentially preventing the article from being <a href="/wiki/Wikipedia:Verifiability" title="Wikipedia:Verifiability">verifiable</a> and <a href="/wiki/Wikipedia:Neutral_point_of_view" title="Wikipedia:Neutral point of view">neutral</a>.<span class="hide-when-compact"> Please help <a class="external text" href="https://en.wikipedia.org/w/index.php?title=Q_Sharp&action=edit">improve it</a> by replacing them with more appropriate <a href="/wiki/Wikipedia:Citing_sources" title="Wikipedia:Citing sources">citations</a> to <a href="/wiki/Wikipedia:Independent_sources" title="Wikipedia:Independent sources">reliable, independent sources</a>.</span> <span class="date-container"><i>(<span class="date">September 2018</span>)</i></span><span class="hide-when-compact"><i> (<small><a href="/wiki/Help:Maintenance_template_removal" title="Help:Maintenance template removal">Learn how and when to remove this message</a></small>)</i></span></div></td></tr></tbody></table> <style data-mw-deduplicate="TemplateStyles:r1257001546">.mw-parser-output .infobox-subbox{padding:0;border:none;margin:-3px;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent}.mw-parser-output .infobox-3cols-child{margin:auto}.mw-parser-output .infobox .navbar{font-size:100%}@media screen{html.skin-theme-clientpref-night .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox-full-data:not(.notheme) div:not(.notheme){background:#1f1f23!important;color:#f8f9fa}}@media(min-width:640px){body.skin--responsive .mw-parser-output .infobox-table{display:table!important}body.skin--responsive .mw-parser-output .infobox-table>caption{display:table-caption!important}body.skin--responsive .mw-parser-output .infobox-table>tbody{display:table-row-group}body.skin--responsive .mw-parser-output .infobox-table tr{display:table-row!important}body.skin--responsive .mw-parser-output .infobox-table th,body.skin--responsive .mw-parser-output .infobox-table td{padding-left:inherit;padding-right:inherit}}</style><table class="infobox vevent"><caption class="infobox-title summary">Q#</caption><tbody><tr><th scope="row" class="infobox-label"><a href="/wiki/Programming_paradigm" title="Programming paradigm">Paradigm</a></th><td class="infobox-data"><a href="/wiki/Quantum_programming" title="Quantum programming">Quantum</a>, <a href="/wiki/Functional_programming" title="Functional programming">functional</a>, <a href="/wiki/Imperative_programming" title="Imperative programming">imperative</a></td></tr><tr><th scope="row" class="infobox-label"><a href="/wiki/Software_design" title="Software design">Designed by</a></th><td class="infobox-data"><a href="/wiki/Microsoft_Research" title="Microsoft Research">Microsoft Research</a> (quantum architectures and computation group; QuArC)</td></tr><tr><th scope="row" class="infobox-label"><a href="/wiki/Software_developer" class="mw-redirect" title="Software developer">Developer</a></th><td class="infobox-data organiser"><a href="/wiki/Microsoft" title="Microsoft">Microsoft</a></td></tr><tr><th scope="row" class="infobox-label">First appeared</th><td class="infobox-data">December 11, 2017<span style="display:none"> (<span class="bday dtstart published updated itvstart">2017-12-11</span>)</span><sup id="cite_ref-AT_Q#_1-0" class="reference"><a href="#cite_note-AT_Q#-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup></td></tr><tr><th scope="row" class="infobox-label"><a href="/wiki/Type_system" title="Type system">Typing discipline</a></th><td class="infobox-data"><a href="/wiki/Static_typing" class="mw-redirect" title="Static typing">Static</a>, <a href="/wiki/Strong_and_weak_typing" title="Strong and weak typing">strong</a></td></tr><tr><th scope="row" class="infobox-label"><a href="/wiki/Computing_platform" title="Computing platform">Platform</a></th><td class="infobox-data"><a href="/wiki/Common_Language_Infrastructure" title="Common Language Infrastructure">Common Language Infrastructure</a></td></tr><tr><th scope="row" class="infobox-label"><a href="/wiki/Software_license" title="Software license">License</a></th><td class="infobox-data"><a href="/wiki/MIT_License" title="MIT License">MIT License</a><sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup></td></tr><tr><th scope="row" class="infobox-label"><a href="/wiki/Filename_extension" title="Filename extension">Filename extensions</a></th><td class="infobox-data">.qs</td></tr><tr><th scope="row" class="infobox-label">Website</th><td class="infobox-data"><span class="url"><a rel="nofollow" class="external text" href="https://learn.microsoft.com/en-us/azure/quantum/">learn<wbr />.microsoft<wbr />.com<wbr />/en-us<wbr />/azure<wbr />/quantum<wbr />/</a></span></td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #eee;">Influenced by</th></tr><tr><td colspan="2" class="infobox-full-data"><a href="/wiki/C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a>, <a href="/wiki/F_Sharp_(programming_language)" title="F Sharp (programming language)">F#</a>, <a href="/wiki/Python_(programming_language)" title="Python (programming language)">Python</a></td></tr></tbody></table> <p><b>Q#</b> (pronounced <i>Q sharp</i>) is a <a href="/wiki/Domain-specific_language" title="Domain-specific language">domain-specific programming language</a> used for expressing <a href="/wiki/Quantum_algorithm" title="Quantum algorithm">quantum algorithms</a>.<sup id="cite_ref-:1_3-0" class="reference"><a href="#cite_note-:1-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> It was initially released to the public by <a href="/wiki/Microsoft" title="Microsoft">Microsoft</a> as part of the Quantum Development Kit.<sup id="cite_ref-:0_4-0" class="reference"><a href="#cite_note-:0-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> </p><p>Q# works in conjunction with classical languages such as C#, Python and F#, and is designed to allow the use of traditional programming concepts in quantum computing, including functions with variables and branches as well as a syntax-highlighted development environment with a quantum debugger.<sup id="cite_ref-AT_Q#_1-1" class="reference"><a href="#cite_note-AT_Q#-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-AT_Ignite_5-0" class="reference"><a href="#cite_note-AT_Ignite-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="History">History</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Q_Sharp&action=edit&section=1" title="Edit section: History"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Historically, <a href="/wiki/Microsoft_Research" title="Microsoft Research">Microsoft Research</a> had two teams interested in quantum computing: the QuArC team based in Redmond, Washington,<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> directed by <a href="/wiki/Krysta_Svore" title="Krysta Svore">Krysta Svore</a>, that explored the construction of quantum circuitry, and Station Q initially located in <a href="/wiki/Santa_Barbara,_California" title="Santa Barbara, California">Santa Barbara</a> and directed by <a href="/wiki/Michael_Freedman" title="Michael Freedman">Michael Freedman</a>, that explored <a href="/wiki/Topological_quantum_computing" class="mw-redirect" title="Topological quantum computing">topological quantum computing</a>.<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> </p><p>During a <a href="/wiki/Microsoft_Ignite" title="Microsoft Ignite">Microsoft Ignite</a> Keynote on September 26, 2017, Microsoft announced that they were going to release a new programming language geared specifically towards quantum computers.<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> On December 11, 2017, Microsoft released Q# as a part of the Quantum Development Kit.<sup id="cite_ref-:0_4-1" class="reference"><a href="#cite_note-:0-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> </p><p>At <a href="/wiki/Build_2019" class="mw-redirect" title="Build 2019">Build 2019</a>, Microsoft announced that it would be open-sourcing the Quantum Development Kit, including its Q# <a href="/wiki/Compiler" title="Compiler">compilers</a> and simulators.<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> </p><p>To support Q#, Microsoft developed Quantum Intermediate Representation (QIR) in 2023 as a common interface between programming languages and target quantum processors. The company also announced a compiler extension that generates QIR from Q#.<sup id="cite_ref-QIR_12-0" class="reference"><a href="#cite_note-QIR-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup> </p><p><a href="/wiki/Bettina_Heim" title="Bettina Heim">Bettina Heim</a> currently leads the Q# language development effort.<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="Usage">Usage</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Q_Sharp&action=edit&section=2" title="Edit section: Usage"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Q# is available as a separately downloaded extension for <a href="/wiki/Visual_Studio" title="Visual Studio">Visual Studio</a>,<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup> but it can also be run as an independent tool from the <a href="/wiki/Command_line" class="mw-redirect" title="Command line">command line</a> or Visual Studio Code. Q# was introduced on Windows and is available on MacOS and Linux.<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> </p><p>The Quantum Development Kit includes a <a href="/wiki/Quantum_simulator" title="Quantum simulator">quantum simulator</a> capable of running Q# and simulated 30 logical qubits.<sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> </p><p>In order to invoke the quantum simulator, another <a href="/wiki/.NET_Framework" title=".NET Framework">.NET programming language</a>, usually <a href="/wiki/C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a>, is used, which provides the (classical) input data for the simulator and reads the (classical) output data from the simulator.<sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="Features">Features</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Q_Sharp&action=edit&section=3" title="Edit section: Features"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A primary feature of Q# is the ability to create and use <a href="/wiki/Qubit" title="Qubit">qubits</a> for algorithms. As a consequence, some of the most prominent features of Q# are the ability to <a href="/wiki/Quantum_entanglement" title="Quantum entanglement">entangle</a> and introduce <a href="/wiki/Quantum_superposition" title="Quantum superposition">superpositioning</a> to qubits via <a href="/wiki/Controlled_NOT_gate" title="Controlled NOT gate">controlled NOT gates</a> and <a href="/wiki/Hadamard_gate" class="mw-redirect" title="Hadamard gate">Hadamard gates</a>, respectively, as well as <a href="/wiki/Toffoli_gate" title="Toffoli gate">Toffoli Gates</a>, <a href="/wiki/Pauli_matrices" title="Pauli matrices">Pauli X, Y, Z Gate</a>, and many more which are used for a variety of operations (See <a href="/wiki/Quantum_logic_gate" title="Quantum logic gate">quantum logic gates</a>).<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (January 2025)">citation needed</span></a></i>]</sup> </p><p>The hardware stack that will eventually come together with Q# is expected to implement Qubits as <a href="/wiki/Topological_quantum_computer" title="Topological quantum computer">topological qubits</a>. The quantum simulator that is shipped with the Quantum Development Kit today is capable of processing up to 32 qubits on a user machine and up to 40 qubits on <a href="/wiki/Microsoft_Azure" title="Microsoft Azure">Azure</a>.<sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="Documentation_and_resources">Documentation and resources</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Q_Sharp&action=edit&section=4" title="Edit section: Documentation and resources"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Currently, the resources available for Q# are scarce, but the official documentation is published: <a rel="nofollow" class="external text" href="https://docs.microsoft.com/en-us/quantum/?view=qsharp-preview">Microsoft Developer Network: Q#</a>. <a rel="nofollow" class="external text" href="https://github.com/Microsoft/Quantum/">Microsoft Quantum Github repository</a> is also a large collection of sample programs implementing a variety of Quantum algorithms and their tests. </p><p>Microsoft has also hosted a Quantum Coding contest on <a href="/wiki/Codeforces" title="Codeforces">Codeforces</a>, called <a rel="nofollow" class="external text" href="https://web.archive.org/web/20181119064628/https://codeforces.com/msqs2018">Microsoft Q# Coding Contest - Codeforces</a>, and also provided related material to help answer the questions in the blog posts, plus the detailed solutions in the tutorials. </p><p>Microsoft hosts a set of learning exercises to help learn Q# on GitHub: <a rel="nofollow" class="external text" href="https://github.com/Microsoft/QuantumKatas">microsoft/QuantumKatas</a> with links to resources, and answers to the problems. </p> <div class="mw-heading mw-heading2"><h2 id="Syntax">Syntax</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Q_Sharp&action=edit&section=5" title="Edit section: Syntax"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Q# is syntactically related to both <a href="/wiki/C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a> and <a href="/wiki/F_Sharp_(programming_language)" title="F Sharp (programming language)">F#</a> yet also has some significant differences. </p> <div class="mw-heading mw-heading3"><h3 id="Similarities_with_C#"><span id="Similarities_with_C.23"></span>Similarities with C#</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Q_Sharp&action=edit&section=6" title="Edit section: Similarities with C#"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>Uses <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">namespace</code> for code isolation</li> <li>All statements end with a <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">;</code></li> <li>Curly braces are used for statements of scope</li> <li><a href="/wiki/Comment_(computer_programming)#Line_comments" title="Comment (computer programming)">Single line comments</a> are done using <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">//</code></li> <li>Variable data types such as <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">Int</code> <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">Double</code> <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">String</code> and <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">Bool</code> are similar, although capitalised (and Int is 64-bit)<sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup></li> <li>Qubits are allocated and disposed inside a <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">using</code> block.</li> <li><a href="/wiki/Lambda_function_(computer_programming)" class="mw-redirect" title="Lambda function (computer programming)">Lambda functions</a> are defined using the <code>=></code> operator.</li> <li>Results are returned using the <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">return</code> keyword.</li></ul> <div class="mw-heading mw-heading3"><h3 id="Similarities_with_F#"><span id="Similarities_with_F.23"></span>Similarities with F#</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Q_Sharp&action=edit&section=7" title="Edit section: Similarities with F#"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>Variables are declared using either <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">let</code> or <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">mutable</code><sup id="cite_ref-:1_3-1" class="reference"><a href="#cite_note-:1-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup></li> <li><a href="/wiki/First-order_function" class="mw-redirect" title="First-order function">First-order functions</a></li> <li>Modules, which are imported using the <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">open</code> keyword</li> <li>The datatype is declared after the variable name</li> <li>The range operator <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">..</code></li> <li><code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">for … in</code> loops</li> <li>Every operation/function has a return value, rather than <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">void</code>. Instead of <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">void</code>, an empty <a href="/wiki/Tuple" title="Tuple">Tuple</a> <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">()</code> is returned.</li> <li>Definition of record datatypes (using the <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">newtype</code> keyword, instead of <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">type</code>).</li></ul> <div class="mw-heading mw-heading3"><h3 id="Differences">Differences</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Q_Sharp&action=edit&section=8" title="Edit section: Differences"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>Functions are declared using the <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">function</code> keyword</li> <li>Operations on the quantum computer are declared using the <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">operation</code> keyword</li> <li>Lack of multiline comments</li> <li>Asserts instead of throwing exceptions</li> <li>Documentation is written in <a href="/wiki/Markdown" title="Markdown">Markdown</a> instead of <a href="/wiki/XML" title="XML">XML</a>-based documentation tags</li></ul> <div class="mw-heading mw-heading2"><h2 id="Example">Example</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Q_Sharp&action=edit&section=9" title="Edit section: Example"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1251242444"><table class="box-Over-quotation plainlinks metadata ambox ambox-style" role="presentation"><tbody><tr><td class="mbox-image"><div class="mbox-image-div"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/f/f2/Edit-clear.svg/40px-Edit-clear.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/f/f2/Edit-clear.svg/60px-Edit-clear.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/f/f2/Edit-clear.svg/80px-Edit-clear.svg.png 2x" data-file-width="48" data-file-height="48" /></span></span></div></td><td class="mbox-text"><div class="mbox-text-span">This section <b>contains <a href="/wiki/Wikipedia:Manual_of_Style#Quotations" title="Wikipedia:Manual of Style">too many or overly lengthy quotations</a></b>.<span class="hide-when-compact"> Please help <a class="external text" href="https://en.wikipedia.org/w/index.php?title=Q_Sharp&action=edit">summarize the quotations</a>. Consider transferring direct quotations to <a href="https://en.wikiquote.org/wiki/Special:Search/Q_Sharp" class="extiw" title="q:Special:Search/Q Sharp">Wikiquote</a> or excerpts to <a href="https://en.wikisource.org/wiki/Special:Search/Q_Sharp" class="extiw" title="s:Special:Search/Q Sharp">Wikisource</a>.</span> <span class="date-container"><i>(<span class="date">January 2025</span>)</i></span></div></td></tr></tbody></table> <p>The following source code is a <a href="/wiki/Multiplexer" title="Multiplexer">multiplexer</a> from the official Microsoft Q# library repository. </p> <div class="mw-highlight mw-highlight-lang-c# mw-content-ltr" dir="ltr"><pre><span></span><span class="c1">// Copyright (c) Microsoft Corporation.</span> <span class="c1">// Licensed under the MIT License.</span> <span class="k">namespace</span><span class="w"> </span><span class="nn">Microsoft.Quantum.Canon</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">open</span><span class="w"> </span><span class="n">Microsoft</span><span class="p">.</span><span class="n">Quantum</span><span class="p">.</span><span class="n">Intrinsic</span><span class="p">;</span> <span class="w"> </span><span class="n">open</span><span class="w"> </span><span class="n">Microsoft</span><span class="p">.</span><span class="n">Quantum</span><span class="p">.</span><span class="n">Arithmetic</span><span class="p">;</span> <span class="w"> </span><span class="n">open</span><span class="w"> </span><span class="n">Microsoft</span><span class="p">.</span><span class="n">Quantum</span><span class="p">.</span><span class="n">Arrays</span><span class="p">;</span> <span class="w"> </span><span class="n">open</span><span class="w"> </span><span class="n">Microsoft</span><span class="p">.</span><span class="n">Quantum</span><span class="p">.</span><span class="n">Diagnostics</span><span class="p">;</span> <span class="w"> </span><span class="n">open</span><span class="w"> </span><span class="n">Microsoft</span><span class="p">.</span><span class="n">Quantum</span><span class="p">.</span><span class="n">Math</span><span class="p">;</span> <span class="w"> </span><span class="c1">/// # Summary</span> <span class="w"> </span><span class="c1">/// Applies a multiply-controlled unitary operation $U$ that applies a</span> <span class="w"> </span><span class="c1">/// unitary $V_j$ when controlled by n-qubit number state $\ket{j}$.</span> <span class="w"> </span><span class="c1">///</span> <span class="w"> </span><span class="c1">/// $U = \sum^{N-1}_{j=0}\ket{j}\bra{j}\otimes V_j$.</span> <span class="w"> </span><span class="c1">///</span> <span class="w"> </span><span class="c1">/// # Input</span> <span class="w"> </span><span class="c1">/// ## unitaryGenerator</span> <span class="w"> </span><span class="c1">/// A tuple where the first element `Int` is the number of unitaries $N$,</span> <span class="w"> </span><span class="c1">/// and the second element `(Int -> ('T => () is Adj + Ctl))`</span> <span class="w"> </span><span class="c1">/// is a function that takes an integer $j$ in $[0,N-1]$ and outputs the unitary</span> <span class="w"> </span><span class="c1">/// operation $V_j$.</span> <span class="w"> </span><span class="c1">///</span> <span class="w"> </span><span class="c1">/// ## index</span> <span class="w"> </span><span class="c1">/// $n$-qubit control register that encodes number states $\ket{j}$ in</span> <span class="w"> </span><span class="c1">/// little-endian format.</span> <span class="w"> </span><span class="c1">///</span> <span class="w"> </span><span class="c1">/// ## target</span> <span class="w"> </span><span class="c1">/// Generic qubit register that $V_j$ acts on.</span> <span class="w"> </span><span class="c1">///</span> <span class="w"> </span><span class="c1">/// # Remarks</span> <span class="w"> </span><span class="c1">/// `coefficients` will be padded with identity elements if</span> <span class="w"> </span><span class="c1">/// fewer than $2^n$ are specified. This implementation uses</span> <span class="w"> </span><span class="c1">/// $n-1$ auxiliary qubits.</span> <span class="w"> </span><span class="c1">///</span> <span class="w"> </span><span class="c1">/// # References</span> <span class="w"> </span><span class="c1">/// - [ *Andrew M. Childs, Dmitri Maslov, Yunseong Nam, Neil J. Ross, Yuan Su*,</span> <span class="w"> </span><span class="c1">/// arXiv:1711.10980](https://arxiv.org/abs/1711.10980)</span> <span class="w"> </span><span class="n">operation</span><span class="w"> </span><span class="n">MultiplexOperationsFromGenerator</span><span class="o"><</span><span class="err">'</span><span class="n">T</span><span class="o">></span><span class="p">(</span><span class="n">unitaryGenerator</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="p">(</span><span class="n">Int</span><span class="p">,</span><span class="w"> </span><span class="p">(</span><span class="n">Int</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="p">(</span><span class="err">'</span><span class="n">T</span><span class="w"> </span><span class="o">=></span><span class="w"> </span><span class="n">Unit</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="n">Adj</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">Ctl</span><span class="p">))),</span><span class="w"> </span><span class="n">index</span><span class="p">:</span><span class="w"> </span><span class="n">LittleEndian</span><span class="p">,</span><span class="w"> </span><span class="n">target</span><span class="p">:</span><span class="w"> </span><span class="err">'</span><span class="n">T</span><span class="p">)</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">Unit</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="n">Ctl</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">Adj</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">let</span><span class="w"> </span><span class="p">(</span><span class="n">nUnitaries</span><span class="p">,</span><span class="w"> </span><span class="n">unitaryFunction</span><span class="p">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">unitaryGenerator</span><span class="p">;</span> <span class="w"> </span><span class="k">let</span><span class="w"> </span><span class="n">unitaryGeneratorWithOffset</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">nUnitaries</span><span class="p">,</span><span class="w"> </span><span class="m">0</span><span class="p">,</span><span class="w"> </span><span class="n">unitaryFunction</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="nf">Length</span><span class="p">(</span><span class="n">index</span><span class="o">!</span><span class="p">)</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">fail</span><span class="w"> </span><span class="s">"MultiplexOperations failed. Number of index qubits must be greater than 0."</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="n">nUnitaries</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">let</span><span class="w"> </span><span class="n">auxiliary</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[];</span> <span class="w"> </span><span class="n">Adjoint</span><span class="w"> </span><span class="nf">MultiplexOperationsFromGeneratorImpl</span><span class="p">(</span><span class="n">unitaryGeneratorWithOffset</span><span class="p">,</span><span class="w"> </span><span class="n">auxiliary</span><span class="p">,</span><span class="w"> </span><span class="n">index</span><span class="p">,</span><span class="w"> </span><span class="n">target</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="c1">/// # Summary</span> <span class="w"> </span><span class="c1">/// Implementation step of `MultiplexOperationsFromGenerator`.</span> <span class="w"> </span><span class="c1">/// # See Also</span> <span class="w"> </span><span class="c1">/// - Microsoft.Quantum.Canon.MultiplexOperationsFromGenerator</span> <span class="w"> </span><span class="k">internal</span><span class="w"> </span><span class="n">operation</span><span class="w"> </span><span class="n">MultiplexOperationsFromGeneratorImpl</span><span class="o"><</span><span class="err">'</span><span class="n">T</span><span class="o">></span><span class="p">(</span><span class="n">unitaryGenerator</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="p">(</span><span class="n">Int</span><span class="p">,</span><span class="w"> </span><span class="n">Int</span><span class="p">,</span><span class="w"> </span><span class="p">(</span><span class="n">Int</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="p">(</span><span class="err">'</span><span class="n">T</span><span class="w"> </span><span class="o">=></span><span class="w"> </span><span class="n">Unit</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="n">Adj</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">Ctl</span><span class="p">))),</span><span class="w"> </span><span class="n">auxiliary</span><span class="p">:</span><span class="w"> </span><span class="n">Qubit</span><span class="p">[],</span><span class="w"> </span><span class="n">index</span><span class="p">:</span><span class="w"> </span><span class="n">LittleEndian</span><span class="p">,</span><span class="w"> </span><span class="n">target</span><span class="p">:</span><span class="w"> </span><span class="err">'</span><span class="n">T</span><span class="p">)</span> <span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">Unit</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">body</span><span class="w"> </span><span class="p">(...)</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">let</span><span class="w"> </span><span class="n">nIndex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Length</span><span class="p">(</span><span class="n">index</span><span class="o">!</span><span class="p">);</span> <span class="w"> </span><span class="k">let</span><span class="w"> </span><span class="n">nStates</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">2</span><span class="o">^</span><span class="n">nIndex</span><span class="p">;</span> <span class="w"> </span><span class="k">let</span><span class="w"> </span><span class="p">(</span><span class="n">nUnitaries</span><span class="p">,</span><span class="w"> </span><span class="n">unitaryOffset</span><span class="p">,</span><span class="w"> </span><span class="n">unitaryFunction</span><span class="p">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">unitaryGenerator</span><span class="p">;</span> <span class="w"> </span><span class="k">let</span><span class="w"> </span><span class="n">nUnitariesLeft</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">MinI</span><span class="p">(</span><span class="n">nUnitaries</span><span class="p">,</span><span class="w"> </span><span class="n">nStates</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="m">2</span><span class="p">);</span> <span class="w"> </span><span class="k">let</span><span class="w"> </span><span class="n">nUnitariesRight</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">MinI</span><span class="p">(</span><span class="n">nUnitaries</span><span class="p">,</span><span class="w"> </span><span class="n">nStates</span><span class="p">);</span> <span class="w"> </span><span class="k">let</span><span class="w"> </span><span class="n">leftUnitaries</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">nUnitariesLeft</span><span class="p">,</span><span class="w"> </span><span class="n">unitaryOffset</span><span class="p">,</span><span class="w"> </span><span class="n">unitaryFunction</span><span class="p">);</span> <span class="w"> </span><span class="k">let</span><span class="w"> </span><span class="n">rightUnitaries</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">nUnitariesRight</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">nUnitariesLeft</span><span class="p">,</span><span class="w"> </span><span class="n">unitaryOffset</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">nUnitariesLeft</span><span class="p">,</span><span class="w"> </span><span class="n">unitaryFunction</span><span class="p">);</span> <span class="w"> </span><span class="k">let</span><span class="w"> </span><span class="n">newControls</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">LittleEndian</span><span class="p">(</span><span class="n">Most</span><span class="p">(</span><span class="n">index</span><span class="o">!</span><span class="p">));</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="n">nUnitaries</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="nf">Length</span><span class="p">(</span><span class="n">auxiliary</span><span class="p">)</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="m">1</span><span class="w"> </span><span class="n">and</span><span class="w"> </span><span class="n">nIndex</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="c1">// Termination case</span> <span class="w"> </span><span class="p">(</span><span class="n">Controlled</span><span class="w"> </span><span class="n">Adjoint</span><span class="w"> </span><span class="p">(</span><span class="n">unitaryFunction</span><span class="p">(</span><span class="n">unitaryOffset</span><span class="p">)))(</span><span class="n">auxiliary</span><span class="p">,</span><span class="w"> </span><span class="n">target</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="n">elif</span><span class="w"> </span><span class="n">Length</span><span class="p">(</span><span class="n">auxiliary</span><span class="p">)</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="n">and</span><span class="w"> </span><span class="n">nIndex</span><span class="w"> </span><span class="o">>=</span><span class="w"> </span><span class="m">1</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="c1">// Start case</span> <span class="w"> </span><span class="k">let</span><span class="w"> </span><span class="n">newauxiliary</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Tail</span><span class="p">(</span><span class="n">index</span><span class="o">!</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="n">nUnitariesRight</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">MultiplexOperationsFromGeneratorImpl</span><span class="p">(</span><span class="n">rightUnitaries</span><span class="p">,</span><span class="w"> </span><span class="p">[</span><span class="n">newauxiliary</span><span class="p">],</span><span class="w"> </span><span class="n">newControls</span><span class="p">,</span><span class="w"> </span><span class="n">target</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="n">within</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">X</span><span class="p">(</span><span class="n">newauxiliary</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="n">apply</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">MultiplexOperationsFromGeneratorImpl</span><span class="p">(</span><span class="n">leftUnitaries</span><span class="p">,</span><span class="w"> </span><span class="p">[</span><span class="n">newauxiliary</span><span class="p">],</span><span class="w"> </span><span class="n">newControls</span><span class="p">,</span><span class="w"> </span><span class="n">target</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="c1">// Recursion that reduces nIndex by 1 and sets Length(auxiliary) to 1.</span> <span class="w"> </span><span class="k">let</span><span class="w"> </span><span class="n">controls</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="n">Tail</span><span class="p">(</span><span class="n">index</span><span class="o">!</span><span class="p">)]</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">auxiliary</span><span class="p">;</span> <span class="w"> </span><span class="n">use</span><span class="w"> </span><span class="n">newauxiliary</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Qubit</span><span class="p">();</span> <span class="w"> </span><span class="n">use</span><span class="w"> </span><span class="n">andauxiliary</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Qubit</span><span class="p">[</span><span class="n">MaxI</span><span class="p">(</span><span class="m">0</span><span class="p">,</span><span class="w"> </span><span class="n">Length</span><span class="p">(</span><span class="n">controls</span><span class="p">)</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="m">2</span><span class="p">)];</span> <span class="w"> </span><span class="n">within</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">ApplyAndChain</span><span class="p">(</span><span class="n">andauxiliary</span><span class="p">,</span><span class="w"> </span><span class="n">controls</span><span class="p">,</span><span class="w"> </span><span class="n">newauxiliary</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="n">apply</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="n">nUnitariesRight</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">MultiplexOperationsFromGeneratorImpl</span><span class="p">(</span><span class="n">rightUnitaries</span><span class="p">,</span><span class="w"> </span><span class="p">[</span><span class="n">newauxiliary</span><span class="p">],</span><span class="w"> </span><span class="n">newControls</span><span class="p">,</span><span class="w"> </span><span class="n">target</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="n">within</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="p">(</span><span class="n">Controlled</span><span class="w"> </span><span class="n">X</span><span class="p">)(</span><span class="n">auxiliary</span><span class="p">,</span><span class="w"> </span><span class="n">newauxiliary</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="n">apply</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">MultiplexOperationsFromGeneratorImpl</span><span class="p">(</span><span class="n">leftUnitaries</span><span class="p">,</span><span class="w"> </span><span class="p">[</span><span class="n">newauxiliary</span><span class="p">],</span><span class="w"> </span><span class="n">newControls</span><span class="p">,</span><span class="w"> </span><span class="n">target</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="n">adjoint</span><span class="w"> </span><span class="n">auto</span><span class="p">;</span> <span class="w"> </span><span class="n">controlled</span><span class="w"> </span><span class="p">(</span><span class="n">controlRegister</span><span class="p">,</span><span class="w"> </span><span class="p">...)</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">MultiplexOperationsFromGeneratorImpl</span><span class="p">(</span><span class="n">unitaryGenerator</span><span class="p">,</span><span class="w"> </span><span class="n">auxiliary</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">controlRegister</span><span class="p">,</span><span class="w"> </span><span class="n">index</span><span class="p">,</span><span class="w"> </span><span class="n">target</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="n">adjoint</span><span class="w"> </span><span class="n">controlled</span><span class="w"> </span><span class="n">auto</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="c1">/// # Summary</span> <span class="w"> </span><span class="c1">/// Applies multiply-controlled unitary operation $U$ that applies a</span> <span class="w"> </span><span class="c1">/// unitary $V_j$ when controlled by n-qubit number state $\ket{j}$.</span> <span class="w"> </span><span class="c1">///</span> <span class="w"> </span><span class="c1">/// $U = \sum^{N-1}_{j=0}\ket{j}\bra{j}\otimes V_j$.</span> <span class="w"> </span><span class="c1">///</span> <span class="w"> </span><span class="c1">/// # Input</span> <span class="w"> </span><span class="c1">/// ## unitaryGenerator</span> <span class="w"> </span><span class="c1">/// A tuple where the first element `Int` is the number of unitaries $N$,</span> <span class="w"> </span><span class="c1">/// and the second element `(Int -> ('T => () is Adj + Ctl))`</span> <span class="w"> </span><span class="c1">/// is a function that takes an integer $j$ in $[0,N-1]$ and outputs the unitary</span> <span class="w"> </span><span class="c1">/// operation $V_j$.</span> <span class="w"> </span><span class="c1">///</span> <span class="w"> </span><span class="c1">/// ## index</span> <span class="w"> </span><span class="c1">/// $n$-qubit control register that encodes number states $\ket{j}$ in</span> <span class="w"> </span><span class="c1">/// little-endian format.</span> <span class="w"> </span><span class="c1">///</span> <span class="w"> </span><span class="c1">/// ## target</span> <span class="w"> </span><span class="c1">/// Generic qubit register that $V_j$ acts on.</span> <span class="w"> </span><span class="c1">///</span> <span class="w"> </span><span class="c1">/// # Remarks</span> <span class="w"> </span><span class="c1">/// `coefficients` will be padded with identity elements if</span> <span class="w"> </span><span class="c1">/// fewer than $2^n$ are specified. This version is implemented</span> <span class="w"> </span><span class="c1">/// directly by looping through n-controlled unitary operators.</span> <span class="w"> </span><span class="n">operation</span><span class="w"> </span><span class="n">MultiplexOperationsBruteForceFromGenerator</span><span class="o"><</span><span class="err">'</span><span class="n">T</span><span class="o">></span><span class="p">(</span><span class="n">unitaryGenerator</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="p">(</span><span class="n">Int</span><span class="p">,</span><span class="w"> </span><span class="p">(</span><span class="n">Int</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="p">(</span><span class="err">'</span><span class="n">T</span><span class="w"> </span><span class="o">=></span><span class="w"> </span><span class="n">Unit</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="n">Adj</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">Ctl</span><span class="p">))),</span><span class="w"> </span><span class="n">index</span><span class="p">:</span><span class="w"> </span><span class="n">LittleEndian</span><span class="p">,</span><span class="w"> </span><span class="n">target</span><span class="p">:</span><span class="w"> </span><span class="err">'</span><span class="n">T</span><span class="p">)</span> <span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">Unit</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="n">Adj</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">Ctl</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">let</span><span class="w"> </span><span class="n">nIndex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Length</span><span class="p">(</span><span class="n">index</span><span class="o">!</span><span class="p">);</span> <span class="w"> </span><span class="k">let</span><span class="w"> </span><span class="n">nStates</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">2</span><span class="o">^</span><span class="n">nIndex</span><span class="p">;</span> <span class="w"> </span><span class="k">let</span><span class="w"> </span><span class="p">(</span><span class="n">nUnitaries</span><span class="p">,</span><span class="w"> </span><span class="n">unitaryFunction</span><span class="p">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">unitaryGenerator</span><span class="p">;</span> <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">idxOp</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="m">0.</span><span class="p">.</span><span class="n">MinI</span><span class="p">(</span><span class="n">nStates</span><span class="p">,</span><span class="n">nUnitaries</span><span class="p">)</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="m">1</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="p">(</span><span class="n">ControlledOnInt</span><span class="p">(</span><span class="n">idxOp</span><span class="p">,</span><span class="w"> </span><span class="n">unitaryFunction</span><span class="p">(</span><span class="n">idxOp</span><span class="p">)))(</span><span class="n">index</span><span class="o">!</span><span class="p">,</span><span class="w"> </span><span class="n">target</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="c1">/// # Summary</span> <span class="w"> </span><span class="c1">/// Returns a multiply-controlled unitary operation $U$ that applies a</span> <span class="w"> </span><span class="c1">/// unitary $V_j$ when controlled by n-qubit number state $\ket{j}$.</span> <span class="w"> </span><span class="c1">///</span> <span class="w"> </span><span class="c1">/// $U = \sum^{2^n-1}_{j=0}\ket{j}\bra{j}\otimes V_j$.</span> <span class="w"> </span><span class="c1">///</span> <span class="w"> </span><span class="c1">/// # Input</span> <span class="w"> </span><span class="c1">/// ## unitaryGenerator</span> <span class="w"> </span><span class="c1">/// A tuple where the first element `Int` is the number of unitaries $N$,</span> <span class="w"> </span><span class="c1">/// and the second element `(Int -> ('T => () is Adj + Ctl))`</span> <span class="w"> </span><span class="c1">/// is a function that takes an integer $j$ in $[0,N-1]$ and outputs the unitary</span> <span class="w"> </span><span class="c1">/// operation $V_j$.</span> <span class="w"> </span><span class="c1">///</span> <span class="w"> </span><span class="c1">/// # Output</span> <span class="w"> </span><span class="c1">/// A multiply-controlled unitary operation $U$ that applies unitaries</span> <span class="w"> </span><span class="c1">/// described by `unitaryGenerator`.</span> <span class="w"> </span><span class="c1">///</span> <span class="w"> </span><span class="c1">/// # See Also</span> <span class="w"> </span><span class="c1">/// - Microsoft.Quantum.Canon.MultiplexOperationsFromGenerator</span> <span class="w"> </span><span class="n">function</span><span class="w"> </span><span class="nf">MultiplexerFromGenerator</span><span class="p">(</span><span class="n">unitaryGenerator</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="p">(</span><span class="n">Int</span><span class="p">,</span><span class="w"> </span><span class="p">(</span><span class="n">Int</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="p">(</span><span class="n">Qubit</span><span class="p">[]</span><span class="w"> </span><span class="o">=></span><span class="w"> </span><span class="n">Unit</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="n">Adj</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">Ctl</span><span class="p">))))</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="p">((</span><span class="n">LittleEndian</span><span class="p">,</span><span class="w"> </span><span class="n">Qubit</span><span class="p">[])</span><span class="w"> </span><span class="o">=></span><span class="w"> </span><span class="n">Unit</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="n">Adj</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">Ctl</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nf">MultiplexOperationsFromGenerator</span><span class="p">(</span><span class="n">unitaryGenerator</span><span class="p">,</span><span class="w"> </span><span class="n">_</span><span class="p">,</span><span class="w"> </span><span class="n">_</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="c1">/// # Summary</span> <span class="w"> </span><span class="c1">/// Returns a multiply-controlled unitary operation $U$ that applies a</span> <span class="w"> </span><span class="c1">/// unitary $V_j$ when controlled by n-qubit number state $\ket{j}$.</span> <span class="w"> </span><span class="c1">///</span> <span class="w"> </span><span class="c1">/// $U = \sum^{2^n-1}_{j=0}\ket{j}\bra{j}\otimes V_j$.</span> <span class="w"> </span><span class="c1">///</span> <span class="w"> </span><span class="c1">/// # Input</span> <span class="w"> </span><span class="c1">/// ## unitaryGenerator</span> <span class="w"> </span><span class="c1">/// A tuple where the first element `Int` is the number of unitaries $N$,</span> <span class="w"> </span><span class="c1">/// and the second element `(Int -> ('T => () is Adj + Ctl))`</span> <span class="w"> </span><span class="c1">/// is a function that takes an integer $j$ in $[0,N-1]$ and outputs the unitary</span> <span class="w"> </span><span class="c1">/// operation $V_j$.</span> <span class="w"> </span><span class="c1">///</span> <span class="w"> </span><span class="c1">/// # Output</span> <span class="w"> </span><span class="c1">/// A multiply-controlled unitary operation $U$ that applies unitaries</span> <span class="w"> </span><span class="c1">/// described by `unitaryGenerator`.</span> <span class="w"> </span><span class="c1">///</span> <span class="w"> </span><span class="c1">/// # See Also</span> <span class="w"> </span><span class="c1">/// - Microsoft.Quantum.Canon.MultiplexOperationsBruteForceFromGenerator</span> <span class="w"> </span><span class="n">function</span><span class="w"> </span><span class="nf">MultiplexerBruteForceFromGenerator</span><span class="p">(</span><span class="n">unitaryGenerator</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="p">(</span><span class="n">Int</span><span class="p">,</span><span class="w"> </span><span class="p">(</span><span class="n">Int</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="p">(</span><span class="n">Qubit</span><span class="p">[]</span><span class="w"> </span><span class="o">=></span><span class="w"> </span><span class="n">Unit</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="n">Adj</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">Ctl</span><span class="p">))))</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="p">((</span><span class="n">LittleEndian</span><span class="p">,</span><span class="w"> </span><span class="n">Qubit</span><span class="p">[])</span><span class="w"> </span><span class="o">=></span><span class="w"> </span><span class="n">Unit</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="n">Adj</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">Ctl</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nf">MultiplexOperationsBruteForceFromGenerator</span><span class="p">(</span><span class="n">unitaryGenerator</span><span class="p">,</span><span class="w"> </span><span class="n">_</span><span class="p">,</span><span class="w"> </span><span class="n">_</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="c1">/// # Summary</span> <span class="w"> </span><span class="c1">/// Computes a chain of AND gates</span> <span class="w"> </span><span class="c1">///</span> <span class="w"> </span><span class="c1">/// # Description</span> <span class="w"> </span><span class="c1">/// The auxiliary qubits to compute temporary results must be specified explicitly.</span> <span class="w"> </span><span class="c1">/// The length of that register is `Length(ctrlRegister) - 2`, if there are at least</span> <span class="w"> </span><span class="c1">/// two controls, otherwise the length is 0.</span> <span class="w"> </span><span class="k">internal</span><span class="w"> </span><span class="n">operation</span><span class="w"> </span><span class="nf">ApplyAndChain</span><span class="p">(</span><span class="n">auxRegister</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">Qubit</span><span class="p">[],</span><span class="w"> </span><span class="n">ctrlRegister</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">Qubit</span><span class="p">[],</span><span class="w"> </span><span class="n">target</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">Qubit</span><span class="p">)</span> <span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">Unit</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="n">Adj</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="nf">Length</span><span class="p">(</span><span class="n">ctrlRegister</span><span class="p">)</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">X</span><span class="p">(</span><span class="n">target</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="n">elif</span><span class="w"> </span><span class="n">Length</span><span class="p">(</span><span class="n">ctrlRegister</span><span class="p">)</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="m">1</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">CNOT</span><span class="p">(</span><span class="n">Head</span><span class="p">(</span><span class="n">ctrlRegister</span><span class="p">),</span><span class="w"> </span><span class="n">target</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">EqualityFactI</span><span class="p">(</span><span class="n">Length</span><span class="p">(</span><span class="n">auxRegister</span><span class="p">),</span><span class="w"> </span><span class="n">Length</span><span class="p">(</span><span class="n">ctrlRegister</span><span class="p">));</span> <span class="w"> </span><span class="k">let</span><span class="w"> </span><span class="n">controls1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ctrlRegister</span><span class="p">[</span><span class="m">0.</span><span class="p">.</span><span class="m">0</span><span class="p">]</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">auxRegister</span><span class="p">;</span> <span class="w"> </span><span class="k">let</span><span class="w"> </span><span class="n">controls2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Rest</span><span class="p">(</span><span class="n">ctrlRegister</span><span class="p">);</span> <span class="w"> </span><span class="k">let</span><span class="w"> </span><span class="n">targets</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">auxRegister</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="p">[</span><span class="n">target</span><span class="p">];</span> <span class="w"> </span><span class="n">ApplyToEachA</span><span class="p">(</span><span class="n">ApplyAnd</span><span class="p">,</span><span class="w"> </span><span class="n">Zipped3</span><span class="p">(</span><span class="n">controls1</span><span class="p">,</span><span class="w"> </span><span class="n">controls2</span><span class="p">,</span><span class="w"> </span><span class="n">targets</span><span class="p">));</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="p">}</span> <span class="p">}</span> </pre></div> <div class="mw-heading mw-heading2"><h2 id="References">References</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Q_Sharp&action=edit&section=10" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239543626">.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist"> <div class="mw-references-wrap mw-references-columns"><ol class="references"> <li id="cite_note-AT_Q#-1"><span class="mw-cite-backlink">^ <a href="#cite_ref-AT_Q#_1-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-AT_Q#_1-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}</style><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://arstechnica.com/gadgets/2017/12/microsofts-q-quantum-programming-language-out-now-in-preview/">"Microsoft's Q# quantum programming language out now in preview"</a>. <i>Ars Technica</i>. 12 Dec 2017<span class="reference-accessdate">. Retrieved <span class="nowrap">2024-09-04</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Ars+Technica&rft.atitle=Microsoft%27s+Q%23+quantum+programming+language+out+now+in+preview&rft.date=2017-12-12&rft_id=https%3A%2F%2Farstechnica.com%2Fgadgets%2F2017%2F12%2Fmicrosofts-q-quantum-programming-language-out-now-in-preview%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AQ+Sharp" class="Z3988"></span></span> </li> <li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://courses.cs.washington.edu/courses/cse490q/20au/hws/qsharp-intro.pdf">"Introduction to Q#"</a> <span class="cs1-format">(PDF)</span>. <a href="/wiki/University_of_Washington" title="University of Washington">University of Washington</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Introduction+to+Q%23&rft.pub=University+of+Washington&rft_id=https%3A%2F%2Fcourses.cs.washington.edu%2Fcourses%2Fcse490q%2F20au%2Fhws%2Fqsharp-intro.pdf&rfr_id=info%3Asid%2Fen.wikipedia.org%3AQ+Sharp" class="Z3988"></span></span> </li> <li id="cite_note-:1-3"><span class="mw-cite-backlink">^ <a href="#cite_ref-:1_3-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-:1_3-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFQuantumWriter" class="citation web cs1">QuantumWriter. <a rel="nofollow" class="external text" href="https://docs.microsoft.com/en-us/quantum/quantum-qr-intro?view=qsharp-preview">"The Q# Programming Language"</a>. <i>docs.microsoft.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2017-12-11</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=docs.microsoft.com&rft.atitle=The+Q%23+Programming+Language&rft.au=QuantumWriter&rft_id=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fquantum%2Fquantum-qr-intro%3Fview%3Dqsharp-preview&rfr_id=info%3Asid%2Fen.wikipedia.org%3AQ+Sharp" class="Z3988"></span></span> </li> <li id="cite_note-:0-4"><span class="mw-cite-backlink">^ <a href="#cite_ref-:0_4-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-:0_4-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation news cs1"><a rel="nofollow" class="external text" href="https://cloudblogs.microsoft.com/quantum/2017/12/11/announcing-microsoft-quantum-development-kit/">"Announcing the Microsoft Quantum Development Kit"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2017-12-11</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Announcing+the+Microsoft+Quantum+Development+Kit&rft_id=https%3A%2F%2Fcloudblogs.microsoft.com%2Fquantum%2F2017%2F12%2F11%2Fannouncing-microsoft-quantum-development-kit%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AQ+Sharp" class="Z3988"></span></span> </li> <li id="cite_note-AT_Ignite-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-AT_Ignite_5-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://arstechnica.com/gadgets/2017/09/microsoft-quantum-toolkit/">"Microsoft makes play for next wave of computing with quantum computing toolkit"</a>. <i>Ars Technica</i>. 25 Sep 2017<span class="reference-accessdate">. Retrieved <span class="nowrap">2024-09-04</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Ars+Technica&rft.atitle=Microsoft+makes+play+for+next+wave+of+computing+with+quantum+computing+toolkit&rft.date=2017-09-25&rft_id=https%3A%2F%2Farstechnica.com%2Fgadgets%2F2017%2F09%2Fmicrosoft-quantum-toolkit%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AQ+Sharp" class="Z3988"></span></span> </li> <li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.technologyreview.com/2017/12/22/3662/quantum-computers-barely-exist-heres-why-were-writing-languages-for-them-anyway/">"Quantum Computers Barely Exist—Here's Why We're Writing Languages for Them Anyway"</a>. <i>MIT Technology Review</i>. 22 Dec 2017<span class="reference-accessdate">. Retrieved <span class="nowrap">2024-09-04</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=MIT+Technology+Review&rft.atitle=Quantum+Computers+Barely+Exist%E2%80%94Here%27s+Why+We%27re+Writing+Languages+for+Them+Anyway&rft.date=2017-12-22&rft_id=https%3A%2F%2Fwww.technologyreview.com%2F2017%2F12%2F22%2F3662%2Fquantum-computers-barely-exist-heres-why-were-writing-languages-for-them-anyway%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AQ+Sharp" class="Z3988"></span></span> </li> <li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://cloudblogs.microsoft.com/quantum/2017/02/15/solving-the-quantum-many-body-problem-with-artificial-neural-networks/">"Solving the quantum many-body problem with artificial neural networks"</a>. <i>Microsoft Azure Quantum</i>. 15 February 2017.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Microsoft+Azure+Quantum&rft.atitle=Solving+the+quantum+many-body+problem+with+artificial+neural+networks&rft.date=2017-02-15&rft_id=https%3A%2F%2Fcloudblogs.microsoft.com%2Fquantum%2F2017%2F02%2F15%2Fsolving-the-quantum-many-body-problem-with-artificial-neural-networks%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AQ+Sharp" class="Z3988"></span></span> </li> <li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><a href="/wiki/Scott_Aaronson" title="Scott Aaronson">Scott Aaronson</a>'s blog, 2013, 'Microsoft: From QDOS to QMA in less than 35 years', <a rel="nofollow" class="external free" href="https://scottaaronson.blog/?p=1471">https://scottaaronson.blog/?p=1471</a></span> </li> <li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://learn.microsoft.com/en-us/azure/quantum/overview-what-is-qsharp-and-qdk">"What are the Q# programming language & QDK? - Azure Quantum"</a>. <i>learn.microsoft.com</i>. 12 January 2024.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=learn.microsoft.com&rft.atitle=What+are+the+Q%23+programming+language+%26+QDK%3F+-+Azure+Quantum&rft.date=2024-01-12&rft_id=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fazure%2Fquantum%2Foverview-what-is-qsharp-and-qdk&rfr_id=info%3Asid%2Fen.wikipedia.org%3AQ+Sharp" class="Z3988"></span></span> </li> <li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation news cs1"><a rel="nofollow" class="external text" href="https://cloudblogs.microsoft.com/quantum/2017/09/26/microsoft-announces-quantum-computing-programming-language/">"Microsoft announces quantum computing programming language"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2017-12-14</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Microsoft+announces+quantum+computing+programming+language&rft_id=https%3A%2F%2Fcloudblogs.microsoft.com%2Fquantum%2F2017%2F09%2F26%2Fmicrosoft-announces-quantum-computing-programming-language%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AQ+Sharp" class="Z3988"></span></span> </li> <li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://venturebeat.com/2019/05/06/microsoft-open-sourcing-quantum-development-kit/">Microsoft is open-sourcing its Quantum Development Kit</a></span> </li> <li id="cite_note-QIR-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-QIR_12-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFKrill2020" class="citation web cs1">Krill, Paul (29 Sep 2020). <a rel="nofollow" class="external text" href="https://www.infoworld.com/article/2260508/microsoft-taps-llvm-for-quantum-computing.html">"Microsoft taps LLVM for quantum computing"</a>. <i>InfoWorld</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2024-09-04</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=InfoWorld&rft.atitle=Microsoft+taps+LLVM+for+quantum+computing&rft.date=2020-09-29&rft.aulast=Krill&rft.aufirst=Paul&rft_id=https%3A%2F%2Fwww.infoworld.com%2Farticle%2F2260508%2Fmicrosoft-taps-llvm-for-quantum-computing.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AQ+Sharp" class="Z3988"></span></span> </li> <li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://devblogs.microsoft.com/qsharp/the-women-of-quarc/">"The Women of QuArC"</a>. 30 March 2019.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=The+Women+of+QuArC&rft.date=2019-03-30&rft_id=https%3A%2F%2Fdevblogs.microsoft.com%2Fqsharp%2Fthe-women-of-quarc%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AQ+Sharp" class="Z3988"></span></span> </li> <li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://stem.mitre.org/quantum/software-tools/intro-qsharp.html">"Intro to Q# - Intro to Quantum Software Development"</a>. <i>stem.mitre.org</i>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=stem.mitre.org&rft.atitle=Intro+to+Q%23+-+Intro+to+Quantum+Software+Development&rft_id=https%3A%2F%2Fstem.mitre.org%2Fquantum%2Fsoftware-tools%2Fintro-qsharp.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AQ+Sharp" class="Z3988"></span></span> </li> <li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFQuantumWriter" class="citation web cs1">QuantumWriter. <a rel="nofollow" class="external text" href="https://docs.microsoft.com/en-us/quantum/quantum-installconfig?view=qsharp-preview">"Setting up the Q# development environment"</a>. <i>docs.microsoft.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2017-12-14</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=docs.microsoft.com&rft.atitle=Setting+up+the+Q%23+development+environment&rft.au=QuantumWriter&rft_id=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fquantum%2Fquantum-installconfig%3Fview%3Dqsharp-preview&rfr_id=info%3Asid%2Fen.wikipedia.org%3AQ+Sharp" class="Z3988"></span></span> </li> <li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFCoppock2018" class="citation web cs1">Coppock, Mark (26 Feb 2018). <a rel="nofollow" class="external text" href="https://www.digitaltrends.com/computing/microsoft-quantum-computing-q-available-macos-linux/">"Microsoft's quantum computing language is now available for MacOS"</a>. <i>Digital Trends</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2024-09-04</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Digital+Trends&rft.atitle=Microsoft%27s+quantum+computing+language+is+now+available+for+MacOS&rft.date=2018-02-26&rft.aulast=Coppock&rft.aufirst=Mark&rft_id=https%3A%2F%2Fwww.digitaltrends.com%2Fcomputing%2Fmicrosoft-quantum-computing-q-available-macos-linux%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AQ+Sharp" class="Z3988"></span></span> </li> <li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFAkdogan2022" class="citation web cs1">Akdogan, Erman (23 October 2022). <a rel="nofollow" class="external text" href="https://medium.datadriveninvestor.com/quantum-computing-is-coming-for-finance-crypto-b56c0255cb09">"Quantum computing is coming for finance & crypto"</a>. <i>Medium</i>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Medium&rft.atitle=Quantum+computing+is+coming+for+finance+%26+crypto&rft.date=2022-10-23&rft.aulast=Akdogan&rft.aufirst=Erman&rft_id=https%3A%2F%2Fmedium.datadriveninvestor.com%2Fquantum-computing-is-coming-for-finance-crypto-b56c0255cb09&rfr_id=info%3Asid%2Fen.wikipedia.org%3AQ+Sharp" class="Z3988"></span></span> </li> <li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFMelanson2017" class="citation web cs1">Melanson, Mike (16 Dec 2017). <a rel="nofollow" class="external text" href="https://thenewstack.io/week-programming-get-quantum-q-sharp/">"This Week in Programming: Get Quantum with Q Sharp"</a>. <i>The New Stack</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2024-09-04</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=The+New+Stack&rft.atitle=This+Week+in+Programming%3A+Get+Quantum+with+Q+Sharp&rft.date=2017-12-16&rft.aulast=Melanson&rft.aufirst=Mike&rft_id=https%3A%2F%2Fthenewstack.io%2Fweek-programming-get-quantum-q-sharp%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AQ+Sharp" class="Z3988"></span></span> </li> <li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://thenewstack.io/week-programming-get-quantum-q-sharp/">"This Week in Programming: Get Quantum with Q Sharp"</a>. <i>The New Stack</i>. 16 December 2017.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=The+New+Stack&rft.atitle=This+Week+in+Programming%3A+Get+Quantum+with+Q+Sharp&rft.date=2017-12-16&rft_id=https%3A%2F%2Fthenewstack.io%2Fweek-programming-get-quantum-q-sharp%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AQ+Sharp" class="Z3988"></span></span> </li> <li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-20">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www2.cio.com.au/article/631142/microsoft-previews-quantum-computing-development-kit/">"Microsoft previews quantum computing development kit"</a>. <i>CIO</i>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=CIO&rft.atitle=Microsoft+previews+quantum+computing+development+kit&rft_id=https%3A%2F%2Fwww2.cio.com.au%2Farticle%2F631142%2Fmicrosoft-previews-quantum-computing-development-kit%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AQ+Sharp" class="Z3988"></span></span> </li> <li id="cite_note-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-21">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.microsoft.com/en-us/quantum/user-guide/language/types">"Types in Q# - Microsoft Quantum"</a>. <i>docs.microsoft.com</i>. 27 July 2022.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=docs.microsoft.com&rft.atitle=Types+in+Q%23+-+Microsoft+Quantum&rft.date=2022-07-27&rft_id=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fquantum%2Fuser-guide%2Flanguage%2Ftypes&rfr_id=info%3Asid%2Fen.wikipedia.org%3AQ+Sharp" class="Z3988"></span></span> </li> </ol></div></div> <div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Q_Sharp&action=edit&section=11" title="Edit section: External links"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><span class="official-website"><span class="url"><a rel="nofollow" class="external text" href="https://docs.microsoft.com/en-us/azure/quantum/">Official website</a></span></span></li> <li><a rel="nofollow" class="external text" href="https://github.com/microsoft/qsharp-language">qsharp-language</a> on <a href="/wiki/GitHub" title="GitHub">GitHub</a></li></ul> <div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}</style><style data-mw-deduplicate="TemplateStyles:r1236075235">.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}</style></div><div role="navigation" class="navbox" aria-labelledby="Quantum_information_science667" style="padding:3px"><table class="nowraplinks hlist mw-collapsible mw-collapsed navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><style data-mw-deduplicate="TemplateStyles:r1239400231">.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}</style><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Quantum_information" title="Template:Quantum information"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Quantum_information" title="Template talk:Quantum information"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Quantum_information" title="Special:EditPage/Template:Quantum information"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Quantum_information_science667" style="font-size:114%;margin:0 4em"><a href="/wiki/Quantum_information_science" title="Quantum information science">Quantum information science</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">General</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/DiVincenzo%27s_criteria" title="DiVincenzo's criteria">DiVincenzo's criteria</a></li> <li><a href="/wiki/Noisy_intermediate-scale_quantum_era" title="Noisy intermediate-scale quantum era">NISQ era</a></li> <li><a href="/wiki/Quantum_computing" title="Quantum computing">Quantum computing</a> <ul><li><a href="/wiki/Timeline_of_quantum_computing_and_communication" title="Timeline of quantum computing and communication">timeline</a></li></ul></li> <li><a href="/wiki/Quantum_information" title="Quantum information">Quantum information</a></li> <li><a href="/wiki/Quantum_programming" title="Quantum programming">Quantum programming</a></li> <li><a href="/wiki/Quantum_simulator" title="Quantum simulator">Quantum simulation</a></li> <li><a href="/wiki/Qubit" title="Qubit">Qubit</a> <ul><li><a href="/wiki/Physical_and_logical_qubits" title="Physical and logical qubits">physical vs. logical</a></li></ul></li> <li><a href="/wiki/List_of_quantum_processors" title="List of quantum processors">Quantum processors</a> <ul><li><a href="/wiki/Cloud-based_quantum_computing" title="Cloud-based quantum computing">cloud-based</a></li></ul></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Theorems</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Bell%27s_theorem" title="Bell's theorem">Bell's</a></li> <li><a href="/wiki/Eastin%E2%80%93Knill_theorem" title="Eastin–Knill theorem">Eastin–Knill</a></li> <li><a href="/wiki/Gleason%27s_theorem" title="Gleason's theorem">Gleason's</a></li> <li><a href="/wiki/Gottesman%E2%80%93Knill_theorem" title="Gottesman–Knill theorem">Gottesman–Knill</a></li> <li><a href="/wiki/Holevo%27s_theorem" title="Holevo's theorem">Holevo's</a></li> <li><a href="/wiki/No-broadcasting_theorem" title="No-broadcasting theorem">No-broadcasting</a></li> <li><a href="/wiki/No-cloning_theorem" title="No-cloning theorem">No-cloning</a></li> <li><a href="/wiki/No-communication_theorem" title="No-communication theorem">No-communication</a></li> <li><a href="/wiki/No-deleting_theorem" title="No-deleting theorem">No-deleting</a></li> <li><a href="/wiki/No-hiding_theorem" title="No-hiding theorem">No-hiding</a></li> <li><a href="/wiki/No-teleportation_theorem" title="No-teleportation theorem">No-teleportation</a></li> <li><a href="/wiki/PBR_theorem" class="mw-redirect" title="PBR theorem">PBR</a></li> <li><a href="/wiki/Quantum_speed_limit_theorems" class="mw-redirect" title="Quantum speed limit theorems">Quantum speed limit</a></li> <li><a href="/wiki/Threshold_theorem" title="Threshold theorem">Threshold</a></li> <li><a href="/wiki/Solovay%E2%80%93Kitaev_theorem" title="Solovay–Kitaev theorem">Solovay–Kitaev</a></li> <li><a href="/wiki/Schr%C3%B6dinger%E2%80%93HJW_theorem" title="Schrödinger–HJW theorem">Purification</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Quantum<br />communication</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Classical_capacity" title="Classical capacity">Classical capacity</a> <ul><li><a href="/wiki/Entanglement-assisted_classical_capacity" title="Entanglement-assisted classical capacity">entanglement-assisted</a></li> <li><a href="/wiki/Quantum_capacity" title="Quantum capacity">quantum capacity</a></li></ul></li> <li><a href="/wiki/Entanglement_distillation" title="Entanglement distillation">Entanglement distillation</a></li> <li><a href="/wiki/Entanglement_swapping" title="Entanglement swapping">Entanglement swapping</a></li> <li><a href="/wiki/Monogamy_of_entanglement" title="Monogamy of entanglement">Monogamy of entanglement</a></li> <li><a href="/wiki/LOCC" title="LOCC">LOCC</a></li> <li><a href="/wiki/Quantum_channel" title="Quantum channel">Quantum channel</a> <ul><li><a href="/wiki/Quantum_network" title="Quantum network">quantum network</a></li></ul></li> <li><a href="/wiki/Quantum_teleportation" title="Quantum teleportation">Quantum teleportation</a> <ul><li><a href="/wiki/Quantum_gate_teleportation" title="Quantum gate teleportation">quantum gate teleportation</a></li></ul></li> <li><a href="/wiki/Superdense_coding" title="Superdense coding">Superdense coding</a></li></ul> </div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th id="Quantum_cryptography24" scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Quantum_cryptography" title="Quantum cryptography">Quantum cryptography</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Post-quantum_cryptography" title="Post-quantum cryptography">Post-quantum cryptography</a></li> <li><a href="/wiki/Quantum_coin_flipping" title="Quantum coin flipping">Quantum coin flipping</a></li> <li><a href="/wiki/Quantum_money" title="Quantum money">Quantum money</a></li> <li><a href="/wiki/Quantum_key_distribution" title="Quantum key distribution">Quantum key distribution</a> <ul><li><a href="/wiki/BB84" title="BB84">BB84</a></li> <li><a href="/wiki/SARG04" title="SARG04">SARG04</a></li> <li><a href="/wiki/List_of_quantum_key_distribution_protocols" title="List of quantum key distribution protocols">other protocols</a></li></ul></li> <li><a href="/wiki/Quantum_secret_sharing" title="Quantum secret sharing">Quantum secret sharing</a></li></ul> </div></td></tr></tbody></table><div> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Quantum_algorithm" title="Quantum algorithm">Quantum algorithms</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Amplitude_amplification" title="Amplitude amplification">Amplitude amplification</a></li> <li><a href="/wiki/Bernstein%E2%80%93Vazirani_algorithm" title="Bernstein–Vazirani algorithm">Bernstein–Vazirani</a></li> <li><a href="/wiki/BHT_algorithm" title="BHT algorithm">BHT</a></li> <li><a href="/wiki/Boson_sampling" title="Boson sampling">Boson sampling</a></li> <li><a href="/wiki/Deutsch%E2%80%93Jozsa_algorithm" title="Deutsch–Jozsa algorithm">Deutsch–Jozsa</a></li> <li><a href="/wiki/Grover%27s_algorithm" title="Grover's algorithm">Grover's</a></li> <li><a href="/wiki/HHL_algorithm" title="HHL algorithm">HHL</a></li> <li><a href="/wiki/Hidden_subgroup_problem" title="Hidden subgroup problem">Hidden subgroup</a></li> <li><a href="/wiki/Quantum_annealing" title="Quantum annealing">Quantum annealing</a></li> <li><a href="/wiki/Quantum_counting_algorithm" title="Quantum counting algorithm">Quantum counting</a></li> <li><a href="/wiki/Quantum_Fourier_transform" title="Quantum Fourier transform">Quantum Fourier transform</a></li> <li><a href="/wiki/Quantum_optimization_algorithms" title="Quantum optimization algorithms">Quantum optimization</a></li> <li><a href="/wiki/Quantum_phase_estimation_algorithm" title="Quantum phase estimation algorithm">Quantum phase estimation</a></li> <li><a href="/wiki/Shor%27s_algorithm" title="Shor's algorithm">Shor's</a></li> <li><a href="/wiki/Simon%27s_problem" title="Simon's problem">Simon's</a></li> <li><a href="/wiki/Variational_quantum_eigensolver" title="Variational quantum eigensolver">VQE</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Quantum_complexity_theory" title="Quantum complexity theory">Quantum<br />complexity theory</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/BQP" title="BQP">BQP</a></li> <li><a href="/wiki/Exact_quantum_polynomial_time" title="Exact quantum polynomial time">EQP</a></li> <li><a href="/wiki/QIP_(complexity)" title="QIP (complexity)">QIP</a></li> <li><a href="/wiki/QMA" title="QMA">QMA</a></li> <li><a href="/wiki/PostBQP" title="PostBQP">PostBQP</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Quantum <br /> processor benchmarks</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Quantum_supremacy" title="Quantum supremacy">Quantum supremacy</a></li> <li><a href="/wiki/Quantum_volume" title="Quantum volume">Quantum volume</a></li> <li><a href="/wiki/Randomized_benchmarking" title="Randomized benchmarking">Randomized benchmarking</a> <ul><li><a href="/wiki/Cross-entropy_benchmarking" title="Cross-entropy benchmarking">XEB</a></li></ul></li> <li><a href="/wiki/Relaxation_(NMR)" title="Relaxation (NMR)">Relaxation times</a> <ul><li><a href="/wiki/Spin%E2%80%93lattice_relaxation" title="Spin–lattice relaxation"><i>T</i><sub>1</sub></a></li> <li><a href="/wiki/Spin%E2%80%93spin_relaxation" title="Spin–spin relaxation"><i>T</i><sub>2</sub></a></li></ul></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Quantum<br /><a href="/wiki/Model_of_computation" title="Model of computation">computing models</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Adiabatic_quantum_computation" title="Adiabatic quantum computation">Adiabatic quantum computation</a></li> <li><a href="/wiki/Continuous-variable_quantum_information" title="Continuous-variable quantum information">Continuous-variable quantum information</a></li> <li><a href="/wiki/One-way_quantum_computer" title="One-way quantum computer">One-way quantum computer</a> <ul><li><a href="/wiki/Cluster_state" title="Cluster state">cluster state</a></li></ul></li> <li><a href="/wiki/Quantum_circuit" title="Quantum circuit">Quantum circuit</a> <ul><li><a href="/wiki/Quantum_logic_gate" title="Quantum logic gate">quantum logic gate</a></li></ul></li> <li><a href="/wiki/Quantum_machine_learning" title="Quantum machine learning">Quantum machine learning</a> <ul><li><a href="/wiki/Quantum_neural_network" title="Quantum neural network">quantum neural network</a></li></ul></li> <li><a href="/wiki/Quantum_Turing_machine" title="Quantum Turing machine">Quantum Turing machine</a></li> <li><a href="/wiki/Topological_quantum_computer" title="Topological quantum computer">Topological quantum computer</a></li> <li><a href="/wiki/Hamiltonian_quantum_computation" title="Hamiltonian quantum computation">Hamiltonian quantum computation</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Quantum_error_correction" title="Quantum error correction">Quantum<br />error correction</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li>Codes <ul><li><a href="/wiki/CSS_code" title="CSS code">CSS</a></li> <li><a href="/wiki/Quantum_convolutional_code" title="Quantum convolutional code">quantum convolutional</a></li> <li><a href="/wiki/Stabilizer_code" title="Stabilizer code">stabilizer</a></li> <li><a href="/wiki/Shor_code" class="mw-redirect" title="Shor code">Shor</a></li> <li><a href="/wiki/Bacon%E2%80%93Shor_code" title="Bacon–Shor code">Bacon–Shor</a></li> <li><a href="/wiki/Steane_code" title="Steane code">Steane</a></li> <li><a href="/wiki/Toric_code" title="Toric code">Toric</a></li> <li><a href="/wiki/Gnu_code" title="Gnu code"><i>gnu</i></a></li></ul></li> <li><a href="/wiki/Entanglement-assisted_stabilizer_formalism" title="Entanglement-assisted stabilizer formalism">Entanglement-assisted</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Physical<br />implementations</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Quantum_optics" title="Quantum optics">Quantum optics</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Cavity_quantum_electrodynamics" title="Cavity quantum electrodynamics">Cavity QED</a></li> <li><a href="/wiki/Circuit_quantum_electrodynamics" title="Circuit quantum electrodynamics">Circuit QED</a></li> <li><a href="/wiki/Linear_optical_quantum_computing" title="Linear optical quantum computing">Linear optical QC</a></li> <li><a href="/wiki/KLM_protocol" title="KLM protocol">KLM protocol</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Ultracold_atom" title="Ultracold atom">Ultracold atoms</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Neutral_atom_quantum_computer" title="Neutral atom quantum computer">Neutral atom QC</a></li> <li><a href="/wiki/Trapped-ion_quantum_computer" title="Trapped-ion quantum computer">Trapped-ion QC</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Spin_(physics)" title="Spin (physics)">Spin</a>-based</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Kane_quantum_computer" title="Kane quantum computer">Kane QC</a></li> <li><a href="/wiki/Spin_qubit_quantum_computer" title="Spin qubit quantum computer">Spin qubit QC</a></li> <li><a href="/wiki/Nitrogen-vacancy_center" title="Nitrogen-vacancy center">NV center</a></li> <li><a href="/wiki/Nuclear_magnetic_resonance_quantum_computer" title="Nuclear magnetic resonance quantum computer">NMR QC</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Superconducting_quantum_computing" title="Superconducting quantum computing">Superconducting</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Charge_qubit" title="Charge qubit">Charge qubit</a></li> <li><a href="/wiki/Flux_qubit" title="Flux qubit">Flux qubit</a></li> <li><a href="/wiki/Phase_qubit" title="Phase qubit">Phase qubit</a></li> <li><a href="/wiki/Transmon" title="Transmon">Transmon</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Quantum_programming" title="Quantum programming">Quantum<br />programming</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/OpenQASM" title="OpenQASM">OpenQASM</a>–<a href="/wiki/Qiskit" title="Qiskit">Qiskit</a>–<a href="/wiki/IBM_Quantum_Experience" class="mw-redirect" title="IBM Quantum Experience">IBM QX</a></li> <li><a href="/wiki/Quil_(instruction_set_architecture)" title="Quil (instruction set architecture)">Quil</a>–<a href="/wiki/Rigetti_Computing" title="Rigetti Computing">Forest/Rigetti QCS</a></li> <li><a href="/wiki/Cirq" title="Cirq">Cirq</a></li> <li><a class="mw-selflink selflink">Q#</a></li> <li><a href="/wiki/Libquantum" title="Libquantum">libquantum</a></li> <li><a href="/wiki/Quantum_programming" title="Quantum programming">many others...</a></li></ul> </div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div> <ul><li><span class="noviewer" typeof="mw:File"><span title="Category"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/16px-Symbol_category_class.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/23px-Symbol_category_class.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/31px-Symbol_category_class.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span> <a href="/wiki/Category:Quantum_information_science" title="Category:Quantum information science">Quantum information science</a></li> <li><span class="noviewer" typeof="mw:File"><span title="Template"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/8/83/Symbol_template_class_pink.svg/16px-Symbol_template_class_pink.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/83/Symbol_template_class_pink.svg/23px-Symbol_template_class_pink.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/8/83/Symbol_template_class_pink.svg/31px-Symbol_template_class_pink.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span> <a href="/wiki/Template:Quantum_mechanics_topics" title="Template:Quantum mechanics topics">Quantum mechanics topics</a></li></ul> </div></td></tr></tbody></table></div> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236075235"></div><div role="navigation" class="navbox" aria-labelledby="Common_Language_Infrastructure106" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239400231"><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Common_Language_Infrastructure" title="Template:Common Language Infrastructure"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Common_Language_Infrastructure" title="Template talk:Common Language Infrastructure"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Common_Language_Infrastructure" title="Special:EditPage/Template:Common Language Infrastructure"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Common_Language_Infrastructure106" style="font-size:114%;margin:0 4em"><a href="/wiki/Common_Language_Infrastructure" title="Common Language Infrastructure">Common Language Infrastructure</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Architecture</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Application_domain" title="Application domain">Application domain</a></li> <li><a href="/wiki/Code_Access_Security" title="Code Access Security">Code Access Security</a></li> <li><a href="/wiki/Common_Intermediate_Language" title="Common Intermediate Language">Common Intermediate Language</a> <ul><li><a href="/wiki/List_of_CIL_instructions" title="List of CIL instructions">instructions</a></li></ul></li> <li><a href="/wiki/Common_Type_System" title="Common Type System">Common Type System</a></li> <li><a href="/wiki/Platform_Invocation_Services" title="Platform Invocation Services">Platform Invocation Services</a></li> <li><a href="/wiki/Virtual_Execution_System" title="Virtual Execution System">Virtual Execution System</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Components</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Assembly_(CLI)" title="Assembly (CLI)">Assembly</a></li> <li><a href="/wiki/Delegate_(CLI)" title="Delegate (CLI)">Delegate</a></li> <li><a href="/wiki/Global_Assembly_Cache" title="Global Assembly Cache">Global Assembly Cache</a></li> <li><a href="/wiki/Manifest_(CLI)" title="Manifest (CLI)">Manifest</a></li> <li><a href="/wiki/Metadata_(CLI)" title="Metadata (CLI)">Metadata</a></li> <li><a href="/wiki/Standard_Libraries_(CLI)" title="Standard Libraries (CLI)">Standard Libraries</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Implementations</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Microsoft</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/.NET" title=".NET">.NET</a></li> <li><a href="/wiki/.NET_Framework" title=".NET Framework">.NET Framework</a></li> <li><a href="/wiki/.NET_Compact_Framework" title=".NET Compact Framework">.NET Compact Framework</a></li> <li><a href="/wiki/.NET_Micro_Framework" title=".NET Micro Framework">.NET Micro Framework</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Mono_(software)" title="Mono (software)">Mono</a></li> <li><a href="/wiki/DotGNU" title="DotGNU">DotGNU</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/List_of_CLI_languages" title="List of CLI languages">Languages</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Major languages</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a></li> <li><a href="/wiki/Visual_Basic_.NET" class="mw-redirect" title="Visual Basic .NET">Visual Basic</a></li> <li><a href="/wiki/F_Sharp_(programming_language)" title="F Sharp (programming language)">F#</a></li> <li><a href="/wiki/PowerShell" title="PowerShell">PowerShell</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Axum_(programming_language)" title="Axum (programming language)">Axum</a></li> <li><a href="/wiki/A_Sharp_(.NET)" title="A Sharp (.NET)">A#</a></li> <li><a href="/wiki/Boo_(programming_language)" title="Boo (programming language)">Boo</a></li> <li><a href="/wiki/Cobra_(programming_language)" title="Cobra (programming language)">Cobra</a></li> <li><a href="/wiki/C%2B%2B/CLI" title="C++/CLI">C++/CLI</a></li> <li><a href="/wiki/IronScheme" title="IronScheme">IronScheme</a></li> <li><a href="/wiki/IronPython" title="IronPython">IronPython</a></li> <li><a href="/wiki/IronRuby" title="IronRuby">IronRuby</a></li> <li><a href="/wiki/JScript_.NET" title="JScript .NET">JScript .NET</a></li> <li><a href="/wiki/Visual_J_Sharp" title="Visual J Sharp">J#</a></li> <li><a href="/wiki/Nemerle" title="Nemerle">Nemerle</a></li> <li><a href="/wiki/Oxygene_(programming_language)" title="Oxygene (programming language)">Oxygene</a></li> <li><a href="/wiki/Phalanger_(compiler)" title="Phalanger (compiler)">Phalanger</a></li> <li><a class="mw-selflink selflink">Q#</a></li> <li><a href="/wiki/Scala_(programming_language)" title="Scala (programming language)">Scala</a></li> <li><a href="/wiki/Microsoft_Small_Basic" title="Microsoft Small Basic">Small Basic</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Comparison</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Comparison_of_C_Sharp_and_Java" title="Comparison of C Sharp and Java">C# and Java</a></li> <li><a href="/wiki/Comparison_of_C_Sharp_and_Visual_Basic_.NET" title="Comparison of C Sharp and Visual Basic .NET">C# and Visual Basic .NET</a></li> <li><a href="/wiki/Comparison_of_Visual_Basic_and_Visual_Basic_.NET" title="Comparison of Visual Basic and Visual Basic .NET">Visual Basic and Visual Basic .NET</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr></tbody></table></div> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236075235"></div><div role="navigation" class="navbox" aria-labelledby="Microsoft_free_and_open-source_software_(FOSS)290" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239400231"><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Microsoft_FOSS" title="Template:Microsoft FOSS"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Microsoft_FOSS" title="Template talk:Microsoft FOSS"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Microsoft_FOSS" title="Special:EditPage/Template:Microsoft FOSS"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Microsoft_free_and_open-source_software_(FOSS)290" style="font-size:114%;margin:0 4em"><a href="/wiki/Microsoft" title="Microsoft">Microsoft</a> <a href="/wiki/Free_and_open-source_software" title="Free and open-source software">free and open-source software (FOSS)</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Overview</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Microsoft_and_open_source" title="Microsoft and open source">Microsoft and open source</a></li> <li><a href="/wiki/Shared_Source_Initiative" title="Shared Source Initiative">Shared Source Initiative</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Software</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Applications</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/3D_Movie_Maker" title="3D Movie Maker">3D Movie Maker</a></li> <li><a href="/wiki/Atom_(text_editor)" title="Atom (text editor)">Atom</a></li> <li><a href="/wiki/Conference_XP" title="Conference XP">Conference XP</a></li> <li><a href="/wiki/Family.Show" title="Family.Show">Family.Show</a></li> <li><a href="/wiki/File_Manager_(Windows)" class="mw-redirect" title="File Manager (Windows)">File Manager</a></li> <li><a href="/wiki/Open_Live_Writer" title="Open Live Writer">Open Live Writer</a></li> <li><a href="/wiki/Microsoft_PowerToys" title="Microsoft PowerToys">Microsoft PowerToys</a></li> <li><a href="/wiki/Windows_Terminal" title="Windows Terminal">Terminal</a></li> <li><a href="/wiki/Windows_Calculator" title="Windows Calculator">Windows Calculator</a></li> <li><a href="/wiki/Windows_Console" title="Windows Console">Windows Console</a></li> <li><a href="/wiki/Windows_Package_Manager" title="Windows Package Manager">Windows Package Manager</a></li> <li><a href="/wiki/WorldWide_Telescope" title="WorldWide Telescope">WorldWide Telescope</a></li> <li><a href="/wiki/XML_Notepad" title="XML Notepad">XML Notepad</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Video games</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Allegiance_(video_game)" title="Allegiance (video game)">Allegiance</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Programming<br />languages</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Bosque_(programming_language)" title="Bosque (programming language)">Bosque</a></li> <li><a href="/wiki/C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a></li> <li><a href="/wiki/Dafny" title="Dafny">Dafny</a></li> <li><a href="/wiki/F_Sharp_(programming_language)" title="F Sharp (programming language)">F#</a></li> <li><a href="/wiki/F*_(programming_language)" title="F* (programming language)">F*</a></li> <li><a href="/wiki/GW-BASIC" title="GW-BASIC">GW-BASIC</a></li> <li><a href="/wiki/IronPython" title="IronPython">IronPython</a></li> <li><a href="/wiki/IronRuby" title="IronRuby">IronRuby</a></li> <li><a href="/wiki/Lean_(proof_assistant)" title="Lean (proof assistant)">Lean</a></li> <li><a href="/wiki/P_(programming_language)" title="P (programming language)">P</a></li> <li><a href="/wiki/Microsoft_Power_Fx" title="Microsoft Power Fx">Power Fx</a></li> <li><a href="/wiki/PowerShell" title="PowerShell">PowerShell</a></li> <li><a href="/wiki/Project_Verona" title="Project Verona">Project Verona</a></li> <li><a class="mw-selflink selflink">Q#</a></li> <li><a href="/wiki/Microsoft_Small_Basic" title="Microsoft Small Basic">Small Basic Online</a></li> <li><a href="/wiki/TypeScript" title="TypeScript">TypeScript</a></li> <li><a href="/wiki/Visual_Basic_.NET" class="mw-redirect" title="Visual Basic .NET">Visual Basic</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Frameworks,<br />development tools</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/.NET" title=".NET">.NET</a></li> <li><a href="/wiki/.NET_Framework" title=".NET Framework">.NET Framework</a></li> <li><a href="/wiki/.NET_Gadgeteer" title=".NET Gadgeteer">.NET Gadgeteer</a></li> <li><a href="/wiki/.NET_MAUI" class="mw-redirect" title=".NET MAUI">.NET MAUI</a></li> <li><a href="/wiki/.NET_Micro_Framework" title=".NET Micro Framework">.NET Micro Framework</a></li> <li><a href="/wiki/AirSim" title="AirSim">AirSim</a></li> <li><a href="/wiki/ASP.NET" title="ASP.NET">ASP.NET</a></li> <li><a href="/wiki/ASP.NET_AJAX" title="ASP.NET AJAX">ASP.NET AJAX</a></li> <li><a href="/wiki/ASP.NET_Core" title="ASP.NET Core">ASP.NET Core</a></li> <li><a href="/wiki/ASP.NET_MVC" title="ASP.NET MVC">ASP.NET MVC</a></li> <li><a href="/wiki/ASP.NET_Razor" title="ASP.NET Razor">ASP.NET Razor</a></li> <li><a href="/wiki/ASP.NET_Web_Forms" title="ASP.NET Web Forms">ASP.NET Web Forms</a></li> <li><a href="/wiki/Avalonia_(software_framework)" title="Avalonia (software framework)">Avalonia</a></li> <li><a href="/wiki/Babylon.js" title="Babylon.js">Babylon.js</a></li> <li><a href="/wiki/BitFunnel" title="BitFunnel">BitFunnel</a></li> <li><a href="/wiki/Blazor" title="Blazor">Blazor</a></li> <li><a href="/wiki/C%2B%2B/WinRT" title="C++/WinRT">C++/WinRT</a></li> <li><a href="/wiki/Confidential_Consortium_Framework" title="Confidential Consortium Framework">CCF</a></li> <li><a href="/wiki/Chakra_(JavaScript_engine)" title="Chakra (JavaScript engine)">ChakraCore</a></li> <li><a href="/wiki/CLR_Profiler" title="CLR Profiler">CLR Profiler</a></li> <li><a href="/wiki/Dapr" title="Dapr">Dapr</a></li> <li><a href="/wiki/DeepSpeed" title="DeepSpeed">DeepSpeed</a></li> <li><a href="/wiki/DiskSpd" title="DiskSpd">DiskSpd</a></li> <li><a href="/wiki/Dryad_(programming)" title="Dryad (programming)">Dryad</a></li> <li><a href="/wiki/Dynamic_Language_Runtime" title="Dynamic Language Runtime">Dynamic Language Runtime</a></li> <li><a href="/wiki/EBPF_on_Windows" class="mw-redirect" title="EBPF on Windows">eBPF on Windows</a></li> <li><a href="/wiki/Electron_(software_framework)" title="Electron (software framework)">Electron</a></li> <li><a href="/wiki/Entity_Framework" title="Entity Framework">Entity Framework</a></li> <li><a href="/wiki/Fluent_Design_System" title="Fluent Design System">Fluent Design System</a></li> <li><a href="/wiki/Fluid_Framework" title="Fluid Framework">Fluid Framework</a></li> <li><a href="/wiki/Infer.NET" title="Infer.NET">Infer.NET</a></li> <li><a href="/wiki/LightGBM" title="LightGBM">LightGBM</a></li> <li><a href="/wiki/Managed_Extensibility_Framework" title="Managed Extensibility Framework">Managed Extensibility Framework</a></li> <li><a href="/wiki/Microsoft_Automatic_Graph_Layout" title="Microsoft Automatic Graph Layout">Microsoft Automatic Graph Layout</a></li> <li><a href="/wiki/Microsoft_C%2B%2B_Standard_Library" class="mw-redirect" title="Microsoft C++ Standard Library">Microsoft C++ Standard Library</a></li> <li><a href="/wiki/Microsoft_Cognitive_Toolkit" title="Microsoft Cognitive Toolkit">Microsoft Cognitive Toolkit</a></li> <li><a href="/wiki/Metro_(design_language)" title="Metro (design language)">Microsoft Design Language</a></li> <li><a href="/wiki/Microsoft_Detours" title="Microsoft Detours">Microsoft Detours</a></li> <li><a href="/wiki/Microsoft_Enterprise_Library" title="Microsoft Enterprise Library">Microsoft Enterprise Library</a></li> <li><a href="/wiki/Microsoft_SEAL" title="Microsoft SEAL">Microsoft SEAL</a></li> <li><a href="/wiki/Mimalloc" title="Mimalloc">mimalloc</a></li> <li><a href="/wiki/Mixed_Reality_Toolkit" title="Mixed Reality Toolkit">Mixed Reality Toolkit</a></li> <li><a href="/wiki/ML.NET" title="ML.NET">ML.NET</a></li> <li><a href="/wiki/Mod_mono" title="Mod mono">mod_mono</a></li> <li><a href="/wiki/Mono_(software)" title="Mono (software)">Mono</a></li> <li><a href="/wiki/MonoDevelop" title="MonoDevelop">MonoDevelop</a></li> <li><a href="/wiki/MSBuild" title="MSBuild">MSBuild</a></li> <li><a href="/wiki/MsQuic" title="MsQuic">MsQuic</a></li> <li><a href="/wiki/Neural_Network_Intelligence" title="Neural Network Intelligence">Neural Network Intelligence</a></li> <li><a href="/wiki/Npm" title="Npm">npm</a></li> <li><a href="/wiki/NuGet" title="NuGet">NuGet</a></li> <li><a href="/wiki/OneFuzz" title="OneFuzz">OneFuzz</a></li> <li><a href="/wiki/Open_Management_Infrastructure" title="Open Management Infrastructure">Open Management Infrastructure</a></li> <li><a href="/wiki/Open_Neural_Network_Exchange" title="Open Neural Network Exchange">Open Neural Network Exchange</a></li> <li><a href="/wiki/Open_Service_Mesh" title="Open Service Mesh">Open Service Mesh</a></li> <li><a href="/wiki/Open_XML_SDK" class="mw-redirect" title="Open XML SDK">Open XML SDK</a></li> <li><a href="/wiki/Orleans_(software_framework)" title="Orleans (software framework)">Orleans</a></li> <li><a href="/wiki/Playwright_(software)" title="Playwright (software)">Playwright</a></li> <li><a href="/wiki/ProcDump" title="ProcDump">ProcDump</a></li> <li><a href="/wiki/Process_Monitor" title="Process Monitor">ProcMon</a></li> <li><a href="/wiki/Python_Tools_for_Visual_Studio" title="Python Tools for Visual Studio">Python Tools for Visual Studio</a></li> <li><a href="/wiki/R_Tools_for_Visual_Studio" title="R Tools for Visual Studio">R Tools for Visual Studio</a></li> <li><a href="/wiki/RecursiveExtractor" class="mw-redirect" title="RecursiveExtractor">RecursiveExtractor</a></li> <li><a href="/wiki/Roslyn_(compiler)" title="Roslyn (compiler)">Roslyn</a></li> <li><a href="/wiki/Sandcastle_(software)" title="Sandcastle (software)">Sandcastle</a></li> <li><a href="/wiki/SignalR" title="SignalR">SignalR</a></li> <li><a href="/wiki/StyleCop" title="StyleCop">StyleCop</a></li> <li><a href="/wiki/SVNBridge" title="SVNBridge">SVNBridge</a></li> <li><a href="/wiki/T2_Temporal_Prover" title="T2 Temporal Prover">T2 Temporal Prover</a></li> <li><a href="/wiki/Text_Template_Transformation_Toolkit" title="Text Template Transformation Toolkit">Text Template Transformation Toolkit</a></li> <li><a href="/wiki/TLA%2B_Toolbox" class="mw-redirect" title="TLA+ Toolbox">TLA+ Toolbox</a></li> <li><a href="/wiki/U-Prove" title="U-Prove">U-Prove</a></li> <li><a href="/wiki/Vcpkg" title="Vcpkg">vcpkg</a></li> <li><a href="/wiki/Virtual_File_System_for_Git" title="Virtual File System for Git">Virtual File System for Git</a></li> <li><a href="/wiki/Voldemort_(distributed_data_store)" title="Voldemort (distributed data store)">Voldemort</a></li> <li><a href="/wiki/VoTT" title="VoTT">VoTT</a></li> <li><a href="/wiki/Vowpal_Wabbit" title="Vowpal Wabbit">Vowpal Wabbit</a></li> <li><a href="/wiki/Windows_App_SDK" title="Windows App SDK">Windows App SDK</a></li> <li><a href="/wiki/Windows_Communication_Foundation" title="Windows Communication Foundation">Windows Communication Foundation</a></li> <li><a href="/wiki/Windows_Driver_Frameworks" title="Windows Driver Frameworks">Windows Driver Frameworks</a> <ul><li><a href="/wiki/Kernel-Mode_Driver_Framework" title="Kernel-Mode Driver Framework">KMDF</a></li> <li><a href="/wiki/User-Mode_Driver_Framework" title="User-Mode Driver Framework">UMDF</a></li></ul></li> <li><a href="/wiki/Windows_Forms" title="Windows Forms">Windows Forms</a></li> <li><a href="/wiki/Windows_Presentation_Foundation" title="Windows Presentation Foundation">Windows Presentation Foundation</a></li> <li><a href="/wiki/Windows_Template_Library" title="Windows Template Library">Windows Template Library</a></li> <li><a href="/wiki/Windows_UI_Library" title="Windows UI Library">Windows UI Library</a></li> <li><a href="/wiki/WinJS" title="WinJS">WinJS</a></li> <li><a href="/wiki/WinObjC" class="mw-redirect" title="WinObjC">WinObjC</a></li> <li><a href="/wiki/WiX" title="WiX">WiX</a></li> <li><a href="/wiki/XDP_for_Windows" class="mw-redirect" title="XDP for Windows">XDP for Windows</a></li> <li><a href="/wiki/XSP_(software)" title="XSP (software)">XSP</a></li> <li><a href="/wiki/XUnit.net" title="XUnit.net">xUnit.net</a></li> <li><a href="/wiki/Z3_Theorem_Prover" title="Z3 Theorem Prover">Z3 Theorem Prover</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Operating systems</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/MS-DOS" title="MS-DOS">MS-DOS</a> (v1.25, v2.0 & v4.0)</li> <li><a href="/wiki/Barrelfish_(operating_system)" title="Barrelfish (operating system)">Barrelfish</a></li> <li><a href="/wiki/SONiC_(operating_system)" title="SONiC (operating system)">SONiC</a></li> <li><a href="/wiki/Azure_Linux" title="Azure Linux">Azure Linux</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/ChronoZoom" title="ChronoZoom">ChronoZoom</a></li> <li><a href="/wiki/Extensible_Storage_Engine" title="Extensible Storage Engine">Extensible Storage Engine</a></li> <li><a href="/wiki/FlexWiki" class="mw-redirect" title="FlexWiki">FlexWiki</a></li> <li><a href="/wiki/FourQ" title="FourQ">FourQ</a></li> <li><a href="/wiki/Gollum_(software)" title="Gollum (software)">Gollum</a></li> <li><a href="/wiki/Project_Mu" class="mw-redirect" title="Project Mu">Project Mu</a></li> <li><a href="/wiki/ReactiveX" title="ReactiveX">ReactiveX</a></li> <li><a href="/wiki/SILK" title="SILK">SILK</a></li> <li><a href="/wiki/TLAPS" class="mw-redirect" title="TLAPS">TLAPS</a></li> <li><a href="/wiki/TPM_2.0_Reference_Implementation" class="mw-redirect" title="TPM 2.0 Reference Implementation">TPM 2.0 Reference Implementation</a></li> <li><a href="/wiki/WikiBhasha" title="WikiBhasha">WikiBhasha</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Open-source_license" title="Open-source license">Licenses</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Microsoft_Public_License" class="mw-redirect" title="Microsoft Public License">Microsoft Public License</a></li> <li><a href="/wiki/Microsoft_Reciprocal_License" class="mw-redirect" title="Microsoft Reciprocal License">Microsoft Reciprocal License</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Forge_(software)" title="Forge (software)">Forges</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/CodePlex" title="CodePlex">CodePlex</a></li> <li><a href="/wiki/GitHub" title="GitHub">GitHub</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/.NET_Foundation" title=".NET Foundation">.NET Foundation</a></li> <li><a href="/wiki/F_Sharp_Software_Foundation" title="F Sharp Software Foundation">F# Software Foundation</a></li> <li><a href="/wiki/Microsoft_Open_Specification_Promise" title="Microsoft Open Specification Promise">Microsoft Open Specification Promise</a></li> <li><a href="/wiki/Open_Letter_to_Hobbyists" class="mw-redirect" title="Open Letter to Hobbyists">Open Letter to Hobbyists</a></li> <li><a href="/wiki/Open_Source_Security_Foundation" title="Open Source Security Foundation">Open Source Security Foundation</a></li> <li><a href="/wiki/Outercurve_Foundation" title="Outercurve Foundation">Outercurve Foundation</a></li></ul> </div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div><span class="noviewer" typeof="mw:File"><span title="Category"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/16px-Symbol_category_class.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/23px-Symbol_category_class.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/31px-Symbol_category_class.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span> <a href="/wiki/Category:Microsoft_free_software" title="Category:Microsoft free software">Category</a></div></td></tr></tbody></table></div> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236075235"></div><div role="navigation" class="navbox" aria-labelledby="Microsoft_development_tools271" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239400231"><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Microsoft_development_tools" title="Template:Microsoft development tools"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Microsoft_development_tools" title="Template talk:Microsoft development tools"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Microsoft_development_tools" title="Special:EditPage/Template:Microsoft development tools"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Microsoft_development_tools271" style="font-size:114%;margin:0 4em">Microsoft development tools</div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Development<br />environments</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Microsoft_Visual_Studio" class="mw-redirect" title="Microsoft Visual Studio">Visual Studio</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Visual_Studio_Code" title="Visual Studio Code">Code</a></li> <li><a href="/wiki/Microsoft_Visual_Studio_Express" title="Microsoft Visual Studio Express">Express</a></li> <li><a href="/wiki/VSTS_Profiler" title="VSTS Profiler">Team System Profiler</a></li> <li><a href="/wiki/Visual_Studio_Tools_for_Applications" title="Visual Studio Tools for Applications">Tools for Applications</a></li> <li><a href="/wiki/Visual_Studio_Tools_for_Office" title="Visual Studio Tools for Office">Tools for Office</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Others</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Microsoft_Blend" title="Microsoft Blend">Blend</a></li> <li><a href="/wiki/Microsoft_Expression_Web" title="Microsoft Expression Web">Expression Web</a></li> <li><a href="/wiki/FxCop" title="FxCop">FxCop</a></li> <li><a href="/wiki/GW-BASIC" title="GW-BASIC">GW-BASIC</a></li> <li><a href="/wiki/Microsoft_MACRO-80" title="Microsoft MACRO-80">MACRO-80</a></li> <li><a href="/wiki/Microsoft_Macro_Assembler" title="Microsoft Macro Assembler">Macro Assembler</a></li> <li><a href="/wiki/MSBuild" title="MSBuild">MSBuild</a></li> <li><a href="/wiki/Microsoft_Pascal" title="Microsoft Pascal">Pascal</a></li> <li><a href="/wiki/QuickBASIC" title="QuickBASIC">QuickBASIC</a> <ul><li><a href="/wiki/QBasic" title="QBasic">QBasic</a></li></ul></li> <li><a href="/wiki/QuickC" title="QuickC">QuickC</a></li> <li><a href="/wiki/Microsoft_Robotics_Developer_Studio" title="Microsoft Robotics Developer Studio">Robotics Developer Studio</a></li> <li><a href="/wiki/Roslyn_(compiler)" title="Roslyn (compiler)">Roslyn</a></li> <li><a href="/wiki/Microsoft_SharePoint_Designer" title="Microsoft SharePoint Designer">SharePoint Designer</a> <ul><li><a href="/wiki/Microsoft_FrontPage" title="Microsoft FrontPage">FrontPage</a></li></ul></li> <li><a href="/wiki/Microsoft_Small_Basic" title="Microsoft Small Basic">Small Basic</a></li> <li><a href="/wiki/Microsoft_WebMatrix" title="Microsoft WebMatrix">WebMatrix</a></li> <li><a href="/wiki/Windows_App_SDK" title="Windows App SDK">Windows App SDK</a></li> <li><a href="/wiki/Windows_App_Studio" title="Windows App Studio">Windows App Studio</a></li> <li><a href="/wiki/Microsoft_Windows_SDK" title="Microsoft Windows SDK">Windows SDK</a> <ul><li><a href="/wiki/CLR_Profiler" title="CLR Profiler">CLR Profiler</a></li> <li><a href="/wiki/ILAsm" title="ILAsm">ILAsm</a></li> <li><a href="/wiki/Native_Image_Generator" title="Native Image Generator">Native Image Generator</a></li> <li><a href="/wiki/WinDiff" title="WinDiff">WinDiff</a></li> <li><a href="/wiki/XAMLPad" class="mw-redirect" title="XAMLPad">XAMLPad</a></li></ul></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Languages</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Microsoft_Dynamics_AX" class="mw-redirect" title="Microsoft Dynamics AX">Dynamics AX</a></li> <li><a href="/wiki/Microsoft_BASIC" title="Microsoft BASIC">BASIC</a></li> <li>Visual Basic <ul><li><a href="/wiki/Visual_Basic_(classic)" title="Visual Basic (classic)">legacy</a></li> <li><a href="/wiki/Visual_Basic_.NET" class="mw-redirect" title="Visual Basic .NET">VB.NET</a></li> <li><a href="/wiki/Visual_Basic_for_Applications" title="Visual Basic for Applications">VBA</a></li> <li><a href="/wiki/VBScript" title="VBScript">VBScript</a></li></ul></li> <li><a href="/wiki/Bosque_(programming_language)" title="Bosque (programming language)">Bosque</a></li> <li><a href="/wiki/Microsoft_Visual_C%2B%2B" title="Microsoft Visual C++">Visual C++</a> <ul><li><a href="/wiki/C%2B%2B/CX" title="C++/CX">C++/CX</a></li> <li><a href="/wiki/C%2B%2B/CLI" title="C++/CLI">C++/CLI</a></li> <li><a href="/wiki/Managed_Extensions_for_C%2B%2B" title="Managed Extensions for C++">Managed C++</a></li> <li><a href="/wiki/C%2B%2B/WinRT" title="C++/WinRT">C++/WinRT</a></li></ul></li> <li><a href="/wiki/C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a></li> <li><a href="/wiki/C/AL" title="C/AL">C/AL</a></li> <li><a href="/wiki/Dafny" title="Dafny">Dafny</a></li> <li><a href="/wiki/Dexterity_(programming_language)" title="Dexterity (programming language)">Dexterity</a></li> <li><a href="/wiki/F_Sharp_(programming_language)" title="F Sharp (programming language)">F#</a></li> <li><a href="/wiki/F*_(programming_language)" title="F* (programming language)">F*</a></li> <li><a href="/wiki/Visual_FoxPro" title="Visual FoxPro">Visual FoxPro</a></li> <li><a href="/wiki/Java_(programming_language)" title="Java (programming language)">Java</a> <ul><li><a href="/wiki/Visual_J%2B%2B" title="Visual J++">J++</a></li> <li><a href="/wiki/Visual_J_Sharp" title="Visual J Sharp">J#</a></li></ul></li> <li><a href="/wiki/JavaScript" title="JavaScript">JavaScript</a> <ul><li><a href="/wiki/TypeScript" title="TypeScript">TypeScript</a></li> <li><a href="/wiki/JScript" title="JScript">JScript</a></li></ul></li> <li><a href="/wiki/IronPython" title="IronPython">IronPython</a></li> <li><a href="/wiki/IronRuby" title="IronRuby">IronRuby</a></li> <li><a href="/wiki/Lean_(proof_assistant)" title="Lean (proof assistant)">Lean</a></li> <li><a href="/wiki/P_(programming_language)" title="P (programming language)">P</a></li> <li><a href="/wiki/Microsoft_Power_Fx" title="Microsoft Power Fx">Power Fx</a></li> <li><a href="/wiki/PowerShell" title="PowerShell">PowerShell</a></li> <li><a href="/wiki/Project_Verona" title="Project Verona">Project Verona</a></li> <li><a class="mw-selflink selflink">Q#</a></li> <li><a href="/wiki/Microsoft_Small_Basic" title="Microsoft Small Basic">Small Basic</a></li> <li><a href="/wiki/Microsoft_Visual_Programming_Language" title="Microsoft Visual Programming Language">VPL</a></li> <li><a href="/wiki/Extensible_Application_Markup_Language" title="Extensible Application Markup Language">XAML</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">APIs and<br />frameworks</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%;font-weight:normal;">Native</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Windows_API" title="Windows API">Windows API</a></li> <li><a href="/wiki/Microsoft_Silverlight" title="Microsoft Silverlight">Silverlight</a></li> <li><a href="/wiki/Microsoft_XNA" title="Microsoft XNA">XNA</a></li> <li><a href="/wiki/DirectX" title="DirectX">DirectX</a> <ul><li><a href="/wiki/Managed_DirectX" title="Managed DirectX">Managed DirectX</a></li></ul></li> <li><a href="/wiki/Universal_Windows_Platform" title="Universal Windows Platform">UWP</a></li> <li><a href="/wiki/Xbox_Development_Kit" title="Xbox Development Kit">Xbox Development Kit</a></li> <li><a href="/wiki/Windows_Installer" title="Windows Installer">Windows Installer</a></li> <li><a href="/wiki/WinUI" class="mw-redirect" title="WinUI">WinUI</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;font-weight:normal;"><a href="/wiki/.NET" title=".NET">.NET</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/ASP.NET" title="ASP.NET">ASP.NET</a> <ul><li><a href="/wiki/ASP.NET_Core" title="ASP.NET Core">Core</a></li> <li><a href="/wiki/ASP.NET_AJAX" title="ASP.NET AJAX">AJAX</a></li> <li><a href="/wiki/ASP.NET_Dynamic_Data" title="ASP.NET Dynamic Data">Dynamic Data</a></li> <li><a href="/wiki/ASP.NET_MVC" title="ASP.NET MVC">MVC</a></li> <li><a href="/wiki/ASP.NET_Razor" title="ASP.NET Razor">Razor</a></li> <li><a href="/wiki/ASP.NET_Web_Forms" title="ASP.NET Web Forms">Web Forms</a></li></ul></li> <li><a href="/wiki/ADO.NET" title="ADO.NET">ADO.NET</a> <ul><li><a href="/wiki/Entity_Framework" title="Entity Framework">Entity Framework</a></li></ul></li> <li><a href="/wiki/.NET_MAUI" class="mw-redirect" title=".NET MAUI">MAUI</a></li> <li><a href="/wiki/Windows_CardSpace" title="Windows CardSpace">CardSpace</a></li> <li><a href="/wiki/Windows_Communication_Foundation" title="Windows Communication Foundation">Communication Foundation</a></li> <li><a href="/wiki/Windows_Identity_Foundation" title="Windows Identity Foundation">Identity Foundation</a></li> <li><a href="/wiki/Language_Integrated_Query" title="Language Integrated Query">LINQ</a></li> <li><a href="/wiki/Windows_Presentation_Foundation" title="Windows Presentation Foundation">Presentation Foundation</a></li> <li><a href="/wiki/Windows_Workflow_Foundation" title="Windows Workflow Foundation">Workflow Foundation</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;font-weight:normal;"><a href="/wiki/Device_driver" title="Device driver">Device drivers</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Windows_Driver_Kit" title="Windows Driver Kit">WDK</a></li> <li><a href="/wiki/Windows_Driver_Frameworks" title="Windows Driver Frameworks">WDF</a> <ul><li><a href="/wiki/Kernel-Mode_Driver_Framework" title="Kernel-Mode Driver Framework">KMDF</a></li> <li><a href="/wiki/User-Mode_Driver_Framework" title="User-Mode Driver Framework">UMDF</a></li></ul></li> <li><a href="/wiki/Windows_Hardware_Lab_Kit" title="Windows Hardware Lab Kit">Windows HLK</a></li> <li><a href="/wiki/Windows_Driver_Model" title="Windows Driver Model">WDM</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Database</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%;font-weight:normal;"><a href="/wiki/Microsoft_SQL_Server" title="Microsoft SQL Server">SQL Server</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/SQL_Server_Express" title="SQL Server Express">Express</a></li> <li><a href="/wiki/SQL_Server_Compact" title="SQL Server Compact">Compact</a></li> <li><a href="/wiki/SQL_Server_Management_Studio" title="SQL Server Management Studio">Management Studio</a></li> <li><a href="/wiki/Business_Intelligence_Development_Studio" title="Business Intelligence Development Studio">Business Intelligence Development Studio</a></li> <li><a href="/wiki/MSDE" title="MSDE">MSDE</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;font-weight:normal;">SQL services</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Microsoft_Analysis_Services" title="Microsoft Analysis Services">Analysis</a></li> <li><a href="/wiki/SQL_Server_Reporting_Services" title="SQL Server Reporting Services">Reporting</a></li> <li><a href="/wiki/SQL_Server_Integration_Services" title="SQL Server Integration Services">Integration</a></li> <li><a href="/wiki/SQL_Server_Notification_Services" title="SQL Server Notification Services">Notification</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;font-weight:normal;">Other</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Visual_FoxPro" title="Visual FoxPro">Visual FoxPro</a></li> <li><a href="/wiki/Microsoft_Access" title="Microsoft Access">Microsoft Access</a></li> <li><a href="/wiki/Access_Database_Engine" title="Access Database Engine">Access Database Engine</a></li> <li><a href="/wiki/Extensible_Storage_Engine" title="Extensible Storage Engine">Extensible Storage Engine</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Source control</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Microsoft_Visual_SourceSafe" title="Microsoft Visual SourceSafe">Visual SourceSafe</a></li> <li><a href="/wiki/Azure_DevOps_Server#TFVC" title="Azure DevOps Server">Team Foundation Version Control</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Testing and<br />debugging</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/CodeView" title="CodeView">CodeView</a></li> <li><a href="/wiki/OneFuzz" title="OneFuzz">OneFuzz</a></li> <li><a href="/wiki/Playwright_(software)" title="Playwright (software)">Playwright</a></li> <li><a href="/wiki/Microsoft_Script_Debugger" title="Microsoft Script Debugger">Script Debugger</a></li> <li><a href="/wiki/WinDbg" title="WinDbg">WinDbg</a></li> <li><a href="/wiki/XUnit.net" title="XUnit.net">xUnit.net</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Delivery</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Active_Setup" title="Active Setup">Active Setup</a></li> <li><a href="/wiki/ClickOnce" title="ClickOnce">ClickOnce</a></li> <li><a href="/wiki/Npm_(software)" class="mw-redirect" title="Npm (software)">npm</a></li> <li><a href="/wiki/NuGet" title="NuGet">NuGet</a></li> <li><a href="/wiki/Vcpkg" title="Vcpkg">vcpkg</a></li> <li><a href="/wiki/Web_Platform_Installer" title="Web Platform Installer">Web Platform Installer</a></li> <li><a href="/wiki/Windows_Installer" title="Windows Installer">Windows Installer</a> <ul><li><a href="/wiki/WiX" title="WiX">WiX</a></li></ul></li> <li><a href="/wiki/Windows_Package_Manager" title="Windows Package Manager">Windows Package Manager</a></li> <li><a href="/wiki/Microsoft_Store" title="Microsoft Store">Microsoft Store</a></li></ul> </div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div><span class="noviewer" typeof="mw:File"><span title="Category"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/16px-Symbol_category_class.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/23px-Symbol_category_class.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/31px-Symbol_category_class.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span> <a href="/wiki/Category:Microsoft_development_tools" title="Category:Microsoft development tools">Category</a></div></td></tr></tbody></table></div> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐74b99f876‐vwfkd Cached time: 20250225231831 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.626 seconds Real time usage: 0.950 seconds Preprocessor visited node count: 3241/1000000 Post‐expand include size: 169628/2097152 bytes Template argument size: 3919/2097152 bytes Highest expansion depth: 20/100 Expensive parser function count: 28/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 146925/5000000 bytes Lua time usage: 0.338/10.000 seconds Lua memory usage: 7322338/52428800 bytes Number of Wikibase entities loaded: 1/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 777.229 1 -total 21.83% 169.642 1 Template:Reflist 18.25% 141.873 17 Template:Cite_web 16.13% 125.362 12 Template:Navbox 14.53% 112.959 21 Template:Code 12.62% 98.076 1 Template:Quantum_computing 10.51% 81.715 1 Template:Short_description 8.90% 69.198 1 Template:Infobox_programming_language 7.81% 60.705 1 Template:Infobox 7.59% 59.017 1 Template:Third-party --> <!-- Saved in parser cache with key enwiki:pcache:56025620:|#|:idhash:canonical and timestamp 20250225231831 and revision id 1277370822. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?useformat=desktop&type=1x1&usesul3=0" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=Q_Sharp&oldid=1277370822">https://en.wikipedia.org/w/index.php?title=Q_Sharp&oldid=1277370822</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:Free_and_open-source_software" title="Category:Free and open-source software">Free and open-source software</a></li><li><a href="/wiki/Category:Microsoft_free_software" title="Category:Microsoft free software">Microsoft free software</a></li><li><a href="/wiki/Category:Microsoft_programming_languages" title="Category:Microsoft programming languages">Microsoft programming languages</a></li><li><a href="/wiki/Category:Quantum_programming" title="Category:Quantum programming">Quantum programming</a></li><li><a href="/wiki/Category:Programming_languages_created_in_2017" title="Category:Programming languages created in 2017">Programming languages created in 2017</a></li><li><a href="/wiki/Category:Software_using_the_MIT_license" title="Category:Software using the MIT license">Software using the MIT license</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:Articles_with_short_description" title="Category:Articles with short description">Articles with short description</a></li><li><a href="/wiki/Category:Short_description_is_different_from_Wikidata" title="Category:Short description is different from Wikidata">Short description is different from Wikidata</a></li><li><a href="/wiki/Category:Restricted_titles_(non-leading_number_sign)" title="Category:Restricted titles (non-leading number sign)">Restricted titles (non-leading number sign)</a></li><li><a href="/wiki/Category:Articles_lacking_reliable_references_from_September_2018" title="Category:Articles lacking reliable references from September 2018">Articles lacking reliable references from September 2018</a></li><li><a href="/wiki/Category:All_articles_lacking_reliable_references" title="Category:All articles lacking reliable references">All articles lacking reliable references</a></li><li><a href="/wiki/Category:All_articles_with_unsourced_statements" title="Category:All articles with unsourced statements">All articles with unsourced statements</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_January_2025" title="Category:Articles with unsourced statements from January 2025">Articles with unsourced statements from January 2025</a></li><li><a href="/wiki/Category:Wikipedia_articles_with_style_issues_from_January_2025" title="Category:Wikipedia articles with style issues from January 2025">Wikipedia articles with style issues from January 2025</a></li><li><a href="/wiki/Category:All_articles_with_style_issues" title="Category:All articles with style issues">All articles with style issues</a></li><li><a href="/wiki/Category:Official_website_different_in_Wikidata_and_Wikipedia" title="Category:Official website different in Wikidata and Wikipedia">Official website different in Wikidata and Wikipedia</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 24 February 2025, at 07:46<span class="anonymous-show"> (UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=Q_Sharp&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><picture><source media="(min-width: 500px)" srcset="/static/images/footer/wikimedia-button.svg" width="84" height="29"><img src="/static/images/footer/wikimedia.svg" width="25" height="25" alt="Wikimedia Foundation" lang="en" loading="lazy"></picture></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><picture><source media="(min-width: 500px)" srcset="/w/resources/assets/poweredby_mediawiki.svg" width="88" height="31"><img src="/w/resources/assets/mediawiki_compact.svg" alt="Powered by MediaWiki" width="25" height="25" loading="lazy"></picture></a></li> </ul> </footer> </div> </div> </div> <div class="vector-header-container vector-sticky-header-container"> <div id="vector-sticky-header" class="vector-sticky-header"> <div class="vector-sticky-header-start"> <div class="vector-sticky-header-icon-start vector-button-flush-left vector-button-flush-right" aria-hidden="true"> <button class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-sticky-header-search-toggle" tabindex="-1" data-event-name="ui.vector-sticky-search-form.icon"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </button> </div> <div role="search" class="vector-search-box-vue vector-search-box-show-thumbnail vector-search-box"> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail"> <form action="/w/index.php" id="vector-sticky-search-form" class="cdx-search-input cdx-search-input--has-end-button"> <div class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia"> <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <div class="vector-sticky-header-context-bar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-sticky-header-toc" class="vector-dropdown mw-portlet mw-portlet-sticky-header-toc vector-sticky-header-toc vector-button-flush-left" > <input type="checkbox" id="vector-sticky-header-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-sticky-header-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-sticky-header-toc-label" for="vector-sticky-header-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-sticky-header-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div class="vector-sticky-header-context-bar-primary" aria-hidden="true" ><span class="mw-page-title-main">Q Sharp</span></div> </div> </div> <div class="vector-sticky-header-end" aria-hidden="true"> <div class="vector-sticky-header-icons"> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-talk-sticky-header" tabindex="-1" data-event-name="talk-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbles mw-ui-icon-wikimedia-speechBubbles"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-subject-sticky-header" tabindex="-1" data-event-name="subject-sticky-header"><span class="vector-icon mw-ui-icon-article mw-ui-icon-wikimedia-article"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-history-sticky-header" tabindex="-1" data-event-name="history-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-history mw-ui-icon-wikimedia-wikimedia-history"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only mw-watchlink" id="ca-watchstar-sticky-header" tabindex="-1" data-event-name="watch-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-star mw-ui-icon-wikimedia-wikimedia-star"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-edit-sticky-header" tabindex="-1" data-event-name="wikitext-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-wikiText mw-ui-icon-wikimedia-wikimedia-wikiText"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-ve-edit-sticky-header" tabindex="-1" data-event-name="ve-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-edit mw-ui-icon-wikimedia-wikimedia-edit"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-viewsource-sticky-header" tabindex="-1" data-event-name="ve-edit-protected-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-editLock mw-ui-icon-wikimedia-wikimedia-editLock"></span> <span></span> </a> </div> <div class="vector-sticky-header-buttons"> <button class="cdx-button cdx-button--weight-quiet mw-interlanguage-selector" id="p-lang-btn-sticky-header" tabindex="-1" data-event-name="ui.dropdown-p-lang-btn-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-language mw-ui-icon-wikimedia-wikimedia-language"></span> <span>12 languages</span> </button> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive" id="ca-addsection-sticky-header" tabindex="-1" data-event-name="addsection-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbleAdd-progressive mw-ui-icon-wikimedia-speechBubbleAdd-progressive"></span> <span>Add topic</span> </a> </div> <div class="vector-sticky-header-icon-end"> <div class="vector-user-links"> </div> </div> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.canary-865df57758-lgg7b","wgBackendResponseTime":130,"wgPageParseReport":{"limitreport":{"cputime":"0.626","walltime":"0.950","ppvisitednodes":{"value":3241,"limit":1000000},"postexpandincludesize":{"value":169628,"limit":2097152},"templateargumentsize":{"value":3919,"limit":2097152},"expansiondepth":{"value":20,"limit":100},"expensivefunctioncount":{"value":28,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":146925,"limit":5000000},"entityaccesscount":{"value":1,"limit":400},"timingprofile":["100.00% 777.229 1 -total"," 21.83% 169.642 1 Template:Reflist"," 18.25% 141.873 17 Template:Cite_web"," 16.13% 125.362 12 Template:Navbox"," 14.53% 112.959 21 Template:Code"," 12.62% 98.076 1 Template:Quantum_computing"," 10.51% 81.715 1 Template:Short_description"," 8.90% 69.198 1 Template:Infobox_programming_language"," 7.81% 60.705 1 Template:Infobox"," 7.59% 59.017 1 Template:Third-party"]},"scribunto":{"limitreport-timeusage":{"value":"0.338","limit":"10.000"},"limitreport-memusage":{"value":7322338,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-74b99f876-vwfkd","timestamp":"20250225231831","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Q Sharp","url":"https:\/\/en.wikipedia.org\/wiki\/Q_Sharp","sameAs":"http:\/\/www.wikidata.org\/entity\/Q45322975","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q45322975","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2017-12-11T21:15:54Z","dateModified":"2025-02-24T07:46:23Z","headline":"programming language"}</script> </body> </html>