August 15, 2013 — Michael Trott, Chief Scientist

This blog post is the continuation of my last two posts (1, 2) about formulas for curves. So far, we have discussed how to make plane curves that are sketches of animals, faces, fictional characters, and more. In this post, we will discuss the constructions of some filled curves (laminae).

Read More »


July 19, 2013 — Michael Trott, Chief Scientist

In my last blog post, I discussed how to construct closed-form trigonometric formulas for sketches of people’s faces. Using similar techniques, Wolfram|Alpha has recently added a collection of hundreds of such closed-form curves for faces, shapes, animals, logos, and signatures.

Read More »


May 17, 2013 — Michael Trott, Chief Scientist

Here at Wolfram Research and at Wolfram|Alpha we love mathematics and computations. Our favorite topics are algorithms, followed by formulas and equations. For instance, Mathematica can calculate millions of (more precisely, for all practical purposes, infinitely many) integrals, and Wolfram|Alpha knows hundreds of thousands of mathematical formulas (from Euler’s formula and BBP-type formulas for pi to complicated definite integrals containing sin(x)) and plenty of physics formulas (e.g from Poiseuille’s law to the classical mechanics solutions of a point particle in a rectangle to the inverse-distance potential in 4D in hyperspherical coordinates), as well as lesser-known formulas, such as formulas for the shaking frequency of a wet dog, the maximal height of a sandcastle, or the cooking time of a turkey.

Recently we added formulas for a variety of shapes and forms, and the Wolfram|Alpha Blog showed some examples of shapes that were represented through mathematical equations and inequalities. These included fictional character curves:

fictional character curves

fictional character curves

Read More »


April 12, 2013 — Vitaliy Kaurov, Technical Communication & Strategy

What does programming have to do with a passion for the arts and history? Well, if you turn education into a game and add a bit of coding, then you can easily end up in the realm of a modern paradigm called, fancily, “gamification.” Though gamification is a very wide concept based on game use in non-game contexts (design, security, marketing, even protein folding, you name it), at heart it is very simple: play, have fun, and get things done. I may have oversimplified things here for the sake of a rhyme, but if you bear with my lengthy prelude, we may just see a simple case of turning passion into software.

The Vitruvian Man

My obsession with diagrams and simple line drawings began almost unnoticeably in the winter of 2003 in New York City after attending an exhibition at The Metropolitan Museum of Art: “the first comprehensive survey of Leonardo da Vinci’s drawings ever presented in America.” You may think it’d be a drag—crowds marching very slowly in a single long line coiling through the exhibition hallways. But perception of time transforms when you stare at 500-year-old craft. I think it was then that it started to dawn on me what special value a first sketch has. A first act when an idea, something very subjective, evasive, living solely inside one’s mind, materializes as a solid reality, now perceivable by another human being. Imagine it happened ages ago. Wouldn’t you be curious what was going on at that moment in time, what got frozen in this piece of craft in front of you?

Read More »


February 28, 2013 — Christopher Carlson, Senior User Interface Developer, User Interfaces

The National Museum of Mathematics, which opened in Manhattan in December, doesn’t have a logo. It has an infinite family of logos. And the logos the museum uses for official business are not created by design professionals. They’re designed by the museum’s visitors. The logo is itself an exhibit in the museum.

National Museum of Mathematics entrance

The museum’s unique meta-logo was conceived and implemented at Wolfram Research. When I say “implemented,” I don’t mean just “calculated” or “rendered,” but actually “programmed.” This is a logo that requires an implementation.

Read More »


February 4, 2013 — Oleksandr Pavlyk, Kernel Technology

On January 23, 1913 of the Julian calendar, Andrey A. Markov presented for the Royal Academy of Sciences in St. Petersburg his analysis of Pushkin’s Eugene Onegin. He found that the sequence of consonants and vowels in the text could be well described as a random sequence, where the likely category of a letter depended only on the category of the previous or previous two letters.

At the time, the Russian Empire was using the Julian calendar. The 100th anniversary of the celebrated presentation is actually February 5, 2013, in the now used Gregorian calendar.

WolframAlpha["(Julian calendar January 23, 1913) plus 100 years",  {{"CorrespondingGregorianDate", 1}, "ComputableData"}]

Tuesday, February 5, 2013

To perform his analysis, Markov invented what are now known as “Markov chains,” which can be represented as probabilistic state diagrams where the transitions between states are labeled with the probabilities of their occurrences.

Andrey A. Markov and a Markov Chain

Read More »


December 20, 2012 — Paul-Jean Letourneau, Senior Data Scientist, Wolfram Research

