{ "info": { "author": "Andrew M. Webb", "author_email": "andrew@awebb.info", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8" ], "description": "=========\nQCircuits\n=========\n\nFull documentation at `www.awebb.info/qcircuits/index.html `_.\n\n.. inclusion-marker0-do-not-remove\n\nQCircuits is a Python package for the simulation and study of quantum computers based on the\n`quantum circuit model `_.\nIt has been designed to have a simple, lightweight interface and to be\neasy to use, particularly for those new to quantum computing.\n\n\n.. inclusion-marker1-do-not-remove\n\nInstallation\n============\n\nInstall with pip:\n\n``pip install qcircuits``\n\n.. inclusion-marker15-do-not-remove\n\nor from the source available here.\n\n.. inclusion-marker16-do-not-remove\n\nExample usage: quantum teleportation\n====================================\n\n.. inclusion-marker2-do-not-remove\n\nQuantum circuit:\n\n.. image:: http://www.awebb.info/qcircuits/_images/teleport.png\n :scale: 40%\n\nCode::\n\n import qcircuits as qc\n\n # Instantiating the operators we will need\n CNOT = qc.CNOT()\n H = qc.Hadamard()\n X = qc.PauliX()\n Z = qc.PauliZ()\n\n # Alice's hidden state, that she wishes to transport to Bob.\n alice = qc.qubit(theta=1, phi=1, global_phase=0.2)\n\n # A previously prepared Bell state, with one qubit owned by\n # alice, and another by Bob, now physically separated.\n bell_state = qc.bell_state(0, 0)\n\n # The state vector for the whole system.\n phi = alice * bell_state\n\n # Alice applies a CNOT gate to her two qubit, and then\n # a Hadamard gate to her private qubit.\n phi = CNOT(phi, qubit_indices=[0, 1])\n phi = H(phi, qubit_indices=[0])\n\n # Alice measures the first two bits, and transmits the classical\n # bits to Bob.\n # The only uncollapsed part of the state vector is Bob's.\n M1, M2 = phi.measure(qubit_indices=[0, 1], remove=True)\n\n # Apply X and/or Z gates to third qubit depending on measurements\n if M2:\n print('First bit 1, applying X\\n')\n phi = X(phi)\n if M1:\n print('Second bit 1, applying Z\\n')\n phi = Z(phi)\n\n print('Original state:', alice)\n print('\\nTeleported state:', phi)\n\n.. inclusion-marker3-do-not-remove", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://www.awebb.info/qcircuits/index.html", "keywords": "", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "QCircuits", "package_url": "https://pypi.org/project/QCircuits/", "platform": "", "project_url": "https://pypi.org/project/QCircuits/", "project_urls": { "Homepage": "http://www.awebb.info/qcircuits/index.html" }, "release_url": "https://pypi.org/project/QCircuits/0.5.0/", "requires_dist": null, "requires_python": "", "summary": "A package for simulating small-scale quantum computing", "version": "0.5.0" }, "last_serial": 5427645, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "d46cde878b768d20c2b3b918ce413eb8", "sha256": "e00512d62aaafa7dee6ea0051e401ea9dd14adf3040c5834ce83a085f9a48f65" }, "downloads": -1, "filename": "QCircuits-0.1.0.tar.gz", "has_sig": false, "md5_digest": "d46cde878b768d20c2b3b918ce413eb8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4699, "upload_time": "2019-03-08T05:12:25", "url": "https://files.pythonhosted.org/packages/d9/ae/c6f81cc6a9d1f0a92d5e0003e9d616e6cd7357ba3462af5f8ed89d4ff260/QCircuits-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "f64e54b5ed9c3dcf35960c829615adad", "sha256": "f2f184b6477f896b8e600e76367ad2d1f43d2b1496b966a6ac4def68c2427a43" }, "downloads": -1, "filename": "QCircuits-0.2.0.tar.gz", "has_sig": false, "md5_digest": "f64e54b5ed9c3dcf35960c829615adad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8088, "upload_time": "2019-03-09T15:42:16", "url": "https://files.pythonhosted.org/packages/38/39/7cf2c4f14ed544d7ac4b006cfa0f2ece05c25917ce488be13a8d2ba1c096/QCircuits-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "c1bf57f311235213df2b497d992b1bf3", "sha256": "adc6c88245be2a5c6a56a74d831ce8d9de938a29ab9e0f62e6cd54928bb81807" }, "downloads": -1, "filename": "QCircuits-0.3.0.tar.gz", "has_sig": false, "md5_digest": "c1bf57f311235213df2b497d992b1bf3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11360, "upload_time": "2019-03-12T18:48:50", "url": "https://files.pythonhosted.org/packages/7d/2c/34d3d5e7c121537063bb81c635809f10d21836f176c18199b91b53e41534/QCircuits-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "0950a0349d5d3c42ec9a5157fe68a458", "sha256": "d8b90d2782da442d5bd6c5276fa0c30763bb4634532e574a2a7abd38ba646452" }, "downloads": -1, "filename": "QCircuits-0.4.0.tar.gz", "has_sig": false, "md5_digest": "0950a0349d5d3c42ec9a5157fe68a458", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13246, "upload_time": "2019-04-23T18:48:14", "url": "https://files.pythonhosted.org/packages/05/72/84ee980340d5f02fb63dcc61110204de4ca6896c5c63d37b44006a7a7da4/QCircuits-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "afb8cc3e8f87d94911d29d2f1edfd636", "sha256": "547ff64bba69ff4375c51df38234a48fdd2ebacdda7aca7ce9d6ec4b8e5a5541" }, "downloads": -1, "filename": "QCircuits-0.4.1.tar.gz", "has_sig": false, "md5_digest": "afb8cc3e8f87d94911d29d2f1edfd636", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13917, "upload_time": "2019-04-23T22:32:21", "url": "https://files.pythonhosted.org/packages/ec/f1/1390ec1fb2cdf0b62a59482960197bc20d3a874824aaeb449a0b763cda21/QCircuits-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "b63664bbabc0f6fbba175971a85a0499", "sha256": "a9974cb98d732b65afc64744a87c860c9ae47add52ddbf61f93f5d984695e16f" }, "downloads": -1, "filename": "QCircuits-0.4.2.tar.gz", "has_sig": false, "md5_digest": "b63664bbabc0f6fbba175971a85a0499", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20091, "upload_time": "2019-06-08T18:16:23", "url": "https://files.pythonhosted.org/packages/78/76/49cb3171da439efa53cd279737a64fd1a26c5d21b60622eeb838cfdb0184/QCircuits-0.4.2.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "2f6b8a2339acce032ab065638b4bb319", "sha256": "ef2643f2024cdf4d80c69d146095a888ed7f94812096edef3fcb3627970f9218" }, "downloads": -1, "filename": "QCircuits-0.5.0.tar.gz", "has_sig": false, "md5_digest": "2f6b8a2339acce032ab065638b4bb319", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23355, "upload_time": "2019-06-20T21:05:11", "url": "https://files.pythonhosted.org/packages/31/53/bcb14185777f370646c6de1d6835f781596d3bec6e370acac229413b9010/QCircuits-0.5.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2f6b8a2339acce032ab065638b4bb319", "sha256": "ef2643f2024cdf4d80c69d146095a888ed7f94812096edef3fcb3627970f9218" }, "downloads": -1, "filename": "QCircuits-0.5.0.tar.gz", "has_sig": false, "md5_digest": "2f6b8a2339acce032ab065638b4bb319", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23355, "upload_time": "2019-06-20T21:05:11", "url": "https://files.pythonhosted.org/packages/31/53/bcb14185777f370646c6de1d6835f781596d3bec6e370acac229413b9010/QCircuits-0.5.0.tar.gz" } ] }