Wolfram Computation Meets Knowledge

Software Development

Best of Blog

Why Wolfram Tech Isn’t Open Source—A Dozen Reasons

Over the years, I have been asked many times about my opinions on free and open-source software. Sometimes the questions are driven by comparison to some promising or newly fashionable open-source project, sometimes by comparison to a stagnating open-source project and sometimes by the belief that Wolfram technology would be better if it were open source.

At the risk of provoking the fundamentalist end of the open-source community, I thought I would share some of my views in this blog. While there are counterexamples to most of what I have to say, not every point applies to every project, and I am somewhat glossing over the different kinds of “free” and “open,” I hope I have crystallized some key points.
Education & Academic

Interning at Wolfram: My Regeneration as a Theoretical Scientist

How does it feel to be an intern at Wolfram?

Most undergraduate college students chase opportunities for internships in New York, Miami, Seattle and particularly San Francisco at very young but large high-tech companies like Uber, Pinterest, Quora, Expedia and similar internet companies. These companies offer the best salaries, perks, bosses, coworkers, catered lunches and other luxurious amenities available in such large cities. You would seldom hear about any of these people pursuing opportunities in small, lesser-known towns like Ames, Iowa, or Laramie, Wyoming—and Champaign, Illinois, where Wolfram Research is based, is one of those smaller towns.

Many students want to go into computer science, as it’s such a rapidly developing field. They especially want to work in those companies on the West Coast. If you’re in a different field, like natural science, you might think there’s nothing beyond on-campus research for work experience. At Wolfram Research, though, there is.

Education & Academic

Mathematics Genealogy Project: Computational Exploration in the Wolfram Language

The Mathematics Genealogy Project (MGP) is a project dedicated to the compilation of information about all mathematicians of the world, storing this information in a database and exposing it via a web-based search interface. The MGP database contains more than 230,000 mathematicians as of July 2018, and has continued to grow roughly linearly in size since its inception in 1997.

In order to make this data more accessible and easily computable, we created an internal version of the MGP data using the Wolfram Language’s entity framework. Using this dataset within the Wolfram Language allows one to easily make computations and visualizations that provide interesting and sometimes unexpected insights into mathematicians and their works. Note that for the time being, these entities are defined only in our private dataset and so are not (yet) available for general use.
Education & Academic

Big O and Friends: Tales of the Big, the Small and Every Scale in Between

One of the many beautiful aspects of mathematics is that often, things that look radically different are in fact the same—or at least share a common core. On their faces, algorithm analysis, function approximation and number theory seem radically different. After all, the first is about computer programs, the second is about smooth functions and the third is about whole numbers. However, they share a common toolset: asymptotic relations and the important concept of asymptotic scale.

By comparing the “important parts” of two functions—a common trick in mathematics—asymptotic analysis classifies functions based on the relative size of their absolute values near a particular point. Depending on the application, this comparison provides quantitative answers to questions such as “Which of these algorithms is fastest?” or “Is function a good approximation to function g?”. Version 11.3 of the Wolfram Language introduces six of these relations, summarized in the following table.

Education & Academic

Getting to the Point: Asymptotic Expansions in the Wolfram Language

Asymptotic expansions have played a key role in the development of fields such as aerodynamics, quantum physics and mathematical analysis, as they allow us to bridge the gap between intricate theories and practical calculations. Indeed, the leading term in such an expansion often gives more insight into the solution of a problem than a long and complicated exact solution. Version 11.3 of the Wolfram Language introduces two new functions, AsymptoticDSolveValue and AsymptoticIntegrate, which compute asymptotic expansions for differential equations and integrals, respectively. Here, I would like to give you an introduction to asymptotic expansions using these new functions.
Education & Academic

Limits without Limits in Version 11.2

Here are 10 terms in a sequence: And here's what their numerical values are: But what is the limit of the sequence? What would one get if one continued the sequence forever? In Mathematica and the Wolfram Language, there's a function to compute that: Limits are a central concept in many areas, including number theory, geometry and computational complexity. They're also at the heart of calculus, not least since they're used to define the very notions of derivatives and integrals. Mathematica and the Wolfram Language have always had capabilities for computing limits; in Version 11.2, they've been dramatically expanded. We've leveraged many areas of the Wolfram Language to achieve this, and we've invented some completely new algorithms too. And to make sure we've covered what people want, we've sampled over a million limits from Wolfram|Alpha.
Announcements & Events

The Practical Business of Ontology: A Tale from the Front Lines

The Philosophy of Chemicals

"We've just got to decide: is a chemical like a city or like a number?" I spent my day yesterday---as I have for much of the past 30 years---designing new features of the Wolfram Language. And yesterday afternoon one of my meetings was a fast-paced discussion about how to extend the chemistry capabilities of the language. At some level the problem we were discussing was quintessentially practical. But as so often turns out to be the case for things we do, it ultimately involves some deep intellectual issues. And to actually get the right answer---and to successfully design language features that will stand the test of time---we needed to plumb those depths, and talk about things that usually wouldn't be considered outside of some kind of philosophy seminar.
Education & Academic

My Wolfram Tech Conference 2016 Highlights

Here are just a handful of things I heard while attending my first Wolfram Technology Conference: "We had a nearly 4-billion-time speedup on this code example." "We've worked together for over 9 years, and now we're finally meeting!" "Coding in the Wolfram Language is like collaborating with 200 or 300 experts." "You can turn financial data into rap music. Instead, how about we turn rap music into financial data?" As a first-timer from the Wolfram Blog Team attending the Technology Conference, I wanted to share with you some of the highlights for me---making new friends, watching Wolfram Language experts code and seeing what the Wolfram family has been up to around the world this past year.