This year is the 100th birthday of Alan Turing, so at the 2012 Wolfram Science Summer School we decided to turn a group of 40 unassuming nerds into ferocious hunters. No, we didn’t teach our geeks to take down big game. These are laptop warriors. And their prey? Turing machines!

In this blog post, I’m going to teach you to be a fellow hunter-gatherer in the computational universe. Your mission, should you choose to accept it, is to FIND YOUR FAVORITE TURING MACHINE.

First, I’ll show you how a Turing machine works, using pretty pictures that even my grandmother could understand. Then I’ll show you some of the awesome Turing machines that our summer school students found using Mathematica. And I’ll describe how I did an über-search through 373 million Turing machines using my Linux server back home, and had it send me email whenever it found an interesting one, for two weeks straight. I’ll keep the code to a minimum here, but you can find it all in the attached Mathematica notebook.

Excited? Primed for the hunt? Let me break it down for you.

The rules of Turing machines are actually super simple. There’s a row of cells called the tape:

Tape

Read More »


November 14, 2012 — Jon McLoone, International Business & Strategic Development

Update: See our latest post on How the Wolfram Language Measures Up.

I stumbled upon a nice project called Rosetta Code. Their stated aim is “to present solutions to the same task in as many different languages as possible, to demonstrate how languages are similar and different, and to aid a person with a grounding in one approach to a problem in learning another.”

After amusing myself by contributing a few solutions (Flood filling, Mean angle, and Sum digits of an integer being some of mine), I realized that the data hidden in the site provided an opportunity to quantify a claim that I have often made over the years—that Mathematica code tends to be shorter than equivalent code in other languages. This is due to both its high-level nature and built-in computational knowledge.

Here is what I found.

Large tasks - Line count ratio

Mathematica code is typically less than a third of the length of the same tasks written in other languages, and often much better.

Read More »


July 26, 2012 — Daniel Lichtblau, Scientific Information Group

With the 2012 Olympics upon us, and records waiting to be broken, it might be a good time to consider some aspects of track and field. I need to write this now, because once the track part of the Games is underway, I fully intend to spend quality time with a television set. Why do I like track? Well, what school sport might one take up if one is (read: was) scrawny and not very (read: very not) coordinated?

I will focus on men’s track, but the gist of this almost certainly applies to women’s as well. We’ll look at speeds of world records and how they change as the distances get longer. I’ll start with a Demonstration by my Wolfram Research colleague Sy Blinder, “How Fast Can You Run?” The Demonstration shows that speeds follow an interesting pattern, which is covered by me here. Along the way I will also inadvertently reveal that I know nothing whatever about data modeling.

To underscore the comment about records being broken, I will point out that several of the record times listed in Blinder’s Demonstration are already out of date. Below is a current list, of the form {distance, time} measured in {meters, seconds}. I omitted the less common distances because they might not be indicative of the best possible efforts, even among elite athletes.

dtlist = {{100, 9.58`}, {200, 19.19`}, {400, 43.18`}, {800, 101.01`}, {1500, 206.`}, {1609.344`, 223.13`}, {3000, 440.67`}, {5000, 757.35`}, {10000, 1577.53`}, {42195, 7380}}; distances = dtlist[[All, 1]];

Read More »


June 28, 2012 — Vitaliy Kaurov, Technical Communication & Strategy

I was browsing Mathematica user communities for original projects and came by the following question: “How can I calculate a jigsaw puzzle cut path?” Such creative problems are in abundance at our user forums, the Wolfram Demonstrations Project, and The Mathematica Journal, which tells me that Mathematica, at its heart, is a conduit for creativity: it’s a programing language that likes the challenge of convoluted problems and inspires elegant, often unexpected solutions.

In its essence, a jigsaw puzzle is a tiling or tessellation, which means there are no gaps or overlaps between the pieces. Moreover, every piece is unique and has a definite place in the puzzle. Uniqueness is achieved by making a piece be a part of a large image, have a specific shape, or a combination of these. There are many approaches to producing such patterns. For instance, this single mathematical formula from our graphics examples produces a beautiful tessellation:

Mathematical formula to produce a beautiful tessellation

Tessellation

However, since this question was asked on Mathematica Stack Exchange, a young, modern technical Q&A site, it was very specific in accordance with the community rules. Here are the author’s requirements:

  • All pieces must be unique to preclude placing a piece in the wrong spot.
  • Pieces must be interlocking such that each piece is held by adjacent pieces.
  • It must be possible to generate different paths (sets) for a specific shape that are not merely rotations or reflections of the first.

Additionally, the author of the question notes that he seeks original designs alternative to typical mass-produced shapes.

Read More »