# Hackathon2021 **Repository Path**: mangrovecoder/hackathon2021 ## Basic Information - **Project Name**: Hackathon2021 - **Description**: 2021量子黑客松大赛代码: https://competition.huaweicloud.com/information/1000041373/introduction - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 9 - **Created**: 2021-08-24 - **Last Updated**: 2021-08-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Hackathon2021 ![avatar](https://dsfile.devcloud.huaweicloud.com/CompetitionUploadService/v1/noauth/competition/downLoad/image?uuid=1ea682b3323745c4bfa3ba7a9797aca3) 中文|[English](./README.en.md) ### 介绍 Hackathon2021 是立足于2021量子黑客松大赛,面向众多参赛选手,用于代码资料存档备份、选手之间借鉴学习、解决方案迭代优化的代码仓库。 #### 背景 量子科技的发展具有重大科学意义和战略价值,是一项对传统技术体系产生冲击、进行重构的重大颠覆性技术创新,将引领新一轮科技革命和产业变革。其中,量子计算被认为是未来具有颠覆性影响的新型计算模式之一。 上海大学将与华为、南方科技大学联合举办2021 量子计算黑客松全国大赛,该合作也将推进量子计算的基础与应用研究,争取做出开创性的前沿工作,望广大学子能够积极参与此次比赛,共同创新,推动量子计算的技术研究。 #### 赛题 试题一 :量子化学模拟问题:8 qubit LiH分子基态能量 试题描述 Variational Quantum Eigensolver(VQE)算法是一种用于计算分子基态能量的量子化学模拟方法,它可以结合经典计算机,利用当前含噪的量子计算机解决一些化学问题。利用量子化学软件包和量子模拟器,解决以下问题: 我们考虑给定的氢化锂分子LiH,假定其键长为1.4埃,选择基矢为sto-3g。如果限定使用8个qubit,试进行各种优化,使计算的基态能量尽可能达到化学精度(0.0016Ha)。 试题二:基于H,T门的单量子比特门编译 试题描述 对于一个给定的酉矩阵量子门,如何将其分解为一系列尽可能短的基本量子门,是量子计算和量子模拟等量子信息处理任务中的一个基本问题。现已有一些著名的算法,如Solovay-Kitaev算法([1],[2])可以有效地解决单量子门上的这一问题。 机器学习,或者更普遍地说,人工智能,正在为现代社会带来一场技术革命,并成为多学科基础研究的强大工具。最近有一项利用深度强化学习方法进行单量子门编译的研究([3]),其性能明显优于Solovay-Kitaev算法。 在这个问题中,我们要求参赛者用H,T门进行单量子比特门编译。具体来说,对于SU (2)中一个给定的酉矩阵和给定的期望精度ε,参与者需要在一定时间限制内将这个酉矩阵分解为H,T,T†门序列。 **2021量子黑客松大赛官网链接:** https://competition.huaweicloud.com/information/1000041373/introduction ### 软件架构 软件架构说明 - doc 量子领域论文、技术文档、相关图片 - examples 测试用例,包括大赛提供的示例代码 - src/hackathon 选手提交的赛题解答代码 ### 使用说明 1. 安装requirement依赖模块 2. 拉取代码仓到本地 ```shell git clone https://gitee.com/Huawei-HiQ/hackathon2021.git && cd hackathon2021 ``` 3. 运行python代码 ### 参与贡献 1. 创建issue,明确此次提交代码的更新目的,修复bug,研发新特性等。 2. Fork 本仓库到用户的gitee账号下,并拉取仓库到用户本地。 ```shell git clone yourpath/hackathon2021.git && cd hackathon2021 ``` 3. 新建 Feat_xxx 分支 ```shell git checkout -b featurename && vim featurename.py ``` 4. 提交代码 ```shell git add src/hackathon/xx/feature1.py git add src/hackathon/xx/feature2.py git commit -m 'Add feature1 and feature2' git push origin featurename ``` 选手提交代码时请提交于 src/hackathon/ 目录下,文件夹使用团队名称、参赛选手姓名中文拼音缩写、英文名,如有更改请在readme里面进行说明。 例如量子高手选手团队提交代码,git add src/hackathon/quantummaster/feature1.py; 张三选手提交代码,git add src/hackathon/zs/feature1.py; Tim选手提交代码,git add src/hackathon/tim/feature1.py 5. 新建 Pull Request ,等待管理员审核后合入主分支 ### License The text and figures are licensed under the Creative Commons Attribution 4.0 International Public License (CC-BY-4.0), available at https://creativecommons.org/licenses/by/4.0/legalcode. The code snippets in the notebooks are licensed under Apache License 2.0, available at http://www.apache.org/licenses/LICENSE-2.0.