Menu

#4365 The `solve` function dropped some results when set variable `solveradcan` and `solveexplicit` to be `true`

None
open
nobody
5
2024-09-08
2024-09-05
dao
No

When set variable solveradcan and solveexplicit to be true, solve(x^(5^3)-x) only return 5 roots . Is this what we expect?

(%i390) solve(x^(5^3)-x);
solve: solution:

(\%t390) x=0

(\%t391) x=1

(\%t392) x=-1

(\%t393) x=-i

(\%t394) x=i
(\%o394) \left[ \mathrm{\%t390} , \linebreak[0]\mathrm{\%t391} , \linebreak[0]\mathrm{\%t392} , \linebreak[0]\mathrm{\%t393} , \linebreak[0]\mathrm{\%t394} \right] 

(%i395) 

build_info() as follows:

(%i395) build_info();
(\%o395) \mathrm{\%build\_info}\left(\verb|5.47.0| , \linebreak[0]\verb|2024-02-17 13:24:51| , \linebreak[0]\verb|x86_64-redhat-linux-gnu| , \linebreak[0]\verb|SBCL| , \linebreak[0]\verb|2.3.11-2.fc40| , \linebreak[0]\verb|/home/xibo/.maxima| , \linebreak[0]\verb|/tmp| , \linebreak[0]\verb|/home/xibo/.maxima/binary/5_47_0/sbcl/2_3_11_2_fc40| , \linebreak[0]\verb|imaxima| , \linebreak[0]\verb|5.47.0|\right)

(%i396) 

