Personal Stories

Stories about how you have used Maple, MapleSim and Math in your life or work.

I used to really enjoy reading mapleprimes and answer questions.  It was fun.  There were challenging questions, and some rather interesting design discussions.

And then I got bored.  I am not totally sure exactly why.  In some ways, I think the density of challenging questions went down.  Well, that's perhaps not quite right either -- the density of new (challenging) questions went down.

I recently ran into an interesting twist on the infamous Maple anti-pattern:

# A very garbagey way to build a list
l := [];
for i from 1 to 10000 by 100 do
l := [op(l), isqrt(abs(floor((5000-i)/2)))];
end do;

A lot of users fall prey to this method of building a list rather than using :

# generate a list without extraneous garbage
l := [seq(isqrt(abs(floor((5000-i)/2))),i=1..10000,100)];

Modelica is an open language for (lumped parameter) modeling and simulation and is generating a growing following, especially in Europe. Modelica is also at the heart of simulation tools like MapleSim. We are generally not making a big deal of that fact and as a result we have a regular stream of actual and potential customers asking us why we are not more vocal about our use of Modelica. Do we not believe in open...

While visiting a cathedral in Germany, Bob Schipke, a retired Harvard mathematician was astounded to find a glyph in a 13th century manuscript that looked remarkably like the Mandelbrot set.  This led to a remarkable voyage of discovery that was publicised in a

To celebrate 3.14 for 2009, I made the attached worksheet with an interactive Pi Chart (also a pie chart) to plot the relative frequency of the digits of pi in various bases.  Enjoy.


View 5480_PiFreq-component.mw on MapleNet or Download 5480_PiFreq-component.mw
View file details

 

The guts of the worksheet is the following:

basesymbols := Array(0..35, ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]):

n := 200; # number of digits
k := 10; # base 
N := ceil(log[10](k)*n)+1;

approxPi := round(evalf[N+1]((Pi-3)*10^(N))):

PiList := map(x->basesymbols[x],convert(approxPi, base, k)): 

PiString := cat(op(map(convert, PiList[1..n], string))):

T := [StringTools:-CharacterFrequencies(PiString)]:

Statistics:-PieChart(T, color=blue..magenta);

 

On a recent trip to McGill University in Montreal, I had the pleasure of meeting Dr. Paul Oh of Drexel University in Philadelphia and the Director of the US National Science Foundation’s (NSF) robotics programs. During a fascinating presentation on the US robotics research landscape, Dr. Oh made a few comments that really made me think … and reflect.

Robotics has always been a “sweet spot” for Maplesoft technology. Between the necessary complex...

Some time ago, I had a blog post about a compendium of inequalities,  Some people took a look and found problems in that paper.  So I took the time to track down the author and point him to the mapleprimes page.

He got back to me some time later, thanking me for pointing out the errors.  But in the same email, he pointed me to 2 other papers, http://xxx.lanl.gov/abs/0707.2098 and http://xxx.lanl.gov/abs/0707.2584 which contain (interesting?) conjectures which seem amenable to Maple exploration. I meant to look at these myself, but it has now become clear that I won't for quite some time yet. Perhaps these will pique the curiosity of some MaplePrimes member.

That’s a mantra I need to have drummed into me, and perhaps tattooed on the inside of my car so I’m reminded every morning.  But I keep on making the same mistakes. 

 I seem to think that if I’ve “optimized” my portfolio with a few flashy calculations that I’ve done my due diligence, and the next stop is financial independence.  It’s the black box syndrome – trusting the output of a computer program without truly understanding the real issues.  Most portfolio analyses, for example, hinge on historical data, which of course doesn’t predict the sub-prime blow-up in the US or whether Brazilian coffee growers are on strike.  They’re all backward looking.

 However, in the absence of a neighbourhood scryer, historical analyses are a good indication of how to position a portfolio for the long term.

 Being a geek (however much I strenuously deny it), I tend leverage my tech skills wherever I can.  I wrote the attached worksheet to import stock quotes, including historical data, from Yahoo using the Sockets package.  Simply type in the appropriate NYSE stock tickers into the appropriate text boxes, check the quantities you want to download, and click the big gray button.

 All the stock quotes and historical data can be manipulated on the command-line and can be accessed via command-completion. 

 It then finds the best distribution of stocks in a portfolio by maximizing its Sharpe Ratio (through the Optimization package). 

