Archive for the ‘Mathematica’ Category

A Closed Future for Mathematics?

Sunday, September 21st, 2014

A Closed Future for Mathematics? by Eric Raymond.

From the post:

In a blog post on Computational Knowledge and the Future of Pure Mathematics Stephen Wolfram lays out a vision that is in many ways exciting and challenging. What if all of mathematics could be expressed in a common formal notation, stored in computers so it is searchable and amenable to computer-assisted discovery and proof of new theorems?

… to be trusted, the entire system will need to be transparent top to bottom. The design, the data representations, and the implementation code for its software must all be freely auditable by third-party mathematical topic experts and mathematically literate software engineers.

Eric identifies three (3) types of errors that may exist inside the proposed closed system from Wolfram.

Is transparency of a Wolfram solution the only way to trust a Wolfram solution?

For any operation or series of operations performed with Wolfram software, you could perform the same operation in one or more open or closed source systems and see if the results agree. The more often they agree for some set of operations the greater your confidence in those operations with Wolfram software.

That doesn’t mean that the next operation or a change in the order of operations is going to produce a trustworthy result. Just that for some specified set of operations in a particular order with specified data that you obtained the same result from multiple software solutions.

It could be that all the software solutions implement the same incorrect algorithm, the same valid algorithm incorrectly, or errors in search engines searching a mathematical database (which could only be evaluated against the data being searched).

Where N is the number of non-Wolfram software packages you are using to check the Wolfram-based solution and W represents the amount of work to obtain a solution, the total work required is N x W.

In addition to not resulting in the trust Eric is describing, it is an increase in your workload.

I first saw this in a tweet by Michael Nielsen.

Stephen Wolfram Launching Today: Mathematica Online! (w/ secret pricing)

Tuesday, September 16th, 2014

Launching Today: Mathematica Online! by Stephen Wolfram.

From the post:

It’s been many years in the making, and today I’m excited to announce the launch of Mathematica Online: a version of Mathematica that operates completely in the cloud—and is accessible just through any modern web browser.

In the past, using Mathematica has always involved first installing software on your computer. But as of today that’s no longer true. Instead, all you have to do is point a web browser at Mathematica Online, then log in, and immediately you can start to use Mathematica—with zero configuration.

Some of the advantages that Stephen outlines:

  • Manipulate can be embedded in any web page
  • Files are stored in the Cloud to be accessed from anywhere or easily shared
  • Mathematica can now be used on mobile devices

What’s the one thing that isn’t obvious from Stephen’s post?

The pricing for access to Mathematical Online.

A Wolfram insider, proofing Stephen’s post probably said: “Oh, shit! Our pricing information is secret! What do you say in the post?

So Stephen writes:

But get Mathematica Online too (which is easy to do—through Premier Service Plus for individuals, or a site license add-on).

You do that, or at least try to do that. If you manage to hunt down Premier Service, you will find you need an activation key in order to possibly get the pricing information.

If you don’t have a copy of Mathematica, you aren’t going to be ordering Mathematica Online today.

Sad that such remarkable software has such poor marketing.

Shout out to Stephen: Lots of people are interested in using Mathematica Online or off. Byzantine marketing excludes waiting, would be paying, customers.

I first saw this in a tweet by Alex Popescu.

Wolfram Programming Cloud Is Live!

Monday, June 23rd, 2014

Wolfram Programming Cloud Is Live! by Stephen Wolfram.

From the post:

Twenty-six years ago today we launched Mathematica 1.0. And I am excited that today we have what I think is another historic moment: the launch of Wolfram Programming Cloud—the first in a sequence of products based on the new Wolfram Language.

Wolfram Programming Cloud

My goal with the Wolfram Language in general—and Wolfram Programming Cloud in particular—is to redefine the process of programming, and to automate as much as possible, so that once a human can express what they want to do with sufficient clarity, all the details of how it is done should be handled automatically.

I’ve been working toward this for nearly 30 years, gradually building up the technology stack that is needed—at first in Mathematica, later also in Wolfram|Alpha, and now in definitive form in the Wolfram Language. The Wolfram Language, as I have explained elsewhere, is a new type of programming language: a knowledge-based language, whose philosophy is to build in as much knowledge about computation and about the world as possible—so that, among other things, as much as possible can be automated.

The Wolfram Programming Cloud is an application of the Wolfram Language—specifically for programming, and for creating and deploying cloud-based programs.

