I'm happy to say that I've finally released QuDirac.jl 
<https://github.com/JuliaQuantum/QuDirac.jl>!

This package is for performing common quantum mechanical operations using 
Dirac notation.

Feature list:

- Implementations of state types (`Ket`,`Bra`), and a variety of operator 
types (`OpSum`,`OuterProduct`)
- Treat states and operators as map-like data structures, enabling 
label-based analysis for spectroscopy purposes
- Implementation of common operations like partial trace (`ptrace`) and 
partial transpose (`ptranspose`)
- Support for abstract/undefined inner products
- User-definable custom inner product rules
- Subspace selection/transformation via functions on state labels and 
coefficients:
    - `xsubspace` allows easy selection of excitation subspaces of states 
and operators
    - `permute` and `switch` allows generic permutation of factor labels 
for states
    - `filter`/`filter!` are supported on both the labels and coefficients 
of operators/states
    - Mapping functions (`map`/`maplabels`/`mapcoeffs`) for applying 
arbitrary functions to labels and coefficients
- Functional generation of operators using `@def_op` and `@rep_op`
- `d" ... "` literals for natural Dirac notation input syntax

-- Jarrett

Reply via email to