This resource function is obsolete. Use the paclet Wolfram/QuantumFramework instead.

Function Repository Resource:

QuantumEntanglementMonotone

Source Notebook

Compute the degree of entanglement between a pair of subsystems in a discrete quantum state

Contributed by: Jonathan Gorard and Taufiq Murtadho

ResourceFunction["QuantumEntanglementMonotone"][QuantumDiscreteState[],bipart]

computes the generalized concurrence monotone for the subsystems in the bipartition bipart of the specified QuantumDiscreteState.

ResourceFunction["QuantumEntanglementMonotone"][QuantumDiscreteState[],bipart,mono]

computes the named entanglement monotone mono for the subsystems in the bipartition bipart of the specified QuantumDiscreteState.

ResourceFunction["QuantumEntanglementMonotone"][QuantumDiscreteState[],bipart,{mono,α}]

computes the named entanglement monotone mono with index α (where appropriate) for the subsystems in the bipartition bipart of the specified QuantumDiscreteState.

Details

Whenever the entanglement monotone mono is not specified, "Concurrence" is assumed by default.
Whenever the bipartition bipart is not specified, the first and second subsystems (as specified by the bipartition {{1},{2}}) are assumed by default.
In ResourceFunction["QuantumEntanglementMonotone"][QuantumDiscreteState[],], the specified QuantumDiscreteState should contain at least two subsystems (qudits).
The bipartition bipart should be a nested list of the general form {{i1,i2,},{j1,j2,}}, with positive integers i1, i2,, j1, j2, specifying subsystems of the given QuantumDiscreteState. For instance, the bipartition {{1,2},{3}} partitions the QuantumDiscreteState into subsystems {1,2} and {3}.
In ResourceFunction["QuantumEntanglementMonotone"][QuantumDiscreteState[],bipart,mono], the following entanglement monotones mono are supported:
"Concurrence"generalized concurrence monotone for pure states and two-subsystem mixed states
"Negativity"negativity monotone for pure and mixed states (i.e. the Peres–Horodecki separability criterion)
"LogNegativity"logarithmic negativity monotone for pure and mixed states (i.e. the Peres–Horodecki separability criterion)
"EntanglementEntropy"entanglement entropy monotone for pure states (i.e. the von Neumann entropy of the reduced density matrices)
"RenyiEntanglementEntropy"Rényi entanglement entropy monotone with Rényi index α=1/2 for pure states (i.e. the Rényi entropy of the reduced density matrices)
{"RenyiEntanglementEntropy",α}Rényi entanglement entropy monotone with specified Rényi index α for pure states (i.e. the Rényi entropy of the reduced density matrices)
Whenever the entanglement monotone mono is not defined for the specified QuantumDiscreteState, ResourceFunction["QuantumEntanglementMonotone"] will return Indeterminate.

Examples

Basic Examples (5) 

Compute the generalized concurrence monotone for the first and second subsystems of a two-qubit pure discrete quantum state:

In[1]:=
state = ResourceFunction["QuantumDiscreteState"][{3/5, 0, 0, 4/5}]
Out[1]=
In[2]:=
ResourceFunction[
 "QuantumEntanglementMonotone"][state, {{1}, {2}}, "Concurrence"]
Out[2]=

Compute the negativity and logarithmic negativity monotones instead:

In[3]:=
ResourceFunction[
 "QuantumEntanglementMonotone"][state, {{1}, {2}}, "Negativity"]
Out[3]=
In[4]:=
ResourceFunction[
 "QuantumEntanglementMonotone"][state, {{1}, {2}}, "LogNegativity"]
Out[4]=

Compute the entanglement entropy and Rényi entanglement entropy monotones instead:

In[5]:=
ResourceFunction[
 "QuantumEntanglementMonotone"][state, {{1}, {2}}, "EntanglementEntropy"]
Out[5]=
In[6]:=
ResourceFunction[
 "QuantumEntanglementMonotone"][state, {{1}, {2}}, {"RenyiEntanglementEntropy", 1/2}]
Out[6]=
In[7]:=
ResourceFunction[
 "QuantumEntanglementMonotone"][state, {{1}, {2}}, {"RenyiEntanglementEntropy", 3/4}]
Out[7]=

Show that the three-qubit GHZ state is biseparable (i.e. any pair of qubits is separable):

