JacquesC

Prof. Jacques Carette

2401 Reputation

17 Badges

20 years, 86 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 replies submitted by JacquesC

Thank you for you comments about the branch cuts, you point out valuable issues that I should have been clearer on. I'll blame a combination of a cold and it was late when I wrote that. On the other hand, I stand by my words on the different forms of arguments. The issue is that one form leads to a value "on top" of the cut, the other form "underneath" the cut, and so very different results. The point being that one of the more natural forms of the complex numbers (ie polar notation) captures the multi-branch issues much better than the projection back down to the cartesian version of the complex plane. In other words, in polar notation one can directly see the Riemann surface associated with the logarithm (and so easily that of the various power functions, like sqrt), which is not so easily seen otherwise.
That is one fascinating book. E.T. Bell was seriously opinionated, and he never let facts or history get in the way of his story-telling and venting. So as a history book, you have to read it quite carefully indeed. But as entertainment and a source of interesting mathematics, the book is indeed rather nice.
That is one fascinating book. E.T. Bell was seriously opinionated, and he never let facts or history get in the way of his story-telling and venting. So as a history book, you have to read it quite carefully indeed. But as entertainment and a source of interesting mathematics, the book is indeed rather nice.
Without a new data-structure, the kind of interactive incremental plot building that one can do in matlab is not possible. To be precise, what happens is that the plot would become a GUI-only object, and be lost to the kernel. This is the opposite of the current situation, where the plot data-structure is fully programmable within Maple itself. One of the nice things with Maple now is that you can write a program to draw 1000 plots. No human wants to click their way through creating 1000 plots by some GUI mechanism. Matlab users seem to find that building plots incrementally (instead of purely additively, as is the case in Maple right now) is rather convenient. The nice thing that this allows is that a crude plot can be rendered very quickly, and then as time goes on (ie more processing time is applied), it can incrementally become more precise. This is the kind of functionality which is completely impossible with the current data-structures. And I have seen demos of plotting systems with (automatically!) incrementally-improving results, and they blew me away. Small things, even for simple plots, like being able to find (and label) asymptotes, make sure all singularities are properly plotted, etc. All without having to wait ages for the plot to start being displayed.
libname is search in order (left to right), so that if you put Algobib in first, that is the one that will be picked up. The priority is only useful if you have multiple .mla libraries in the same directory, then you need to order them explicitly. You have to make sure that you change libname as the very first thing you do in a session (make sure you have no init files!). Otherwise any loading that happens will ``lock in'' where things are looked up. The way you did it above should have worked in a clean worksheet.
libname is search in order (left to right), so that if you put Algobib in first, that is the one that will be picked up. The priority is only useful if you have multiple .mla libraries in the same directory, then you need to order them explicitly. You have to make sure that you change libname as the very first thing you do in a session (make sure you have no init files!). Otherwise any loading that happens will ``lock in'' where things are looked up. The way you did it above should have worked in a clean worksheet.
Having the option of using LaTeX as an entry language would surely be appreciated by a lot of people. Most mathematicians (and a lot of people in computer science, physics, etc as well) know LaTeX, so would not have to learn something 'new'. Since 2D display is not semantic, there is no real advantage to inventing a new language, LaTeX is quite sufficient.
This is great -- where is the documentation for this wonderful feature? Of course I would never type that. But that is consistent with my position of wanting to do this automatically, instead of mousing around. This allows for the automatic creation of document-mode worksheets with many of its features enabled.
This is a very old hack that was put in long before many of the nicer GUI facilities came along. It was done as a very cheap hack around the lack of an equation editor! However, the good thing about it is that it is smarter than an equation editor in that it inserts a template (that needs to be edited!!) rather than having to type everything in, or having a stupid template with fields that are ``obvious''. Basically, this is a feature that long long ago should have been turned into a task assistant rather than being kept in its original hack form.
This is a very old hack that was put in long before many of the nicer GUI facilities came along. It was done as a very cheap hack around the lack of an equation editor! However, the good thing about it is that it is smarter than an equation editor in that it inserts a template (that needs to be edited!!) rather than having to type everything in, or having a stupid template with fields that are ``obvious''. Basically, this is a feature that long long ago should have been turned into a task assistant rather than being kept in its original hack form.
An ``atomic math identifier'' still seems to get somewhat formatted, whereas a name (what you get from backquotes) has different formatting rules AFAIK. So this works for simple cases, but can get confusing in general. Also, the question that I really want answered: how do I set something as ``atomic math identifier'' with the keyboard? I am just not a pointy-clicky person (mostly because I like whatever I do to scale to at least the tens-of-thousands size), so I want to be able to do things without the mouse. Early signs of carpal tunnel just reinforce that!
Your routine
check_all_faces := proc(l :: list)
    local faces,die;
    faces := {};
    for die in l do faces := faces union { die } end do;
    return (evalb(faces={1,2,3,4,5,6}));
end proc:
can be simply written as check_all_faces := proc(l::list)     evalb(convert(l,set) = {1,2,3,4,5,6}) end; In Maple, many many loops are unecessary. In fact, in Maple, explicit loops are usually just optimizations, rarely the ``maple way'' of getting something done. They are a holdover from too much imperative programming being taught in universities.
What happens is that Maple automatically ``simplifies'' exp(-I*Pi) to exp(I*Pi) by normalizing its arguments, then simplifies further to -1. However, if you ask in a convoluted enough way, you can get weird things such as
> evalf(sqrt('exp'(I*Pi)));

                                     -9
                      0.2051033808 10   - 1.0 I

> sqrt(exp(I*Pi));

                                  I

The point I was trying to make is that you get different answers if you follow "pure" complex analysis versus asking Maple directly. Branch cuts are a very tricky business, and academic papers are still being published on the topic.
What happens is that Maple automatically ``simplifies'' exp(-I*Pi) to exp(I*Pi) by normalizing its arguments, then simplifies further to -1. However, if you ask in a convoluted enough way, you can get weird things such as
> evalf(sqrt('exp'(I*Pi)));

                                     -9
                      0.2051033808 10   - 1.0 I

> sqrt(exp(I*Pi));

                                  I

The point I was trying to make is that you get different answers if you follow "pure" complex analysis versus asking Maple directly. Branch cuts are a very tricky business, and academic papers are still being published on the topic.
Maple used to be very good for large-scale work, meaning that one could deal with thousands (even tens of thousands) of files easily. But now that more and more functionality is buried in the GUI, Maple is actually becoming less useful for that kind of large-scale work. It's not that people at Maplesoft don't know about this -- I know of people who have been forced to manually open ~800 worksheets, make a minor change, and save it again. All because there was no scriptable way to get the same effect. What an utter waste of time! Even on the Mac there are ways to script many things. And in the Hallowed Halls of GUI Supremacy that is the Mac, that really means something. Apparently the new features seem to be directed at small-scale work, with a human forcibly in the loop.
First 72 73 74 75 76 77 78 Last Page 74 of 119