entanglish.FormationEnt module

class entanglish.FormationEnt.FormationEnt(*args, **kwargs)[source]

Bases: entanglish.SquashedEnt.SquashedEnt

This class is a child of class SquashedEnt. Its purpose is to calculate the (bipartite) quantum entanglement Exy of a mixed state density matrix Dxy with parts x and y. Exy is defined here as the entanglement of formation

Exy = sum_alp w_a[alp] min S(Dx_a[alp])

where S(Dx_a[alp]) is the von Neumann entropy for density matrix Dx_a[ alp] = tr_y Dxy_a[alp]. The minimum is over all Dxy_a[alp] such that Dxy_a[alp] is a pure state |psi[alp]><psi[alp]|, and sum_alp w_a[ alp] Dxy_a[ alp] = Dxy where Dxy is a given, fixed density matrix.

If we add to the definition of squashed entanglement the further constraint that Dxy_a[alp] is a pure state for all alp, then the squashed entanglement of Dxy becomes precisely the entanglement of formation of Dxy.

In this class, most of the steps used for calculating entang of formation are the same as those for calculating squashed entang. Those steps that aren’t are turned on or off with the bool flag calc_formation_ent

A closed exact formula is known, thanks to Wootters, for the entang of formation of an arbitrary mixture of 2 qubits. Class TwoQubitState of entanglish contains an implementation of said formula.

See Ref.1 for a detailed explanation of the algos used in this class.

References

1. R.R. Tucci, “A New Algorithm for Calculating Squashed Entanglement and a Python Implementation Thereof”

__init__(*args, **kwargs)[source]

Constructor

Parameters:
  • args – list of args of SquashedEnt constructor
  • kwargs – dictionary of kwargs of SquashedEnt constructor