Version 0.9.0

New functions and improvement on existing functions:
Response functions

A new type, DoubleTri (a double tri-diagonal form, with a valence and a conduction chain). It converts to and from all the other types, block and scalar. It works with Evaluate, printing, ToTable, Rotate, Transpose, InvertEnergy, Chop, scaling, #G, CalculateRho, ToOperator and the impurity Hamiltonians.
New functions:

ResponseFunction.Downfold: a subspace of the inverse. A chain is downfolded by band reduction. Method "Mesh"works on an energy grid.
EffectiveHamiltonian and FromEffectiveHamiltonian.
Transpose and RemovePolesInInterval.
CalculateRho(G): the density matrix of a response function.
Elements.
Rotate with options; BlockBandDiagonalize of a response function goes through it.
Read and write fields G.Mu, G.Name and G.Type.


New global functions: CalculateGfromG0andSigma (Method = ListOfPolesG0, TriDiagonalG0 or AndG0) and CalculateGbathfromGandSigma.
New options on existing functions:

ChangeType: NTriMax, NTriMaxVal, NTriMaxCon, MinimalPoleDistance, MinimalPoleWeigth, Method.
ReducePoles: Method = "Number" or "Weight".
ToOperator: Nv, Nc, GvalBath, GconBath, TransformImpurity.
SingularValue (the orthonormalisation threshold, now separate from Epsilon) is accepted almost everywhere.



Lattice, tight binding and DMFT

CalculateG:

The self energy can be any response function type, a single number, or given per atom or per atom and shell.
New options EnergyGrid, Method "Mesh" with Lambda, and HybridizationFunction (also returns the augmented propagator per atom).
The k-points are diagonalised in parallel.


CalculateBands: takes a self energy and characters, has Method "Mesh", and runs in parallel.
Graphics.PlotBands: was an empty placeholder at 0.8 and now works. It has interpolation, characters, SecondColor, Transparancy and SecondTransparancy, EmptyPathWidth, Saturation and NPixelX/NPixelY.
Tight-binding functions:

New: TightBinding.New(Table), Copy, Chop, Derivative, ShiftOnsiteEnergy, CalculateMu, ExportCIF and SlaterKosterTable.
AddSpin can now also be called as a method.
A model can be called at a k-point, TB(k), with the options AsOperator and ConstantPhaseInUnitCell.



Impurity spectra

CreateSpectra with hybridisation functions:

New options NBathExcitations, NonCrossing, NTriFull and GridPoints.
New Method option: Auto, Dense, Lanczos or Mesh.
A self energy can be used with Tensor = true on the sparse route.


Tensor RIXS (Michelangelo):

CreateResonantSpectra with a tensor result and a TensorBasis option.
New spectra methods GetPowderTensor, ContractSpectraTensorWithPolarization, Conjugate and Transpose.
New global functions CoupledCartesianToSphericalTensorKMatrix and CoupledSphericalTensorKToSphericalTensorYMatrix.



Operators, bit masks and matrices

New: AngularMomentumOperators and ShellAverage.
The Basis values "Z", "K" and "jjz" of NewOperator now work.
New: BitMaskAnd, BitMaskOr and BitMaskXor.
Matrices (Sarah Goerlitz wrote GeneralEigensystem): GeneralEigensystem, NullSpace, HermitianPart, AntiHermitianPart, Traceand Matrix.RemoveSpin.

Graphics

Graphics.Plot options: ColorMap, ColorFunction (functions as options), Scale, WaterfallOffset, WaterfallShift, XTicks/YTicks, SpectraStart/SpectraStop/SpectraStep, UseResonantEnergy and Interpolate.
Graphics.Plot behaviour:

Automatic y range for waterfall plots and block response functions.
Lists of points on any mesh.


Graphics.Add:

New Layer option.
Bitmaps from a colour function or a matrix, with a transparent colour.
New Pixelated option.


New Graphics functions: Graphics.Rotate, Graphics.ToTable, Graphics.New(Table), and RelativeSize in the SVG output.

Input/output and command line

New: io.mkdir.
io.put now also writes matrices, nested response functions, tight-binding models (which io.get reads back), graphics objects and operator restrictions.
New global ScriptDirectory: the absolute directory of the input file.

As well as several bug repairs.
Build and CI

CMake build and CI matrix jobs (Thomas Isensee).
macOS: Accelerate's new LAPACK, OpenMP and -O3.
Windows compatibility: uint and stpcpy removed.
gcc warning fixes (Florian Goth).
CI publishes to the public server and syncs tags to git.quanty.org.