> 
> http://axiom-wiki.newsynthesis.org/SandBoxBugGroebnerFactorize
> 
> A simple example of Groebner factorization works:
<snip>
> 
> But the following moderately complex problem fails:
> 
> --
> ideq2:LIST(POLY(FRAC(SMP(INT,OVAR([mp,mq,mr,yqp,yrp,yrq])))))  := [ _
<snip>
> groebnerFactorize ideq2
> --
> 
> with the message
> 
> >> Error detected within library code:
>    index out of range
> 
> The error apparently originates from 'npcoef.spad' in:
> 
> --
>   check(tterm:TermC,ulist:Vector(P)) : Union(Detc,"failed") ==
>     cfu:P := 1$P;doit:NNI := 0;poselt:NNI := 0;pp:Union(P,"failed")
>     termlist : List(VTerm) := tterm.detfacts
>     vterm : VTerm := empty()
>     #termlist = 1 =>
>       vterm := termlist.first
>       for elterm in vterm while doit<2 repeat
>         (cu1 := elterm.pcoef) ~= 0 => cfu := cu1*cfu
>         doit := doit+1
>         poselt := position(elterm, vterm)::NNI
>       doit = 2  or (pp := tterm.coefu exquo cfu) case "failed" => "failed"
>       [vterm.poselt.expt, pp::P, poselt]$Detc
>     "failed"
> --
> 
> It looks like this line:
> 
>         (cu1 := elterm.pcoef) ~= 0 => cfu := cu1*cfu
> 
> causes premature exit from the loop and really should be:
> 
>         if (cu1 := elterm.pcoef) ~= 0 then cfu := cu1*cfu
> 
> in order that poselt be set properly on exit from the loop. But I am
> not entirely clear on what is happening here or why and the
> documentation in the source code is rather minimal.
> 
> In any case after fixing the index problem as above, another problem arises:
> 
>  >> Error detected within library code:
>    Table construction failed in MLIFT
> 
> in 'mlift.spad'.
> 
> At this point I am rather lost, not being sufficiently familiar with
> exactly what is supposed to be happening here. All I see is that 0's
> seem to end up unexpectedly in the list of polynomials.

npcoef.spad is a heuristic to recover factorization if it is sparse
enough.  The same idea is described in L. Bernaridin thesis on
multivariate factorization.

AFAICS the problem you describe are really a factorizer problem.
It is probably triggered by nested types.  The first thing to
do is to find out which polynomial is being factorized and
what are involved types.

I will look at the poblem.  Unfortunately I am busy with other
work and I have limited connectivity, so my response is slow.

-- 
                              Waldek Hebisch

-- 
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to