All notable changes to the project are documented in this file. The format is based on Keep a Changelog.
2024.1 (16 Jul 2024)
- A new function
combine()
that evaluates the linear combination of radial window functions with given weights. - A new function
effective_cls()
which combines power spectra using a list of weights, which models what happens in the simulation. - A new function
position_weights()
that returns weights foreffective_cls()
to model the result ofpositions_from_delta()
. - A new function
multi_plane_weights()
that returns weights foreffective_cls()
to model the result ofMultiPlaneConvergence
. - The
glass.core.algorithm
module. - The new
partition(method="nnls")
function computes a partition with non-negative contributions for each shell. - Function
redshifts()
to sample redshifts following a radial window function.
- The default method for
partition()
is now"nnls"
. - Both
partition(method="nnls")
andpartition(method="lstsq")
now have an additional integral constraint so that the sum of the partition recovers the integral of the input function. - The output of
partition()
now has the shells axis as its first.
- Now uses the updated intersphinx URL for the GLASS examples.
- A bug in
effective_cls()
that caused arrays to be one entry too long iflmax
was not given explicitly. - A bug in
partition()
with the default method. partition()
now works correctly with functions having extra axes.
2023.7 (1 Aug 2023)
- Function
getcl()
to return angular power spectra by index from a list using GLASS ordering. - New
linear_windows()
andcubic_windows()
window functions for shells.
- The
gaussian_phz()
function now accepts bounds usinglower=
andupper=
keyword parameters. - The
partition()
function now returns an array of weights to approximate the given function by the windows.
2023.6 (30 Jun 2023)
deflect()
applies deflections to positionsfrom_convergence()
returns other lensing fields given the convergence- A new
glass.ext
namespace, reserved for extensions
- The
glass
module is no longer a namespace package - The point sampling functions
positions_from_delta()
anduniform_positions()
now return an iterator ellipticity_gaussian()
andellipticity_intnorm()
accept array inputs- Use pyproject.toml for packaging
shear_from_convergence()
is deprecated in favour offrom_convergence()
- The
glass.all
meta-module is no longer necessary
- Incorrect extrapolation in
glass.core.array.trapz_product()
, causing a bug inglass.points.effective_bias()
2023.5 (31 May 2023)
- Allow dimensional input to the sampling functions in
glass.points
(#80) - The
redshifts_from_nz()
function supportscount
arrays (#83)
- Position sampling returns counts alongside points (#80)
redshifts_from_nz()
no longer returnsgal_pop
(#83)- Move core functionality that is used by other, user-facing modules into the
glass.core
module (#88)
- Remove profiling functions (#89)
2023.2 - 1 Mar 2023
- The
glass.lensing.MultiPlaneConvergence.add_window
method to add a convergence plane given by a window function. - The
glass.shells
module for shell definitions. - User functions to save and load Cls
- This changelog added to keep track of changes between versions
- Instead of an array of shell boundaries and
MatterWeights
, the shells are entirely defined by aRadialWindow
window function. - The
glass.lensing.multi_plane_matrix
function now takes a sequence of window functions. - The arguments of
glass.lensing.MultiPlaneConvergence.add_plane
are calledzsrc
andwlens
instead of the more ambiguousz
andw
. The propertiesMultiPlaneConvergence.z
andMultiPlaneConvergence.w
that return these values are similarly changed. - The
glass.points.effective_bias
now takes a single window function as input and computes its effective bias parameter. - Some type hints added to library functions
- The
glass.lensing.multi_plane_weights
function, replaced by theglass.lensing.MultiPlaneConvergence.add_window
method. - The
glass.galaxies.constant_densities
anddensity_from_dndz
functions, since densities can now easily be partitioned by window functions for shells. - The
zmin, zmax
parameters ofglass.galaxies.redshifts_from_nz
, for the same reason. - The
glass.math.restrict_interval
function, as shells are now defined by window functions instead of sharp intervals. - The
glass.matter
module, in favour of the more appropriately-namedglass.shells
module.
2023.1 - 31 Jan 2023
- Initial wide release for GLASS paper