This article is a reproduction of examples from the following paper about the novel way of measuring relative information between quantum states separated in time: Fullwood, James, Zhen Wu, Arthur J. Parzygnat, and Vlatko Vedral (2024), Quantum Mutual Information in Time, arXiv:2410.02137. https://doi.org/10.48550/arXiv.2410.02137
Code
Code
Init
Init
PacletInstall["https://www.wolfr.am/DevWQCF",ForceVersionInstall->True]<<Wolfram`QuantumFramework`
Example 1 (A dual state)
Example 1 (A dual state)
ρ=QuantumState
;
13/24 | 0 | 0 | 0 |
0 | 5/24 | -1/6 | 0 |
0 | -1/6 | 5/24 | 0 |
0 | 0 | 0 | 1/24 |
In[]:=
N@TemporalMutualInformation[ρ]
Out[]=
In[]:=
N@SpatialMutualInformation[ρ]
Out[]=
Example 2 (A single qubit at two times)
Example 2 (A single qubit at two times)
In[]:=
TemporalMutualInformation@PDM[QuantumState["UniformMixture"],QuantumOperator["I"]]
Out[]=
In[]:=
ρ=QuantumState["RandomMixed"];U=QuantumOperator["RandomUnitary"];
In[]:=
TemporalMutualInformation@PDM[ρ,U]
Out[]=
In[]:=
ρ["Entropy"]
Out[]=
Example 3 (Discard and prepare)
Example 3 (Discard and prepare)
In[]:=
ρ=QuantumState["RandomMixed"];σ=QuantumState["RandomMixed"];qc=QuantumCircuitOperator[{"Trace",σ}];
In[]:=
TemporalMutualInformation@PDM[ρ,qc]//Chop
Out[]=
Example 4 (Decoherence)
Example 4 (Decoherence)
In[]:=
PDM[QuantumState["-"],QuantumOperator["Measurement"]]["Eigenvalues"]
Out[]=
(1+(1+(1-(1-
1
4
2
),1
4
2
),1
4
2
),1
4
2
)In[]:=
N@TemporalMutualInformation@PDM[QuantumState["-"],QuantumOperator["Measurement"]]
Out[]=
Example 5 (A single qubit at multiple times)
Example 5 (A single qubit at multiple times)
In[]:=
$Assumptions=0<η<1&&0<p<1;
a=Simplify@TemporalMutualInformation[PDM[QuantumState[{{p,0},{0,1-p}}],{QuantumOperator["Channel"["Depolarizing"[η]]],QuantumOperator["Channel"["Depolarizing"[η]]]}]];
b=Simplify@TemporalMutualInformation[PDM[QuantumState[{{p,0},{0,1-p}}],{QuantumOperator["Channel"["Depolarizing"[η]]],QuantumOperator["I"]}]];
c=Simplify@TemporalMutualInformation[PDM[QuantumState[{{p,0},{0,1-p}}],{QuantumOperator["I"],QuantumOperator["Channel"["Depolarizing"[η]]],QuantumOperator["I"]}],{1,2}];
d=Simplify@TemporalMutualInformation[PDM[QuantumState[{{p,0},{0,1-p}}],{QuantumOperator["Channel"["Depolarizing"[η]]],QuantumOperator["I"],QuantumOperator["Channel"["Depolarizing"[η]]]}],{1,2}];
In[]:=
ResourceFunction["AddMatplotlibColors"][]
Out[]=
{Magma,Inferno,Plasma,Viridis,EricsRdBuGnYl,EricsRdBuGnYl2,EricsPuBuGnYl,FakeParula,JoesBluGrnPnk2}
plotFunctions=Simplify@QuantityMagnitude[{a,b,c,d}];
GraphicsGrid[Partition[Plot3D[#,{p,0,1},{η,0,1},AxesLabel->(Style[#,24]&/@{"p","η","I"}),BoxRatios->{1,1,1/2},ColorFunction->"Viridis",Mesh->None,PlotPoints->40,ViewPoint{2.27,2.14,1.3}]&/@plotFunctions,2]]
Out[]=
CITE THIS NOTEBOOK
CITE THIS NOTEBOOK
Quantum mutual information in time
by Nikolay Murzin
Wolfram Community, STAFF PICKS, November 11, 2024
https://community.wolfram.com/groups/-/m/t/3318041
by Nikolay Murzin
Wolfram Community, STAFF PICKS, November 11, 2024
https://community.wolfram.com/groups/-/m/t/3318041