MONT 109N -- Bhaskara's Approximation of the sine
April 11, 2011

In the text known as the Maha Bhaskariya (c. 600 CE), the classical-period
Indian mathematician Bhaskara developed the following approximation to
the sine function (given for an angle in degrees, with the radius of the
circle set to  
 

`assign`(Bhaskara, proc (alpha) options operator, arrow; `/`(`*`(4.0, `*`(`+`(180, `-`(alpha)), `*`(alpha))), `*`(`+`(40500, `-`(`*`(alpha, `*`(`+`(180, `-`(alpha)))))))) end proc); 1 

proc (alpha) options operator, arrow; `/`(`*`(4.0, `*`(`+`(180, `-`(alpha)), `*`(alpha))), `*`(`+`(40500, `-`(`*`(alpha, `*`(`+`(180, `-`(alpha)))))))) end proc (1)
 

 

`assign`(Better, proc (alpha) options operator, arrow; sin(`/`(`*`(Pi, `*`(alpha)), `*`(180.0))) end proc); 1 

Here are Bhaskara's approximation for the sine of 23 degrees,
and a more accurate approximation using a different modern
method:
 

Bhaskara(23.0); 1; evalf(Better(23.0)); 1 

 

.3915530375
.3907311286 (2)
 

Note that the Bhaskara formula gives the value correct to 2 decimal places

In fact if we plot both formulas on the interval from 0 to 90 degrees, it is difficult
 

to tell that we are looking at two different functions -- the agreement is close
enough that hardly any difference is apparent at the resolution of the graphics:

plot([Bhaskara(alpha), Better(alpha)], alpha = 0 .. 90, color = [red, blue]); 1
 

Plot_2d