On 10/22/18 9:55 AM, Waldek Hebisch wrote:
> I looked ate noncommutative factorization code and AFAICS
> 'xdpolyf1.spad' has serious problem.  One example is:
> 
> (58) -> factor((x^2 - 2)*(y - 1)*(x - 1))
> 
>                                      2    2     3    2
>    (58)  [- 2 + 2 y + 2 x - 2 y x + x  - x y - x  + x y x]
> Type: 
> List(XDistributedPolynomial(OrderedVariableList([x,y,z,w,x1,x2,x3,x4,x5]),Integer))
> 
> that is '(x^2 - 2)*(y - 1)*(x - 1)' is treated as irreducible.
> 
> More generally, factorization via equation solving directly
> gives absolute factorization, that is factorization over algebraic
> closure of base field.  To get factorization over base field
> one needs to recombine factors.  IIUC 'xdpolyf1.spad' tries
> various tricks to avoid algebraic extentions, but this is
> very unlikely to work in general.
> 
I tried this on my saved version (part of a test -harness) and it works
correctly.
Here is the result
(52) -> aa:=(x^2 - 2)*(y - 1)*(x - 1)

                                    2    2     3    2
   (52)  - 2 + 2 y + 2 x - 2 y x + x  - x y - x  + x y x
Type:
XDistributedPolynomial(OrderedVariableList([x,y,z]),Fraction(MultivariatePolynomial([a,b,c,d,e],Integer)))
(53) -> factor(aa)

                 2
   (53)  [- 2 + x , 1 - y, 1 - x]
Type:
List(XDistributedPolynomial(OrderedVariableList([x,y,z]),Fraction(MultivariatePolynomial([a,b,c,d,e],Integer))))
--
Attached is a test file.
Let me know if you are interested in a full test suite and harness?
I also have Konrad Schrempf's next to last entry solving factoring.
I have personal copies (more than I need) of both with a plethora of
testing :)
I defined "aa" to make sure there was no "cheating"; i.e. inadvertent
peeking by any program

RayR

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To post to this group, send email to fricas-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.
--
--
-- Noncommunative testing
-- Using Bill Page's process
--
)clear all
--)set break resume
)expose UnittestCount UnittestAux Unittest
)set break resume
)expose UnittestCount UnittestAux Unittest
)r nc_ini04
--
aa:=(x^2 - 2)*(y - 1)*(x - 1)

factor(aa)                   

--

Reply via email to