Skip to content

Bug: _ekadhipatya_sodhana only reduces each planet's own sign-pair and skips Sun & Moon #52

Description

@Askthesages

Version: PyJHora 4.8.7
File: src/jhora/horoscope/chart/ashtakavarga.py_ekadhipatya_sodhana

Summary

Ekadhipatya Sodhana should reduce every graha's bhinnashtakavarga across all the co-lordship (ekadhipatya) sign-pairs. The current implementation reduces only the diagonal: each planet's chart is reduced solely at that same planet's own owned pair, and the Sun and Moon charts are never reduced at all.

Cause

One loop index is used for two different things:

for p in range(const.MOON_ID+1, const.SATURN_ID+1):   # p = Mars..Saturn
    r1, r2 = rasi_owners[p]                            # the pair OWNED by planet p
    ...
    bav[p][r1] ...                                     # but bav[p] = planet p's OWN BAV row

So bav[Mars] is reduced only at Aries/Scorpio, bav[Mercury] only at Gemini/Virgo, etc., and bav[Sun] / bav[Moon] are skipped entirely.

Effect

Sodhya Pinda comes out wrong for most charts. Example (1978-11-22, 11:40, Rio): after trikona reduction, the Sun BAV keeps non-zero bindus in Gemini and Virgo that the classical all-pairs reduction removes, so Sun's Sodhya Pinda differs from the correct value.

Expected

Reduce each graha's BAV (Sun..Saturn, including Sun and Moon) across all five dual-owner pairs:

for p in const.SUN_TO_SATURN:                            # every graha's BAV, incl. Sun & Moon
    for r1, r2 in [rasi_owners[i] for i in range(2, 7)]:  # all 5 dual-owner pairs
        # apply the same per-pair reduction rule here

Happy to send a PR if useful.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions