QuESTlink icon indicating copy to clipboard operation
QuESTlink copied to clipboard

add PlotDensityMatrix

Open TysonRayJones opened this issue 5 years ago • 1 comments

which renders a 3D bar plot of the state. Use overloads:

  • PlotDensityMatrix[ id ] to do PlotDensityMatrix @ GetQuregMatrix @ id (invoking below). Later, we can optimise this by not communicating back amplitudes under some threshold, optionally set with MinAmp -> Automatic
  • PlotDensityMatrix[ {{ ... }} ] to plot the real component of the matrix.
  • `PlotDensityMatrix[ *, Component -> Imaginary] to plot the imaginary component
  • PlotDensityMatrix[ *, IdealReference -> (id | {{...}} | {..}) ] to simultaneously plot a reference "ideal" density matrix (which can be assumed to have larger values than the first state). This can be a state-vector, in which case |psi><psi| is plotted.
  • PlotDensityMatrix[ *, Options] to transmit options for the underlying graphics (e.g. BarChart3D)

TysonRayJones avatar May 10 '20 22:05 TysonRayJones

added PlotDensityMatrix[] in 0f90df033b132e29314f727f61f841c36526c905, though without a MinAmp option which could significantly improve performance.

Furthermore, the performance of the implementation is generally poor using Mathematica's graphic primitives. Needs optimisation

TysonRayJones avatar Jan 31 '21 09:01 TysonRayJones