Trigonometry

The Surya Siddhanta defines a graha's orbit by its mean motion, which means the graha at any given moment is not at its true position. To find the graha's true position, we need to triangulate it. Triangulate comes from triangle, and triangle math is how we find the true position of the graha.

A triangle has three sides and three angles. If you remember the formula a² + b² = c², it says that if you know two of the sides you can find the third. This formula only works for a right triangle, because its two sides never overlap in direction.

Baudhāyana's Theorem

This formula is widely credited to Pythagoras (c. 570–495 BCE), but it appears far earlier in the Baudhāyana Śulba Sūtra, a Vedic text on the geometry of altar construction dated to around 800 BCE — two to three centuries before Pythagoras. The text states the same relationship in general form: the diagonal of a rectangle produces an area equal to the combined areas produced by its length and its breadth. Babylonian tablets list specific examples, like 3-4-5, even earlier, around 1800 BCE, but without stating it as a general rule. Because of this, the relationship is sometimes called Baudhāyana's theorem rather than Pythagoras's.

Right triangles are what we are going to use to measure distances and angles, and Baudhāyana's Theorem will help us achieve that.

Same Shape, Different Scales

Every graha travels along some massive circle out in the real sky, at an actual physical size nobody can go out and measure. Fortunately, we don't need to go into space. In fact, thanks to the mysteries of math, we can use a small circle to stand in for the bigger one. This is because some characteristics of circles are always the same no matter what size they are. These characteristics act as a bridge between large circles and smaller ones.

A circle has three main properties we are interested in: circumference, radius, and diameter. If you take the circumference and divide it by the diameter, you get the famous number pi (3.14). No matter the size of the circle, dividing its circumference by its diameter will always give you pi.

If you take half the diameter, you get the radius. You can write this formula to get the circumference:

C = 2πr

So, let's say we have two circles of different sizes. Their circumference formulas can be expressed like this:

C₁ = 2π × r₁

C₂ = 2π × r₂

We can combine the two formulas above to find a way to convert between the two circles.

Let's start with C1's formula:

C₁ = 2π × r₁

Multiplication Property of Equality

If two quantities are equal, multiplying both sides by the same number or expression keeps the equation true.

Ex.: 10 = 10, and multiplying both sides by 5 gives 50 = 50.

Ex. with a formula instead of a number: 10 × (a + b) = 10 × (a + b). Solving it out gives 10a + 10b = 10a + 10b.

With the Multiplication Property of Equality, we can multiply both sides of this equation by 1 / C2. Since we're looking for a ratio, we place C2 as the denominator. This gives us:

C₁ × 1/C₂ = (2π × r₁) × 1/C₂

Any number can be written as the expression x/1, so the formula above can also be written as:

C₁/1 × 1/C₂ = (2π × r₁)/1 × 1/C₂

This lets us multiply the fractions straight across. Working through the math, we get:

C₁/C₂ = (2π × r₁)/C₂

Substitution Property of Equality

If two things are equal, one can be swapped in for the other anywhere it shows up, since they're really just two names for the same value.

Since we know C2 = 2π × r2, we can swap out C2 for its right-hand side. That leaves us with:

C₁/C₂ = (2π × r₁)/(2π × r₂)

Cancellation Property

If the same nonzero number appears as a factor in both the numerator and denominator of a fraction, it cancels out, leaving the remaining factors behind.

Ex.: (2 × 3) / (2 × 5) = 3 / 5, since the 2 cancels out of both.

Ex. with a formula instead of a number: (a × b) / (a × c) = b / c, since the a cancels out the same way.

Based on the Cancellation Property, the 2π in our numerator and denominator cancels out. This leaves us with the final formula:

C₁/C₂ = r₁/r₂

This is the formula that will allow us to work with two circles of different sizes: one being our own reference circle and the other being the orbit, which we have data for.

The Reference Circle

The circle we are working with isn't arbitrarily formed. Since we are working with angles and timing, the reference circle needs to be built with the same principle.

Since the sky completes one full rotation every 24 hours, that rotation can be expressed as a circle of 360 degrees. Each degree, in turn, can be expressed as 60 minutes.

Multiplying 360 by 60 gives us:

360 degrees × 60 minutes per degree = 21,600 minutes

We can use the circumference formula and solve for the radius:

C = 2π × r

21,600 = 2π × r

Division Property of Equality

If two quantities are equal, dividing both sides by the same nonzero number or expression keeps the equation true.

Ex.: 50 = 50, and dividing both sides by 5 gives 10 = 10.