How does it work? Well, you should try it out! It’s incredibly simple to get started. Just go to the Wolfram Programming Cloud in any web browser, log in, and press New. You’ll get what we call a notebook (yes, we invented those more than 25 years ago, for Mathematica). Then you just start typing code.

I am waiting to validate my email address to access the Wolfram portal.

It will take weeks to evaluate some of the claims made for the portal but I can attest that the Wolfram site in general remains very responsive, despite what must be snowballing load today.

That in and of itself is a good sign.


I first saw this in a tweet by Christophe Lalanne.

Playing with Mathematica on Raspberry Pi

Tuesday, November 26th, 2013

Playing with Mathematica on Raspberry Pi by Mike Croucher.

From the post:

As soon as I heard the news that Mathematica was being made available completely free on the Raspberry Pi, I just had to get myself a Pi and have a play. So, I bought the Raspberry Pi Advanced Kit from my local Maplin Electronics store, plugged it to the kitchen telly and booted it up. The exercise made me miss my father because the last time I plugged a computer into the kitchen telly was when I was 8 years old; it was Christmas morning and dad and I took our first steps into a new world with my Sinclair Spectrum 48K.

An early but very detailed report on using Mathematica on the Raspberry Pi.

The post will be more meaningful if you have a Raspberry Pi to follow along.

With a single Raspberry Pi, slower than the author’s laptop, but that’s not unexpected.

If you see news of Raspberry Pi network running Mathematica, poke me.

Mathematica on every Raspberry Pi?

Thursday, November 21st, 2013

Putting the Wolfram Language (and Mathematica) on Every Raspberry Pi by Stephen Wolfram.

From the post:

Last week I wrote about our large-scale plan to use new technology we’re building to inject sophisticated computation and knowledge into everything. Today I’m pleased to announce a step in that direction: working with the Raspberry Pi Foundation, effective immediately there’s a pilot release of the Wolfram Language—as well as Mathematica—that will soon be bundled as part of the standard system software for every Raspberry Pi computer.

Wolfram Language and Mathematica now free on Raspberry Pi
In effect, this is a technology preview: it’s an early, unfinished, glimpse of the Wolfram Language. Quite soon the Wolfram Language is going to start showing up in lots of places, notably on the web and in the cloud. But I’m excited that the timing has worked out so that we’re able to give the Raspberry Pi community—with its emphasis on education and invention—the very first chance to put the Wolfram Language into action.

I’m a great believer in the importance of programming as a central component of education. And I’m excited that with the Wolfram Language I think we finally have a powerful programming language worthy of the next generation. We’ve got a language that’s not mostly concerned with the details of computers, but is instead about being able to understand and create things on the basis of huge amounts of built-in computational ability and knowledge.

It’s tremendously satisfying—and educational. Writing a tiny program, perhaps not even a line long, and already having something really interesting happen. And then being able to scale up larger and larger. Making use of all the powerful programming paradigms that are built into the Wolfram Language.


From the Raspberry PI blog:

Future Raspbian images will ship with the Wolfram Language and Mathematica by default; existing users with at least 600MB of free space on their SD card can install them today by typing:

sudo apt-get update && sudo apt-get install wolfram-engine

You’ll find Mathematica in the app launcher under the Education menu.


Wolfram Language Documentation.

Preliminary version is online only. Will take a bit of navigating to get a sense of the language as a whole.

Do you think Raspberry Pi sales are about to go through the roof? ;-)

Somthing Very Big Is Coming… [Wolfram Language]

Thursday, November 14th, 2013

Something Very Big Is Coming: Our Most Important Technology Project Yet by Stephen Wolfram.

From the post:

Computational knowledge. Symbolic programming. Algorithm automation. Dynamic interactivity. Natural language. Computable documents. The cloud. Connected devices. Symbolic ontology. Algorithm discovery. These are all things we’ve been energetically working on—mostly for years—in the context of Wolfram|Alpha, Mathematica, CDF and so on.

But recently something amazing has happened. We’ve figured out how to take all these threads, and all the technology we’ve built, to create something at a whole different level. The power of what is emerging continues to surprise me. But already I think it’s clear that it’s going to be profoundly important in the technological world, and beyond.

