# Using Wolfram Language in Jupyter: A free alternative to Mathematica

In this post I am going to describe how to add the Wolfram Language to the Jupyter notebook. This provides a free alternative to Mathematica with, pretty much, the same syntax. The use of the Wolfram Engine is free for non-production as described in their website:

The Free Wolfram Engine for Developers is available for non-production software development.

You can use this product to:

develop a product for yourself or your company

conduct personal projects at home, at school, at work

explore the Wolfram Language for future production projects

## Installation

To install you should do the following steps:

Create a Wolfram account, if you don't have one.

Execute the installer.

Type the following in a terminal

and you should be asked for your email and password.

After that you should be in a terminal and see the following

Wolfram Engine activated. See https://www.wolfram.com/wolframscript/ for more information. Wolfram Language 12.2.0 Engine for Linux x86 (64-bit) Copyright 1988-2021 Wolfram Research, Inc.

And we can try that it is working

In[1]:= $Version Out[1]= 12.2.0 for Linux x86 (64-bit) (January 7, 2021) In[2]:= Integrate[1/(1 + x^2), x] Out[2]= ArcTan[x]

Now we need to install WolframLanguageForJupyter. For that we can type the following in a terminal

git clone https://github.com/WolframResearch/WolframLanguageForJupyter.git cd WolframLanguageForJupyter/ ./configure-jupyter.wls add

To test that it is installed we can type the following in a terminal

and it should have an output that includes a line similar to the following

Or we could also try with

and see the following in the kernel menu.

## Test drive

I tested some of the capabilities and you can download the notebook or see a static version here.

Let's compute the integral

And make a 3D plot.

fun:= Sin[Sqrt[x^2 + y^2]]/Sqrt[x^2 + y^2] Plot3D[fun, {x, -5*Pi, 5*Pi}, {y, -5*Pi, 5*Pi}, PlotPoints -> 100, BoxRatios -> {1, 1, 0.2}, PlotRange -> All]

In this case we don't have an interactive image. This is still not implemented, but if you are interested there is an open issue about it in GitHub.

## Comments

Comments powered by Disqus