Menu ▾ ▴

#4347 maxima would not simplify nor rationalize the simplest expression

None
open
nobody
None
5
2024-08-18
2024-08-15
dan hayes
No

build_info() or bug_report()
"branch_5_44_base_231_g5c411f69f",timestamp="2021-01-12 23:51:42",host="x86_64-w64-mingw32",lisp_name="SBCL",lisp_version="2.0.0",maxima_userdir="C:/Users/zmth1/maxima",maxima_tempdir="C:/Users/zmth1/AppData/Local/Temp",maxima_objdir="C:/Users/zmth1/maxima/binary/branch_5_44_base_231_g5c411f69f/sbcl/2_0_0",maxima_frontend="wxMaxima",maxima_frontend_version="20.12.2-DevelopmentSnapshot_MSW_OpenMP201511+Locks")

(assume_pos:true, file_output_append:true, ratprint:false, showtime:true,load(simplify_sum)
, simpsum:true, load("lrats"),letrat:true,ratfac:true,algebraic:true,fpprintprec:4);

(tt:solve([x+y-u,x*y-v],[x,y]),ta:rationalize(factor(lratsubst(part(tt,1),(1-x)^a(1+x)^b(1-y)^a(1+y)^b)))
,tb:factor(ratsimp( ((2-u)^2-u^2+4
v)^a((2+u)^2-u^2+4v)^b)*(2^(-2))^(b+a)),disp([ta,tb]) );

ok i know from help it says rationalize is for floating numbers but i tried everything else so i tried that
and maxima would not simplify the expression ta so i had to manually do it myself to get rid of irrational expression. Clearly maxima should have been able to do that itself and end up with my expression tb without me having to do it myself. Why did it not? and if not why is there no way to implement that. There certainly should be.

Related

Bugs: #4347

