How can I convert 5^(3/2) to 5* 5^(1/2)



5^(3/2) is Maxima's standard way of expressing sqrt(5)^3 = 5*sqrt(5).  It
is important in Maxima to have standard ways of expressing such things,
otherwise it risks not simplifying e.g.  5*sqrt(5) - 5^(3/2).

Since Maxima is programmable, you can of course generate whatever form you
want -- though you shouldn't use the standard sqrt function, since Maxima
"knows" about it and will simplify it.

Here is one simple trick:

(%i1) display2d:false$
(%i2) 5^(3/2);
(%o2) 5^(3/2)
(%i3) ratsubst(sqr(5),sqrt(5),%o2);
(%o3) sqr(5)^3
(%i4) ratsubst(5,sqr(5)^2,%o3);
(%o4) 5*sqr(5)

Of course, subsequent calculations won't know that sqr(5)^2 = 5.

You could also do something like this:

separate_roots(ex):=
   if mapatom(ex)
     then ex
   elseif inpart(ex,0)="^"
     then block([b:inpart(ex,1),e:inpart(ex,2)],
                if numberp(b) and numberp(e)
  then b^truncate(e)*box(b^(e-truncate(e)))   <<< box "protects" from
simplification
else ex)
     else ex$

This produces ugly results (with box), especially for negative powers, but
you should be able to customize this to something more of your liking.

            -s

On Sat, Feb 4, 2012 at 10:41, zxl <zhaxiaolei at gmail.com> wrote:

> hello:
>
> I hope expand (a+b sqrt(5))^n  to the form  A+B sqrt(5), but expand
> ((1+sqrt(5))) give me 5^(3/2)+ 3 sqrt(5) + 16. How can I convert 5^(3/2) to
> 5 5^(1/2) ?
>
> thanks
>
> z.x.l
>
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>
>