Wolfram Computation Meets Knowledge

New Technology

Announcements & Events

Crop Production Forecasts and Groundwater Trends Based on the Predator–Prey Model

Ever since Thomas Robert Malthus’s book An Essay on the Principle of Population, scientists have sought to determine the limit to the growth of human population due to finite resources. One such resource is groundwater. About 40% of global food production ultimately depends on irrigation and, increasingly, the source of irrigation water is groundwater aquifers. Groundwater irrigation allows farmers to increase crop yields, maintain them in dry spells and overcome temporal mismatches between growing seasons and seasonal rain. In many parts of the world, groundwater withdrawal (or pumping from wells) exceeds recharge, leading to groundwater depletion. In these regions, the “lifespan” of groundwater aquifers is limited, putting a bound on the amount of irrigation per year and the sustainability of groundwater-based agriculture. The goal of this study was to propose a dynamical systems framework capable of explaining past trends in groundwater-based irrigation and providing forecasts of food production.

Best of Blog

Two Lines of Code to Bulletproof Encryption: Advancements in Cryptography Development in the Wolfram Language

Cryptography functionality in the Wolfram Language has been growing significantly ever since it was originally released in Version 10.1. In the latest release, we added support for generation and verification of digital signatures for expressions, files and cloud objects; you can encrypt or digitally sign anything—from simple messages to images or code. In order to maintain our users’ security and safety, we base our algorithms on OpenSSL libraries. While OpenSSL normally requires a great deal of experience to use, integration with the Wolfram Language has made it simple.
Announcements & Events

AI and the Wolfram Language Work toward Partial Automation in the Search for Cancer

NOTE: The following post contains real medical images.

As more technology is folded into medical environments all over the world, Wolfram’s European branch has taken on work with the United Kingdom’s National Health Service (NHS) in an effort to partially automate the process of cancer diagnosis. The task is to use machine learning to avoid checking thousands of similar-looking images of people’s insides by hand for signs of cancer.

Announcements & Events

The Wolfram Function Repository: Launching an Open Platform for Extending the Wolfram Language

What the Wolfram Language Makes Possible

We’re on an exciting path these days with the Wolfram Language. Just three weeks ago we launched the Free Wolfram Engine for Developers to help people integrate the Wolfram Language into large-scale software projects. Now, today, we’re launching the Wolfram Function Repository to provide an organized platform for functions that are built to extend the Wolfram Language---and we’re opening up the Function Repository for anyone to contribute.

The Wolfram Function Repository is something that's made possible by the unique nature of the Wolfram Language as not just a programming language, but a full-scale computational language. In a traditional programming language, adding significant new functionality typically involves building whole libraries, which may or may not work together. But in the Wolfram Language, there's so much already built into the language that it's possible to add significant functionality just by introducing individual new functions---which can immediately integrate into the coherent design of the whole language.

To get it started, we've already got 532 functions in the Wolfram Function Repository, in 26 categories:

Best of Blog

How I Built a Virtual Piano with the Wolfram Language and the Unity Game Engine

You know what’s harder than learning the piano? Learning the piano without a piano, and without any knowledge of music theory. For me, acquiring a real piano was out of the question; I had neither the funds nor space in my small college apartment. So naturally, it looked like I would have to build one myself—digitally, of course. And luckily, I had Mathematica, Unity and a few hours to spare. Because working in Unity is incredibly quick and efficient with the Wolfram Language and UnityLink, I’ve created a playable section of piano, and even learned a bit of music theory in the process.

Announcements & Events

Launching Today: Free Wolfram Engine for Developers

Why Aren't You Using Our Technology?

It happens far too often. I’ll be talking to a software developer, and they’ll be saying how great they think our technology is, and how it helped them so much in school, or in doing R&D. But then I’ll ask them, “So, are you using Wolfram Language and its computational intelligence in your production software system?” Sometimes the answer is yes. But too often, there’s an awkward silence, and then they’ll say, “Well, no. Could I?”

I want to make sure the answer to this can always be: "Yes, it's easy!" And to help achieve that, we're releasing today the Free Wolfram Engine for Developers. It's a full engine for the Wolfram Language, that can be deployed on any system---and called from programs, languages, web servers, or anything.

The Wolfram Engine is the heart of all our products. It’s what implements the Wolfram Language, with all its computational intelligence, algorithms, knowledgebase, and so on. It’s what powers our desktop products (including Mathematica), as well as our cloud platform. It’s what’s inside Wolfram|Alpha---as well as an increasing number of major production systems out in the world. And as of today, we’re making it available for anyone to download, for free, to use in their software development projects.

Announcements & Events

What We’ve Built Is a Computational Language (and That’s Very Important!)

What Kind of a Thing Is the Wolfram Language?

I've sometimes found it a bit of a struggle to explain what the Wolfram Language really is. Yes, it’s a computer language---a programming language. And it does---in a uniquely productive way, I might add---what standard programming languages do. But that’s only a very small part of the story. And what I’ve finally come to realize is that one should actually think of the Wolfram Language as an entirely different---and new---kind of thing: what one can call a computational language.

So what is a computational language? It's a language for expressing things in a computational way---and for capturing computational ways of thinking about things. It's not just a language for telling computers what to do. It's a language that both computers and humans can use to represent computational ways of thinking about things. It's a language that puts into concrete form a computational view of everything. It's a language that lets one use the computational paradigm as a framework for formulating and organizing one's thoughts.

It's only recently that I've begun to properly internalize just how broad the implications of having a computational language really are---even though, ironically, I've spent much of my life engaged precisely in the consuming task of building the world’s only large-scale computational language.

Academics

Shattering the Plane with Twelve New Substitution Tilings Using 2, φ, ψ, χ, ρ

Similar Triangle Dissections

Version 12 of the Wolfram Language introduces solvers for geometry problems. The documentation for the new function GeometricScene has a neat example showing the following piece of code, with GeometricAssertion calling for seven similar triangles:

&#10005 o=Sequence[Opacity[.9],EdgeForm[Black]];plasticDissection=RandomInstance[GeometricScene[{a,b,c,d,e,f,g},{ a=={1,0},e=={0,0},Line[{a,e,d,c}], p0==Polygon[{a,b,c}], p1==Style[Polygon[{b,d,c}],Orange,o], p2==Style[Polygon[{d,f,e}],Yellow,o], p3==Style[Polygon[{b,f,d}],Blue,o], p4==Style[Polygon[{g,f,b}],Green,o], p5==Style[Polygon[{e,g,f}],Magenta,o], p6==Style[Polygon[{a,e,g}],Purple,o], GeometricAssertion[{p0,p1,p2,p3,p4,p5,p6},"Similar"]}],RandomSeeding->28]