Ex. with a formula instead of a number: 10 × (a + b) = 10 × (a + b). Dividing both sides by 10 gives (a + b) = (a + b).

Dividing both sides by 2π leaves us with:

Circumference ÷ 2π = Radius (Trijyā)
21,600 / 2π = 3437.7467 (r)
21,600 / 6.2832 = 3437.7467
r (trijyā) = 3437.7467

Sine and Cosine

A right triangle has one right angle and two other angles. Triangles can come in different sizes while keeping those same angles, and sine and cosine are two ratios that take advantage of that. Sine is the opposite side divided by the hypotenuse. Cosine is the adjacent side divided by the hypotenuse.

Sine and cosine allow us to work out problems using a smaller triangle and then apply the solutions to bigger ones. They are a core part of triangulating true graha positions.

Opposite
Adjacent
Hypotenuse

θ = 45°

sin(θ) = Opposite / Hypotenuse = 106.1 / 150 = 0.707

cos(θ) = Adjacent / Hypotenuse = 106.1 / 150 = 0.707

θ

Sine and cosine have a complementary relationship: sin(20°) = cos(70°). Take 90 minus the angle and you get the complement: 70°. Sine is concerned with the vertical component, cosine with the horizontal. This comes into play in the true position formulas, where both the sine and cosine of an angle are needed.

The same triangle viewed from the other angle swaps the sine and cosine values. Angles greater than 90° utilize this swap, which is covered in the Gata and Gamya section below.

60° Opposite Adjacent Hypotenuse

sin(60°) = Opposite / Hypotenuse = 173.2 / 200 ≈ 0.866
cos(60°) = Adjacent / Hypotenuse = 100 / 200 = 0.5

30° Adjacent Opposite Hypotenuse

sin(30°) = Opposite / Hypotenuse = 100 / 200 = 0.5
cos(30°) = Adjacent / Hypotenuse = 173.2 / 200 ≈ 0.866

Bhujajyā and Koṭijyā

Bhuja means "arm" (SS 2.29–30). This is the name given to the angle we start with. Koṭi means "complement," the remaining angle once bhuja is subtracted from 90°. So if bhuja is 30°, koṭi is 60°.

Jyā means "chord," specifically a bowstring: picture an archer's bow bent into an arc, with the string stretched taut between its two tips. That chord is the jyā of the arc, the Sanskrit word for sine.

Combine the two:

  • bhujajyā = sin(30°)
  • koṭijyā = sin(60°) = cos(30°)

Trijyā

Bhujajyā
Koṭijyā
Trijyā

trijyā = 3437.7467

bhujajyā = trijyā × sin(45°) ≈ 2430.7

koṭijyā = trijyā × sin(45°) ≈ 2430.7

θ

Trijyā is the word for radius. It derives its name from the three (tri) rāśis within a 90 degree angle, each 30 degrees (jyā).

The radius we found for the reference circle takes the place of the hypotenuse in the right triangle.

If you have the sine of an angle, multiplying it by the radius gives you the length of the opposite side in arc-minutes. With that, you can find the adjacent side using Baudhāyana's Theorem.

Radius × sin(47°00′00″) = Opposite Side
3437.7467 × 0.7314 = 2514.2

