Py ERFA:docs

- Index
- Modules

### Navigation

- next »
- « previous |
- PyERFA v2.0.1.5 »
- erfa Package »
- ld

# ld

erfa.ld(bm, p, q, e, em, dlim)

  Apply light deflection by a solar-system body, as part of transforming coordinate direction into natural direction.

  Parameters:
    bm double array
    p double array
    q double array
    e double array
    em double array
    dlim double array
  Returns:
    p1 double array

  Notes

  Wraps ERFA function `eraLd`. The ERFA documentation is:

      - - - - - -
       e r a L d
      - - - - - -

      Apply light deflection by a solar-system body, as part of
      transforming coordinate direction into natural direction.

      Given:
         bm     double     mass of the gravitating body (solar masses)
         p      double[3]  direction from observer to source (unit vector)
         q      double[3]  direction from body to source (unit vector)
         e      double[3]  direction from body to observer (unit vector)
         em     double     distance from body to observer (au)
         dlim   double     deflection limiter (Note 4)

      Returned:
         p1     double[3]  observer to deflected source (unit vector)

      Notes:

      1) The algorithm is based on Expr. (70) in Klioner (2003) and
         Expr. (7.63) in the Explanatory Supplement (Urban & Seidelmann
         2013), with some rearrangement to minimize the effects of machine
         precision.

      2) The mass parameter bm can, as required, be adjusted in order to
         allow for such effects as quadrupole field.

      3) The barycentric position of the deflecting body should ideally
         correspond to the time of closest approach of the light ray to
         the body.

      4) The deflection limiter parameter dlim is phi^2/2, where phi is
         the angular separation (in radians) between source and body at
         which limiting is applied.  As phi shrinks below the chosen
         threshold, the deflection is artificially reduced, reaching zero
         for phi = 0.

      5) The returned vector p1 is not normalized, but the consequential
         departure from unit magnitude is always negligible.

      6) The arguments p and p1 can be the same array.

      7) To accumulate total light deflection taking into account the
         contributions from several bodies, call the present function for
         each body in succession, in decreasing order of distance from the
         observer.

      8) For efficiency, validation is omitted.  The supplied vectors must
         be of unit magnitude, and the deflection limiter non-zero and
         positive.

      References:

         Urban, S. & Seidelmann, P. K. (eds), Explanatory Supplement to
         the Astronomical Almanac, 3rd ed., University Science Books
         (2013).

         Klioner, Sergei A., "A practical relativistic model for micro-
         arcsecond astrometry in space", Astr. J. 125, 1580-1597 (2003).

      Called:
         eraPdp       scalar product of two p-vectors
         eraPxp       vector product of two p-vectors

      This revision:   2021 February 24

      Copyright (C) 2013-2023, NumFOCUS Foundation.
      Derived, with permission, from the SOFA library.  See notes at end of file.