Try Astrologer API

Subscribe to support and grow the project.

The Sidereal Zodiac and Ayanamsha #

While the Tropical Zodiac anchors its origin ($0°$ Aries) to the moving Vernal Equinox ($\gamma$), the Sidereal Zodiac anchors its origin to fixed stellar reference frames.

Because precession causes the Vernal Equinox to drift backward at $\approx 50.29’'$ per year, the angular distance between the Tropical origin ($0°$ Tropical Aries) and the Sidereal origin ($0°$ Sidereal Aries) increases continuously over time. This angular offset is called the Ayanamsha ($\theta_{\text{aya}}$).

This article details the mathematical relationship between Tropical and Sidereal longitudes, the major Ayanamsha models used in Vedic and Western sidereal astrology, their polynomial formulations, and software implementation guidelines.

The Basic Transformation Formula #

To convert a planet’s Tropical Ecliptic Longitude ($\lambda_{\text{tropical}}$) into its Sidereal Ecliptic Longitude ($\lambda_{\text{sidereal}}$), subtract the Ayanamsha for the target date:

$$\lambda_{\text{sidereal}} = (\lambda_{\text{tropical}} - \theta_{\text{aya}}) \pmod{360}$$

If the subtraction yields a negative result, add $360°$ to normalize the longitude into the range $[0°, 360°)$.

   [Vernal Equinox γ] (0° Tropical Aries)

           │ <─── Ayanamsha Offset (θ_aya ≈ 24° for J2000)

   [Fixed Stellar Origin] (0° Sidereal Aries)

Major Ayanamsha Models #

Because ancient astronomers used different star markers to define the origin of the Sidereal Zodiac, several distinct Ayanamsha systems exist today. They differ by their initial calibration point (the zero-year epoch where Tropical and Sidereal longitudes coincided) and their rate of precessional drift.

1. Lahiri (Chitra Paksha) #

The official standard adopted by the Indian Calendar Reform Committee (1955).

  • Stellar Anchor: Fixed by placing the prominent star Spica (Chitra) at exactly $0°$ Libra ($180°00’00’'$ Sidereal).
  • Zero-Ayanamsha Epoch: $\approx 285 \text{ CE}$.
  • J2000 Value: $\approx 23°51’25.5’'$.

2. Fagan-Bradley #

The standard model used in Western Sidereal Astrology, formulated by Cyril Fagan and Donald Bradley.

  • Stellar Anchor: Based on Babylonian fixed star catalogs, placing the star Aldebaran at $15°00’00’‘$ Taurus ($45°00’00’'$ Sidereal).
  • Zero-Ayanamsha Epoch: $\approx 221 \text{ CE}$.
  • J2000 Value: $\approx 24°44’22’'$.

3. Raman #

Formulated by the prominent Indian astrologer B.V. Raman.

  • Zero-Ayanamsha Epoch: $\approx 397 \text{ CE}$.
  • J2000 Value: $\approx 22°24’00’'$.

Comparison of Ayanamsha Values at Epoch J2000.0 #

Ayanamsha Model J2000.0 Value ($\theta_{\text{aya}}$) Coincidence Epoch ($t_0$)
Lahiri (Chitra) $23°51’25.53’'$ 285 CE
Fagan-Bradley $24°44’21.50’'$ 221 CE
Raman $22°24’00.00’'$ 397 CE
Krishnamurti (KP) $23°45’56.00’'$ 291 CE
Yukteswar $22°37’52.00’'$ 499 CE

Polynomial Calculation of Ayanamsha #

To calculate the Ayanamsha for any target Julian date, ephemeris software evaluates a linear or higher-order polynomial function of time $T$ (where $T$ is the number of Julian centuries from J2000.0):

$$T = \frac{\text{JD} - 2451545.0}{36525}$$

High-Precision Precession Model (IAU 2006) #

The rate of change of Ayanamsha is driven by general precession in longitude ($P_A$). Using the IAU 2006 precession parameters:

$$\theta_{\text{aya}}(T) = \theta_0 + 5028.796195’’ , T + 1.1054348’’ , T^2 + 0.00007964’’ , T^3$$

where $\theta_0$ is the specific Ayanamsha constant at J2000.0 in arcseconds (e.g., $\theta_0 = 85885.53’'$ for Lahiri).

Code Implementation #

// Ayanamsha constants at J2000.0 in degrees
const AYANAMSHA_J2000 = {
  LAHIRI: 23.8570916,       // 23° 51' 25.53"
  FAGAN_BRADLEY: 24.739305, // 24° 44' 21.50"
  RAMAN: 22.400000          // 22° 24' 00.00"
};

function getAyanamsha(jd: number, model: keyof typeof AYANAMSHA_J2000 = 'LAHIRI'): number {
  const T = (jd - 2451545.0) / 36525.0;
  
  // Precession accumulation in degrees over T centuries
  const precessionDeg = (5028.796195 * T + 1.1054348 * T * T) / 3600.0;
  
  return AYANAMSHA_J2000[model] + precessionDeg;
}

function getSiderealLongitude(tropicalLong: number, jd: number, model: keyof typeof AYANAMSHA_J2000 = 'LAHIRI'): number {
  const ayanamsha = getAyanamsha(jd, model);
  const sidereal = tropicalLong - ayanamsha;
  return ((sidereal % 360) + 360) % 360;
}

Computational Issues & Edge Cases #

  1. Precession Model Consistency: Software must explicitly specify which precession polynomial is used to advance the Ayanamsha over centuries. Using an outdated precession model (like Newcomb) with modern J2000 Ayanamsha constants introduces errors of several arc-seconds in historical charts.
  2. House Cusp Transformation: When generating a Sidereal chart, house cusps must be transformed consistently. For quadrant systems (like Placidus or Koch), the engine calculates the Tropical cusps first, and then subtracts the Ayanamsha from each cusp longitude. Attempting to calculate sidereal house cusps by altering the Local Sidereal Time directly will produce invalid results.

References #

  • Indian Astronomical Ephemeris (published annually by the India Meteorological Department). Lahiri Ayanamsha tables.
  • Fagan, C., & Bradley, D. (1950). “Sidereal Mundane Astrology.” American Astrology, various issues.
  • Explanatory Supplement to the Astronomical Almanac, 3rd ed. (2013). University Science Books. Chapter 1.

All articles are curated by Giacomo Battaglia and follow our editorial guidelines.

Last updated: August 14, 2026

Related Articles

Powered by Kerykeion and the Astrology API