hamzah Posted March 21, 2004 Posted March 21, 2004 how would I go about finding sin(10^40) ? [10^40 in radians]
Dave Posted March 21, 2004 Posted March 21, 2004 I've been looking at the problem, and I can't really see a solution of the top of my head apart from just plugging it into Matlab/Mathematica. I've got a hunch that you could use the fact that 1/10^40 = 10^(-40) is such a small angle that you can use small angle approximation, but I'm probably totally wrong.
hamzah Posted March 21, 2004 Author Posted March 21, 2004 I did try sin[10^40 - int((10^40)/(2pi))]...but none of the calculators I own are accurate enough.
wolfson Posted March 21, 2004 Posted March 21, 2004 You should get: -0.569633400953636327308034181573569 or near to
Dave Posted March 21, 2004 Posted March 21, 2004 from matlab: >> format long >> sin(10^40) ans = 0.64678458842683 which isn't what you got. Don't know who's right though
wolfson Posted March 22, 2004 Posted March 22, 2004 Imagine a graph of sin(x). It's positive for 2pi radians, then negative for the next 2pi radians, then positive, etc. When you go along the x axis to the point 10^40, the graph must just turn out to be below the axis there. The angle (x) isn't negative, but the sin(x) value is; like when you have sin 210 degrees = -0.5.
Kedas Posted March 22, 2004 Posted March 22, 2004 Sin(10^40 - 2pi*10^39) So pi has to be at least 40 digits accurate to have some result in the right direction. A calculator only has pi up to 15 digits? so can't be done with a normal calculator. maybe with a mathematical trick you can solve it on a normal calculator.
wolfson Posted March 22, 2004 Posted March 22, 2004 "So pi has to be at least 40 digits accurate to have some result in the right direction." He was not after accuracy he was after a method of solution. Thus: Find 10^40 mod 2pi, since sin(2pi+x) = sin x. Thus: -0.569633400953636327308034181573569 +- (1e-12) To compute use windows scientific calculator
Kedas Posted March 22, 2004 Posted March 22, 2004 windows calculator (scientific mode) 'only' has pi up to 32 digit so you need an other method/program. this accuracy is part of the solution method.
Dave Posted March 23, 2004 Posted March 23, 2004 wolfson said in post # :Imagine a graph of sin(x). It's positive for 2pi radians, then negative for the next 2pi radians, then positive, etc. I think you mean every pi radians there, not 2pi. windows calculator (scientific mode) 'only' has pi up to 32 digit so you need an other method/program. this accuracy is part of the solution method. Indeed. I suspect that this isn't the most efficient method you can use. I think the correct answer is the one I quoted above, since I've now verified it with matlab and mathematica - both of which are very capable of producing numbers to arbritary precision.
wolfson Posted March 23, 2004 Posted March 23, 2004 When I said 2pi, I should have said pi. I seem to be making a lot of mistakes this evening! But i still say my negative is correct.
AntiMagicMan Posted April 21, 2004 Posted April 21, 2004 I used Maple 9 and used evalf(sin(10^40)); and got -.5696334010 so i'm agreeing with Wolfson here. Mathematica 5 also gives -0.56963340.
Dave Posted April 22, 2004 Posted April 22, 2004 sigh. Even when I type it into a calculator, I seem to get the answer wrong - not once, but twice. It's all great - seems to be the story of my life
AntiMagicMan Posted April 22, 2004 Posted April 22, 2004 I think most handheld calculators use taylor series approximation, there simply will not be enough terms for the sum to converge with a number that big.
Dave Posted April 22, 2004 Posted April 22, 2004 Yes, I know. I wouldn't really expect a normal handheld calculator (apart from perhaps my TI-89) to be able to work it out. My point is, I said above: from matlab: >> format long >> sin(10^40) ans = 0.64678458842683 and then proceeded to type it into mathematica and get the same answer (somehow).
AntiMagicMan Posted April 22, 2004 Posted April 22, 2004 In[6]:= N[sin[10^40], 50] Out[6]= -0.56963340095363632730803418157356872313292131914787
AntiMagicMan Posted April 22, 2004 Posted April 22, 2004 That is quite confusing, the standard input for maple and mathematica is radians... so I'm not really sure where the difference comes from.
Dave Posted April 22, 2004 Posted April 22, 2004 I might've somehow set it to degrees, but I can't remember. Nevermind, it's hardly like it's important.
Kedas Posted October 28, 2004 Posted October 28, 2004 For those interested: I kept the calculation accuracy of it high but added a pi that wasn't that accurate you can see that only at accuracy 41 we are getting close/stable. with maple 8: you get pi followed with the result of the calculation. sin(10^40-2*p*10^39) with p=Pi > p:=evalf(Pi,70) accuracy=70 > p:=evalf(Pi,70); > evalf(sin(10^40-2*evalf(p,70)*10^39),70); p:=3.141592653589793238462643383279502884197169399375105820974944592307816 -0.5696334009536363273080341815742365755028674749735871234233590307534688 > p:=evalf(Pi,50); > evalf(sin(10^40-2*evalf(p,50)*10^39),50); p := 3.1415926535897932384626433832795028841971693993751 -0.56963340096320483302155351446748255175004957983385 > p:=evalf(Pi,46); > evalf(sin(10^40-2*evalf(p,50)*10^39),50); p := 3.141592653589793238462643383279502884197169399 -0.56963401755159324178758070546326680727163521628658 > p:=evalf(Pi,44); > evalf(sin(10^40-2*evalf(p,50)*10^39),50); p := 3.1415926535897932384626433832795028841971694 -0.56963237375352485248115648847294557616382230212022 > p:=evalf(Pi,43); > evalf(sin(10^40-2*evalf(p,50)*10^39),50); p := 3.141592653589793238462643383279502884197169 -0.57028971108410160238203260125675586427898889887725 > p:=evalf(Pi,42); > evalf(sin(10^40-2*evalf(p,50)*10^39),50); p := 3.14159265358979323846264338327950288419717 -0.56864568433037894515920937125020327441117069451661 > p:=evalf(Pi,41); > evalf(sin(10^40-2*evalf(p,50)*10^39),50); p := 3.1415926535897932384626433832795028841972 -0.51829708252841365579298072494084993238214196173488 > p:=evalf(Pi,40); > evalf(sin(10^40-2*evalf(p,50)*10^39),50); p := 3.141592653589793238462643383279502884197 -0.81041404149828340893644116133287541019985461015021 > p:=evalf(Pi,39); > evalf(sin(10^40-2*evalf(p,50)*10^39),50); p := 3.14159265358979323846264338327950288420 -0.94183316470675507802643727766602357848601285229868 > p:=evalf(Pi,37); > evalf(sin(10^40-2*evalf(p,50)*10^39),50); p := 3.141592653589793238462643383279502884 0.78071915409033291423119565202296953326898213238585
premjan Posted November 12, 2004 Posted November 12, 2004 there appears to be two steps: 1) compute 10^40 mod 2pi to sufficient accuracy (say 15 significant digits). To do this, start with say 10 sig dig and compute, then keep increasing the sd until no change is observed in the value. there ought to be tables on the internet of the digits of pi which ought to help you. You need to use an arbitrary precision integer package such as probably the one in mathematica or another open source. 2) use an ordinary calculator to compute sin of the result.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now