At some level it’s a vast unified web of technology that builds on what we’ve created over the past quarter century. At some level it’s an intellectual structure that actualizes a new computational view of the world. And at some level it’s a practical system and framework that’s going to be a fount of incredibly useful new services and products.

A crucial building block of all this is what we’re calling the Wolfram Language.

In a sense, the Wolfram Language has been incubating inside Mathematica for more than 25 years. It’s the language of Mathematica, and CDF—and the language used to implement Wolfram|Alpha. But now—considerably extended, and unified with the knowledgebase of Wolfram|Alpha—it’s about to emerge on its own, ready to be at the center of a remarkable constellation of new developments.

We call it the Wolfram Language because it is a language. But it’s a new and different kind of language. It’s a general-purpose knowledge-based language. That covers all forms of computing, in a new way.

There are plenty of existing general-purpose computer languages. But their vision is very different—and in a sense much more modest—than the Wolfram Language. They concentrate on managing the structure of programs, keeping the language itself small in scope, and relying on a web of external libraries for additional functionality. In the Wolfram Language my concept from the very beginning has been to create a single tightly integrated system in which as much as possible is included right in the language itself.

And so in the Wolfram Language, built right into the language, are capabilities for laying out graphs or doing image processing or creating user interfaces or whatever. Inside there’s a giant web of algorithms—by far the largest ever assembled, and many invented by us. And there are then thousands of carefully designed functions set up to use these algorithms to perform operations as automatically as possible.

It’s not possible to evaluate the claims that Stephen makes in this post without access to the Wolfram language.

But, given his track record, I do think it is important that people across CS begin to prepare to evaluate it upon release.

For example, Stephen says:

In most languages there’s a sharp distinction between programs, and data, and the output of programs. Not so in the Wolfram Language. It’s all completely fluid. Data becomes algorithmic. Algorithms become data. There’s no distinction needed between code and data. And everything becomes both intrinsically scriptable, and intrinsically interactive. And there’s both a new level of interoperability, and a new level of modularity.

Languages that don’t distinguish between programs and are called homoiconic languages.

One example of a homoiconic language is Lisp, first specified in 1958.

I would not call homoiconicity a “new” development, particularly with a homoiconic language from 1958.

Still, I have signed up for early notice of the Wolfram language release and suggest you do the same.

Classification of handwritten digits

Tuesday, August 27th, 2013

Classification of handwritten digits

From the post:

In this blog post I show some experiments with algorithmic recognition of images of handwritten digits.

I followed the algorithm described in Chapter 10 of the book “Matrix Methods in Data Mining and Pattern Recognition” by Lars Elden.

The algorithm described uses the so called thin Singular Value Decomposition (SVD).

An interesting introduction to a traditional machine learning exercise.

Not to mention the use of Mathematica, a standard tool for mathematical analysis.

You do know they have a personal version for home use? List price as of today is $295 to purchase a copy.

Social Network Analysis (Mathematica 9)

Thursday, November 29th, 2012

Social Network Analysis (Mathematica 9)

From the webpage:

Drawing on Mathematica‘s strong graph and network capabilities, Mathematica 9 introduces a complete and rich set of state-of-the art social network analysis functions. Access to social networks from a variety of sources, including directly from social media sites, and high level functions for community detection, cohesive groups, centrality, and similarity measures make performing network analysis tasks easier and more flexible than ever before.

Too many features on networks to list.

I now have one item on my Christmas wish list. 😉

How about you?

I first saw this in a tweet by Julian Bilcke.

Journal of Statistical Software

Tuesday, June 26th, 2012

Journal of Statistical Software

From the homepage:

Established in 1996, the Journal of Statistical Software publishes articles, book reviews, code snippets, and software reviews on the subject of statistical software and algorithms. The contents are freely available on-line. For both articles and code snippets the source code is published along with the paper.

Statistical software is the key link between statistical methods and their application in practice. Software that makes this link is the province of the journal, and may be realized as, for instance, tools for large scale computing, database technology, desktop computing, distributed systems, the World Wide Web, reproducible research, archiving and documentation, and embedded systems.

We attempt to present research that demonstrates the joint evolution of computational and statistical methods and techniques. Implementations can use languages such as C, C++, S, Fortran, Java, PHP, Python and Ruby or environments such as Mathematica, MATLAB, R, S-PLUS, SAS, Stata, and XLISP-STAT.

