张量网络编程学习笔记1(ADQC部分)
文章平均质量分 76
TN_Tutorial 学习笔记,变分量子线路搭建
Sauvignon.
绝赞断更中~
展开
-
张量网络编程基础学习笔记(4-2):FC和ADQC的混合编程
原创 2023-07-27 19:15:46 · 56 阅读 · 1 评论 -
张量网络编程学习笔记(5-2):建立量子多体含时演化实例 -- ADQC_time_evolution_chain.py & ADQC_QSP3.py
本文仅从本人复习需要出发:作为对首都师范大学冉仕举老师课程内容的整理、归纳以及补充。原创 2023-07-26 16:08:54 · 80 阅读 · 1 评论 -
张量网络编程学习笔记(5-0):ED_chain, Hamiltonian建立spin哈密顿基态实例
以及,scipy的 LinearOperator 函数需要传入一个将一系列局域收缩封装好,针对 向量-向量 的匿名函数,测试一下关于np.einsum对局域spin的收缩。建立局域算符,hamilt = heisenberg ( jz = delta ).numpy。,只有Ea' == Ea 才能有意义,降温(退火)绝对能给出基态。,反映态矢时间演化率+逆时针旋转。一个定态可读出该定态的能量。虽然但是,手动貌似是不好建立loop - Hamilton量的。N-qbits 2自旋的哈密顿量 - 合成。原创 2023-07-24 14:42:00 · 127 阅读 · 0 评论 -
张量网络编程学习笔记(5-1):量子多体含时演化,Trotter-Suzuki近似
同理,我们可以用有限步骤,将演化算符邻接交换,stairs - bricks 结果相差。详见上一讲:最小代数本征值问题,以及其对应的本征态。* 因此:每层还是考虑和原有含时演化一样布置门,将算符的积分写成黎曼和的形式,固定每个切片。,故整套含时演化下来,误差控制可以控制在。(3)连乘 -演化算符的差距:也类似。,布置一系列门,该层门当中。的虚时演化,每层复杂度~,就可以用来计算基态了!事实上,算符的指数求和。原创 2023-07-26 16:08:39 · 125 阅读 · 1 评论 -
张量网络编程学习笔记(4-1):QRNN原理入门,QRNN_predic_time_series 的简介
(1)前文提到的ADQC ~ FCNN:一种量子意义上的前馈层(2)循环结构QRNN = ADQC + 循环迭代:一种量子意义上的时序预测组合。原创 2023-07-23 15:15:28 · 630 阅读 · 0 评论 -
张量网络编程学习笔记(4-0):从FCNN 到 RNN,LSTM原理入门,LSTM_algo简介
全连接神经网络 (Fully Connected Neural Network) - 多层感知机 (Multilayer Perceptron)它是一种最基础的深度学习模型,用于解决分类和回归问题。一种能够对序列数据进行处理的神经网络模型。它的基本思想是将前面计算的部分结果连同当前时刻序列一并输入,从而实现对序列数据的记忆和处理。最主要的应用场景是自然语言处理(NLP)。在 NLP 中,文本数据是一种序列数据,需要考虑上下文和语法关系。RNN 具有良好的短程记忆,长程记忆的训练效果并不好。原创 2023-07-22 23:40:41 · 181 阅读 · 0 评论 -
张量网络编程学习笔记(3-3):ADQC_classifier和FC2_classifier 在 鸢尾花 iris 数据集上的分类
文件参照 TN_Tutorial.AD_Circuits 的 ADgate.py,ADQC_QSP1.py,ADQC_QSP2.py本文仅从本人复习需要出发:作为对首都师范大学冉仕举老师课程内容的整理、归纳以及补充扒一扒para的默认参数更新:para = dict(para0,**para),定义一个字典,后面的参数换前面的参数,不要求所有para写进去,可按需添加。* 效率上:单量子态的逐步更新要重复m次矩阵乘法,每次规模(4x4)-(4x2**(L-2))原创 2023-07-20 11:25:00 · 236 阅读 · 1 评论 -
张量网络编程学习笔记(3-2):TN_Tutorial自动微分门量子线路的模块化编程:AD_Circuits/ADgate.py + /ADQC_QSP1.py + /ADQC_QSP2.py
更新门参数注意要赋值到 gate.paras.data =tc.tensor (...) ,paras有一个自动微分属性:除非手动将待传系数张量给赋予自动微分属性:tc.nn.Parameters(tc.tensor(...) ) , 加入require_grad = True。(1)ADQC怎样建立门的:(看源码),重要属性:self.name, self.paras, self.tensor 变分or固定门。(注意,需要renew转角,否则就是临时储存在gate.paras.data里面)原创 2023-07-19 12:06:10 · 156 阅读 · 3 评论 -
张量网络编程学习笔记(3-1):TN_Tutorial神经网络模块化编程:AD_Circuits.FCNN.py - 一个简明完整的 FCNN 示例
再QRNN(量子RNN),ADQC,LSTM,LSTM三者对比还会有个LSTM的封装, RNN,LSTM,这些或许还会作为我们的课程的笔记补充吧()* 后文NN_alog.py 的 FC2_classifier,一个打包好的分类器,还有ADQC_classifier, 这些都会应用在iris数据集。y.argmax:找到最大元素所在位置,dim = 1对列指标切片返回最大列,最大概率作为分类结果,原创 2023-07-18 17:56:22 · 89 阅读 · 1 评论 -
张量网络编程学习笔记(3-0):神经网络模块化编程预备知识
(3)隐藏层:Robustness-数目不定,越多神经元,越多层,效果越好。如图示是最简单 的FCNN(全连接模型),为了获得正确的分类模型,需要拿损失函数衡量-优化来达成。我们要搭的是一个是图像分类的softmax映射,考虑到分类问题,首选nn.CrossEntropyLoss( )分别训练一个不带sigmoid()和带sigmoid()的,激活函数的重要性就体现出来了。* 总之基本的结构:定义网络,读取数据,输入数据,向前传播反向传播,获得训练结果。原创 2023-07-17 22:18:21 · 172 阅读 · 2 评论 -
张量网络编程学习笔记(2):量化多体纠缠门与搭建ADQC
于是先定义V(m),整体参数作为2**num_entangled x 2**num_entangled 规模的张量,* 为了囊括更多多体纠缠门,我们换个编码思路:可以考虑在两个qbits之间建立优化参数矩阵。* 首先作为幺正演化算符的G(m)其幺正性并不容易初始化,以及优化更新过程中一路保持。* 目前我们能做的工作仅仅是参数化单体门,至于多体纠缠部分用非参数化门实现。* 演化结果、保真度用G(m), 更新与优化用V(m),对应以上图示的。* 还是把 V 整组作为参数进行梯度下降,非保真度的。原创 2023-07-15 17:01:18 · 116 阅读 · 1 评论 -
张量网络编程学习笔记(1):搭建量子变分线路
初始化并整合变分参数,建立优化实例:paras = tc.randn((num_qubits*2,4),dtype = tc.float64,requires_grad = True)* 初始化量子态信息:psi_target = tc.randn((2**num_qubits, ),dtype=tc.complex128);* qs下的tensor_pure_state类建立量子态psi实例,psi.act_single_gate调用门演化。原创 2023-07-15 11:03:38 · 425 阅读 · 3 评论