Gala

Latest version: v1.8.1

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

Scan your dependencies

Page 2 of 4

1.5

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

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

- Implemented a basic progress bar for integrating orbits and mock streams. Pass
``progress=True`` with ``Integrator_kwargs`` when calling
``.integrate_orbit()``, or pass ``progress=True`` to
``MockStreamGenerator.run()``.

- Added a new symplectic integrator: The Ruth 4th-order integrator, implemented
with the class ``Ruth4Integrator``.

- Added a ``Orbit.animate()`` method to make ``matplotlib`` animations of
orbits.

- Modified ``Orbit._max_helper()`` to use a parabola instead of interpolation

- Added functionality to transform from action-angle coordinates to Cartesian
position velocity coordinates in the Isochrone potential:
``gala.dynamics.actionangle.isochrone_aa_to_xv()``.

- Added a new method on ``DirectNBody`` to enable computing the instantaneous,
mutual, N-body acceleration vectors ``DirectNBody.acceleration()``.

Bug fixes
---------

- Fixed ``find_actions()`` to accept an ``Orbit`` instance with multiple orbits.

- Fixed a bug that appeared when trying to release all mock stream particles at
the same timestep (e.g., pericenter).

- Fixed a bug where time arrays returned from ``parse_time_specification``
could come back with a non-float64 dtype.

- Fixed a bug with ``DirectNBody`` with composite potentials where only the
first potential component would move as a body / particle.

- Fixed a bug with the Python implementation of Leapfrog integration
``LeapfrogIntegrator`` that led to incorrect orbits for non-conservative
systems that were integrated backwards (i.e. with ``dt<<0``).

- Fixed a bug with the ``FlattenedNFW`` potential class in which the energy and
gradient functions were not using the inputted flattening (``c`` value) and
were instead defaulting to the spherical NFW model.

- Enabled pickling ``Frame`` instances and therefore now ``Hamiltonian``
instances.

- Fixed a bug with ``autolim=True`` during Orbit plotting where the axes limits
were only dependent on the most recent Orbit rather than all that were present
on the axis

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

- Renamed ``gala.dynamics.actionangle.isochrone_to_aa()`` to
``gala.dynamics.actionangle.isochrone_xv_to_aa()``

- Renamed ``gala.dynamics.actionangle.find_actions()`` to
``gala.dynamics.actionangle.find_actions_o2gf()``

1.4.1

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

- Fixed a RST bug that caused the README to fail to render.

1.4

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

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

- ``UnitSystem`` objects can now be created with custom units passed in as
Astropy ``Quantity`` objects.

- Added functionality to convert Gala potential objects to Galpy potential
objects, or to create Gala potential objects from a pre-existing Galpy
potential.

- Added a ``plot_3d()`` method for ``Orbit`` objects to make 3D plots of the
orbital trajectories.

Bug fixes
---------

- Fixed a bug when calling ``orbit.norbits`` when the representation is not
cartesian.

- Fixed a bug with ``GreatCircleICRSFrame.from_endpoints()`` that caused an
error when the input coordinates had associated velocity data.

- Fixed a bug with the ``JaffePotential`` density evaluation, which was too low
by a factor of two.

- Implemented a density function for ``LogarithmicPotential``, which was
missing previously.

- The analytic action-angle and ``find_actions()`` utilities now correctly
return frequencies with angular frequency units rather than frequency.

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

- Removed the deprecated ``gala.coordinates.get_galactocentric2019()`` function.

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.

Page 2 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.