In[8]:=
state = ResourceFunction["QuantumDiscreteState"]["GHZ"]
Out[8]=
In[9]:=
ResourceFunction["QuantumEntanglementMonotone"][state, {{1}, {2}}]
Out[9]=
In[10]:=
ResourceFunction["QuantumEntanglementMonotone"][state, {{1}, {3}}]
Out[10]=
In[11]:=
ResourceFunction["QuantumEntanglementMonotone"][state, {{2}, {3}}]
Out[11]=

However, the GHZ state is not triseparable (since every triple of qubits is maximally entangled):

In[12]:=
ResourceFunction["QuantumEntanglementMonotone"][state, {{1, 2}, {3}}]
Out[12]=

Show that the three-qubit W state is not biseparable (and hence its entanglement is more robust than the GHZ state's):

In[13]:=
state = ResourceFunction["QuantumDiscreteState"]["W"];
ResourceFunction["QuantumEntanglementMonotone"][state, {{1}, {2}}]
Out[13]=

Show that a QuantumDiscreteState consisting of two three-dimensional qudits is not separable:

In[14]:=
state = ResourceFunction["QuantumDiscreteState"][{1/Sqrt[3], 0, 0, 0, 1/Sqrt[3], 0, 0, 0, 1/Sqrt[3]}, 3];
ResourceFunction["QuantumEntanglementMonotone"][state, {{1}, {2}}]
Out[14]=

Compute negativity and logarithmic negativity entanglement monotones for subsystems {2,3} and {5} in a random 5-qubit pure state:

In[15]:=
state = ResourceFunction["QuantumDiscreteState"][{"RandomPure", 5}]
Out[15]=
In[16]:=
ResourceFunction[
 "QuantumEntanglementMonotone"][state, {{2, 3}, {5}}, "Negativity"]
Out[16]=
In[17]:=
ResourceFunction[
 "QuantumEntanglementMonotone"][state, {{2, 3}, {5}}, "LogNegativity"]
Out[17]=

Scope (2) 

The concurrence monotone is defined for mixed states, but only for pairs of subsystems:

In[18]:=
state = ResourceFunction["QuantumDiscreteState"][
  Table[RandomReal[NormalDistribution[0, 1]] + I*RandomReal[NormalDistribution[0, 1]], 8, 8]/8]
Out[18]=
In[19]:=
ResourceFunction[
 "QuantumEntanglementMonotone"][state, {{1}, {2}}, "Concurrence"]
Out[19]=

For any triple of subsystems, the concurrence monotone is undefined (returns Indeterminate):

In[20]:=
ResourceFunction[
 "QuantumEntanglementMonotone"][state, {{1}, {2, 3}}, "Concurrence"]
Out[20]=

On the other hand, the negativity and logarithmic negativity monotones are always defined for mixed states, for any collection of subsystems (of any size):

In[21]:=
ResourceFunction[
 "QuantumEntanglementMonotone"][state, {{1}, {2, 3}}, "Negativity"]
Out[21]=
In[22]:=
ResourceFunction[
 "QuantumEntanglementMonotone"][state, {{1}, {2, 3}}, "LogNegativity"]
Out[22]=

The entanglement entropy and Rényi entanglement entropy monotones are never defined for mixed states:

In[23]:=
ResourceFunction[
 "QuantumEntanglementMonotone"][state, {{1}, {2, 3}}, "EntanglementEntropy"]
Out[23]=
In[24]:=
ResourceFunction[
 "QuantumEntanglementMonotone"][state, {{1}, {2, 3}}, {"RenyiEntanglementEntropy", 0.5}]
Out[24]=

The Rényi entanglement entropy approaches the standard (von Neumann) entanglement entropy in the limit as α approaches 1:

In[25]:=
state = ResourceFunction["QuantumDiscreteState"][{"RandomPure", 2}]
Out[25]=
In[26]:=
ResourceFunction[
 "QuantumEntanglementMonotone"][state, {{1}, {2}}, "EntanglementEntropy"]
Out[26]=
In[27]:=
ResourceFunction["QuantumEntanglementMonotone"][
   state, {{1}, {2}}, {"RenyiEntanglementEntropy", #}] & /@ {0.9, 0.99, 0.999, 0.9999, 0.99999}
Out[27]=

Publisher

Jonathan Gorard

Version History

  • 1.0.0 – 26 April 2021

Related Resources

License Information