Maplesoft Blog

The Maplesoft blog contains posts coming from the heart of Maplesoft. Find out what is coming next in the world of Maple, and get the best tips and tricks from the Maple experts.

Latest Posts Latest Blog Posts Feed

Talkin' Turkey...

December 10 2009 Tim Vrablik 624

One of the most common foods prepared at this time of the year, and arguably the most common kitchen disaster, is turkey. 

There are several employees here at Maplesoft (myself included) who are full-fledged foodies:  not only do we enjoy eating good food, but we enjoy preparing it with all our cool kitchen gadgets.  Just as mathies may compare calculators, we compare chef’s knives.  So being a foodie and a mathie, I was quite intrigued when a co-worker sent me an article that found the optimal cooking temperature for a turkey.

For those of you who have had to take on the task of preparing a turkey, you’re probably familiar with this basic rule of thumb (thousands of burnt turkeys must have contributed to this rule): preheat the oven to 400°F, and then cook it for 20 min/lb at 350 °F.  Essentially what this rule means is that the time required to cook a turkey is directly proportional to the mass of the turkey.  We know that this cannot be true because some people who adhere to this rule will have a turkey that is moist and tender, and others will have a turkey that is dry and tough.  If we take more variables into account, like the size of the turkey (l), oven temperature (T), average density (ρ) and thermal conductivity (κ) we can create a function with respect to time . We can now do a bit of dimensional analysis on this to evaluate the accuracy of the traditional rule of thumb.  By using dimensional analysis, we can formulate a relation between a set of known variables, even though we are not sure of the relationship between these variables. The immediate advantage of this procedure is that less experimentation is required to establish a relationship between the variables, allowing us to take given data and see how it will fit with the equations that are created in the analysis.  I won’t go into full detail here, but I’ve created a Maple worksheet that shows the calculations used in the analysis.  The important part comes from the graphs that are generated:

The black dots represent various cooking times of various sizes of birds.  The red line is the old rule of thumb, which you can clearly see is not very reliable.  The green line represents the new rule of thumb which falls in line much better.  So, what is the magical formula that you should use?  Based on the analysis:  where x is in lbs and the resulting time is in minutes.  Now I will be honest, I haven’t put this to the test yet, but I’ll be sure to try it out this Christmas.

Resellers buy products from a manufacturer, and sell to consumers.  They are an important factor in many industries, including the one in which I work.  Maplesoft operates through a network of resellers throughout the world (apart from North America and a few other territories).  Some may suspect I’m somewhat biased in promoting the importance of resellers; I spent seven years working for Adept Scientific, Maplesoft’s partner in the UK.

The largest resellers are based in larger, better developed markets with a strong manufacturing and research base (like Cybernet and Scientific Computers in Japan and Germany).  Conversely, many smaller resellers, like Multi-On and Czech Software First in Mexico and the Czech Republic, operate in markets with significant growth potential.

The Joy of Analog...

December 02 2009 Tom 4 724

Although the digital world has provided me with a wonderful career and countless enriching experiences, in my heart I will always have a special passion towards the analog world: vinyl LP’s, multiple print sets of the Encyclopædia Britannica, a manual wind watch, fountain pens, film cameras and a darkroom, and carbureted motorcycles all have privileged spots in my house. With digital equivalents being so much more accurate, faster, convenient, and cheaper, what could possibly be the appeal of these ancient artifacts?

Atomic Operations...

November 27 2009 dohashi 1072 Maple

Atomic operations are CPU instructions that are guaranteed to execute in a single CPU cycle. This means that the operation is guaranteed to complete without being interrupted by the actions of another thread. Although this may not sound too exciting, careful programming using these instructions can lead to algorithms and data structures that can be used in parallel without needing locks. Maple currently does not support atomic operations, however they are an interesting tool and are used in the kernel to help improve Maple's parallelism in general.

Dual- and quad-core PCs are now ubiquitous.  While making your operating system a better multi-tasking environment, they’ve had a limited effect on the code that most technical professionals write.  This is largely because of the perceived difficulty of parallel programming.   The evolution , however, of high-level languages that support multi-threading throughout the 90s and beyond, removed the need to manage threads at the low level, allowing engineers to concentrate on what part of the algorithm could be run in parallel.  Given the ever-increasing complexity of systems that have to be simulated, multi-threaded programming can offer significant time savings for many the problems that can be easily parallelized (and for which time-savings of parallelization outweigh the overhead).

It's a Small World...