Radius² − Opposite² = Adjacent² (Baudhāyana's Theorem)
3437.7467² − 2514.2² = Adjacent²
11,818,102 − 6,321,202 = 5,496,900
Adjacent = √5,496,900 ≈ 2344.5

Using this technique, we can calculate the arc-lengths needed to find the true positions of the grahas.

Sine Table

In modern times, with the use of programming languages, we can easily calculate a sine value by plugging in a degree and executing the program. The ancients did not have access to this kind of technology. Instead, they crafted a 24-row table they could use to look up the arc-length (jyā) for any angle.

To start with, they worked in pure integers. For trijyā, they used 3438 instead of the decimal we derived earlier. The sine system works only up to 90 degrees because it utilizes right triangles, so we take a quarter of the circle. The SS table has 24 entries, so we divide that 90 degrees by 24. The number 24 has no special significance — it was the sweet spot between accuracy and simplicity for a hand-calculated table.

90° / 24 entries = 3.75° per entry

3.75° per entry × 60 arc-minutes per degree = 225 arc-minutes per entry

An alternate way to reach this is to take the arc-minutes of 90° directly and divide by 24.

90° × 60 arc-minutes per degree = 5,400 arc-minutes

5,400 arc-minutes / 24 entries = 225 arc-minutes per entry

Building the Table

In the Surya Siddhanta, the formula for each sine works like this: the first one is stated directly as 225. Every value after that is calculated from the one before it:

S = jyā₁ + jyā₂ + ... + jyā₍ₙ₋₁₎

jyā_n = jyā₍ₙ₋₁₎ + (225 − (S / 225))

Working through the first three entries:

jyā₁ = 225 (stated directly)

S = 225
jyā₂ = jyā₁ + (225 − S / 225)
= 225 + (225 − 225/225)
= 225 + (225 − 1)
= 449

S = 225 + 449 = 674
jyā₃ = jyā₂ + (225 − S / 225)
= 449 + (225 − 674/225)
= 449 + (225 − 2.996)
= 449 + 222.004
≈ 671

Index Angle Computed Jyā SS Table Diff
1 3.75° 225.0000 225 0.0000
2 7.50° 449.0000 449 0.0000
3 11.25° 671.0044 671 -0.0044
4 15.00° 890.0266 890 -0.0266
5 18.75° 1105.0932 1105 -0.0932
6 22.50° 1315.2482 1315 -0.2482
7 26.25° 1519.5576 1520 0.4424
8 30.00° 1717.1135 1719 1.8865
9 33.75° 1907.0378 1910 2.9622
10 37.50° 2088.4863 2093 4.5137
11 41.25° 2260.6526 2267 6.3474
12 45.00° 2422.7717 2431 8.2283
13 48.75° 2574.1228 2585 10.8772
14 52.50° 2714.0334 2728 13.9666
15 56.25° 2841.8816 2859 17.1184
16 60.00° 2957.0993 2978 20.9007
17 63.75° 3059.1743 3084 24.8257
18 67.50° 3147.6529 3177 29.3471
19 71.25° 3222.1420 3256 33.8580
20 75.00° 3282.3105 3321 38.6895
21 78.75° 3327.8909 3372 44.1091
22 82.50° 3358.6806 3409 50.3194
23 86.25° 3374.5430 3431 56.4570
24 90.00° 3375.4073 3438 62.5927

Looking at the 24th entry, it doesn't reach 3438. In hammering away at why 225 doesn't work, I found that the true first sine value is 224.856, not 225. The number 225 is actually the arc-minutes, not a sine value. The true sine value is slightly less than that.

I don't know why this wasn't specifically addressed in the Surya Siddhanta. The text gives us the formula and the complete 24-entry table, but never flags this discrepancy.

This 225 is used both as the first sine and as the divisor, and it's wrong for both jobs. Fortunately, there's a way to find the corrected values.

Corrected Sine Formula

We will once again utilize triangles to determine the correct sine values. Take an equilateral triangle. The angles for each corner are 60° and the length of the sides are 3438. If you cut this triangle in half, you have two right triangles.

The hypotenuse remains 3438 and the opposite is half of that, 1719. Using Baudhāyana's Theorem we can derive the adjacent side.

adjacent² = 3438² − 1719²

adjacent ≈ 2977.395

60° 60° 60° 3438 3438 3438

Equilateral triangle

60° 60° 30° 30° 1719 1719 3438 3438 2977.395

Cut in half: two right triangles

There would be a tendency to think you can just divide the opposite by half and get the sine for the midpoint between 0° and 30°, but that isn't how it works.

Here is a diagram showing how to derive the correct sine value.

Opposite
Adjacent
Hypotenuse
O R P

Step 1 / 7

You can repeat this method until you reach 3.75°, which gives us the true sine of 224.856.

That corrects the first sine value. The divisor in the formula (also set to 225) has the same issue. It was taken from the arc step, not derived from the actual geometry of a 3.75° angle.

ratio using divisor 224.856 = 1 − 1/(2 × 224.856) ≈ 0.997776

adjacent(3.75°) = √(3438² − 224.856²) ≈ 3430.64

true ratio for 3.75° = 3430.64 / 3438 ≈ 0.997859

0.997776 ≠ 0.997859 — confirms the divisor is wrong

Using the true sine and Baudhāyana's Theorem, we can find the true ratio for 3.75°, which we'll use as the divisor.

adjacent(3.75°) = √(3438² − 224.856²) ≈ 3430.64

true ratio for 3.75° = 3430.64 / 3438 ≈ 0.997859

2 − 1/D = 2 × 0.997859 = 1.995718

1/D = 0.0042822

D = 1 / 0.0042822 ≈ 233.5274

Index Angle Computed Jyā SS Table Diff
1 3.75° 224.8560 225 0.1440
2 7.50° 448.7490 449 0.2510
3 11.25° 670.7205 671 0.2795
4 15.00° 889.8199 890 0.1801
5 18.75° 1105.1089 1105 -0.1089
6 22.50° 1315.6656 1315 -0.6656
7 26.25° 1520.5885 1520 -0.5885
8 30.00° 1719.0000 1719 0.0000
9 33.75° 1910.0505 1910 -0.0505
10 37.50° 2092.9218 2093 0.0782
11 41.25° 2266.8309 2267 0.1691
12 45.00° 2431.0331 2431 -0.0331
13 48.75° 2584.8253 2585 0.1747
14 52.50° 2727.5488 2728 0.4512
15 56.25° 2858.5925 2859 0.4075
16 60.00° 2977.3953 2978 0.6047
17 63.75° 3083.4485 3084 0.5515
18 67.50° 3176.2978 3177 0.7022
19 71.25° 3255.5458 3256 0.4542
20 75.00° 3320.8530 3321 0.1470
21 78.75° 3371.9398 3372 0.0602
22 82.50° 3408.5874 3409 0.4126
23 86.25° 3430.6390 3431 0.3610
24 90.00° 3438.0000 3438 0.0000

Forward Lookup

To look up the sine for a given angle, first convert the angle to arc-minutes, then divide by 225. The quotient gives the index of the preceding table entry, and the remainder is used to interpolate between that entry and the next (SS 2.31).

Degrees + (Minutes ÷ 60) + (Seconds ÷ 3600) = Decimal Degrees
11 + (44 ÷ 60) + (48 ÷ 3600) = 11.7467°

Decimal Degrees × 60 = Angle in Arc-Minutes
11.7467 × 60 = 704.8 arc-minutes

Angle in Arc-Minutes ÷ 225 = Decimal Result
704.8 ÷ 225 = 3.1324

Decimal Part × 225 = Remainder in Kālās
0.1324 × 225 = 29.8

Remainder × (Following Entry − Preceding Entry) = Scaled Remainder
29.8 × (890 − 671) = 29.8 × 219 = 6526.2

Scaled Remainder ÷ 225 = Sine Increment
6526.2 ÷ 225 = 29

Preceding Entry + Sine Increment = Kramajyā
671 + 29 = 700

Inverse Lookup

To use the sine table to do a reverse lookup (taking a given sine (iṣṭajyā) and getting the angle in arc-minutes), perform the following steps (SS 2.33):

  1. Find the two table entries nearest to your given sine, one preceding and one following.
  2. Subtract the preceding entry from your given sine.
  3. Multiply that result by 225.
  4. Take the product from step 3 and divide by the difference between the following and preceding entries.
  5. Add the result to the preceding entry's index multiplied by 225.
  6. Divide by 60 to convert the arc from kālās to degrees.

Given Sine − Preceding Entry = Difference
700 − 671 = 29

Difference × 225 = Product
29 × 225 = 6525

Product ÷ (Following Entry − Preceding Entry) = Interpolated Arc
6525 ÷ (890 − 671) = 29.8

(Preceding Index × 225) + Interpolated Arc = Arc in Kālās
(3 × 225) + 29.8 = 704.8 kālās

Arc in Kālās ÷ 60 = Arc in Degrees
704.8 ÷ 60 = 11°44′48″

Gata and Gamya

Gata and gamya are two parts that a radius line splits a 90° span into. Gata is the part already covered; gamya is the part still remaining. If the radius sits at 60°, gata is 60° and gamya is 30° (90° − 60°). However, so far we have only worked with angles within that 90° span. A graha's position can be anywhere in the full 360° circle.

The solution to this is easy. If you divide 360 into four parts (quadrants), each part spans 90°. From there, we just need to find where it lands within its own quadrant's 90° range.

There are a few rules to know about each quadrant. Quadrants one and three use gata to find the sine value. Quadrants two and four use gamya to find the sine value. This is because the sine at 90° equals one (and remember, sine is a ratio). Going from 90°-180°, the ratio moves from one to zero. It goes back up to one from 180°-270° and back down to zero from 270°-360°.

This up-and-down pattern is exactly what gives the 'sine wave' its name.

Use the following to find the correct angle for the sine table:

Quadrant Formula
1given
2180° − deg
3deg − 180°
4360° − deg
Gata
Gamya
Q1 Q2 Q3 Q4
Q1 Q2 Q3 Q4