WOLFRAM

Design & Visualization

Gigapixel Images in Mathematica

Professional cameras offer a resolution of 50 megapixels and more. In addition, projects like GigaPan allow one to create gigapixel panoramas with billions of pixels. How can we process these images on a desktop computer with 8 GB of RAM? One of Mathematica 9's new and exciting features is out-of-core image processing. What does the out-of-core term really mean? It is a way to process very large images that are too big to fit into main memory. Let's say we have a machine with 8 GB of RAM, and let's assume that Mathematica can use up to 7.2 GB of that memory (the remaining 0.8 GB will be used by the operating system). Freshly started, Mathematica 9 on Windows 8 takes up about 200 MB of memory, so the kernel can use about 7 GB of RAM. What is the maximal size of the image that we can load into the kernel (we don't want to visualize it at this point)? If we assume that the image is in the RGB color space and a single byte encoding, then the following formula gives a maximal width (and height) of an image that can be loaded at once into the memory:
Announcements & Events

Sooner or Later: Computable Academic Data

Next month I'm on a discussion panel at The Now and Future of Data Publishing symposium in Oxford, UK. I'm expecting this to be a good day and, if you're in the area, I recommend you think about coming along (it's free!). We're very interested in academic data. Over the past 20 years or so, publishers have changed in some big ways, such as shifting from print to online or adopting new open access business models. But one thing they haven't fully tackled yet is how to handle the increasingly large amounts of data coming out of academic research.
Best of Blog

Data Science of the Facebook World

More than a million people have now used our Wolfram|Alpha Personal Analytics for Facebook. And as part of our latest update, in addition to collecting some anonymized statistics, we launched a Data Donor program that allows people to contribute detailed data to us for research purposes. A few weeks ago we decided to start analyzing […]

Computation & Analysis

Exploding Art: da Vinci Code of Another Sort

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. 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?
Announcements & Events

Seats Are Available for the Wolfram Virtual Conference Spring 2013

The Wolfram Virtual Conference Spring 2013 brings together in one event many popular topics featuring the latest in Wolfram technologies. Join us on April 16, 1–4:30pm US EDT (5–8:30pm GMT), for this free online conference that offers presentations for a wide range of interests, showing you how to get the most out of Mathematica, the Computable Document Format, Wolfram SystemModeler, and Wolfram|Alpha.
Education & Academic

From Close to Perfect—A Triangle Problem

RootApproximant can turn an approximate solution into a perfect solution, such as for a square divided into fifty 45°-60°-75° triangles. A square can be divided into triangles, for example by connecting opposite corners. It's possible to divide a square into seven similar but differently sized triangles or ten acute isosceles triangles. Classic puzzles involve cutting a square into eight acute triangles, or twenty 1 - 2 - √5 triangles. The last image uses 45°-60°-75° triangles, but one triangle has a flaw. It's easy to divide a square with similar right triangles. Can a square be divided into similar non-right triangles? In his paper "Tilings of Polygons with Similar Triangles" (Combinatorica, 10(3), 1990 pp. 281–306), Laczkovich proved exactly three triangles provided solutions, with angles 22.5°-45°-122.5°, 15°-45°-120°, and 45°-60°-75°. I read his paper to try to make an image for the 45°-60°-75° case, but his construction was complex, and seemed to require thousands of triangles, so I tried to find my own solutions. All my attempts had flaws, such as the last image above, so I made a contest out of it: $200, minus a dollar for every triangle in the solution.
Education & Academic

The Mathematics of Queues

Waiting in line is a common, though not always pleasant, experience for us all. We wait patiently to be served by the next free teller at a bank, clear the security check at an airport, or be answered by technical support when we call a phone service provider. At a more abstract level, these waiting lines, or queues, are also encountered in computer and communication systems. For example, every email you send is broken up into a series of packets. Each packet is then sent off to its destination by the best available route to avoid the queues formed by other packets in the network. Hence, queues play an important role in our lives, and it seems worthwhile to spend some time understanding their dynamics, with a view to answering questions such as, "How many tellers does your bank need to provide good customer service?" or "How can you speed up the security check?" or "On average, how long will you have to wait for technical support?" My purpose in writing this post is to give a gentle introduction to queueing theory, which attempts to answer such questions, using new functions that are available in Mathematica 9. Queueing theory has its origins in the research of the Danish mathematician A. K. Erlang (1878–1929). While working for the Copenhagen Telephone Company, Erlang was interested in determining how many circuits and switchboard operators were needed to provide an acceptable telephone service. This investigation resulted in his seminal paper "The Theory of Probabilities and Telephone Conversations," which was published in 1909. Erlang proved that the arrivals for such queues can be modeled as a Poisson process, which immediately made the problem mathematically tractable. Another major advance was made by the American engineer and computer scientist Leonard Kleinrock (1934–), who used queueing theory to develop the mathematical framework for packet switching networks, the basic technology behind the internet. Queueing theory has continued to be an active area of research and finds applications in diverse fields such as traffic engineering and hospital emergency room management.
Education & Academic

Registration Is Open for the Mathematica Summer Camp 2013

It’s that time of year again! Time to apply for the Mathematica Summer Camp 2013! The camp is being held at Bentley University in Waltham, Massachusetts, July 7–19. Students will have the opportunity to learn Mathematica’s computing language, work with Wolfram mentors, and interact with other students with similar interests. By the end of camp, each student will have created his or her very own Mathematica program! Last year the camp was a great success, and students worked on a variety of projects, from modeling diseases to stereographic projection of platonic solids.
Announcements & Events

Using Mathematica Enterprise Edition to Create Professional Apps, Tools, and Reports

For more than two decades, Mathematica users have been using our technology to solve some of their most difficult problems. And when they find solutions, they need to communicate them to managers, colleagues, and clients. Like many other organizations, we also need to effectively communicate concepts when we design new technologies, and we need to make decisions quickly and efficiently. In the past, our own technology lacked a means of distributing results that could be viewed with a free document player, in which users could enter their own data, and that could update interactively and in real time. We made great strides in addressing all of those issues with the introduction of the Computable Document Format (CDF). CDF is a computation-powered knowledge container that supports all sorts of applications, dashboards, and reports.