November 17 2009 fkern 26

It’s a small world, but there are still too many borders.

I’ve recently become a fan of country music.  It amazes and amuses my wife and children, but I find that country music tells stories that contain some very basic truths.

Brad Paisley sings a song named “Welcome to the Future”.  He begins that song by telling his grandfather’s story of being a soldier in the Philippines fighting the Japanese during World...

In this post I'll take a closer look at the ways in which Maple code can be thread unsafe. If you have not already seen my post on Thread Safety, consider reading that post first. As a brief review, a procedure is thread safe if it works correctly when run in parallel.

The most obvious way in which procedures can be thread unsafe is if they share data without synchronizing access (using a Mutex, for example). So how can two threads share data?

J Robot...

November 10 2009 Tom 4 724 MapleSim

There is something profoundly satisfying when something that goes “viral” on the Web has some connection to your life. This happened recently when I and my colleagues were pointed towards a video of some laboratory robots that somehow drew almost a million views on YouTube alone. For an engineer,...

Training Day...

November 05 2009 Samir Khan 559

The first professional training course I gave involved a 275 mile late evening drive in a 1 litre European econobox from Letchworth in the UK to a dingy hotel in Alnwick.  I was pretty nervous –some of my delegates were engineers who had been using Mathcad for over ten years, and I was being paid to tell them what they didn’t know.  The following day, after drinking several litres of coffee, I drove another five miles to the training location, only to find that just one delegate had turned up.  Luckily he was just an intern who’d never used Mathcad before – and to him I was an expert.

My Three Great Passions...

November 03 2009 fkern 26

Those of you who know me know that besides my family I have three great passions:  History, travel and technology.

I have always been an amateur student of history, reading and learning as much as I can.  But reading only gets you so far.  I think it was Mark Twain who said, “You can’t understand a country until you smell it.”  Smell it?  I think by that he meant that you can’t smell a country unless you are there, which is really the only way to begin to truly understand it.  He was right, of course, and travel is the perfect complement to my love of history.

I'd like to start by thanking all those readers who left feedback on my last post. It was good hear that most of you enjoy reading my posts and that they are generally helpful. I would like to encourage you to continue posting feedback, especially questions or comments about anything that I fail to explain sufficiently.

The following is a discussion of the limitations of parallel programming in Maple. These are the issues that we are aware of and are hoping to fix in future releases.

A leading motorcycle manufacturer has been using MapleSim to model their powertrain, and now they want to include a realistic battery model. This would let them choose batteries and accessories (like starters and alternators) that they can simulate under a variety of operating conditions, along with their powertrain model. The company turned to Maplesoft to help with this modeling exercise and I was put on the task. My background is in circuits so I thought this would be a straightforward project. In my mind batteries were just constant voltage sources that eventually ran out of charge. I was able to find several recent research papers on battery models, and I realized their behavior was much more complicated than a simple voltage source.

Rite of passage...

October 23 2009 Tom 4 724

My son Eric began high school this year (grade 9) and a marvelous thing happened. In my previous posts, I lamented that I was generally unable to spark in him an interest in math but something changed this year. The first sign was his first math test given within the first two weeks of the new year. It was an assessment of sorts to see who knows what, and he scored 90%. Although it was a review of basic arithmetic with complicated fractions, order of operations, and such, this was the first time he had ever ranked within the top few of his class in math. Fast forward a few days. He came up to me with a large grin and said “Dad, you’re in my math text book!” Actually it wasn’t me but there was an indirect reference to Maple in one of the later chapters of the book that he was perusing out of curiosity (another good sign). “This is your stuff isn’t it?” With tears welling up inside, I proudly answered “yes.”

A favorite diversion of mine (and of many around the Maplesoft office) is xkcd. Its author, Randall Munroe, bills it as “a webcomic of romance, sarcasm, math, and language.” Since 2005, he’s been entertaining many self-proclaimed geeks with his unique and slightly skewed jokes on technology, computer science, mathematics, and relationships.

I really like the post in which a substitute teacher – hm, Mr. Munroe......

The Task Programming Model...

October 16 2009 dohashi 1072 Maple
4
11

In my previous posts I have discussed various difficulties encountered when writing parallel algorithms. At the end of the last post I concluded that the best way to solve some of these problems is to introduce a higher level programming model. This blog post will discuss the Task Programming Model, the high level parallel programming model introduced in Maple 13.

First 9 10 11 12 13 14 15 Page 11 of 17