Discussion

  • Barton Willis

    Barton Willis - 2024-08-15

    Hi Dan,

    Some of your expressions are missing explicit multiplications; for example, the expression

    (2-u)^2-u^2+4v)^a((2+u)^2-u^2+4v)^b)*(2^(-2))^(b+a))
    

    is missing a multiplication between 4 and v. If you corrected this and re-posted, it would make it far easier to sort this issue. Also, using the Sourceforge markdown syntax would make your bug report easier for me to read; please see https://sourceforge.net/nf/markdown_syntax

     
  • dan hayes

    dan hayes - 2024-08-15

    i put the multiplication factor in there but it did not show up when i pasted it. It is in there when i executed it. i can't help the way this prints out - it does NOT print exactly what i write. it left out the multiplication sign. There is just no way around that ! you put that command exactly as it should be with multiplication signs and u will see.

     
    • Stavros Macrakis

      The way to output something in readable form is to use display2d:false or
      the string function:

      string(4*f) => "4*f"

      On Thu, Aug 15, 2024 at 9:58 AM dan hayes zmth@users.sourceforge.net
      wrote:

      i put the multiplication factor in there but it did not show up when i
      pasted it. It is in there when i executed it. i can't help the way this
      prints out - it does NOT print exactly what i write. it left out the
      multiplication sign. There is just no way around that ! you put that
      command exactly as it should be with multiplication signs and u will see.


      [bugs:#4347] https://sourceforge.net/p/maxima/bugs/4347/ maxima would
      not simplify nor rationalize the simplest expression

      Status: open
      Group: None
      Created: Thu Aug 15, 2024 02:40 PM UTC by dan hayes
      Last Updated: Thu Aug 15, 2024 02:57 PM UTC
      Owner: nobody

      build_info() or bug_report()
      "branch_5_44_base_231_g5c411f69f",timestamp="2021-01-12
      23:51:42",host="x86_64-w64-mingw32",lisp_name="SBCL",lisp_version="2.0.0",maxima_userdir="C:/Users/zmth1/maxima",maxima_tempdir="C:/Users/zmth1/AppData/Local/Temp",maxima_objdir="C:/Users/zmth1/maxima/binary/branch_5_44_base_231_g5c411f69f/sbcl/2_0_0",maxima_frontend="wxMaxima",maxima_frontend_version="20.12.2-DevelopmentSnapshot_MSW_OpenMP201511+Locks")

      (assume_pos:true, file_output_append:true, ratprint:false,
      showtime:true,load(simplify_sum)
      , simpsum:true,
      load("lrats"),letrat:true,ratfac:true,algebraic:true,fpprintprec:4);

      (tt:solve([x+y-u,x*y-v],[x,y]
      ),ta:rationalize(factor(lratsubst(part(tt,1),(1-x)^a(1+x)^b(1-y)^a
      (1+y)^b))) ,tb:factor(ratsimp( ((2-u)^2-u^2+4v)^a((2+u)^2-u^2+4
      v)^b)*(2^(-2))^(b+a)),disp([ta,tb]) );

      ok i know from help it says rationalize is for floating numbers but i
      tried everything else so i tried that
      and maxima would not simplify the expression ta so i had to manually do it
      myself to get rid of irrational expression. Clearly maxima should have been
      able to do that itself and end up with my expression tb without me having
      to do it myself. Why did it not? and if not why is there no way to
      implement that. There certainly should be.


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/maxima/bugs/4347/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

       

      Related

      Bugs: #4347


      Last edit: Stavros Macrakis 2024-08-15
      • dan hayes

        dan hayes - 2024-08-16

        ok thanks i remember that from long ago and used it a few times. so u mean to use that in maxima itself and use that output in bug report ?

        On Thursday, August 15, 2024 at 03:07:05 PM CDT, Stavros Macrakis via Maxima-bugs <maxima-bugs@lists.sourceforge.net> wrote:
        

        The way to output something in readable form is to use display2d:false or
        the string function:

        string(4f) => "4f"

        On Thu, Aug 15, 2024 at 9:58 AM dan hayes zmth@users.sourceforge.net
        wrote:

        i put the multiplication factor in there but it did not show up when i
        pasted it. It is in there when i executed it. i can't help the way this
        prints out - it does NOT print exactly what i write. it left out the
        multiplication sign. There is just no way around that ! you put that
        command exactly as it should be with multiplication signs and u will see.

        [bugs:#4347] https://sourceforge.net/p/maxima/bugs/4347/ maxima would
        not simplify nor rationalize the simplest expression

        Status: open
        Group: None
        Created: Thu Aug 15, 2024 02:40 PM UTC by dan hayes
        Last Updated: Thu Aug 15, 2024 02:57 PM UTC
        Owner: nobody

        build_info() or bug_report()
        "branch_5_44_base_231_g5c411f69f",timestamp="2021-01-12
        23:51:42",host="x86_64-w64-mingw32",lisp_name="SBCL",lisp_version="2.0.0",maxima_userdir="C:/Users/zmth1/maxima",maxima_tempdir="C:/Users/zmth1/AppData/Local/Temp",maxima_objdir="C:/Users/zmth1/maxima/binary/branch_5_44_base_231_g5c411f69f/sbcl/2_0_0",maxima_frontend="wxMaxima",maxima_frontend_version="20.12.2-DevelopmentSnapshot_MSW_OpenMP201511+Locks")

        (assume_pos:true, file_output_append:true, ratprint:false,
        showtime:true,load(simplify_sum)
        , simpsum:true,
        load("lrats"),letrat:true,ratfac:true,algebraic:true,fpprintprec:4);

        (tt:solve([x+y-u,x*y-v],[x,y]
        ),ta:rationalize(factor(lratsubst(part(tt,1),(1-x)^a(1+x)^b(1-y)^a
        (1+y)^b))) ,tb:factor(ratsimp( ((2-u)^2-u^2+4v)^a((2+u)^2-u^2+4
        v)^b)*(2^(-2))^(b+a)),disp([ta,tb]) );

        ok i know from help it says rationalize is for floating numbers but i
        tried everything else so i tried that
        and maxima would not simplify the expression ta so i had to manually do it
        myself to get rid of irrational expression. Clearly maxima should have been
        able to do that itself and end up with my expression tb without me having
        to do it myself. Why did it not? and if not why is there no way to
        implement that. There certainly should be.

        Sent from sourceforge.net because you indicated interest in
        https://sourceforge.net/p/maxima/bugs/4347/

        To unsubscribe from further messages, please visit
        https://sourceforge.net/auth/subscriptions/

        [bugs:#4347] maxima would not simplify nor rationalize the simplest expression

        Status: open
        Group: None
        Created: Thu Aug 15, 2024 02:40 PM UTC by dan hayes
        Last Updated: Thu Aug 15, 2024 06:41 PM UTC

        Owner: nobody
        build_info() or bug_report()
        "branch_5_44_base_231_g5c411f69f",timestamp="2021-01-12 23:51:42",host="x86_64-w64-mingw32",lisp_name="SBCL",lisp_version="2.0.0",maxima_userdir="C:/Users/zmth1/maxima",maxima_tempdir="C:/Users/zmth1/AppData/Local/Temp",maxima_objdir="C:/Users/zmth1/maxima/binary/branch_5_44_base_231_g5c411f69f/sbcl/2_0_0",maxima_frontend="wxMaxima",maxima_frontend_version="20.12.2-DevelopmentSnapshot_MSW_OpenMP201511+Locks")

        (assume_pos:true, file_output_append:true, ratprint:false, showtime:true,load(simplify_sum)
        , simpsum:true, load("lrats"),letrat:true,ratfac:true,algebraic:true,fpprintprec:4);

        (tt:solve([x+y-u,x*y-v],[x,y]),ta:rationalize(factor(lratsubst(part(tt,1),(1-x)^a(1+x)^b(1-y)^a(1+y)^b)))
        ,tb:factor(ratsimp( ((2-u)^2-u^2+4v)^a((2+u)^2-u^2+4v)^b)*(2^(-2))^(b+a)),disp([ta,tb]) );

        ok i know from help it says rationalize is for floating numbers but i tried everything else so i tried that
        and maxima would not simplify the expression ta so i had to manually do it myself to get rid of irrational expression. Clearly maxima should have been able to do that itself and end up with my expression tb without me having to do it myself. Why did it not? and if not why is there no way to implement that. There certainly should be.

        Sent from sourceforge.net because maxima-bugs@lists.sourceforge.net is subscribed to https://sourceforge.net/p/maxima/bugs/

        To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/maxima/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list.


        Maxima-bugs mailing list
        Maxima-bugs@lists.sourceforge.net
        https://lists.sourceforge.net/lists/listinfo/maxima-bugs

         

        Related

        Bugs: #4347

  • dan hayes

    dan hayes - 2024-08-15

    ~~~
    (tt:solve([x+y-u,x*y-v],[x,y]),ta:rationalize(factor(lratsubst(part(tt,1),(1-x)^a(1+x)^b(1-y)^a(1+y)^b)))
    ,tb:factor(ratsimp( ((2-u)^2-u^2+4
    v)^a((2+u)^2-u^2+4v)^b)*(2^(-2))^(b+a)),disp([ta,tb])

    ~~~ ok above i checke code and for some reason it did put in the multiplication signs. that link u gave was something to do with source forge... whatever the hell that means. what that has to do with maxima is beyond me.

     
  • dan hayes

    dan hayes - 2024-08-15

    no i was mistaken it did not put it in when i used code (tt:solve([x+y-u,x*y-v],[x,y]),ta:rationalize(factor(lratsubst(part(tt,1),(1-x)^a(1+x)^b(1-y)^a(1+y)^b)))
    ,tb:factor(ratsimp( ((2-u)^2-u^2+4
    v)^a((2+u)^2-u^2+4v)^b)*(2^(-2))^(b+a)),disp([ta,tb]))

    ok there i used the " and it did put in the multiplication sign. why it puts red underlining i do not know

     
  • Barton Willis

    Barton Willis - 2024-08-15

    Maybe if you could clarify exactly what you were expecting, somebody might show you a way to get the result you wanted.

    But I'm not sure what you were looking for. Could you clarify that with examples that can be cut-and-pasted without guessing-and-editing?

     
  • Stavros Macrakis

    First of all, rationalize has nothing to do with your problem. All rationalize does is convert a float or bfloat to a rational number. This is clearly documented.

    The reason that the "*"s are disappearing is that you are not using the "code" format of Markdown correctly. "~~~" needs to be at the beginning of the line both before and after your code, e.g.,
    I think what you want is:

    (tt:solve([x+y-u,x*y-v],[x,y]),ta:rationalize(factor(lratsubst(part(tt,1),(1-x)^a*(1+x)^b*(1-y)^a*(1+y)^b)))
    ,tb:factor(ratsimp(  ((2-u)^2-u^2+4*v)^a*((2+u)^2-u^2+4*v)^b)*(2^(-2))^(b+a)),disp([ta,tb]))
    

    This gives ta:

    2^(-(2*b)-2*a)*(-1)^(b+a)*(sqrt(u^2-4*v)-u-2)^b*(sqrt(u^2-4*v)-u+2)^a*(sqrt(u^2-4*v)+u-2)^a*(sqrt(u^2-4*v)+u+2)^b
    

    I don't think Maxima provides a built-in way to convert, e.g., (x-1)^a*(x+1)^a => (x^2-1)^a for symbolic a and b, only explicit integer a and b (declared integer variables don't work). Perhaps we should revise rootscontract/rootsconmode to handle this case, but in the meantime, here's a workaround:

    radexpand:'all$
    ta1: substpart(expand(piece^(1/a))^a,ta,[4,5])$
    ta2: substpart(expand(piece^(1/b))^b,ta1,[3,4])$
       => 2^(-(2*b)-2*a)*(-1)^(b+a)*(-(4*v)-4*u-4)^b*(-(4*v)+4*u-4)^a
    

    I think that's what you're looking for?

    PS "maxima would not simplify nor rationalize the simplest expression" is really not an informative nor respectful title for a problem report.

     

    Last edit: Stavros Macrakis 2024-08-15
    • dan hayes

      dan hayes - 2024-08-16

      yea that radexpand:'all$
      ta1: substpart(expand(piece^(1/a))^a,ta,[4,5])$
      ta2: substpart(expand(piece^(1/b))^b,ta1,[3,4])$
      => 2^(-(2b)-2a)(-1)^(b+a)(-(4v)-4u-4)^b(-(4v)+4*u-4)^adid work , at least a lot closer and mainly got rid of the radicals. now i have to figure out where u got the [4,5] and [3,4]. it is somewhat going to a bit more trouble  than desired but ok. I knew rationalize had only to do with what u said and i made that remark in the post or comment. As far as using the code format in bug report i can sware i did exactly that in a follow up comment but it still did not come out with the * times sign in at least one place i think. i may try it next time again or better yet use the grind etc. in maxima itself.

      On Thursday, August 15, 2024 at 01:41:07 PM CDT, Stavros Macrakis via Maxima-bugs <maxima-bugs@lists.sourceforge.net> wrote:
      

      First of all, rationalize has nothing to do with your problem. All rationalize does is convert a float or bfloat to a rational number. This is clearly documented.

      The reason that the ""s are disappearing is that you are not using the "code" format of Markdown correctly. "~~~" needs to be at the beginning of the line both before and after your code, e.g.,
      I think what you want is:
      (tt:solve([x+y-u,x*y-v],[x,y]),ta:rationalize(factor(lratsubst(part(tt,1),(1-x)^a
      (1+x)^b(1-y)^a(1+y)^b)))
      ,tb:factor(ratsimp( ((2-u)^2-u^2+4v)^a((2+u)^2-u^2+4v)^b)(2^(-2))^(b+a)),disp([ta,tb]))

      This gives ta:
      2^(-(2b)-2a)(-1)^(b+a)(sqrt(u^2-4v)-u-2)^b(sqrt(u^2-4v)-u+2)^a(sqrt(u^2-4v)+u-2)^a(sqrt(u^2-4*v)+u+2)^b

      I don't think Maxima provides a built-in way to convert, e.g., (x-1)^a(x+1)^a => (x^2-1)^a for symbolic a and b, only explicit integer a and b (declared integer variables don't work). Perhaps we should revise rootscontract/rootsconmode to handle this case, but in the meantime, here's a workaround:
      radexpand:'all$
      ta1: substpart(expand(piece^(1/a))^a,ta,[4,5])$
      ta2: substpart(expand(piece^(1/b))^b,ta1,[3,4])$
      => 2^(-(2
      b)-2a)(-1)^(b+a)(-(4v)-4u-4)^b(-(4v)+4u-4)^a

      I think that's what you're looking for?

      PS "maxima would not simplify nor rationalize the simplest expression" is really not an informative nor respectful title for a problem report.

      [bugs:#4347] maxima would not simplify nor rationalize the simplest expression

      Status: open
      Group: None
      Created: Thu Aug 15, 2024 02:40 PM UTC by dan hayes
      Last Updated: Thu Aug 15, 2024 06:22 PM UTC

      Owner: nobody
      build_info() or bug_report()
      "branch_5_44_base_231_g5c411f69f",timestamp="2021-01-12 23:51:42",host="x86_64-w64-mingw32",lisp_name="SBCL",lisp_version="2.0.0",maxima_userdir="C:/Users/zmth1/maxima",maxima_tempdir="C:/Users/zmth1/AppData/Local/Temp",maxima_objdir="C:/Users/zmth1/maxima/binary/branch_5_44_base_231_g5c411f69f/sbcl/2_0_0",maxima_frontend="wxMaxima",maxima_frontend_version="20.12.2-DevelopmentSnapshot_MSW_OpenMP201511+Locks")

      (assume_pos:true, file_output_append:true, ratprint:false, showtime:true,load(simplify_sum)
      , simpsum:true, load("lrats"),letrat:true,ratfac:true,algebraic:true,fpprintprec:4);

      (tt:solve([x+y-u,x*y-v],[x,y]),ta:rationalize(factor(lratsubst(part(tt,1),(1-x)^a(1+x)^b(1-y)^a(1+y)^b)))
      ,tb:factor(ratsimp( ((2-u)^2-u^2+4v)^a((2+u)^2-u^2+4v)^b)*(2^(-2))^(b+a)),disp([ta,tb]) );

      ok i know from help it says rationalize is for floating numbers but i tried everything else so i tried that
      and maxima would not simplify the expression ta so i had to manually do it myself to get rid of irrational expression. Clearly maxima should have been able to do that itself and end up with my expression tb without me having to do it myself. Why did it not? and if not why is there no way to implement that. There certainly should be.

      Sent from sourceforge.net because maxima-bugs@lists.sourceforge.net is subscribed to https://sourceforge.net/p/maxima/bugs/

      To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/maxima/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list.


      Maxima-bugs mailing list
      Maxima-bugs@lists.sourceforge.net
      https://lists.sourceforge.net/lists/listinfo/maxima-bugs

       

      Related

      Bugs: #4347

    • dan hayes

      dan hayes - 2024-08-17

      Also as i found out that the ' rootsconmode=super,...' is essential for i restarted maxima in the meantime and tried what u had and it did not work and could not figure out why since it did work prior until i realized prior that i had done that rootsconmode=super at some time prior the first time but not after restarted so after i did that rootsconmode=super first and then all that u had it did work again.

      On Thursday, August 15, 2024 at 01:41:01 PM CDT, Stavros Macrakis <macrakis@users.sourceforge.net> wrote:
      

      First of all, rationalize has nothing to do with your problem. All rationalize does is convert a float or bfloat to a rational number. This is clearly documented.

      The reason that the ""s are disappearing is that you are not using the "code" format of Markdown correctly. "~~~" needs to be at the beginning of the line both before and after your code, e.g.,
      I think what you want is:
      (tt:solve([x+y-u,x*y-v],[x,y]),ta:rationalize(factor(lratsubst(part(tt,1),(1-x)^a
      (1+x)^b(1-y)^a(1+y)^b)))
      ,tb:factor(ratsimp( ((2-u)^2-u^2+4v)^a((2+u)^2-u^2+4v)^b)(2^(-2))^(b+a)),disp([ta,tb]))

      This gives ta:
      2^(-(2b)-2a)(-1)^(b+a)(sqrt(u^2-4v)-u-2)^b(sqrt(u^2-4v)-u+2)^a(sqrt(u^2-4v)+u-2)^a(sqrt(u^2-4*v)+u+2)^b

      I don't think Maxima provides a built-in way to convert, e.g., (x-1)^a(x+1)^a => (x^2-1)^a for symbolic a and b, only explicit integer a and b (declared integer variables don't work). Perhaps we should revise rootscontract/rootsconmode to handle this case, but in the meantime, here's a workaround:
      radexpand:'all$
      ta1: substpart(expand(piece^(1/a))^a,ta,[4,5])$
      ta2: substpart(expand(piece^(1/b))^b,ta1,[3,4])$
      => 2^(-(2
      b)-2a)(-1)^(b+a)(-(4v)-4u-4)^b(-(4v)+4u-4)^a

      I think that's what you're looking for?

      PS "maxima would not simplify nor rationalize the simplest expression" is really not an informative nor respectful title for a problem report.

      [bugs:#4347] maxima would not simplify nor rationalize the simplest expression

      Status: open
      Group: None
      Created: Thu Aug 15, 2024 02:40 PM UTC by dan hayes
      Last Updated: Thu Aug 15, 2024 06:22 PM UTC

      Owner: nobody
      build_info() or bug_report()
      "branch_5_44_base_231_g5c411f69f",timestamp="2021-01-12 23:51:42",host="x86_64-w64-mingw32",lisp_name="SBCL",lisp_version="2.0.0",maxima_userdir="C:/Users/zmth1/maxima",maxima_tempdir="C:/Users/zmth1/AppData/Local/Temp",maxima_objdir="C:/Users/zmth1/maxima/binary/branch_5_44_base_231_g5c411f69f/sbcl/2_0_0",maxima_frontend="wxMaxima",maxima_frontend_version="20.12.2-DevelopmentSnapshot_MSW_OpenMP201511+Locks")

      (assume_pos:true, file_output_append:true, ratprint:false, showtime:true,load(simplify_sum)
      , simpsum:true, load("lrats"),letrat:true,ratfac:true,algebraic:true,fpprintprec:4);

      (tt:solve([x+y-u,x*y-v],[x,y]),ta:rationalize(factor(lratsubst(part(tt,1),(1-x)^a(1+x)^b(1-y)^a(1+y)^b)))
      ,tb:factor(ratsimp( ((2-u)^2-u^2+4v)^a((2+u)^2-u^2+4v)^b)*(2^(-2))^(b+a)),disp([ta,tb]) );

      ok i know from help it says rationalize is for floating numbers but i tried everything else so i tried that
      and maxima would not simplify the expression ta so i had to manually do it myself to get rid of irrational expression. Clearly maxima should have been able to do that itself and end up with my expression tb without me having to do it myself. Why did it not? and if not why is there no way to implement that. There certainly should be.

      Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/maxima/bugs/4347/

      To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/

       

      Related

      Bugs: #4347

    • dan hayes

      dan hayes - 2024-08-17

      strange thing is that i don't even see that option of setting rootsconmode=super anywhere in my maxima help file though i do see it as a possibility for logexpand and others

      On Thursday, August 15, 2024 at 01:41:01 PM CDT, Stavros Macrakis <macrakis@users.sourceforge.net> wrote:
      

      First of all, rationalize has nothing to do with your problem. All rationalize does is convert a float or bfloat to a rational number. This is clearly documented.

      The reason that the ""s are disappearing is that you are not using the "code" format of Markdown correctly. "~~~" needs to be at the beginning of the line both before and after your code, e.g.,
      I think what you want is:
      (tt:solve([x+y-u,x*y-v],[x,y]),ta:rationalize(factor(lratsubst(part(tt,1),(1-x)^a
      (1+x)^b(1-y)^a(1+y)^b)))
      ,tb:factor(ratsimp( ((2-u)^2-u^2+4v)^a((2+u)^2-u^2+4v)^b)(2^(-2))^(b+a)),disp([ta,tb]))

      This gives ta:
      2^(-(2b)-2a)(-1)^(b+a)(sqrt(u^2-4v)-u-2)^b(sqrt(u^2-4v)-u+2)^a(sqrt(u^2-4v)+u-2)^a(sqrt(u^2-4*v)+u+2)^b

      I don't think Maxima provides a built-in way to convert, e.g., (x-1)^a(x+1)^a => (x^2-1)^a for symbolic a and b, only explicit integer a and b (declared integer variables don't work). Perhaps we should revise rootscontract/rootsconmode to handle this case, but in the meantime, here's a workaround:
      radexpand:'all$
      ta1: substpart(expand(piece^(1/a))^a,ta,[4,5])$
      ta2: substpart(expand(piece^(1/b))^b,ta1,[3,4])$
      => 2^(-(2
      b)-2a)(-1)^(b+a)(-(4v)-4u-4)^b(-(4v)+4u-4)^a

      I think that's what you're looking for?

      PS "maxima would not simplify nor rationalize the simplest expression" is really not an informative nor respectful title for a problem report.

      [bugs:#4347] maxima would not simplify nor rationalize the simplest expression

      Status: open
      Group: None
      Created: Thu Aug 15, 2024 02:40 PM UTC by dan hayes
      Last Updated: Thu Aug 15, 2024 06:22 PM UTC

      Owner: nobody
      build_info() or bug_report()
      "branch_5_44_base_231_g5c411f69f",timestamp="2021-01-12 23:51:42",host="x86_64-w64-mingw32",lisp_name="SBCL",lisp_version="2.0.0",maxima_userdir="C:/Users/zmth1/maxima",maxima_tempdir="C:/Users/zmth1/AppData/Local/Temp",maxima_objdir="C:/Users/zmth1/maxima/binary/branch_5_44_base_231_g5c411f69f/sbcl/2_0_0",maxima_frontend="wxMaxima",maxima_frontend_version="20.12.2-DevelopmentSnapshot_MSW_OpenMP201511+Locks")

      (assume_pos:true, file_output_append:true, ratprint:false, showtime:true,load(simplify_sum)
      , simpsum:true, load("lrats"),letrat:true,ratfac:true,algebraic:true,fpprintprec:4);

      (tt:solve([x+y-u,x*y-v],[x,y]),ta:rationalize(factor(lratsubst(part(tt,1),(1-x)^a(1+x)^b(1-y)^a(1+y)^b)))
      ,tb:factor(ratsimp( ((2-u)^2-u^2+4v)^a((2+u)^2-u^2+4v)^b)*(2^(-2))^(b+a)),disp([ta,tb]) );

      ok i know from help it says rationalize is for floating numbers but i tried everything else so i tried that
      and maxima would not simplify the expression ta so i had to manually do it myself to get rid of irrational expression. Clearly maxima should have been able to do that itself and end up with my expression tb without me having to do it myself. Why did it not? and if not why is there no way to implement that. There certainly should be.

      Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/maxima/bugs/4347/

      To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/

       

      Related

      Bugs: #4347

      • Raymond Toy

        Raymond Toy - 2024-08-17

        I guess that's a documentation bug. Not sure how anyone could ever figure out that 'super would work unless you were told or read the sources.

        Also, why does all of your messages include the original bug report? That makes reading them much harder. Are you responding via email? If so, can you trim the reply of unnecessary stuff? (I've never tried responding via email. For whatever reason, I always use the web to do respond.)

         
        • Stavros Macrakis

          rootsconmode does not support super.
          I was suggesting that it should use that to handle this case.

           
          • Raymond Toy

            Raymond Toy - 2024-08-18

            Oops. My fault.

             
          • dan hayes

            dan hayes - 2024-08-18

            yea apparently it did work but one would never know from looking in the help file for rootsconmode as that option 'super' is not listed for that at least in my help file. i wonder if it is listed in anyone elses more recent versions of maxima help ?

            On Saturday, August 17, 2024 at 11:51:11 AM CDT, Stavros Macrakis via Maxima-bugs <maxima-bugs@lists.sourceforge.net> wrote:
            

            rootsconmode does not support super.
            I was suggesting that it should use that to handle this case.

            [bugs:#4347] maxima would not simplify nor rationalize the simplest expression

            Status: open
            Group: None
            Created: Thu Aug 15, 2024 02:40 PM UTC by dan hayes
            Last Updated: Sat Aug 17, 2024 02:09 PM UTC

            Owner: nobody
            build_info() or bug_report()
            "branch_5_44_base_231_g5c411f69f",timestamp="2021-01-12 23:51:42",host="x86_64-w64-mingw32",lisp_name="SBCL",lisp_version="2.0.0",maxima_userdir="C:/Users/zmth1/maxima",maxima_tempdir="C:/Users/zmth1/AppData/Local/Temp",maxima_objdir="C:/Users/zmth1/maxima/binary/branch_5_44_base_231_g5c411f69f/sbcl/2_0_0",maxima_frontend="wxMaxima",maxima_frontend_version="20.12.2-DevelopmentSnapshot_MSW_OpenMP201511+Locks")

            (assume_pos:true, file_output_append:true, ratprint:false, showtime:true,load(simplify_sum)
            , simpsum:true, load("lrats"),letrat:true,ratfac:true,algebraic:true,fpprintprec:4);

            (tt:solve([x+y-u,x*y-v],[x,y]),ta:rationalize(factor(lratsubst(part(tt,1),(1-x)^a(1+x)^b(1-y)^a(1+y)^b)))
            ,tb:factor(ratsimp( ((2-u)^2-u^2+4v)^a((2+u)^2-u^2+4v)^b)*(2^(-2))^(b+a)),disp([ta,tb]) );

            ok i know from help it says rationalize is for floating numbers but i tried everything else so i tried that
            and maxima would not simplify the expression ta so i had to manually do it myself to get rid of irrational expression. Clearly maxima should have been able to do that itself and end up with my expression tb without me having to do it myself. Why did it not? and if not why is there no way to implement that. There certainly should be.

            Sent from sourceforge.net because maxima-bugs@lists.sourceforge.net is subscribed to https://sourceforge.net/p/maxima/bugs/

            To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/maxima/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list.


            Maxima-bugs mailing list
            Maxima-bugs@lists.sourceforge.net
            https://lists.sourceforge.net/lists/listinfo/maxima-bugs

             

            Related

            Bugs: #4347

  • Stavros Macrakis

    Clearly maxima should have been able to do that itself and end up with my expression tb without me having to do it myself. Why did it not? and if not why is there no way to implement that. There certainly should be.

    The word "clearly" is inappropriate -- Maxima does not claim to implement every possible simplification.

    Probably the right way to add that functionality is in rootscontract with rootsconmode=super or something.

    As for "why is there no way to implement that", I showed a way to implement it. Of course you can automate that if you like. Since in general expand(x*y)^a is not simpler than x^a*y^b, you'll need some sort of metric of complexity.

     
    • dan hayes

      dan hayes - 2024-08-16

      ok i tried that and was no help. anyway per your remark
       " Since in general expand(xy)^a is not simpler than x^ay^b, you'll need some sort of metric of complexity. "
      Did you not mean to write "...simpler than x^a*y^a..." rather than what you wrote ?Yea i did exaggerate by using the words "clearly" and etc. as i did but that's usual for one to write when things don't go as expected and become exasperated with having to try this and that with no success.  Don't you think that should be a feature request for doing something as simple as combining the terms with same exponent or whatever u want to call it since persons very familiar with maxima did not readily know how to make it work in a short enough reasonable amount of time as yet ?

      On Thursday, August 15, 2024 at 05:51:50 PM CDT, Stavros Macrakis via Maxima-bugs <maxima-bugs@lists.sourceforge.net> wrote:
      

      Clearly maxima should have been able to do that itself and end up with my expression tb without me having to do it myself. Why did it not? and if not why is there no way to implement that. There certainly should be.

      The word "clearly" is inappropriate -- Maxima does not claim to implement every possible simplification.

      Probably the right way to add that functionality is in rootscontract with rootsconmode=super or something.

      As for "why is there no way to implement that", I showed a way to implement it. Of course you can automate that if you like. Since in general expand(xy)^a is not simpler than x^ay^b, you'll need some sort of metric of complexity.

      [bugs:#4347] maxima would not simplify nor rationalize the simplest expression

      Status: open
      Group: None
      Created: Thu Aug 15, 2024 02:40 PM UTC by dan hayes
      Last Updated: Thu Aug 15, 2024 06:41 PM UTC

      Owner: nobody
      build_info() or bug_report()
      "branch_5_44_base_231_g5c411f69f",timestamp="2021-01-12 23:51:42",host="x86_64-w64-mingw32",lisp_name="SBCL",lisp_version="2.0.0",maxima_userdir="C:/Users/zmth1/maxima",maxima_tempdir="C:/Users/zmth1/AppData/Local/Temp",maxima_objdir="C:/Users/zmth1/maxima/binary/branch_5_44_base_231_g5c411f69f/sbcl/2_0_0",maxima_frontend="wxMaxima",maxima_frontend_version="20.12.2-DevelopmentSnapshot_MSW_OpenMP201511+Locks")

      (assume_pos:true, file_output_append:true, ratprint:false, showtime:true,load(simplify_sum)
      , simpsum:true, load("lrats"),letrat:true,ratfac:true,algebraic:true,fpprintprec:4);

      (tt:solve([x+y-u,x*y-v],[x,y]),ta:rationalize(factor(lratsubst(part(tt,1),(1-x)^a(1+x)^b(1-y)^a(1+y)^b)))
      ,tb:factor(ratsimp( ((2-u)^2-u^2+4v)^a((2+u)^2-u^2+4v)^b)*(2^(-2))^(b+a)),disp([ta,tb]) );

      ok i know from help it says rationalize is for floating numbers but i tried everything else so i tried that
      and maxima would not simplify the expression ta so i had to manually do it myself to get rid of irrational expression. Clearly maxima should have been able to do that itself and end up with my expression tb without me having to do it myself. Why did it not? and if not why is there no way to implement that. There certainly should be.

      Sent from sourceforge.net because maxima-bugs@lists.sourceforge.net is subscribed to https://sourceforge.net/p/maxima/bugs/

      To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/maxima/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list.


      Maxima-bugs mailing list
      Maxima-bugs@lists.sourceforge.net
      https://lists.sourceforge.net/lists/listinfo/maxima-bugs

       

      Related

      Bugs: #4347


Log in to post a comment.