Gala

Latest version: v1.9.1

Safety actively analyzes 666166 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 4

1.3

================

New Features
------------

- Added a new ``.to_sympy()`` classmethod for the ``Potential`` classes to
return a sympy expression and variables.

- Added a method, ``.to_galpy_orbit()``, to convert Gala ``Orbit`` instances to
Galpy ``Orbit`` objects.

- The ``NFWPotential`` can now be instantiated via a new classmethod:
``NFWPotential.from_M200_c()``, which accepts a virial mass and a
concentration.

- Added a fast way of computing the Staeckel focal length, ``Delta``, using
Gala potential classes, ``gala.dynamics.get_staeckel_fudge_delta``

Bug fixes
---------

- Fixed a bug with ``Potential`` classes ``.replace_units()`` so that classes
with dimensionless unit systems cannot be replaced with physical unit systems,
and vice versa.

- Implemented Hessian functions for most potentials.

- Fixed ``.to_latex()`` to properly return a latex representation of the
potential. This uses the new ``.to_sympy()`` method under the hood.

- Potential classes now validate that input positions have dimensionality that
matches what is expected for each potential.

API changes
-----------

- Changed the way new ``Potential`` classes are defined: they now rely on
defining class-level ``PotentialParameter`` objects, which reduces a
significant amount of boilerplate code in the built-in potentials.

1.2

================

- Gala now builds on Windows!

New Features
------------

- Added a coordinate frame for the Pal 13 stream, ``Pal13Shipp20``.

Bug fixes
---------

- Fixed a bug with the mock stream machinery in which the stream would not
integrate for the specified number of timesteps if an array of
``n_particles`` was passed in with 0's near the end of the array.

1.1

================

New Features
------------
- Potential objects now support replacing the unit system with the
``.replace_units()`` method, or by updating the ``.units`` attribute on an
existing instance.
- Added a ``DirectNBody`` class that supports direct N-body orbit integration in
(optional) external background potentials.
- Added a coordinate frame for the Jhelum stream, ``JhelumBonaca19``.
- Added a function for retrieving a more modern Galactocentric reference frame,
``gala.coordinates.get_galactocentric2019()``.
- Added a classmethod to allow initializing a ``GreatCircleICRSFrame`` from a
rotation matrix that specifies the transformation from ``ICRS`` to the great
circle frame.

Bug fixes
---------
- Fixed an issue that led to incorrect ``GreatCircleICRSFrame`` transformations
when no ``ra0`` was provided.
- Fixed a bug in the ``OrphanKoposov19`` transformation.

API changes
-----------
- Overhauled the mock stellar stream generation methodology to allow for more
general stream generation. See ``MockStreamGenerator`` and the stream
distribution function classes, e.g., ``FardalStreamDF``.
- Removed deprecated ``CartesianPhaseSpacePosition`` class.
- Removed long deprecated ``Quaternion`` class.

1.0

================

New Features
------------
- Added a new coordinate frame for great circle coordinate systems defined by a
pole. This frame can be created with a pole and origin, a pole and longitude
zero point, by two points along a great circle, or by specifying the cartesian
basis vectors of the new frame.
- Added a function to transform a proper motion covariance matrix to a new
coordinate frame.
- Added support for compiling Gala with or without the GNU Scientific Library
(GSL), which is needed for the new potential classes indicated below.
- Added a new ``PowerLawCutoffPotential`` class for a power-law density
distribution with an exponential cutoff *(requires GSL)*.
- Added an implementation of the ``MWPotential2014`` from ``galpy`` (called
``BovyMWPotential2014`` in ``gala``) *(requires GSL)*.
- Added an implementation of the Self-Consistent Field (SCF) basis function
expansion method for representing potential-density pairs *(requires GSL)*.
- Most Potential classes now support rotations and origin shifts through the
``R`` and ``origin`` arguments.
- Added a ``progress`` argument to the Python integrators to display a progress
bar when stepping the integrators.
- When generating mock stellar streams and storing snapshots (rather than just
the final phase-space positions of the particles) now supports specifying the
snapshot frequency with the ``output_every`` argument.

Bug fixes
---------
- Stream frames now properly wrap the longitude (``phi1``) components to the
range (-180, 180) deg.

API changes
-----------
- Stream classes have been renamed to reflect the author that defined them.
- Proper motion and coordinate velocity transformations have now been removed in
favor of the implementations in Astropy.
- Added a ``.data`` attribute to ``PhaseSpacePosition`` objects that returns a
``Representation`` or ``NDRepresentation`` instance with velocity data
(differentials) attached.

0.3

================

New Features
------------

- Added a ``NullPotential`` class that has 0 mass and serves as a placeholder.
- Added a new ``zmax()`` method on the ``Orbit`` class to compute the maximum z
heights and times, or the mean maximum z height. Similar to ``apocenter()``
and ``pericenter()``.
- Added a new generator method on the ``Orbit`` class for easy iteration over
orbits.

Bug fixes
---------

- ``Orbit.norbits`` now works...oops.
- ``apocenter()`` and ``pericenter()`` now work when more than one orbit is
stored in an ``Orbit`` class.

0.2.2

==================

New features
------------
- Added a new coordinate frame aligned with the Palomar 5 stream.
- Added a function ``gala.dynamics.combine`` to combine ``PhaseSpacePosition``
or ``Orbit`` objects.

Bug fixes
---------
- Added a density function for the Kepler potential.
- Added a density function for the Long & Murali bar potential

Other changes
-------------
- Added JOSS paper.
- Cleaned up some tests and documentation to use the ``Hamiltonian`` object.

Page 3 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.