John May

Dr. John May

2761 Reputation

18 Badges

17 years, 90 days
Maplesoft
Pasadena, California, United States

Social Networks and Content at Maplesoft.com

Maple Application Center
I have been a part of the Mathematical Software Group at Maplesoft since 2007. 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. I currently work on symbolic solvers and visualization as well as other subsystems of Maple.

MaplePrimes Activity


These are replies submitted by John May

Joe keeps a GitHub project of the Emacs Maple Mode.  Last updated two years ago I think. https://github.com/JoeRiel/maplev

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.

Something to be aware of.  For each value of epsilon, your system has (generically) has four solutions.  fsolve by default only returns one of the solutions to a system. See with:

sol := solve({eq3, eq4, eq5, eq6}, {d[0], d[1], d[2], d[3]});
sols := allvalues(sol):
evalf(eval([sols], epsilon = -1/10));

 

It is possible to call Matlab solvers, but in fact Matlab mostly uses all the same numerical numerical solvers that Maple does ( ATLAS / MLK / LAPACK ).   The key to getting at the speed in Maple is making sure your matrix is stored as a hardware floating point (datatype=float[8]) array so that you avoid expensive copy and conversion overhead when you call linear algebra routines.

@AmusingYeti creating a function f as a procedure and then plotting it as a function call  plot(f(x), x=0..5) is a classic anti-pattern in Maple, it works OK in many cases, but you are almost always better off plotting the procedure directly:

plot(f, x=0..5);
plot(2*f, x=0..5);

etc

hellohihihi,

I would be interested to see your system of equations (and inequations), since solve will almost always call SolveTools:-PolynomialSystem directly on problems that are purely polynomial and so it should not usually be slower to use solve instead.

John

This seems to be hard one.   I stopped it after 17 hours on my i7.

memory used=7230230.4MB, alloc=5588.3MB, time=62626.80

John

This seems to be hard one.   I stopped it after 17 hours on my i7.

memory used=7230230.4MB, alloc=5588.3MB, time=62626.80

John

I am unable to view the file in the link (I get a login screen).  Is it possible to host it somewhere else?

 

John

Talking about trees all the time does not always make one very poplar.

 

John

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