**Introduction**

In July 2000 I attended the conference on Technology in Mathematics Education in Beirut. After my lecture on the role of programming in teaching mathematics, several teachers asked me if I can tell them something about the tools that can be used for teaching high school mathematics. They knew about such packages as Maple V, Mathematica or Derive, but they didn’t have the resources to buy these packages or site licenses for their schools. As a result of this question, we went into a long and very interesting discussion about MuPAD. It was at this time that I started thinking about writing a book about MuPAD, which could be useful for teachers of mathematics and their students. Now that dream has come true and you have this book in your hands. I hope you will enjoy it.

This book should be considered as first steps through mathematics with MuPAD. It is not a MuPAD reference book and, in fact, many MuPAD-related topics are not discussed here at all. Nor is it a text for a regular computer-assisted course of mathematics. What it is is an exciting excursion through through different areas of mathematics facilitates by MuPAD, and I will show you the basic instructions that are useful for these specific areas. I will explore many topics and show you many examples. However, it may turn out that the particular topic you are interested in has been omitted. If this is the case, you have two possible choices — one, to try to work it out on your own; and two, you can write to me, and I will try to add this topic in the next edition of the book.

I have tried to make this book as interesting and approachable as possible. As you have probably noticed by now, the style of this book is me talking to you. This is not only because I think it is easier to read, but also because this writing style is what comes naturally for me.

I like to stay in touch with my readers. For this purpose, a web site has been developed for this book. Here you will find the source code for the MuPAD programs mentioned in this book, as well as bug fixes and some updates.

For the purpose of this book, I have used several versions of MuPAD Pro from 2.0 onwards. Due to the changes between versions 1.x, version 2.0 and the later versions, some examples and constructions in this book might not work in earlier versions of MuPAD. However, you should be able to easily convert them to older versions.

#### 1.1 What is Special about MuPAD

We all know that the teaching of mathematics can benefit a lot from Computer Algebra Systems (CAS). By using CAS we can visualize mathematical concepts, and especially various types of functions and equations; we can also solve complicated equations without tedious calculations or transform formulae without making difficult-to-find errors. There are several powerful CAS that can be used to teach mathematics. Each of them has its own good features and drawbacks. Sometimes, the drawback can be the price of the package; sometimes it is its difficult syntax, or hardware requirements that are too high to meet in a school environment.

MuPAD is one of the youngest of these mathematical packages, and for this reason it is not as popular as Maple, Mathematica or Derive. The development of MuPAD started in the early nineties. Until this time, the software market was dominated by commercial, and often very expensive packages. However, in the early nineties we saw a new trend in software development — the so-called open source software. It was at this time that such famous systems as Linux, MuPAD, POV-Ray, and many other free or inexpensive programs were developed.

MuPAD is neither freeware nor open source software, but shares similar beginnings with the latter. Its development started with a few students’ Master’s theses at the University of Paderborn. Since then, over the last decade, many students and staff members of the university have contributed to its development. Currently, MuPAD is the most serious competitor of such powerful packages like Mathematica or Maple. For mathematics educators, its innovative features and the low price of the software are especially important. Indeed, if you are going to teach a course with MuPAD, you can obtain a free license for 200 days – which is quite enough for the duration of a one-semester course. Moreover, both educators and students can obtain a free personal license of MuPAD Light or MuPAD for Linux.

#### 1.2 What may you expect?

The first seven chapters of this book are focused on the basics of using MuPAD. We begin with the syntax of MuPAD commands and declarations (chapters 2 and 3), and programming control structures (chapter 4). In chapter 5 we move on to to writing procedures and using MuPAD libraries. Chapters 6 and 7 are devoted to graphics in MuPAD. I will discuss there the syntax of plotting commands, showing how to plot curves and surfaces. At this point, we shall move on to my point of interest – applications of MuPAD in mathematics. In chapter 8, I describe some uses of MuPAD graphics in calculus and geometry. Chapter 9 is devoted to different types of numbers. Finally, in the last four chapters, we move on to elementary algebra (chapter 10), logic and set theory (chapter 11), calculus (chapter 12) and linear algebra (chapter 13).

