JacquesC

Prof. Jacques Carette

2401 Reputation

17 Badges

20 years, 77 days
McMaster University
Professor or university staff
Hamilton, Ontario, Canada

Social Networks and Content at Maplesoft.com

From a Maple perspective: I first started using it in 1985 (it was Maple 4.0, but I still have a Maple 3.3 manual!). Worked as a Maple tutor in 1987. Joined the company in 1991 as the sole GUI developer and wrote the first Windows version of Maple (for Windows 3.0). Founded the Math group in 1992. Worked remotely from France (still in Math, hosted by the ALGO project) from fall 1993 to summer 1996 where I did my PhD in complex dynamics in Orsay. Soon after I returned to Ontario, I became the Manager of the Math Group, which I grew from 2 people to 12 in 2.5 years. Got "promoted" into project management (for Maple 6, the last of the releases which allowed a lot of backward incompatibilities, aka the last time that design mistakes from the past were allowed to be fixed), and then moved on to an ill-fated web project (it was 1999 after all). After that, worked on coordinating the output from the (many!) research labs Maplesoft then worked with, as well as some Maple design and coding (inert form, the box model for Maplets, some aspects of MathML, context menus, a prototype compiler, and more), as well as some of the initial work on MapleNet. In 2002, an opportunity came up for a faculty position, which I took. After many years of being confronted with Maple weaknesses, I got a number of ideas of how I would go about 'doing better' -- but these ideas required a radical change of architecture, which I could not do within Maplesoft. I have been working on producing a 'better' system ever since.

MaplePrimes Activity


These are answers submitted by JacquesC

In Maple, a plot is a value. So if you want to return 2 plots, you must do so explicitly. In other words, plot is not a command (like print) but a function. Change your code to give names to each plot (like say
p1 := plots[listdensity]plot(...
and
p2 := plot(...
then make the last line
p1,p2
Note that this will return 2 plot data structures, not 2 plots per se. But if you call your routine like
(mp1, mp2) := Energy(5):
then you can display things via
mp1;mp2;
The following code is proper Maple that translates to C correctly:
A := proc (k::integer)
local mysum::numeric;
for k from 1 by 1 to 10 do
    mysum := 1+2*k
end do;
end proc:
Of course, that is probably not the code you want, but rather
A := proc (k::integer)
local mysum::numeric;
mysum := 0:
for k from 1 by 1 to 10 do
    mysum := mysum + 2*k
end do;
end proc:
Answer to your second question: not really. Meaning that you can fake it, but Maple will copy the Array and it will take linear time to do this. This is a really bad programming idiom anyways! In maple, it is best to use a table for this kind of work. It is fully dynamic, you don't need to worry about allocation at all. Plus it comes with handy functions like indices and entries that make question 1 very easy to answer.
The problem is that the solution of the differential equation does not depend linearly on a, b and c. So you can't quite use a least squares method (directly) to do it. I would take a look at Statistics[NonlinearFitMatrixForm] and Optimization[LSSolve]. Good luck.
What do you mean by 3D image? The drawing tools are nice, but they are more designed to allow you to add some free form stuff to something that Maple generated rather than replacing products like Photoshop or the Gimp !
Why do you need source code? That seems like an odd request -- why can't you use the various generators that Maple offers?
I believe your questions are answered in the freely downloadable MapleTA manual available from The Documentation Center on Maplesoft's web site.
If I was designing MapleTA, then what you entered would be correct indeed. What it produced assumes that all questions are rather naive and zero-testing is a trivial problem -- may as well not involve Maple at all then! Hopefully someone will give you an official answer, as this is rather puzzling.
However, going back to the way things were posted at the root post: wouldn't it be nice if Maple and dsolve understood the usual vector and matrix notation for systems of DEs, in the form that appears in most textbooks? What acer gives is a correct encoding of that into something Maple will understand -- but isn't all that encoding and CS-ese a bit of a pain?
Following on Scott03's good advice, posting a document or two would also help a lot. It's hard to debug anything when you don't have a test case that reproduces the problem.
This has come up a few times already. What you want is
Tent:= array(1..7);
for i from 1 to 7 do
    Tent[i]:= unapply(christoffel[i]+v^i, v);
end do;
In fact, you should probably be using an Array, and then that would be
Tent := Array(1..7, i->unapply(christoffel[i]+v^i,v));
Remember, if you are writing an explicit for in Maple, at least 80% of the time, that's not the right way to do things.
I believe what you want may be achieved via a 'stop condition', see ?dsolve,Stop_Conditions
select(x->max(op(convert(x[1..-1,3],list))) <= 15, op(1,p2)); where I ran it using f := (x,y) -> 15*x + 8*y; as a test case that gave me the expected answer.
You are trying to save your package into Maple's global library -- and it refuses to do so, which is as expected. savelib is a rather low-level command. You should look into LibraryTools, and LibraryTools:-Save in particular. Note how you usually have to specify an archive, one which is writeable by you.
Do a full-text search on "spanning tree", and you would have encountered networks[spantree].
First 14 15 16 17 18 19 20 Page 16 of 23