The Sharpe ratio quantifies how effectively a portfolio of risky assets utilises risk to maximise return.  It’s defined as follows.

 

 

It essentially measures how effectively a portfolio uses risk to maximize return – the higher the ratio the better.  The expected portfolio return is predicted from historic data, the portfolio standard deviation is traditionally used as a proxy for risk, and the risk free return is the return that can be expected from a zero-risk investment (i.e. the interest on US Treasury Bills or the redemption yield on UK gilts).

What I find particularly fascinating is how Maple is now the centre of my technical desktop.  Through the combination of the interface and its math tools, I now use it for everything from the simplest calculations through to making wild guesses about my financial future.  If any of the developers are reading this, I want you to know there’s a lot riding on you...

The following example arrived in my email inbox a few weeks ago. It spurred a short but lively thread of discussion amongst some Maple developers.

I thought that it was interesting enough to post here. I'll hold off on giving my own opinion right away, because I'm curious to read what other MaplePrimes members might write about it.

> q := (6*((1/3)*a-1/9))/(36*a-116+12*sqrt(12*a^3-3*a^2-54*a+93))^(1/3);
                                   6 (a/3 - 1/9...

Some time ago I was asked the question: do you know how to do a change of variables in a multi-dimensional definite integral?  I thought I knew, but I was wrong.  I only know how to do a change of variable in a multi-dimensional indefinite integral. 

This question really intrigued me.  Of course, this is such an obvious question, I just started pulling out textbook after textbook off my bookshelf, expecting to find the answer...

I recently submitted my work to Maple Application Center and I received a bug report from a staff. Then, I resubmitted it after fixing bugs. However, I have a bug report again (^_^; Yes, this is because my work was poor, but in other words, all applications in Maple Application center that passed strict check by staff are all guaranteed to have good quality. I am sure that everyone can find good tools for education and research. We should utilize them. If we can not find applications that we want, let us develop works and submit them ! Yasuyuki Nakamura

On his blog, Jaime Zawinski (of Netscape and XEmacs fame) relates a tale of finding limits in the (supposedly) unlimited big number representation on a TI Lisp machine in the early 1990s. It is an amusing story, and it makes me wonder if GnuMP is has a similar limit on a different scale.  Or in other words, is there a positive integer small enough to fit into memory  (assuming 64 bit address space) but that cannot actually be constructed in GnuMP due to limits in the implementation? Does someone here know enough about the GnuMP internals to give the answer?

A search I was doing dug up this old gem, involving a discussion between Gerald Edgar and I over a Maple problem 16 years ago!

Easy challenge: improve on my solution to Gerald's problem.

History challenge: my email address shows as wmsical!jjcarett@watmath.waterloo.edu.  Can you puzzle that out?  That is really two questions, a) how is that an email address and b) what is 'wmsical' ?

The recent thread A crossprod problem, although not directly related, inspired me to write this blog entry about bilinear cross products and their noticable property [see for instance P. Lounesto, Clifford Algebras and Spinors, 2nd ed. (Cambridge University Press, Cambridge, 2001)]:

Theorem: A bilinear cross product obeying the orthogonality property and the Pythagorean property, see below, exists only in 3 or 7 (real or complex) dimensions.

As many here know, Gaston Gonnet is a co-founder of Maple.  SIAM, in its History of Numerical Analysis and Scientific Computing project, has now published a very long interview with Gaston.  For those who like a good yarn, as well as details of the history of Maple and Maplesoft, it makes for fascinating reading.

My favourite quotes are:

First 20 21 22 23 24 25 26 Page 22 of 27