Each chapter of this book ends with a summary of the MuPAD elements that were introduced in the chapter. At the end of each chapter, I also enclose a set of programming exercises to be done by the readers. Most of these exercises are at a basic level and usually they require you to develop a short MuPAD program or procedure with no more than 20 lines. This will help you to better understand the nature of MuPAD programming, and at the same time to build your confidence in using MuPAD in the classroom. I suppose the sets of exercises should really be much larger. However, I believe that almost any topic in high school or university mathematics can lead to a number of interesting programming activities.

#### 1.3 Writing “between”

The best word to describe this book is probably the word “between”. This book was written between many things – different places, different versions of MuPAD, different times, different interests, and different people.

While writing this book I have moved from Far East Asia to the Middle East. The beginning of this book was written in the small city of Macau on the coast of the China Sea, some of the middle chapters were written in Poland, and the last few chapters were written in Abu Dhabi, in the Persian Gulf. While writing this book, I have thus moved from the tranquility of East Asia to the atmosphere of war in the Middle East after September 11th, 2001.

While writing this book, I continued to remain trapped between my two contradictory interests – computer graphics and mathematics. In this book, you will notice a lot of influence of computer graphics. It is for this reason that the chapters about MuPAD graphics occupy about one third of the book. However, I still have a feeling that too many things related to graphics are missing here.

I used a number of unofficial versions of MuPAD during the writing of the book. I started off with version 2.0; later chapters however, were written with the alpha and beta versions of something that will soon become version 2.5. I was thus able to capture some of the most significant changes in MuPAD. A few times, while writing this text, I got the feeling that one feature or another could work in a different way. It was quite surprising for me that some of my suggestions were implemented in MuPAD in a matter of hours or days. Working with the MuPAD team was a real adventure. The ever-changing MuPAD was the biggest challenge for me. You might notice that some parts of the book, and especially the parts related to MuPAD graphics, are a bit messy. This is because I tried to simultaneously capture the features of version 2.0 and be inline with new developments.

Finally, I wrote this book between many people and each of them, knowingly or not, had some influence on my work. Let me introduce some of them here.

I shall start with Enrique Wintergerst and Barry MacKichan who, a few years ago, had encouraged me to look into MuPAD. This was at the time when MacKichan Inc. had just decided to implement MuPAD as a computing engine in their Scientific Workplace and Scientific Notebook packages. A number of people from Paderborn University also had great influence on my work. Allow me to mention some of them. Frank Postel gave me a lot of hints at the beginning of my MuPAD path, when I was trying to work out some puzzling features of MuPAD. Oliver Kluge, Ralf Hillebrand, Christopher Creutzig, Klaus Drescher, Stefan Wehmeier and Torsten Metzner are those who were so patient in discussing with me the various features of MuPAD. When talking about the MuPAD team, I must also mention Prof. Benno Fuchssteiner, who invited me to Paderborn and encouraged me to work with his team.

I will also mention my two Polish friends Paweł Kwiatkowski and Bronek Pabich. Their enthusiasm for this book was a great support in my work. I need to also mention my son Jakub, who spent a significant amount of time searching for spelling and grammar errors in the first drafts of this book. Furthermore, I could not omit here my wife and daughter, who both had a rather difficult time when I tried to concentrate on my work.

Finally, I would like to extend my gratitude to Georgios Dalaras, whose music gave me a lot of joy and inspiration while I was writing this book.

I thank all of you for your help, encouragement, or at least tolerating my passion for this work.

Miroslaw Majewski

Zayed University,

United Arab Emirates,

February 2002

Published 19/04/2002; Updated on 25/01/2009 , by M. L. Majewski