LLNL / quandary

Optimal control for open quantum systems
MIT License
50 stars 9 forks source link

Preallocate sparse-mat Hamiltonians. Remove NumberOp. #3

Closed steffi7574 closed 3 years ago

steffi7574 commented 3 years ago

For efficiency, preallocate system matrices Ad,Bd,Ac,Bc in sparse-matrix solver. Remove explicit setup of NumberOperator and LoweringOperator. Set values in the system matrix building blocks from paper-pen matrices.

The following commits have been squashed: Print system dimensions in mastereq constructor. Set up Bd from pen and paper. Set control hamiltonian building blocks from pen and paper. Adding decay and dephasing Clean up. Don't add zero to mat. Add Bc_vec. Remove numberOperator and LoweringOperator. Preallocate Hamiltonian matrices in sparse-mat solver. Bugfix for preallocation. Move check for lindblad options out of oscillator loop. Create MPIAIJ mats even when on one processor. Revert "Don't compute objectiveT. Don't write controls." This reverts commit cc3900f5906fcc998c6a7b930616ecf09b811704. Bugfix in expectedEnergy objective function. Move flag for T1/T2 collapse terms to mastereq constructor.