Skip to content
Documentation · all sections

Strength, Yogas & Karakas

panchang-ts · v5.0.0 · MIT

Graha drishti, six-fold Shadbala, Bhava Bala, Ashtakavarga with reductions, ~25 named yogas with cancellations, and Jaimini karakas.

Everything on this page takes the d1 chart (or birth data) from Birth Charts.

Aspects (Drishti)

import { computeAspects } from 'panchang-ts';

// Every graha aspects the 7th; malefics gain extras
// (Mars 4+8, Jupiter 5+9, Saturn 3+10). Node aspect mode is configurable:
const aspects = computeAspects(d1);                             // BPHS 7th-only on nodes
const aspExt  = computeAspects(d1, { nodeAspects: '5-and-9' }); // KP/BV Raman extension

Shadbala and Bhava Bala

import { computeShadbala, computeBhavaBala } from 'panchang-ts';

// Shadbala — 7 visible grahas, 6 components, in Virupas (60 V = 1 Rupa).
// Sthana = Uchcha + Saptavargaja (D1/D2/D3/D7/D9/D12/D30 dignity sum)
//        + Ojha-Yugma (rashi+navamsa parity) + Drekkana (gender decanate).
//   Range [0, 420 V]. Dig is directional cusp; Kala = Nathonatha + Paksha;
//   Chesta is retrograde-bucket; Naisargika is fixed rank; Drik is weighted aspects.
const bala = computeShadbala(birth, loc);

// Bhava Bala — 12-bhava strength built on top of Shadbala.
// Per-bhava: { bhavadhipati, dik, drik, sthana, total }.
const bhavaBala = computeBhavaBala(birth, loc);

Both build the natal positions once and derive all seven varga charts from them, so a call is ~0.33 ms — see Performance.

Ashtakavarga

import { computeAshtakavarga } from 'panchang-ts';

// 12-rashi bindu grids (BPHS Ch. 66).
const av = computeAshtakavarga(d1);
av.sarvashtaka;             // 12 cells, each 0..56, total 336
av.bhinnashtaka.Jupiter;    // 12-cell grid; Jupiter total = 56 (chart-invariant)
// Other invariants: Sun=47, Moon=49, Mars=39, Mercury=54, Venus=52, Saturn=39.

// Trikona + Ekadhipatya Sodhana reductions (BPHS Ch. 67):
const avR = computeAshtakavarga(d1, { reductions: true });
avR.reduced!.sarvashtaka;

Named yogas

import { computeYogas, computeNavamsa } from 'panchang-ts';

// ~25 named yogas — Pancha Mahapurusha (Ruchaka/Bhadra/Hamsa/Malavya/Sasha),
// lunar (Gajakesari, Sunapha, Anapha, Durudhura, Kemadruma), solar
// (Budha-Aditya, Veshi, Vasi, Ubhayachari), Raja (kendra/trikona-lord,
// Dharma-Karmadhipati, Vipareeta, Lakshmi), Dhana (2-11, 5-9, Vasumati),
// Vargottama, Yogakaraka, Neecha Bhanga, Daridra.
const yogas = computeYogas(d1);
// → [{ name, type, reasons[], bhanga?: { applies, reasons[] } }, …]

// Filter by type / pass D9 for Vargottama:
const d9 = computeNavamsa(birth, loc);
const all = computeYogas(d1, { types: ['raja', 'dhana'], navamsa: d9 });

Cancellation annotations: the five Pancha Mahapurusha yogas and Gajakesari surface bhanga (Sun/Moon conjunct, or Jupiter combust/debilitated). Neecha Bhanga checks: dispositor in kendra from Lagna or Moon; lord of the exaltation rashi in kendra from Lagna or Moon; mutual exchange; dispositor aspecting the debilitated planet.

Jaimini karakas

import { computeJaiminiKarakas } from 'panchang-ts';

// Atmakaraka (highest degree-in-rashi) … Darakaraka (lowest).
const k7 = computeJaiminiKarakas(d1);                              // 7-graha Parashara default
const k8 = computeJaiminiKarakas(d1, { variant: '8-jaimini' });    // adds Rahu (degree reversed),
                                                                   // inserts Pitrukaraka at 5th