量子计算导论课程设计 之 PennyLane环境搭建

文章目录

  • 具体配置
    • conda 虚拟环境配置Pennylane

  • 正所谓,磨刀不误砍柴工,想要进行量子计算导论的课程设计,首先就是搭建好平台,推荐大家就是本地搭建,那么下面有三种选择
    • Qiskit
    • TensorFlow Quantum
    • Pennylane

具体配置

conda 虚拟环境配置Pennylane

  • 首先创建一个新的conda环境,在这里我们命名为penny-env
conda create -n penny-env python=3.9
conda activate penny-env
  • 安装PennyLane及其依赖
# 安装基础的 PennyLane
conda install -c conda-forge pennylane# 安装 PyTorch 后端(推荐),这个是CPU版本的,如果你的电脑有GPU,可以安装这个Cuda版本的,具体的命令可以看下面的补充
conda install pytorch torchvision torchaudio -c pytorch# 安装其他有用的科学计算包
conda install numpy matplotlib jupyter
  • 如果想安装有GPU支持的Torch也就是Cuda版本的,可以查看官网的下载命令,或者问ai?
    如何知道你想要安装Cuda的版本的torch的命令?

  • 安装额外的量子模拟器

# 安装 Qiskit 后端
pip install pennylane-qiskit# 安装 Cirq 后端
pip install pennylane-cirq

attention:在安装这个Qiskit后端的时候,可能会出现报错?

  • 也就是这torch版本和这个sympy的版本出现冲突
    在这里插入图片描述
  • 使用下面的命令进行安装适配的sympy
conda install sympy=1.13.1
  • 验证安装,在这里我们创建一个测试文件test_pennylane.py
import pennylane as qml
import numpy as np# 创建一个模拟器设备
dev = qml.device('default.qubit', wires=1)# 定义一个简单的量子电路
@qml.qnode(dev)
def quantum_circuit(params):qml.RX(params[0], wires=0)qml.RY(params[1], wires=0)return qml.expval(qml.PauliZ(0))# 测试电路
params = np.array([0.54, 0.12])
print(f"回路输出: {quantum_circuit(params)}")
print("PennyLane 安装成功!")
  • 然后运行这个测试文件
python test_pennylane.py
  • 查看测试程序的输出

在这里插入图片描述

  • 其实操作到上面就可以结束了 !

补充

  • 当你实验完成之后,是否想让别人,能够按照你的思路复现?那我们就可以去配置这个Jupyter Notebook去给别人演示(看个人意愿哈!)
  • 首先使用命令创建一个notebook
jupyter notebook
  • 然后去测试,我们上面的那个程序
  • 其实还是要配环境的,所以这个在Jupyter Notebook玩,还是后面再搞,咱们在本地玩项目即可
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/pingmian/84446.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nginx ./nginx -s reload 不生效

问题 nginx ./nginx -s reload 不生效 解决 不是改opt/nginx下的配置文件是改/usr/local/nginx下的配置文件改之前做好备份

建造者模式深度解析与实战应用

作者简介 我是摘星,一名全栈开发者,专注 Java后端开发、AI工程化 与 云计算架构 领域,擅长Python技术栈。热衷于探索前沿技术,包括大模型应用、云原生解决方案及自动化工具开发。日常深耕技术实践,乐于分享实战经验与…

VScode - 我的常用插件01 - 主题插件Noctis

导言 Noctis 是一款为 Visual Studio Code 提供的主题插件,主打高对比度、护眼、美观。它有多种配色风格,适合不同的开发者审美和工作场景。 一、安装Noctis 二、设置颜色主题 三、测试主题 如上所示,有11种主题背景可以选择。这里&#xff…

【IQA技术专题】图像质量评价IQA技术和应用综述(万字长文!!)

专题介绍 图像质量评价(Image Quality Assessment, IQA)是图像处理、计算机视觉和多媒体通信等领域的关键技术之一。IQA不仅被用于学术研究,更在影像相关行业内实现了完整的商业化应用,涉及影视、智能手机、专业相机、安防监控、…

突然虚拟机磁盘只剩下几十K

第一步:查找哪些文件大于 100M find / -size 100M 第二步:删除掉无用的 log 发现,磁盘剩余空间并没有变大 假如一个文件正在被使用,你删除之后也是不会释放存储空间的。需要关闭相应的服务才能释放。

黑马教程强化day2-1

目录 一、Set集合1.Set集合特点2.Set集合分类3.hashSet底层原理:(基于哈希表存储数据的)代码演示 5.hashSet集合元素的去重操作(有些情况搞不动)代码演示 6.LinkedHashSet的底层原理(不常用,所以没有代码演…

【实习总结】C++ 通过pugi::xml库对xml文件进行操作

目录 相关背景 pugi::xml简概 将配置信息写入xml文件 读取xml文件中的配置信息 相关背景 当我们需要将某些配置信息写入项目目录下的xml文件,或者再程序启动时,加载项目下已有的的配置信息(.xml),此时,我…

Linux文件回收机制:安全删除文件不怕误删

Linux文件回收机制:安全删除文件不怕误删 文章目录 Linux文件回收机制:安全删除文件不怕误删一、Linux默认没有“回收站”?二、打造你自己的Linux回收站1. 建立回收站目录2. 创建软删除命令remove3. 定时清理回收站4. 替换rm命令5. 完整脚本 …

数据结构排序

目录 1、插入排序 2、希尔排序 3、堆排序 4、直接选择排序 5、快排 6、归并排序 补&#xff1a;计数排序 1、插入排序 void InsertSort(int* arr, int n) {int i 0;for (int i 0; i 1 < n; i){int end i;int tmp arr[end 1];while (end > 0){if (arr[end] &…

Spring声明式事务生效是有条件滴!

在日常工作中&#xff0c;经常使用Transactional 注解进行事务的声明&#xff0c;但如果发现事务未生效&#xff0c;可以从下面几个方面进行排查。 常见失效场景总结 场景原因解决方案内部方法调用绕过了Spring代理注入自身或使用AopContextprivate方法AOP无法增强改为public方…

Code Composer Studio快捷键

文本编辑 编辑、查找、替换功能快捷键 功能快捷键撤销CutZ重做CutY剪切CtrlX复制CtrlC粘贴CtrlV删除Delete全选CtrlA代码块选中AltShiftA查找、替换Ctrl F查找下一个匹配的字符串CtrlK查找上一个匹配的字符串CtrlShiftK查看接口注释&#xff08;文档&#xff09;F2查看函数帮…

从认识AI开始-----生成对抗网络(GAN):通过博弈机制,引导生成

前言 生成对抗网络&#xff08;GAN&#xff09;是lan J. Goodfellow团队在2014年提出的生成架构&#xff0c; 该架构自诞生起&#xff0c;就产生了很多的话题&#xff0c;更是被称为生成对抗网络是“新世纪以来机器学习领域内最有趣的想法”。如今&#xff0c;基于生成对抗网络…

限流算法java实现

参考教程&#xff1a;2小时吃透4种分布式限流算法 1.计数器限流 public class CounterLimiter {// 开始时间private static long startTime System.currentTimeMillis();// 时间间隔&#xff0c;单位为msprivate long interval 1000L;// 限制访问次数private int limitCount…

Maven 构建性能优化深度剖析:原理、策略与实践

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…

JS手写代码篇---手写深拷贝

17、深拷贝 深拷贝与浅拷贝最大的不同就是对象的属性是嵌套对象&#xff0c;会新建一个对象 步骤&#xff1a; 判断是否为对象判断是否为i数组或者对象&#xff0c;给新的有个容器遍历循环&#xff0c;如果是对象要遍历循环&#xff0c;采用递归 function deepCopy(obj){// …

【react实战】如何实现监听窗口大小变化

在日常开发场景中&#xff0c;监听窗口变化是一个比较常见又很重要的业务功能&#xff0c;其实实现起来也很简单&#xff0c;今天就来记录一下具体的实现以及注意事项。 实现思路 在 React 中&#xff0c;可以通过监听 window 的 resize 事件来检测可视区域&#xff08;viewp…

AVCap视频处理成帧和音频脚本

###############处理原视频&#xff0c;使其格式和原数据一样 import os import cv2 import subprocess import json from PIL import Image from pydub import AudioSegmentimport sys import shutil # &#x1f539; 第一步&#xff1a;强制检测并设置FFmpeg路径 &#x1f5…

数据冗余对企业运营的隐性成本

从客户管理到供应链优化&#xff0c;再到市场分析&#xff0c;数据无处不在&#xff0c;数据已成为企业运营的核心驱动力。然而&#xff0c;随着企业IT系统的多样化和数据量的激增&#xff0c;数据冗余&#xff08;Data Redundancy&#xff09;问题逐渐浮出水面&#xff0c;成为…

HTML原生日期插件增加周次显示

<div id="app" class="box box-info" style="border-top-color:white;"><!-- // 日期部分 --><div class="date-picker-container" style="position: relative; max-width: 200px;"><!-- 日期输入框 -…

渗透测试PortSwigger Labs:遭遇html编码和转义符的反射型XSS

1 处是我们输入的标签被服务器 html 编码后返回&#xff0c;被浏览器当作字符串显示出来&#xff0c;无法执行 javascript 2 处是唯一能控制的地方&#xff0c;正好在script标签范围内&#xff0c;可以尝试构造 依然存在转移单引号&#xff0c;我们输入转义符\让服务器添加的转…