I have cc'd this to the FriCAS list in hopes of getting more feedback.

On Wed, Jul 18, 2018 at 3:19 PM, Raymond Rogers
<[email protected]> wrote:
>     Finally got back to this.  Success and (3*x*y+5*y*x)^3 takes
> almost  exactly the same amount of time with your process and
> mine.
> Some organization questions.

> 1) I downloaded the ncpoly package from github and there seems to be a wide
> discrepancy between nc_ini04.input between the two; so I used your attached
> one.  The attached works fine.

> 2) The xdpoly_fact.input had a XDP assignment p_1 before function
>definition but I just commented it out.

No problem. This is just temporary initialization for test/development
anyway. We really need a proper testsuite-style input file to include
in the distribution.

> 3) I can't
>     )trace factor
>     I presume that this buried some way.

?? buried ??  I almost never use )trace so maybe this isn't quite what
you meant. First note that in this case 'factor' is not exported by a
domain but rather it is a function/operator exported by the package
called XDPOLYF1.

This seems to work:

(45) -> )trace XDPOLYF1 )ops factor

   Packages traced:
      XDistributedPolynomialFunctions1([x,y,z,w,x1,x2,x3,x4,x5],
            Integer)
   Parameterized constructors traced:
      XDPOLYF1

(45) -> factor f10
 1<enter XDistributedPolynomialFunctions1.factor,142 : (((#1=(1 . 1)
...
 1>exit  XDistributedPolynomialFunctions1.factor,142 : ((((#1=(1 . 1)
                                                           #2=(2 . 1))
                                                          . -1)
                                                         (NIL . 1))
                                                        ((((2 . 1) #1#) . 1)
                                                         (NIL . 2))
                                                        (((#2# (3 . 1)) . -1)
                                                         (NIL . 3))
                                                        ((((3 . 1) #2#) . -1)
                                                         (NIL . 2))
                                                        (((#1# (3 . 1)) . -1)
                                                         (NIL . 1)))

   (45)  [1 - x y, 2 + y x, 3 - y z, 2 - z y, 1 - x z]
Type: 
List(XDistributedPolynomial(OrderedVariableList([x,y,z,w,x1,x2,x3,x4,x5]),Integer))
                                                   Time: 0.70 (EV) = 0.70 sec
(46) ->


> Should I write a factor wrapper
> factor_1 (probably three lines) to use     trace timing although that
> won't allow me to peek inside but I don't particularly want to if it
> works.

I am not sure. You might be able to get better advice from other
people who are more familiar with using the )trace facilities.

> 4) Your f10 seems to have a problem; have you resolved it or do
> you think it's intrinsic?

The main limitation has to do with the total number of equations (>> 1000).

> I keep hoping to think of some trick to get my extended
> polynomial and things like f10 under control.
>  "no joy in Mudville"
>

The code that I committed yesterday to ncpoly on github yesterday
contains a heuristic that allows the f10 example to be computed in a
few seconds. It seems that using this technique it is possible to
factor dense non-commutative polynomials up to at least degree 10.
Some sparse polynomials of higher degree also work but it seems easy
generate examples that fail or take too long (> 5 minutes).

>     Finally, my mind pulled up some references from the distant past:
> Integral Matrices by Morris Newman and my Generating Function work.
> It amazing how similar the equations and procedures are to Konrad's
> references.
> Unfortunately Morris's relevant development seems concentrated on
> commutative Principal Ideal Rings whereas the nc_poly theory is based
> on noncommunative Principal Ideal Rings (which I really hope is proved
> somewhere in the references).
>     In any case I will get back to the test harness construction shortly.
> Probably not for a couple of days, I am going to try out using a SSD
> and usually manage to expand an hours worth of work to days.  I'll
> see.
>

As I see it, the xdpoly stuff is mostly separate from Konrad's ncpoly
domain but it may be useful for testing and as a benchmark.

> Are you going to push your recent coding to github?
>

See:

https://github.com/billpage/ncpoly/blob/master/xdpolyf1.spad

Please pull the new version.  I have also included a lot more comments
in the code.  I would be happy to receive comments and questions.

Bill Page.

-- 
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