John May

Dr. John May

2351 Reputation

17 Badges

12 years, 66 days
Pasadena, California, United States

Social Networks and Content at

Maple Application Center

I am a Senior Developer in the Mathematical Software Group and have been with Maplesoft since 2007. I am also an Adjunct Assistant Professor in the School of Computer Science at the University of Waterloo.

I have a Ph.D in Mathematics from North Carolina State University as well as Masters and Bachelors degrees from the University of Oregon. I have been working on research in computational mathematics since 1997.

My main research interests in are computational linear and polynomial algebra, especially numerical polynomial algebra. I currently work on the exact algebraic solvers as well as other subsystems of Maple.

MaplePrimes Activity

These are replies submitted by John May

You should edit your post and upload a copy of your worksheet with the green arrow button.  It is very diffult to help you with just a screenshot of your problem.

@acer It's worth noting, that you don't need the awkward evalf(Int( syntax.  You can use the 'numeric' option:

int(Fg, [0..1, 0..2.2], numeric,  epsilon=1e-9);

or just make sure the limits of integration are floating point:

int(Fg, [0.0..1.0, 0.0..2.2], epsilon=1e-9);


When I try it, it appears to work fine for me in Maple 2016.2.  When checking be sure to: remove all the old output from your worksheet, restart, and re-execute. 

Maple will solve inequalities with parameters in them, but only if the expressions are rational functions.  So, the sqrt in your problem makes things tricker.

Here is an example of that where your expression has been multiplied by its conjugate:

expr:=0 < 2*b^2*(10*a*K+3*K*b-sqrt((K+(2*a*K+1)/b)^2-4*K/b)*b+5)*(10*a*K+3*K*b+sqrt((K+(2*a*K+1)/b)^2-4*K/b)*b+5);
solve( expand~(expr), {a}, parametric);


@tomleslie Playing around, Digits:=30; might be enough but Digits:=25 is not enough.

Just a note:  while solve may sometimes give a bare RootOf() as an answer, the usage pattern of allvalues( RootOf(equation, variable) );  is almost never better than calling solve(equations, variable); unless you know exactly what you are doing.

I think the command you are looking for is msolve.

Are you just trying to test ideal membership or are you trying to do something more esoteric than that?

You could start at the help page for repetition statemetns in Maple if you need more help than that, you may need to include more details about what you are trying to do.

Joe keeps a GitHub project of the Emacs Maple Mode.  Last updated two years ago I think.

Check your constraints as a first step. It looks like Maple's Optimization routines can't find any values which satisfy those (even with integer and non-negative assumptions removed).

@Zeineb Even if you install the third-party DirectSearch package, I doubt it will be able to solve your n=100 problem (10,000 equations!).  I suspect you need to reformulate to something that can be handled by a specialty numerical library.

@mehdibaghaee I would have to see your full problem to say for sure, but if you are doing assignments in a loop, you could instead do evaluations in the loop -- but in that case you should use map[inplace](eval, M, {a=0}) (e.g.) to avoid copying at matrix at each evaluation.  Another option might to use rtable_eval(Mm__11, inplace) to force evaluation of the assigned symbols to modify the Matrix.

@tomleslie If you read more carefully, you'll see it's only four unknowns.  The @bogus5331 has just not provided us with those values explicitly (you can see that only the four unknowns in the fsolve command appear in the pasted ascii 2D-output)

PolynomialTools:-Splits will get you part of the way there, but then you're faced with the problem of identifying real linear factors, and combining the complex ones.   I don't, right off, know an out of the box solution that gives a purely real factorization.

1 2 3 4 5 6 7 Last Page 2 of 19