Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Factor[2*y^6- x*y^3 -3*x^2] doesn't always return a factorization #36

Open
axkr opened this issue Jul 20, 2023 · 0 comments
Open

Factor[2*y^6- x*y^3 -3*x^2] doesn't always return a factorization #36

axkr opened this issue Jul 20, 2023 · 0 comments

Comments

@axkr
Copy link
Contributor

axkr commented Jul 20, 2023

Can the case Factor[2*y^6- x*y^3 -3*x^2] be made more reliable in returning the solution (x+y^3)*(-3*x+2*y^3) ?

In most of the cases it returns -3*x^2-x*y^3+2*y^6

See some random execution with JAS logs:

>> Factor[2*y^6- x*y^3 -3*x^2]
In[1]:= Factor[2*y^6- x*y^3 -3*x^2]
4761 WARN  [main] edu.jas.ufd.FactorInteger - found         points   : V = [371], dei = []
4765 WARN  [main] edu.jas.ufd.FactorInteger - no evaluation point for: P = 2 y^6 - x * y^3 - 3 x^2, prr = ( ( -3 )  ) x^2 - y^3 x + 2 y^6 , lprr = ( -3 ) , lfacs = []
4953 WARN  [main] edu.jas.ufd.FactorInteger - found         points   : V = [371], dei = []
4953 WARN  [main] edu.jas.ufd.FactorInteger - no evaluation point for: P = 2 y^6 - x * y^3 - 3 x^2, prr = ( ( -3 )  ) x^2 - y^3 x + 2 y^6 , lprr = ( -3 ) , lfacs = []
4957 WARN  [main] edu.jas.ufd.FactorInteger - optimized ring: BigInteger( y,x ) INVLEX , original ring: BigInteger( x,y ) INVLEX 
5577 WARN  [main] edu.jas.ufd.FactorInteger - found         points   : V = [371], dei = []
5577 WARN  [main] edu.jas.ufd.FactorInteger - no evaluation point for: P = ( -3 ) x^2 - y^3 * x + 2 y^6, prr = 2  y^6 - x y^3 - 3 x^2 , lprr = 2 , lfacs = []
5577 WARN  [main] edu.jas.ufd.FactorInteger - optimized ring: BigInteger( y,x ) INVLEX , original ring: BigInteger( x,y ) INVLEX 
5990 WARN  [main] edu.jas.ufd.FactorInteger - found         points   : V = [371], dei = []
5990 WARN  [main] edu.jas.ufd.FactorInteger - no evaluation point for: P = ( -3 ) x^2 - y^3 * x + 2 y^6, prr = 2  y^6 - x y^3 - 3 x^2 , lprr = 2 , lfacs = []
5991 WARN  [main] edu.jas.ufd.FactorInteger - factorsSquarefreeHensel not applicable or failed, reverting to Kronecker for: 2 y^6 - x * y^3 - 3 x^2
5992 WARN  [main] edu.jas.ufd.FactorAbstract - no multivariate factorization for 2 y^6 - x * y^3 - 3 x^2: falling back to Kronecker algorithm in PolyRing(ZZ(),"x,y",Order.INVLEX)
Out[1]= -3*x^2-x*y^3+2*y^6
>> Factor[2*y^6- x*y^3 -3*x^2]
In[2]:= Factor[2*y^6- x*y^3 -3*x^2]
10393 WARN  [main] edu.jas.ufd.FactorInteger - found         points   : V = [-371], dei = []
10393 WARN  [main] edu.jas.ufd.FactorInteger - no evaluation point for: P = 2 y^6 - x * y^3 - 3 x^2, prr = ( ( -3 )  ) x^2 - y^3 x + 2 y^6 , lprr = ( -3 ) , lfacs = []
10507 WARN  [main] edu.jas.ufd.FactorInteger - found         points   : V = [-371], dei = []
10507 WARN  [main] edu.jas.ufd.FactorInteger - no evaluation point for: P = 2 y^6 - x * y^3 - 3 x^2, prr = ( ( -3 )  ) x^2 - y^3 x + 2 y^6 , lprr = ( -3 ) , lfacs = []
10508 WARN  [main] edu.jas.ufd.FactorInteger - optimized ring: BigInteger( y,x ) INVLEX , original ring: BigInteger( x,y ) INVLEX 
10891 WARN  [main] edu.jas.ufd.FactorInteger - found         points   : V = [-370], dei = []
10891 WARN  [main] edu.jas.ufd.FactorInteger - no evaluation point for: P = ( -3 ) x^2 - y^3 * x + 2 y^6, prr = 2  y^6 - x y^3 - 3 x^2 , lprr = 2 , lfacs = []
10891 WARN  [main] edu.jas.ufd.FactorInteger - optimized ring: BigInteger( y,x ) INVLEX , original ring: BigInteger( x,y ) INVLEX 
10901 WARN  [main] edu.jas.ufd.FactorInteger - end notLucky loop, trial parts = 4
10908 WARN  [main] edu.jas.ufd.FactorInteger - de-optimized polynomials: [2 y^3 - 3 x, y^3 + x]
Out[2]= (x+y^3)*(-3*x+2*y^3)
>> Factor[2*y^6- x*y^3 -3*x^2]
In[3]:= Factor[2*y^6- x*y^3 -3*x^2]
15669 WARN  [main] edu.jas.ufd.FactorInteger - found         points   : V = [-371], dei = []
15669 WARN  [main] edu.jas.ufd.FactorInteger - no evaluation point for: P = 2 y^6 - x * y^3 - 3 x^2, prr = ( ( -3 )  ) x^2 - y^3 x + 2 y^6 , lprr = ( -3 ) , lfacs = []
15777 WARN  [main] edu.jas.ufd.FactorInteger - found         points   : V = [-371], dei = []
15778 WARN  [main] edu.jas.ufd.FactorInteger - no evaluation point for: P = 2 y^6 - x * y^3 - 3 x^2, prr = ( ( -3 )  ) x^2 - y^3 x + 2 y^6 , lprr = ( -3 ) , lfacs = []
15778 WARN  [main] edu.jas.ufd.FactorInteger - optimized ring: BigInteger( y,x ) INVLEX , original ring: BigInteger( x,y ) INVLEX 
16119 WARN  [main] edu.jas.ufd.FactorInteger - found         points   : V = [371], dei = []
16119 WARN  [main] edu.jas.ufd.FactorInteger - no evaluation point for: P = ( -3 ) x^2 - y^3 * x + 2 y^6, prr = 2  y^6 - x y^3 - 3 x^2 , lprr = 2 , lfacs = []
16119 WARN  [main] edu.jas.ufd.FactorInteger - optimized ring: BigInteger( y,x ) INVLEX , original ring: BigInteger( x,y ) INVLEX 
16478 WARN  [main] edu.jas.ufd.FactorInteger - found         points   : V = [-370], dei = []
16479 WARN  [main] edu.jas.ufd.FactorInteger - no evaluation point for: P = ( -3 ) x^2 - y^3 * x + 2 y^6, prr = 2  y^6 - x y^3 - 3 x^2 , lprr = 2 , lfacs = []
16479 WARN  [main] edu.jas.ufd.FactorInteger - factorsSquarefreeHensel not applicable or failed, reverting to Kronecker for: 2 y^6 - x * y^3 - 3 x^2
16479 WARN  [main] edu.jas.ufd.FactorAbstract - no multivariate factorization for 2 y^6 - x * y^3 - 3 x^2: falling back to Kronecker algorithm in PolyRing(ZZ(),"x,y",Order.INVLEX)
Out[3]= -3*x^2-x*y^3+2*y^6

BTW: I switched off the internal cache for results from Factor to get always a new execution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant