Subject: finding out if expr has the form F(y/x^a)
From: Richard Hennessy
Date: Wed, 12 Dec 2012 17:29:11 -0500
I think this gives false positives. This idea is ingenious but it does not test for correctness. Unless I am a total idiot, I think you have to revise it this way.
load(pdiff)$
solution(g):=block([g2,g3,g6,a],g2:g*x/y,g3:at(g2,y=1/x),g6:at(diff(at(g,y=x),x)/diff(g3,x),x=1), a:-ratsimp((g6+1)/(g6-1)),f:at(g*x/y,y=x^(a+1)),
if is(equal(radcan(g-y/x*at(f,[x=y/x^a])),0))=true then ['a=a,'f(x)=f])$
This way if you get ?false then it is not possible to put the expression in the desired form.
expr:y^3+1/x^(3/2)$
solution(expr);
-> [a = -1/2,'f(x) = sqrt(x)*(x^(3/2)+1/x^(3/2))]
solution(expr+9);
-> false
solution(expr*9);
-> [a = -1/2,'f(x) = 9*sqrt(x)*(x^(3/2)+1/x^(3/2))]
solution(expr*x);
-> false
expr:(y/x)*sin(y^2/x^4 + y^3/x^6)*exp(y/x^2)$
solution(expr);
-> [a = 2,'f(x) = %e^x*sin(x^3+x^2)]
solution(expr+j);
-> false
FWIW,
Rich
From: Daniel Rupistraliz Avez
Sent: Wednesday, December 12, 2012 3:52 PM
To: maxima at math.utexas.edu
Subject: finding out if expr has the form F(y/x^a)
This is the correct one
set_display('none)$
load(pdiff)$
solution(y/x*h(y/x^m));
solution(g):=block([g2,g3,g6,a],g2:g*x/y,g3:at(g2,y=1/x),g6:at(diff(at(g,y=x),x)/diff(g3,x),x=1),
a:-ratsimp((g6+1)/(g6-1)),f:at(g*x/y,y=x^(a+1)),['a=a,'f(x)=f]);
Example:
solution(y/x*h(y/x^m));
Example:
u(x):=(8*x^4+5*x^3+6*x^2+3)/(5*x^3+2*x^2+x);
solution(ratsimp(y/x*u(y/x^4)));
--------------------------------------------------------------------------------
_______________________________________________
Maxima mailing list
Maxima at math.utexas.edu
http://www.math.utexas.edu/mailman/listinfo/maxima