Math 466/666

Questions and Answers about Julia

Here is a summary of my answers to the questions people asked in chat on September 3 about the Julia programming language.

Does the math text in Jupyter have the same structure as LaTeX?

The mathematical equations in JupyterLab are intentionally formatted using the same commands as in LaTeX. Note, however, that the formatting of the rest of the document follows Markdown conventions.

Although full LaTeX may be important when writing an involved scientific report, the compromise of Markdown with LaTeX equations will be sufficient for this class. Since JupyterLab can serve as a stepping stone for LaTeX, I think it is reasonable to learn JupyterLab first.

While it is possible to create a project report using LaTeX or even Microsoft Word, since you will be working in groups it is important everyone in the group agrees to this and is fully able to participate. For simplicity my recommendation is to use JupyterLab. I will be using it in class, able to answer questions and people will be familiar with it.

There is less of a problem using Microsoft Word, LaTeX or any other software on homework as long as the final result can be uploaded as a pdf file. However, for questions involving a pencil-and-paper calculation, I would prefer that people turn in pdf scans of their pencil-and-paper work, unless a special disability makes this difficult.

Can Julia be a substitute for Maple?

Maple is a computer algebra system while Julia is intended for numeric computation. Though both are related to mathematics, they are different.

Julia was designed as a replacement for MATLAB. There is a symbolic toolbox add-on for MATLAB based off of the MuPAD computer algebra system designed at the University of Paderborn that includes many features of Maple; however, the most common use of MATLAB is for numeric computations.

Maple can be accessed on campus in the Math Center, in the ECC Lab and rented by students for a semester to use at home for about $25. Maple is not available through the UNR remote desktop. However, a different computer algebra system called Mathematica is available. When I need a CAS in this course I will use Mathematica.

Mathematica also comes free with a Raspberry Pi, which is a $35 computer designed to teach computer science throughout the primary and secondary schools in the UK. It is also useful for certain university courses. For example, you may already have a Raspberry Pi if you took or are taking CS219 Computer Architecture. While not suitable for Zoom-based distance learning, in addition to Mathematica the Raspberry Pi can also be used to run Julia, JupyterLab and do all the homework for this class.

What's the relationship between Julia and Python?

Jupyter is an amalgamation of the names of the Julia, Python and R programming languages.

Are we allowed to use Python for our projects?

Yes. However, since you will be working in groups it is extremely important that everyone in the group agrees to this. The reason I will teach with Julia rather than Python in class is because Julia is faster and easier to use for numeric computations, especially when working with vectors and matrices.

Can we use MATLAB?

MATLAB is a common choice for an introductory course in numerical methods. I have taught Math 466/666 using MATLAB in the past but chose to use Julia this semester. Julia has a syntax which retains the convenience of MATLAB while fixing many idiosyncrasies related to the way MATLAB evolved over time.

At this point Julia is faster, easier to understand, feature complete and one of the three main software components behind JupyterLab. It is also free. In my opinion it is likely Julia will be increasingly used for engineering, science and mathematics in the future. Therefore, even if you already know MATLAB, I think it is worthwhile to learn Julia.

While it is possible to use MATLAB for this course, as with Python, it is important when working in a group that everyone agrees. Since I will be teaching the course using Julia and because anyone who already knows MATLAB should find Julia easy to learn, my recommendation is to use Julia.

Last Updated: Fri Sep 4 13:25:54 PDT 2020