![]() |
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.
|
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.:smile: |
I mean how to solve for example 2 ^ x -5 = -6. Using the solve command
|
[CODE]? ?solve
solve(X=a,b,expr): real root of expression expr (X between a and b), where expr(a)*expr(b)<=0.[/CODE] 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 [B]a[/B] 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[/CODE] |
It would be solve(2^x=8); For example
|
[QUOTE=rockzur;551984]It would be solve(2^x=8); For example[/QUOTE]
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[/CODE] |
[QUOTE=axn;551981][CODE]? ?solve
solve(X=a,b,expr): real root of expression expr (X between a and b), where expr(a)*expr(b)<=0.[/CODE][/QUOTE] 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 ? [/CODE] |
What I want to know is how is used solve command.
|
[CODE]?solve
solve(X=a,b,expr): real root of expression expr (X between a and b), where expr(a)*expr(b)<=0. [/CODE] For logarithmic equations use pen and paper and an internet search engine. |
[QUOTE=rockzur;552005]What I want to know is how is used solve command.[/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> [/CODE] 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 [/CODE] |
[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> [/CODE] 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 [/CODE][/QUOTE] what an elegant solution |
All times are UTC. The time now is 19:54. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.