Mini-Course Computer Algebra for Physicists - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Physics : Mini-Course Computer Algebra for Physicists

Mini-Course: Computer Algebra for Physicists

 

This course, used in hands-on workshops at the Perimeter Institute for Theoretical Physics and the Brazilian Center for Research in Physics, is organized as a guided experience, for 2 hours per day during five days, for learning the basics of the Maple language and then using it to formulate algebraic computations that we do in physics with paper and pencil. It is oriented to people not familiar with computer algebra (sections 1-5), as well as to people who are familiar with it but want to learn more about how to use it in physics.

 

Motivation

 

Among other things, with computer algebra:

 

• 

You can concentrate more on the ideas (the model and its formulation) instead of on the algebraic manipulations

• 

You can extend your results with ease

• 

You can explore the mathematics surrounding your problem

• 

You can share your results in a reproducible way - and doing so, collaborate with others around a problem in more productive ways

• 

After you learn the basics, the speed at which algebraic results are obtained with the computer compensates with dramatic advantage the extra time invested to formulate the problem on the computer

 

All this doesn't mean that we need computer algebra, at all, but it does mean that computer algebra can enrich our work experience in significant ways.

What is computer algebra - and how do you learn to use it?

 

Computer algebra is just another language for doing the same computations you do with paper and pencil:

• 

There is our math/phys language, that we understand and use when doing computations with paper and pencil

• 

There is a dictionary (the help pages) that translate the computer-algebra language into our math/phys language

• 

We want to express - in the computer algebra language - those algebraic computations we do with paper and pencil using our math/phys language

  

* For these purposes, it is relevant that the computer algebra language be as close as possible to our math/phys language.

  

* You only need to know a basic set of words and syntax, and for everything else use the help pages (the dictionary). If the language is useful, with time you will naturally remember more words.

What is this mini-course about?

 

Below, you will find 10 Sections with computational topics. Sections 1 to 5 are about the basics of computer algebra, a sort of minimum that we need to know. Sections 6 to 10 are dedicated to formulating, on the computer algebra worksheet, some of the typical algebraic computations used in physics. The presentation is not about all you can do with computer algebra but about how to do all the computations you'd normally do with paper and pencil.

 

Each section starts with a table summarizing it, followed by two subsections: one with examples (the introductory material I present in class, approximately 15 minutes), and one with exercises including their solutions (the material you work on, approximately 1 hour and 15 minutes). You may prefer either to try solving the proposed problems by yourself or, what is frequently more convenient:

Look at the presented solution - in that way getting ideas for a computational approach to the problem.

Close the solution subsection and try to solve the problem yourself. Repeat a and b as many times as you need, until you feel you can solve the problem thinking by yourself and understanding what you are doing.

 

In a first approach, you can also only just give a look at all the solutions presented, to form a general idea. It is rewarding, however, to try to solve a minimum of one problem per section.

What can you expect from this mini-course?

 

• 

The number of topics is large; yet the idea is that you can get the minimum necessary to move ahead. The solved exercises help to show how you translate paper and pencil computations into computer algebra computations.

• 

In order to cover the topics proposed, some of the computational ideas and commands are introduced directly within the exercises, and some other ones are only indicated by pointing to help pages (for quick access to help: place the cursor over the command you don't know, then press F2 to open a related help page). You can selectively grab only the information you need, or explore further if you prefer - this is very personal.

• 

At the end of these 5 lectures you will have seen the main ideas behind performing - with computer algebra - the typical algebraic computations of physics. You will also be able to either formulate a problem yourself, or to formulate a more precise question on what part of the computation you feel lost in, and you will be able to make use of any good answer provided to your question.

 

Summary: Learning the whole language takes more than 5 days, but below you have all that you need to move by yourself and interact with others.

 

Explore. While learning, having success is a secondary goal: using your curiosity as a compass is what matters - things can be done in so many different ways. Take full permission to make mistakes. Share your insights. All questions are valid even if about a side issue. Computer algebra can transform the algebraic computation part of physics into interesting discoveries and fun.

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft

 

1. Arithmetic operations and elementary functions

Operators

+, -, *, /, ^

Functions

exp,ln,sin, cos, tan, csc, sec, cot,arcsin, arccos, arctan, arccsc, arcsec, arccot. For the hyperbolic functions put an h at the end as in sinh, arctanh, etc.

Manipulation commands

• 

Related to numerical evaluation: evalf, Digits

• 

The complex components: Re, Im, conjugate, abs, argument

• 

Related to functions: series, convert (any function to any other one when possible), FunctionAdvisor

• 

Related to plotting: plot, plot3d, plots:-plotcompare

Table 1: Arithmetic operations and elementary functions