mersenneforum.org How to solve this equation with pari gp ...
 Register FAQ Search Today's Posts Mark Forums Read

 2020-07-29, 08:08 #1 rockzur   Aug 2019 2·3 Posts How to solve this equation with pari gp ... I don't know how to put the solve command on the pari gp command line to solve logarithmic equations. Can somebody help me.
 2020-07-29, 12:06 #2 a1call     "Rashid Naimi" Oct 2015 Remote to Here/There 2·5·227 Posts As I was taught by Paul Underwood, To get log (x) in base n use log(x)/log(n) Pari-GP gives the natural log of the number otherwise known as ln(x) by the rest of the world. Last fiddled with by a1call on 2020-07-29 at 12:14
 2020-07-30, 07:31 #3 rockzur   Aug 2019 2·3 Posts I mean how to solve for example 2 ^ x -5 = -6. Using the solve command
 2020-07-30, 07:52 #4 axn     Jun 2003 5,387 Posts Code: ? ?solve solve(X=a,b,expr): real root of expression expr (X between a and b), where expr(a)*expr(b)<=0. Your sample equation boils down to 2^x+1=0, which doesn't have real roots. Let's try with an equation that does. 2^x-5==0. We need to know an interval (a,b) where a root lies. We know that 2^2 < 5 < 2^3. So let's try (2,3) Code: ? solve(x=2, 3, 2^x-5) %2 = 2.3219280948873623478703194294893901759
 2020-07-30, 08:23 #5 rockzur   Aug 2019 2×3 Posts It would be solve(2^x=8); For example
2020-07-30, 09:54   #6
axn

Jun 2003

5,387 Posts

Quote:
 Originally Posted by rockzur It would be solve(2^x=8); For example
No. You give a real valued expression in one variable, and it will find one real-valued solution where the expression becomes zero. So you recast your equation as 2^x-8=0 and just give the left side of the equality as input.

Code:
? solve(t=0,10,2^t-8)
%1 = 3.0000000000000000000000000000000000000

2020-07-30, 12:04   #7
R. Gerbicz

"Robert Gerbicz"
Oct 2005
Hungary

112×13 Posts

Quote:
 Originally Posted by axn Code: ? ?solve solve(X=a,b,expr): real root of expression expr (X between a and b), where expr(a)*expr(b)<=0.
What is missing here is that you need a continuous function. Otherwise the result is crap:
Code:
? solve(x=0,3,if(x<2,-1,1))
%3 = 1.9999999999999999999999999999999999999
?

 2020-07-30, 12:14 #8 rockzur   Aug 2019 2·3 Posts What I want to know is how is used solve command.
 2020-07-30, 13:56 #9 paulunderwood     Sep 2002 Database er0rr 102348 Posts Code: ?solve solve(X=a,b,expr): real root of expression expr (X between a and b), where expr(a)*expr(b)<=0. For logarithmic equations use pen and paper and an internet search engine. Last fiddled with by paulunderwood on 2020-07-30 at 14:26
2020-07-30, 14:45   #10
R. Gerbicz

"Robert Gerbicz"
Oct 2005
Hungary

112·13 Posts

Quote:
 Originally Posted by rockzur What I want to know is how is used solve command.
Good question, it is not binary search, it should be another root finding algorithm. Btw in some really trivial cases the solve breaks:
Code:
? solve(x=-1,2,x^3)
***   at top-level: solve(x=-1,2,x^3)
***                              ^----
***   sorry, solve recovery [too many iterations] is not yet implemented.
***   Break loop: type 'break' to go back to GP prompt
break>
What is interesting is that their approx roots was so close to the x=0 solution, don't know why they haven't aborted the search.
Code:
? solve(x=-1,2,print(x);x^3)
-1.0000000000000000000000000000000000000
2.0000000000000000000000000000000000000
-0.66666666666666666666666666666666666667
-0.53132832080200501253132832080200501253
-0.39585716304753417148752640416134559761
0.80207141847623291425623679791932720119
-0.26729770261219306942169777701737070320
...
-4.1842288737629149621829297627585343823 E-26
8.5184705351226720431227968573430956740 E-26
-2.8383161799160252299934361727339277773 E-26
***   at top-level: solve(x=-1,2,print(x);x^3)
***                              ^-------------
***   sorry, solve recovery [too many iterations] is not yet implemented.
***   Break loop: type 'break' to go back to GP prompt

2020-07-31, 19:54   #11
jane477

Jul 2020

1 Posts

Quote:
 Good question, it is not binary search, it should be another root finding algorithm. Btw in some really trivial cases the solve breaks: Code: ? solve(x=-1,2,x^3) *** at top-level: solve(x=-1,2,x^3) *** ^---- *** sorry, solve recovery [too many iterations] is not yet implemented. *** Break loop: type 'break' to go back to GP prompt break> What is interesting is that their approx roots was so close to the x=0 solution, don't know why they haven't aborted the search. Code: ? solve(x=-1,2,print(x);x^3) -1.0000000000000000000000000000000000000 2.0000000000000000000000000000000000000 -0.66666666666666666666666666666666666667 -0.53132832080200501253132832080200501253 -0.39585716304753417148752640416134559761 0.80207141847623291425623679791932720119 -0.26729770261219306942169777701737070320 ... -4.1842288737629149621829297627585343823 E-26 8.5184705351226720431227968573430956740 E-26 -2.8383161799160252299934361727339277773 E-26 *** at top-level: solve(x=-1,2,print(x);x^3) *** ^------------- *** sorry, solve recovery [too many iterations] is not yet implemented. *** Break loop: type 'break' to go back to GP prompt
what an elegant solution

 Similar Threads Thread Thread Starter Forum Replies Last Post JM Montolio A Miscellaneous Math 18 2018-03-09 15:32 ixfd64 Puzzles 4 2011-03-30 12:25 flouran Miscellaneous Math 23 2009-01-04 20:03 davar55 Puzzles 3 2008-10-09 00:35 davar55 Puzzles 52 2007-06-26 21:41

All times are UTC. The time now is 15:32.

Mon Aug 15 15:32:03 UTC 2022 up 39 days, 10:19, 1 user, load averages: 1.05, 1.22, 1.29