Package: qcompute
English |简体中文Quantum Leaf (in Chinese: 量易伏) - QComputeSDKFeaturesInstallEnvironment SetupInstall QComputeSDKRun ExampleBreaking ChangeIntroduction and DevelopmentsTutorialsAPI DocumentationDevelopmentDiscussion and FeedbacksDevelop with QComputeSDKFrequently Asked QuestionsCopyright and LicenseQuantum Leafis the world's first cloud-native quantum computing platform developed by theInstitute for Quantum Computing at Baidu Research. Users can use the Quantum Leaf for quantum programming, quantum simulation and running real quantum computers. Quantum Leaf aims to provide a quantum foundation development environment for QaaS (Quantum infrastructure as a Service).The QComputeSDK installation package is a complete open-source quantum computing framework implemented in Python. It adopts the classic quantum hybrid programming method and presets various advanced modules. Users can use the quantum environment object (QEnv) to quickly build quantum circuits, and can also use it to develop various complex quantum algorithms. QComputeSDK has multiple interfaces for local simulators, cloud simulators and real machines, allowing users to quickly simulate and verify quantum algorithms in local, and submit circuit tasks to real quantum hardware (superconductors, ion traps) or high-performance simulators on cloud.FeaturesEasy-to-useNearly 50 tutorial cases, and still increasing.Quantum circuit local visualization.Automatically call modules to complete quantum circuit compilation.VersatileSupport quantum circuit modularization.The local high-performance simulator supports the simulation of 32 qubits.The high-performance heterogeneous simulators on the cloud supports more qubit simulations.Support the simulation of various quantum noise models.Local GPU simulator based on NVIDIA cuQuantum.Local photonic quantum simulator supports the Gaussian/Fork state.Real quantum computing powerAccess to QPUQian, Baidu's superconducting quantum computer.Access to IonAPM, the ion trap quantum computer of the Innovation Academy for Precision Measurement Science and Technology, CAS.Access to IoPCAS, the superconducting quantum computer of the Institute of Physics, CAS.InstallEnvironment SetupWe recommend using conda to manager virtual environments,condacreate-nqcompute_envpython=3.10
condaactivateqcompute_envPlease refer toAnaconda's official installation.Note: Python version >= 3.9Install QComputeSDKInstall QComputeSDK withpip,pipinstallqcomputeor download all the files to install from sources. We recommend this installation. You can download from GitHub,gitclonehttps://github.com/baidu/QCompute.gitcdQCompute
pipinstall-e.or download from Gitee,gitclonehttps://gitee.com/baidu/qcompute.gitcdqcompute
pipinstall-e.Run ExampleIf all the files have been downloaded, you can now try to run a program to verify whether the installation is successful. Here we run the test script provided by QComputeSDK,python-mTest.PostInstall.PostInstall_testUser Token needs to be given on the command line before cloud testing, You can log in toQuantum Leafto check your Token. If you don't need to do cloud testing, please typeCtrl+c.Note: Please skip this step if you installed withpip.Breaking ChangeStarting with QComputeSDK 3.0.0, developers can run Baidu's superconducting quantum computer through QComputeSDK (device identifier:CloudBaiduQPUQian). The device provides services regularly, which can be viewed from theServices Status.Introduction and DevelopmentsTutorialsQComputeSDK is a quantum computing development framework that implements backend access to real quantum hardware. It builds a bridge between quantum computing and quantum hardware, providing strong support for the research and development of quantum algorithms and applications, and also providing a wealth of cases for developers to learn from.Here we provide primary, intermediate and advanced cases. With primary case, you can quickly get started with QComputeSDK, it includes quantum state preparation, classical quantum hybrid programming, circuit task submission to quantum computers, etc. The intermediate case is the use of QComputeSDK, including the calling of modules, the use of convertors, etc. The advanced case is the implementation of advanced quantum algorithms on QComputeSDK. We have provided detailed tutorial documents for these algorithms.Primary CasesGHZ state preparation (local)GHZ state preparation (cloud)Bell state preparation (local)Bell state preparation (cloud)Classical quantum hybrid language (local)Classical quantum hybrid language (cloud)Classical quantum information interaction (local)Classical quantum information interaction (cloud)QPU - BaiduQPUQianQPU - IonAPMQPU - IoPCASPhotonic quantum circuit simulation based on Fock statePhotonic quantum circuit simulation based on Gaussian stateGPU simulator based on cuQuantumUniversal blind quantum computationQuantum Noise SimulationAdding noise to the circuitQuantum noise compression moduleOne-qubit circuit with noise simulationNoise simulation with multiple processesTwo-qubit circuit with noise simulationIntermediate CasesOutput Information SettingsTutorialResults printing information settingsOutput file automatic cleaningGeneral ModulesTutorialModule usage examplesQuantum circuit inverse moduleQuantum circuit reverse moduleQuantum procedure unroll moduleQuantum gate decomposition moduleQuantum gate compression moduleConvertorsTutorialCircuit serializationConsole drawingConvert circuit serialization and deserializationConvert circuit to JSONConvert circuit to QASMConvert circuit to QOBJConvert circuit to IonQConvert circuit to XanaduAdvanced CasesQuantum Superdense CodingDeutsch-Jozsa AlgorithmQuantum Phase Estimation (QPE)Grover's Search AlgorithmShor's AlgorithmVariational Quantum Eigensolver (VQE)Variational Quantum State Diagonalization (VQSD)In recent updates, QComputeSDK has added a photonic quantum computing simulator (LocalBaiduSimPhotonic). Unlike traditional quantum circuit, photonic quantum computing has its own unique way of running. QComputeSDK supports the optical system on the architecture, and also becomes the first quantum development kit that integrates quantum computing and photonic quantum computing. Interested readers can refer toPhotonic Quantum Computing Simulator Tutorial.API DocumentationTo learn more about how to use QComputeSDK, please refer to theAPI documentation, which contains detailed descriptions and usage of all functions and classes available to users.DevelopmentQComputeSDK includes quantum computing architecture, quantum computing simulator, tutorials, and extensions. For developers who need to involve the code of the architecture or simulator, it is recommended to install from sources. For developers or researchers who use QComputeSDK to develop quantum algorithm applications, it is recommended to useGHZ_Cloud.pyas the code framework. Modifying and using this file can effectively help you learn the syntax of this quantum development kit. It is recommended that developers be familiar with the circuit construction of QComputeSDK, and pay attention to the qubit output order.Discussion and FeedbacksWe welcome your questions, reports and suggestions. You can feedback through the following channels:GitHub Issues/Gitee IssuesQuantum Leaf FeedbackEmail:quantum@baidu.comYou are welcomed to join our discussion QQ group (group number: 1147781135). You can scan QR code into the group.Develop with QComputeSDKWe welcome developers to use QComputeSDK for quantum application development. If your work uses QComputeSDK, we also welcome you to contact us. The following are quantum applications developed based on QComputeSDK:QEP (Quantum Error Processing), a set of quantum noise processing tools developed by the Institute for Quantum Computing at Baidu Research. It offers four powerful functions: performance evaluation, quantum error characterization, quantum error mitigation, and quantum error correction.UBQC (Universal Blind Quantum Computation), a blind quantum computing proxy service based on the UBQC protocol developed by the Institute for Quantum Computing at Baidu Research.QAPPis a set of quantum computing solution tools developed based on QComputeSDK, providing quantum computing solution services for a variety of field problems including quantum chemistry, combinatorial optimization, and machine learning.QSVT (Quantum Singular Value Transformation), a set of quantum singular value transformation tools developed by the Institute for Quantum Computing at Baidu Research, with main functions including quantum singular value transformation, symmetric quantum signal processing, and Hamiltonian quantum simulation.QFinance, a quantum finance library developed by the Institute for Quantum Computing at Baidu Research, providing a Quantum Monte Carlo method for price European options.PQS (Photonic Quantum Simulator), a photonic quantum computing simulator developed by the Institute for Quantum Computing at Baidu Research, supporting photonic quantum circuit simulation based on Gaussian state and Fock state.FAQQuestion:What can be done with QComputeSDK? What are the applications?Answer: QComputeSDK is a quantum computing development framework based on Python that can be used to build, run, and optimize quantum circuits. We have built a comprehensive and complete infrastructure in QComputeSDK to support the implementation of various quantum algorithms, it has a wide range of application scenarios in the development of quantum applications. Specific work can be referred to but not limited to theExtensionsin QComputeSDK.Question：I want to use QComputeSDK for quantum programming, but I don't know much about quantum computing. How do I get started?Answer: Quantum Computation and Quantum Information by Nielsen & Chuang is the classic introductory textbook to QC. We recommend readers to study Chapter 1, 2, and 4 of this book first. These chapters introduce the basic concepts, provide solid mathematical and physical foundations, and discuss the quantum circuit model widely used in QC. Readers can also learn onQuLearn, which is an online quantum learning knowledge base that not only contains quantum computing tutorials, but also rich video sources. Readers can also download the Quantum Leaf APP (https://quantum-hub.baidu.com/qmobile), and the Playground on the APP contains a wealth of interesting quantum examples to help readers learn anytime, anywhere.Question:Is QComputeSDK free?Answer: QComputeSDK is free. QComputeSDK is an open source SDK. It is free for users to execute local simulation tasks. When the user submits the task to the cloud simulator or the real machine through QComputeSDK, a certain number of points will be deducted. For detailed deduction rules, please refer to theUser Guide. When the user creates an account, we will give away points. The point balance can be viewed in thePersonal Center.Question:How can I get more points?Answer: Points are currently only used for resource control. If the points are insufficient, you can submit an application from theFeedbackon the Quantum Leaf website or theUser Feedbackof Quantum Leaf APP. We will deal with your request in three working days.Copyright and LicenseQComputeSDK usesApache-2.0 license.