Mr. Roman Pearce

## 1673 Reputation

17 years, 306 days
CECM/SFU
Research Associate

I am a research associate at Simon Fraser University and a member of the Computer Algebra Group at the CECM.

## Groebner[InterReduce]...

Can you post the polynomials so I can check for a bug?

InterReduce does not use the F4 algorithm.  It uses the same code as Groebner[Reduce] in a double loop, however after a polynomial is reduced it may have a smaller leading monomial, in which case you must start part of the reduction process over again.  If you have a Groebner basis then this won't happen.  The purpose of the command is to reduce Groebner bases.

Depending on your situation, you may be better off simply computing a Groebner basis.

## sequence...

Use the seq command to construct a sequence. Enclose the result in square brackets to get a list.  S := [seq(fsolve({eq1,eq2},{x,y}), beta=0..10)]: S[1];  Also, substitute a solution into [x,y] to get a point. You can make sequences out of lists.  subs(S[1], [x,y]); seq(subs(i, [x,y]), i=S); 

## trash Maple and reinstall (Mac OS X)...

You can trash your Maple 12 installation on OS X and reinstall. Open a terminal and type the following: sudo bash rm -rf /Library/Frameworks/Maple.framework/Versions/12 Then delete Maple from the Applications folder. Hopefully when you reinstall it will work. If not, does the same thing happen ?

## paraview...

You might want to try Paraview. It's free and open source. http://www.paraview.org/ I found the software a little tricky to learn at first but there is good documentation, and once you understand that everything is run through filters the design makes sense.

## Faking Maple in Latex...

I've done exactly this. Try these macros (from Jeff Farr): \def\MapleInput#1{\noindent{{\small $>$ {\tt #1} }}} \def\MapleOutput#1{{\begin{center} #1\end{center}}} \def\MapleWarning#1{\noindent{{\small {\tt #1}}}} Example usage: \MapleInput{f := randpoly([x,y,z]);} \MapleOutput{$f := 87 x y - 56 x y z^2 - 62 x^2 z^3 + 97 x y^3 z - 73 y z^4$}

## parallel algorithms...

Parallel algorithms are generally not used by Maple yet, except for dense numerical linear algebra. Granted, some of the problems are hard, but the software industry largely dropped the ball. It also doesn't make sense to parallelize anything that has a lot of overhead. For example, if something can be made 10x faster then you really ought to do that first. There are a lot of things in Maple like that, but I'm not sure if plotting is one of them anymore since a lot of work was done since Maple 11.

## Groebner bases over GF(2^m)...

First you need to choose a representation for the field. You need a minimal polynomial that is irreducible mod 2. Try Factor(f) mod 2; to test, or you can use the GF package to generate one. In Maple you represent the roots of polynomials using RootOf expressions, i.e. RootOf(f); Then elements of the field are polynomials in that expression. It may help to create an alias, for example alias(alpha=RootOf(Z^3+Z+1)) creates a short name alpha that you can use. Maple's gcd and factor commands understand RootOfs and so does the Groebner package. To compute Groebner bases over GF(p^k) you will need to specify the optional argument characteristic=2 to force everything to run mod 2. For example: alias(alpha=RootOf(Z^3+Z+1)); F := {alpha*x*y+alpha^2+1, alpha^2*x^2-1}; G := Groebner[Basis](F, plex(x,y), characteristic=2); Be aware that unlike Magma (not sure about Sage), Maple's Groebner basis code does not use any special representations for elements of finite fields. This makes Maple slow for large problems. What it will actually do behind the scenes is convert the RootOfs to a variable and introduce the minimal polynomial into the generating set. Maple has some good algorithms, like Faugere's FGb (compiled C), a Maple version of F4 that supports parameters, FGLM, and the Groebner Walk, but the performance of the Maple code is not at the level of dedicated software written in C.

## 10 minute rule...

If it takes more than 10 minutes then the software is too slow and I would look for alternatives. What type of calculations are you doing ?

## bug...

This is definitely a bug in RootFinding:-Isolate. Could you please post the system which produces this error ? As an alternative, you might try the fsolve command. If you post the system I may be able to give you other suggestions as well.

## Can't open file...

I can't even open your file. It is has been a few minutes now and the Maple interface is using 700MB of RAM!

## low level routines...

You can't interrupt extremely low level routines, like integer operations. On one hand, Maple is using external libraries like GMP to do these operations. These libraries do not know anything about Maple, so there is a software engineering problem. Second, computations like these use very tight inner loops, taking < 5 cycles. You simply can't insert any sort of test into these loops.

Compute powers of the adjacency matrix.

## Try computing them mod 1000,...

Try computing them mod 1000, then use Floyd's cycle detection algorithm to detect a cycle.

## external C, Mac OS X...

Has anyone ever written procedures in C that can be called from Maple on MAC OS X? Yes, lots of it. However I don't use Xcode so you'll have to bear with me. It looks like Maple is trying to generate the required wrapper, but can't. Check that Maple's security settings allow this. Under "Maple 11" -> "Preferences", the "Security" tab, check "Enable system/ssystem commands". Let me know if that works.

## too large...

I can't believe this was solved.
 First 8 9 10 11 12 13 14 Last Page 10 of 19
﻿