通过迭代的李亚普诺夫方法在U(n)中快速且几乎精确地生成量子门(Matlab代码实现)

本文介绍了参考输入生成算法(RIGA),一种用于量子门生成的新方法。通过数值实验,RIGA在N个耦合量子比特系统中展现了优异性能,尤其是在运行时间和结果质量上优于传统方法如GRAPE。MATLAB代码的实现展示了算法的详细操作过程。
摘要由CSDN通过智能技术生成

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

文献来源:

介绍了一种称为参考输入生成算法(Reference Input Generation Algorithm,RIGA)的新方法用于量子门生成。设X¯¯¯¯ℓ−1(t)为在步骤ℓ−1中获得的轨迹,其中X¯¯¯ℓ−1(t)=I。在第ℓ步中,将X¯¯¯ℓ−1右平移,以便将X¯¯¯ℓ−1(Tf)位移到Xgoal。翻译后的轨迹被用作基于李雅普诺夫的跟踪控制律的参考,生成X¯¯¯ℓ(T),以此类推。对于足够大的Tf,提供了X¯¯¯ℓ−1(Tf)指数收敛至零的证明。两个例子展示了关于N个耦合量子比特的数值实验。第一个例子考虑N = 3,具有已知最小时间T∗。对于Tf=T∗,结果非常出色。第二个例子是对比RIGA和GRAPE的基准测试,考虑了N = 2、3、…、10个量子比特的系统中的Hadamard门。RIGA的运行时间可以改进,GRAPE在更快的CPU上实现。然而,RIGA呈现出与GRAPE类似的结果,在某些情况下具有更快的运行时间,表明RIGA确实是一种有前途的算法。原文链接:https://www.tandfonline.com/doi/full/10.1080/00207179.2019.1626023

📚2 运行结果

其余运行结果去掉Matlab图框。

部分代码:


clear all 
clc;
Table=[];
path_file;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%  Main file to run
%  See read_me_RIGA.txt for instructions for RIGA
%  See read_me_FPA.txt for instructions for FPA
%  See read_me_RESIMULATION.txt for instructions for re-simulations
%      without recomputing RIGA
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% REMARK : % IF YOU REDEFINE THE INFIDELITY IN "RIGA.m", 
% YOU MUST ALSO REDEFINE THE INFIDELITY INSIDE "OPEN_LOOP_SIMULATION.m"
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


clear all;
close all
clc;
%%%%%%%%%%%%
path_file;

 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % first resimulation State preparation
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 disp(' ')
 disp ('Resimulation for State Preparation, Two transmon qubits')
  eval(['load ' path_data  'context_RIGA_State_Preparation']); 
 % load \results\context_RIGA_State_Preparation 

 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %  Model for resimulation
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 nc=10;  % ten levels for both Transmon qubits
        % do the re-simulation for ten levels
        % note that RIGA was computed for seven
        % levels (truncated model)
        
 Define_Quantum_System_and_Gate_2; % State preparation
 %Define_Quantum_System_and_Gate_1; % CNOT
 %Define_Quantum_S
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % Execute RESIMULATION
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %%%%%%%%%% 
 OPEN_LOOP_SIMULATION;
 disp('first resimulation ended')
 disp(' ')
 
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % Second resimulation CNOT
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 disp ('Resimulation for CNOT Gate, Two transmon qubits')
 eval (['load ' path_data  'context_RIGA_CNOT']); 
 %% load \results\context_RIGA_CNOT
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %  Model for resimulation
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 nc=10;  % ten levels for both Transmon qubits
        % do the re-simulation for ten levels
        % note that RIGA was computed for seven
        % levels (truncated model)
        
 Define_Quantum_System_and_Gate_1; % State preparation
 

 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Execute RESIMULATION
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
OPEN_LOOP_SIMULATION;
%%%%%%%%%%   

 %disp('second resimulation skipped inside code_ocean')
 %disp('data file is too big')
 %disp('Please uncoment commands marked with "%>%""  in your computer')
 disp(' ')
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % Third resimulation 4-qubit system
 % Hadamard gate
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 disp('resimulation of 4-qubits, Hadamard Gate')
 
 eval(['load ' path_data 'context_RIGA_4']); % load file with 4 qubit data
 % load \results\context_RIGA_4
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %  Model for resimulation
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % when the model is the same you do not need
 % to redefine the model
 

 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Execute RESIMULATION
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
OPEN_LOOP_SIMULATION;  % IF YOU REDEFINE THE INFIDELITY YOU MUST REDEFINE
% THE INFIDELITY INSIDE OPEN_LOOP_SIMULATION.m
%%%%%%%%%%   
 
 disp('third resimulation ended')
 disp(' ')
 

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

🌈4 Matlab代码实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值