सङ्क्रान्ति कसरी गणना हुन्छ
सूर्यको निरयन देशान्तर ३०° को गुणाङ्क छुने क्षण खोज्ने विधि।
समस्या — कोण कहिले ठ्याक्कै ३०° को गुणाङ्क हुन्छ?
Root findingसङ्क्रान्ति खोज्नु भनेको मूल खोज्नु (root finding) हो। हामीसँग एउटा फलन छ — कुनै क्षणमा सूर्यको निरयन देशान्तर — र हामी त्यो ३०° को गुणाङ्क छुने क्षण खोज्दै छौँ।
f(t) = सूर्यको निरयन देशान्तर − लक्ष्य कोण
sidereal solar longitude − target degree
f(t)
+ │ ╱
│ ╱
0 ├────●──────── ← f(t) = 0 यहीँ सङ्क्रान्ति / here is the sankranti
│ ╱
− │╱
└────────────── tफलनको चिन्ह बदलिने ठाउँ नै सङ्क्रान्तिको क्षण हो।
कोण ३६०° मा बेरिने हुनाले सिधै घटाउ काम लाग्दैन — ३५९° र १° बीचको फरक −३५८° होइन, +२° हो। त्यसैले engine ले कोणीय त्रुटि गणना गर्छ, जसले यो बेरिने समस्या सम्हाल्छ।
Brent विधि, bisection सहित
How the engine solves itVedic Patro को engine ले Brent को विधि प्रयोग गर्छ — द्विभाजन (bisection) को निश्चित अभिसरण र सेकेन्ट विधिको गतिलाई जोड्ने एक मानक अङ्कगणितीय विधि।
- पहिले एउटा कोष्ठ (bracket) चाहिन्छ — दुई क्षण जहाँ फलनको चिन्ह विपरीत होस्, अर्थात् बीचमा सङ्क्रान्ति निश्चित छ।
- चिन्ह विपरीत नभेटिए engine द्विभाजनमा फर्किन्छ — ढिलो, तर सधैँ काम गर्ने।
- पुनरावृत्ति `६०` सेकेन्डको सहनशीलतामा रोकिन्छ; JD-आधारित संस्करणले १ सेकेन्डसम्म जान्छ।
- अधिकतम ५०–६० पुनरावृत्ति — व्यवहारमा दर्जनभन्दा कम लाग्छ।
हरेक पुनरावृत्तिमा त्यो क्षणको सूर्यको निरयन देशान्तर Swiss Ephemeris बाट निकालिन्छ। अर्थात् गणना एउटै सूत्र समाधान होइन — यो पटक–पटक आकाश सोध्ने प्रक्रिया हो।
क्षणबाट गतेसम्म
The last stepसङ्क्रान्तिको ठ्याक्कै क्षण भेटिएपछि अन्तिम चरण बाँकी रहन्छ — त्यसलाई कुन गतेमा राख्ने।
यसका लागि क्षणलाई स्थानीय समयमा बदल्नुपर्छ, र नेपालका लागि त्यो Asia/Kathmandu हो — ऐतिहासिक अफसेट सहित, किनभने नेपालको समय क्षेत्र सधैँ +०५:४५ थिएन।
| अवधि | अफसेट | के थियो |
|---|---|---|
| ≤ 1919 | UTC+05:41:16 | काठमाडौँको माध्य सौर समय |
| 1920–1985 | UTC+05:30 | भारतीय मानक समय |
| ≥ 1986 | UTC+05:45 | नेपाली मानक समय |
पुराना बि.सं. मितिको गणना गर्दा यो फरक पर्छ — १९८५ अघिको सङ्क्रान्ति +०५:४५ मान्दा १५ मिनेट चुक्छ, र त्यो मध्यरातको सिमानामा परे गते नै एक दिन फरक हुन सक्छ।