Discussion

  • David Billinghurst

    I don't understand why solveradcan:true returns implicit solutions. This isn't mentioned in the manual.

    Given the effect of solverradcan:true the effect of solveexplicit:true inhibiting implicit solutions is as documented,

    Maxima 5.47.0 https://maxima.sourceforge.io
    using Lisp CLISP 2.49+ (2010-07-17)
    Distributed under the GNU Public License. See the file COPYING.
    Dedicated to the memory of William Schelter.
    The function bug_report() provides bug reporting information.
    (%i1) display2d:false$
    (%i2) solve(x^(5^3)-x);
    (%o2) [x = %e^((%i*%pi)/62),x = %e^((%i*%pi)/31),x = %e^((3*%i*%pi)/62),
           x = %e^((2*%i*%pi)/31),x = %e^((5*%i*%pi)/62),x = %e^((3*%i*%pi)/31),
           x = %e^((7*%i*%pi)/62),x = %e^((4*%i*%pi)/31),x = %e^((9*%i*%pi)/62),
           x = %e^((5*%i*%pi)/31),x = %e^((11*%i*%pi)/62),x = %e^((6*%i*%pi)/31),
           x = %e^((13*%i*%pi)/62),x = %e^((7*%i*%pi)/31),x = %e^((15*%i*%pi)/62),
           x = %e^((8*%i*%pi)/31),x = %e^((17*%i*%pi)/62),x = %e^((9*%i*%pi)/31),
           x = %e^((19*%i*%pi)/62),x = %e^((10*%i*%pi)/31),
           x = %e^((21*%i*%pi)/62),x = %e^((11*%i*%pi)/31),
           x = %e^((23*%i*%pi)/62),x = %e^((12*%i*%pi)/31),
           x = %e^((25*%i*%pi)/62),x = %e^((13*%i*%pi)/31),
           x = %e^((27*%i*%pi)/62),x = %e^((14*%i*%pi)/31),
           x = %e^((29*%i*%pi)/62),x = %e^((15*%i*%pi)/31),x = %i,
           x = %e^((16*%i*%pi)/31),x = %e^((33*%i*%pi)/62),
           x = %e^((17*%i*%pi)/31),x = %e^((35*%i*%pi)/62),
           x = %e^((18*%i*%pi)/31),x = %e^((37*%i*%pi)/62),
           x = %e^((19*%i*%pi)/31),x = %e^((39*%i*%pi)/62),
           x = %e^((20*%i*%pi)/31),x = %e^((41*%i*%pi)/62),
           x = %e^((21*%i*%pi)/31),x = %e^((43*%i*%pi)/62),
           x = %e^((22*%i*%pi)/31),x = %e^((45*%i*%pi)/62),
           x = %e^((23*%i*%pi)/31),x = %e^((47*%i*%pi)/62),
           x = %e^((24*%i*%pi)/31),x = %e^((49*%i*%pi)/62),
           x = %e^((25*%i*%pi)/31),x = %e^((51*%i*%pi)/62),
           x = %e^((26*%i*%pi)/31),x = %e^((53*%i*%pi)/62),
           x = %e^((27*%i*%pi)/31),x = %e^((55*%i*%pi)/62),
           x = %e^((28*%i*%pi)/31),x = %e^((57*%i*%pi)/62),
           x = %e^((29*%i*%pi)/31),x = %e^((59*%i*%pi)/62),
           x = %e^((30*%i*%pi)/31),x = %e^((61*%i*%pi)/62),x = -1,
           x = %e^-((61*%i*%pi)/62),x = %e^-((30*%i*%pi)/31),
           x = %e^-((59*%i*%pi)/62),x = %e^-((29*%i*%pi)/31),
           x = %e^-((57*%i*%pi)/62),x = %e^-((28*%i*%pi)/31),
           x = %e^-((55*%i*%pi)/62),x = %e^-((27*%i*%pi)/31),
           x = %e^-((53*%i*%pi)/62),x = %e^-((26*%i*%pi)/31),
           x = %e^-((51*%i*%pi)/62),x = %e^-((25*%i*%pi)/31),
           x = %e^-((49*%i*%pi)/62),x = %e^-((24*%i*%pi)/31),
           x = %e^-((47*%i*%pi)/62),x = %e^-((23*%i*%pi)/31),
           x = %e^-((45*%i*%pi)/62),x = %e^-((22*%i*%pi)/31),
           x = %e^-((43*%i*%pi)/62),x = %e^-((21*%i*%pi)/31),
           x = %e^-((41*%i*%pi)/62),x = %e^-((20*%i*%pi)/31),
           x = %e^-((39*%i*%pi)/62),x = %e^-((19*%i*%pi)/31),
           x = %e^-((37*%i*%pi)/62),x = %e^-((18*%i*%pi)/31),
           x = %e^-((35*%i*%pi)/62),x = %e^-((17*%i*%pi)/31),
           x = %e^-((33*%i*%pi)/62),x = %e^-((16*%i*%pi)/31),x = -%i,
           x = %e^-((15*%i*%pi)/31),x = %e^-((29*%i*%pi)/62),
           x = %e^-((14*%i*%pi)/31),x = %e^-((27*%i*%pi)/62),
           x = %e^-((13*%i*%pi)/31),x = %e^-((25*%i*%pi)/62),
           x = %e^-((12*%i*%pi)/31),x = %e^-((23*%i*%pi)/62),
           x = %e^-((11*%i*%pi)/31),x = %e^-((21*%i*%pi)/62),
           x = %e^-((10*%i*%pi)/31),x = %e^-((19*%i*%pi)/62),
           x = %e^-((9*%i*%pi)/31),x = %e^-((17*%i*%pi)/62),
           x = %e^-((8*%i*%pi)/31),x = %e^-((15*%i*%pi)/62),
           x = %e^-((7*%i*%pi)/31),x = %e^-((13*%i*%pi)/62),
           x = %e^-((6*%i*%pi)/31),x = %e^-((11*%i*%pi)/62),
           x = %e^-((5*%i*%pi)/31),x = %e^-((9*%i*%pi)/62),
           x = %e^-((4*%i*%pi)/31),x = %e^-((7*%i*%pi)/62),
           x = %e^-((3*%i*%pi)/31),x = %e^-((5*%i*%pi)/62),
           x = %e^-((2*%i*%pi)/31),x = %e^-((3*%i*%pi)/62),x = %e^-((%i*%pi)/31),
           x = %e^-((%i*%pi)/62),x = 1,x = 0]
    (%i3) solve(x^(5^3)-x),solveradcan=true;
    (%o3) [x = 0,x = 1,x = -1,x = -%i,x = %i,
           0 = x^30+x^29+x^28+x^27+x^26+x^25+x^24+x^23+x^22+x^21+x^20+x^19+x^18
                   +x^17+x^16+x^15+x^14+x^13+x^12+x^11+x^10+x^9+x^8+x^7+x^6+x^5
                   +x^4+x^3+x^2+x+1,
           0 = x^30-x^29+x^28-x^27+x^26-x^25+x^24-x^23+x^22-x^21+x^20-x^19+x^18
                   -x^17+x^16-x^15+x^14-x^13+x^12-x^11+x^10-x^9+x^8-x^7+x^6-x^5
                   +x^4-x^3+x^2-x+1,
           0 = x^60-x^58+x^56-x^54+x^52-x^50+x^48-x^46+x^44-x^42+x^40-x^38+x^36
                   -x^34+x^32-x^30+x^28-x^26+x^24-x^22+x^20-x^18+x^16-x^14+x^12
                   -x^10+x^8-x^6+x^4-x^2+1]
    (%i4) solve(x^(5^3)-x),solveexplicit=true;
    (%o4) [x = %e^((%i*%pi)/62),x = %e^((%i*%pi)/31),x = %e^((3*%i*%pi)/62),
           x = %e^((2*%i*%pi)/31),x = %e^((5*%i*%pi)/62),x = %e^((3*%i*%pi)/31),
           x = %e^((7*%i*%pi)/62),x = %e^((4*%i*%pi)/31),x = %e^((9*%i*%pi)/62),
           x = %e^((5*%i*%pi)/31),x = %e^((11*%i*%pi)/62),x = %e^((6*%i*%pi)/31),
           x = %e^((13*%i*%pi)/62),x = %e^((7*%i*%pi)/31),x = %e^((15*%i*%pi)/62),
           x = %e^((8*%i*%pi)/31),x = %e^((17*%i*%pi)/62),x = %e^((9*%i*%pi)/31),
           x = %e^((19*%i*%pi)/62),x = %e^((10*%i*%pi)/31),
           x = %e^((21*%i*%pi)/62),x = %e^((11*%i*%pi)/31),
           x = %e^((23*%i*%pi)/62),x = %e^((12*%i*%pi)/31),
           x = %e^((25*%i*%pi)/62),x = %e^((13*%i*%pi)/31),
           x = %e^((27*%i*%pi)/62),x = %e^((14*%i*%pi)/31),
           x = %e^((29*%i*%pi)/62),x = %e^((15*%i*%pi)/31),x = %i,
           x = %e^((16*%i*%pi)/31),x = %e^((33*%i*%pi)/62),
           x = %e^((17*%i*%pi)/31),x = %e^((35*%i*%pi)/62),
           x = %e^((18*%i*%pi)/31),x = %e^((37*%i*%pi)/62),
           x = %e^((19*%i*%pi)/31),x = %e^((39*%i*%pi)/62),
           x = %e^((20*%i*%pi)/31),x = %e^((41*%i*%pi)/62),
           x = %e^((21*%i*%pi)/31),x = %e^((43*%i*%pi)/62),
           x = %e^((22*%i*%pi)/31),x = %e^((45*%i*%pi)/62),
           x = %e^((23*%i*%pi)/31),x = %e^((47*%i*%pi)/62),
           x = %e^((24*%i*%pi)/31),x = %e^((49*%i*%pi)/62),
           x = %e^((25*%i*%pi)/31),x = %e^((51*%i*%pi)/62),
           x = %e^((26*%i*%pi)/31),x = %e^((53*%i*%pi)/62),
           x = %e^((27*%i*%pi)/31),x = %e^((55*%i*%pi)/62),
           x = %e^((28*%i*%pi)/31),x = %e^((57*%i*%pi)/62),
           x = %e^((29*%i*%pi)/31),x = %e^((59*%i*%pi)/62),
           x = %e^((30*%i*%pi)/31),x = %e^((61*%i*%pi)/62),x = -1,
           x = %e^-((61*%i*%pi)/62),x = %e^-((30*%i*%pi)/31),
           x = %e^-((59*%i*%pi)/62),x = %e^-((29*%i*%pi)/31),
           x = %e^-((57*%i*%pi)/62),x = %e^-((28*%i*%pi)/31),
           x = %e^-((55*%i*%pi)/62),x = %e^-((27*%i*%pi)/31),
           x = %e^-((53*%i*%pi)/62),x = %e^-((26*%i*%pi)/31),
           x = %e^-((51*%i*%pi)/62),x = %e^-((25*%i*%pi)/31),
           x = %e^-((49*%i*%pi)/62),x = %e^-((24*%i*%pi)/31),
           x = %e^-((47*%i*%pi)/62),x = %e^-((23*%i*%pi)/31),
           x = %e^-((45*%i*%pi)/62),x = %e^-((22*%i*%pi)/31),
           x = %e^-((43*%i*%pi)/62),x = %e^-((21*%i*%pi)/31),
           x = %e^-((41*%i*%pi)/62),x = %e^-((20*%i*%pi)/31),
           x = %e^-((39*%i*%pi)/62),x = %e^-((19*%i*%pi)/31),
           x = %e^-((37*%i*%pi)/62),x = %e^-((18*%i*%pi)/31),
           x = %e^-((35*%i*%pi)/62),x = %e^-((17*%i*%pi)/31),
           x = %e^-((33*%i*%pi)/62),x = %e^-((16*%i*%pi)/31),x = -%i,
           x = %e^-((15*%i*%pi)/31),x = %e^-((29*%i*%pi)/62),
           x = %e^-((14*%i*%pi)/31),x = %e^-((27*%i*%pi)/62),
           x = %e^-((13*%i*%pi)/31),x = %e^-((25*%i*%pi)/62),
           x = %e^-((12*%i*%pi)/31),x = %e^-((23*%i*%pi)/62),
           x = %e^-((11*%i*%pi)/31),x = %e^-((21*%i*%pi)/62),
           x = %e^-((10*%i*%pi)/31),x = %e^-((19*%i*%pi)/62),
           x = %e^-((9*%i*%pi)/31),x = %e^-((17*%i*%pi)/62),
           x = %e^-((8*%i*%pi)/31),x = %e^-((15*%i*%pi)/62),
           x = %e^-((7*%i*%pi)/31),x = %e^-((13*%i*%pi)/62),
           x = %e^-((6*%i*%pi)/31),x = %e^-((11*%i*%pi)/62),
           x = %e^-((5*%i*%pi)/31),x = %e^-((9*%i*%pi)/62),
           x = %e^-((4*%i*%pi)/31),x = %e^-((7*%i*%pi)/62),
           x = %e^-((3*%i*%pi)/31),x = %e^-((5*%i*%pi)/62),
           x = %e^-((2*%i*%pi)/31),x = %e^-((3*%i*%pi)/62),x = %e^-((%i*%pi)/31),
           x = %e^-((%i*%pi)/62),x = 1,x = 0]
    (%i5) solve(x^(5^3)-x),solveradcan=true,solveexplicit=true;
    (%o5) [x = 0,x = 1,x = -1,x = -%i,x = %i]
    
     
  • Stavros Macrakis

    Simpler:

    solveradcan:true$
    solve(x^8-x) => [x = 0,x = 1,0 = x^6+x^5+x^4+x^3+x^2+x+1]
    

    solveexplicit:true is orthogonal to this issue and is working correctly -- it simply omits the last part, the implicit solution.

     
    • dao

      dao - 2024-09-08

      Get it, thanks a lot.

       
  • Stavros Macrakis

    • labels: --> solve, solveradcan
     

Log in to post a comment.