Quality of life improvements for numerical Pauli strings:
Added * overloads for PauliTerm and PauliSum.
Can now compute the expectation value langleSrangle of a PauliSum with a Qbit.
The Pauli string of a PauliTerm or PauliSum can now be printed in a more readable format using display.
Added a transform_coefficients method for PauliSum that applies a function to each element of the sum.
Added adjoint and adjointed methods, which perform the Hermitian conjugate in-place and out-of-place on a PauliSum, respectively.
Aleph fermionic operators are now unified under a shared FermionOperator type. Factory functions such as Create, Destroy, Number, TransferSum, PairingSum, QuadraticSum, and the tensor-based fermion operator factories now all return FermionOperator values.
Fermionic operators in Aleph now support consistent introspection through name(), sites(), and parameters():
name() returns the operator kind as a string.
sites() returns the operator sites in definition order.
parameters() returns the operator payload when present, such as a parameter list, a rank-4 tensor, or a quadratic sparse matrix.
If your code compared fermionic operator type_name() results against older binding-specific names, update those checks to use FermionOperator.
If you were inspecting fermionic operators through binding-specific type distinctions, switch to the shared name(), sites(), and parameters() accessors.