Expanded the library of symbolic Fermionic operators in Aleph with new multi-site and parameterized interactions. See the New Features section for details.
NumberNumberPhase(angle, i, j): Two-site phase operator exp(iĻniānjā).
ModeRotation(angle, i, j): Givens rotation operator exp(iĪø(fiā āfjā+fjā āfiā)).
PairRotation(angle, i, j): Bogoliubov rotation operator exp(iĪø(fiā āfjā ā+fjāfiā)).
NumberPotential(coefficients [, sites]): Efficient representation of weighted density sums āiāsitesāαiāniā.
CoulombSum(tensor): General Coulomb interaction āi,j,k,l,Ļ,Ļā²āVijklāaiĻā āajĻā²ā āakĻā²āalĻā on interleaved spin-orbitals.
Unified Fermionic operator naming conventions and added legacy aliases (FourBody, DoubleExcitation, NumberN, NumberNumberNN, NumberNumberNNN) for backward compatibility.
Added Discrete Cosine Transform (DCT) and Discrete Sine Transform (DST) functions with support for types I-IV, custom normalization, and orthonormal scaling. Both transforms support 1D and 2D operations on Matrix and Array types.
Forge scripts can now declare arguments and retrieve them with get_arg(name, type[, default]), enabling typed inputs to be provided when launching executions or scheduling jobs.
Added function to compute the specific heat from the order estimator sse_specific_heat(order).
The history of an SSE simulation can now be recorded and read/written from/to an HDF5 file allowing for checkpointing of simulations and for post processing.
Added string parsing support for complex conversion in Aleph, so expressions like complex("2 + 1i") and "2 + 1i".complex() now work.
Fixed LSP semantic token locations for interpolated member access (for example ${ab.first}), avoiding invalid and overlapping semantic tokens in editors.
Mixed-complexity operator expressions that previously caused errors now work correctly. For example, 2.0 * X(0) + 3.0i * Y(1) is now a valid expression.
Fbit and Qbit can faithfully represent BasisStates with up to 64 sites, and will throw an error if an attempt is made to create a BasisState with more than 64 sites. This prevents silent truncation of states that was previously occurring.
Failed string-to-number conversions now throw an error instead of defaulting to 0. This affects conversions like real("abc") and integer("abc"). Loss-of-precision conversions still behave as before, e.g. integer("5.3") -> 5.