There are currently 518 articles, 34 code snippets, 104 book reviews, 6 software reviews, and 13 special volumes in our archives. These can be browsed or searched. You can also subscribe for notification of new articles.

Running down resources used in Wordcloud of the Arizona et al. v. United States opinion when I encountered this wonderful site.

I have only skimmed the surface for an article or two in particular so can’t begin to describe the breadth of material you will find here.

I am sure I will be returning time and time again to this site. Suggest if you are interested in statistical manipulation of data that you do the same.

Wolfram Plays In Streets of Shakespeare’s London

Monday, April 23rd, 2012

I should have been glad to read: To Compute or Not to Compute—Wolfram|Alpha Analyzes Shakespeare’s Plays. Promoting Shakespeare has to be a first for Wolfram.

But the post reports word counts, unique words, and similar measures as master strokes of engineering, all things familiar since SNOBOL and before. And then makes this “bold” suggestion:

Asking Wolfram|Alpha for information about specific characters is where things really begin to get interesting. We took the dialog from each play and organized them into dialog timelines that show when each character talks within a specific play. For example, if you look at the dialog timeline of Julius Caesar, you’ll notice that Brutus and Cassius have steady dialog throughout the whole play, but Caesar’s dialog stops about halfway through. I wonder why that is?

That sort of analysis was old hat in the 1980’s.

Wolfram needs to catch up on the history of literary and linguistic computing rather than repeating it.

The back issues of Computational Linguistics or Literary and Linguistic Computing should help in that regard. To say nothing of Shakespeare, Computers, and the Mystery of Authorship and similar works.

On digital humanities projects in general, see: Digital Humanities Spotlight: 7 Important Digitization Projects by Maria Popova, for a small sample.


Thursday, November 10th, 2011


Kirk Lowery mentioned Sage to me and with mathematics being fundamental to IR, it seemed like a good resource to mention. Either for research, using one of the course books or satisfying yourself that algorithms operate as advertised.

You don’t have to take someone’s word on algorithms. Use a small enough test case that you will recognize the effects of the algorithm. Or test it against another algorithm said to give similar results.

I saw a sad presentation years ago when a result was described as significant because the manual for the statistics package used said it was significant. Don’t let that be you, either in front of a client or in a presentation to peers.

From the website:

Sage is a free open-source mathematics software system licensed under the GPL. It combines the power of many existing open-source packages into a common Python-based interface.

Mission: Creating a viable free open source alternative to Magma, Maple, Mathematica and Matlab.

From the feature tour:

Sage is built out of nearly 100 open-source packages and features a unified interface. Sage can be used to study elementary and advanced, pure and applied mathematics. This includes a huge range of mathematics, including basic algebra, calculus, elementary to very advanced number theory, cryptography, numerical computation, commutative algebra, group theory, combinatorics, graph theory, exact linear algebra and much more. It combines various software packages and seamlessly integrates their functionality into a common experience. It is well-suited for education and research.

The user interface is a notebook in a web browser or the command line. Using the notebook, Sage connects either locally to your own Sage installation or to a Sage server on the network. Inside the Sage notebook you can create embedded graphics, beautifully typeset mathematical expressions, add and delete input, and share your work across the network.

The following showcase presents some of Sage’s capabilities, screenshots and gives you an overall impression of what Sage is. The examples show the lines of code in Sage on the left side, accompanied by an explanation on the right. They only show the very basic concepts of how Sage works. Please refer to the documentation material for more detailed explanations or visit the library to see Sage in action.

In all fairness to Mathematica, the hobbyist version is only $295 for Mathematica 8. With versions for Windows (XP/Vista/7) Max OS X (Intel) and Linux. There is a reason why people want to be like…some other software. Mathematica has data mining capabilities and a host of other features. I am contemplating a copy of Mathematica as a Christmas present for myself.

Do note that all of the Fortune 50 companies use Mathematica. The hobbyist version allows you to add an important skill set that is relevant to a select clientele. Not to mention various government agencies, etc.

Should a job come along that requires it, I can simply upgrade to a professional license. Why? Well, I expect people to pay my invoices when I submit them. Why shouldn’t I pay for software I use on the jobs that result in those invoices?

Don’t cut corners on software. Same goes for the quality of jobs. It will show. If you don’t know, don’t lie, say you don’t know but will find out. Clients will find simple honesty quite refreshing. (I can’t promise that result for you but it has been the result for me over a variety of professions.)