Introduction to GNU Octave: A brief tutorial for linear algebra and calculus students
Jason Lachniet, Wytheville Community College
Copyright Year: 2017
Publisher: Jason Lachniet
Conditions of Use
For an introduction, it has all the things one would need. I expect that once one got the hang of Octave, it would be easy to figure out the things that one might need that are not covered. The index appears to cover all of the major topics. It... read more
For an introduction, it has all the things one would need. I expect that once one got the hang of Octave, it would be easy to figure out the things that one might need that are not covered. The index appears to cover all of the major topics. It might be too difficult to do, but linking the index items to to their page in the text would be really nice. Also, the ability to go from the table of contents to a section and back to the table of contents would be really nice. Maybe this is too difficult to achieve. It might be nice if there was a discussion of floating point arithmetic in the book. Students will be surprised otherwise they start getting weird answers in some places. In particular, in the section on limits in calculus, if you try to calculate some limits simply by evaluating at values of x closer and closer to the limiting value of x, you can get some strange and misleading answers due to the nature of floating point computations.
I've spot checked commands given and everything seems in order. I know the software changes from time to time, so I would not be surprised to find a command or two that doesn't work as advertised, but I found none that didn't work.
The topics that are covered are pretty timeless. Octave should be pretty stable as a mature software product. I think this book will remain relevant. Updating periodically will be necessary since new features will undoubtedly be added to Octave in the future. I doubt the basic commands given in this book will change much though.
I found the book to read well. It is written in very straightforward prose that I believe students could easily follow.
Much of the consistency is probably due to Octave itself, but I found no glaring inconsistent terminology. The author uses screenshots or something similar to display the Octave commands in action. The graphs are the output from the graphics commands in Octave, so it would be easy to follow along. What you see in the book will be very similar to what you see on your screen.
The author uses sectioning commands. The chapters seem to be divided into logical sections.
The optimal order of the topics I think is going to depend on who is using the book. For instructors using the book for a calculus class, it might seem strange to start with vectors and matrices, but that's the nature of the program so there is no way around it. For instructors using the book for a linear algebra class, I'd imagine they'd ignore the calculus chapters. Short of writing two different books, I'm not sure what else the author could do.
As mentioned above, more internal links would be nice. I'm not sure if there is another version that has these in place. I've just got the pdf version I believe. One of the little annoyances is you can click on something in the table of contents and you go there, but there is no back button that I can find, so jumping around in the book seems a bit clunky. It could be I'm missing something. If I were to adopt the book, I'd probably send it to my campus print shop and have them print and bind it for me. I much prefer working from print. That wouldn't stop me from using it though.
I may not be the best judge of this characteristic. No glaring grammatical errors jump out at me. Are all the commas in the right place? Beats me. The language usage seems consistent with the dialect spoken by mathematicians though.
I found no gender or ethnic references at all. The text seems to stick with just math and Octave lingo.
This seems to be a useful supplemental book for a lot of math classes looking to add some computational emphasis to the course. Octave has come a ways since I last used it and is definitely a viable alternative to pricey proprietary software.
The text seems to cover all the introductory topics for a new user to GNU Octave. The index and glossary were effective. I believe I could readily use this for a great deal of the computational or graphing my students use in my Introductory... read more
The text seems to cover all the introductory topics for a new user to GNU Octave. The index and glossary were effective. I believe I could readily use this for a great deal of the computational or graphing my students use in my Introductory Linear Algebra, Introduction to ODE, or Multivariate Calculus courses.
The text is unbiased, and specifically states where MATLAB is more efficient. I found no errors in the textbook's descriptions and examples of the commands & syntax that I tested: matrix operations, LU decomps, single-variable differentiation, single-variable definite & indefinite integration, 2D graphs, 3D graphs of curves and surfaces, Double Integrals, solving simple ODEs, Direction Fields, etc. However, there is still a great deal of material that I did not test.
The textbook can easily be updated as the software changes. The only issue I potentially see is that many free software programs have trouble creating and maintaining robust support, development, debugging, etc, depending on the community. This could make it difficult for the textbook to keep up lists of discovered bugs, corercted bugs, and such within the text itself; however, this could be addressed if there is online site for this information. As far as I am concerned, this is the nature of the material and not the textbook itself.
As I have never used GNU Octave before, and I have not used MATHLAB in decades, so I was testing the material in the text as a complete beginner. I generally found the explanations of commands and syntax clear. I suspect those not clear to me simply require more practice on my part.
The text is consistent in terms of technology and framework.
The text is readily divisible into smaller sections. Any problems created by skipping or reordering material is easily addressed by constructing a reduced index specific to your reduced coverage. E.g. I went to solve ODE before reading about some of the necessary syntax; I simply went to the index and found the sections that I required for the commands I was learning.
The text has organzied the material in a logical order. Each Chapter covers related topics using related commands of increasing complexity, and the Chapters do cover the topics in a logical order.
Many of the figures were not directly below (or even above) the relevant material. Some were actually in the middle of the next example. This was terribly distracting and caused me to have to switch back and forth between pages multiple times as I tried to follow the materials and examples.
I noticed no grammatical or spelling errors.
Not applicable. There are not even gendered pronouns used in the text, only "you".
Table of Contents
1 Basic operation
- 1.1 Introduction
- 1.2 Navigating the GUI
- 1.3 Matrices and vectors
- 1.4 Plotting
- Chapter 1 Exercises
2 Matrices and linear systems
- 2.1 Linear systems
- 2.2 Polynomial curve fitting
- 2.3 Matrix transformations
- Chapter 2 Exercises
- 3.1 Limits, sequences, and series
- 3.2 Numerical integration
- 3.3 Parametric, polar, and implicit functions
- 3.4 Complex variables
- 3.5 Special functions
- 3.6 Symbolic operations
- Chapter 3 Exercises
4 Eigenvalue problems
- 4.1 Eigenvalues and eigenvectors
- 4.2 Markov chains
- 4.3 Diagonalization
- 4.4 Singular value decomposition
- 4.5 Gram-Schmidt and the QR algorithm
- Chapter 4 Exercises
5 Additional topics
- 5.1 Three dimensional graphs
- 5.2 Multiple integrals
- 5.3 Vector fields
- 5.4 Statistics
- 5.5 Differential equations
- Chapter 5 Exercises
6 Applied projects
- 6.1 SVD and digital image compression
- 6.2 The Gini index and nonlinear curve-fitting
- 6.3 Designing a helical strake: arc length and curvature
- 6.4 Modeling a cave passage: cubic spline curves
- 6.5 Graphs of surfaces and 3D-printing
A MATLAB compatibility
B List of Octave commands
About the Book
This brief book provides a noncomprehensive introduction to GNU Octave, a free open source alternative to MatLab. The basic syntax and usage is explained through concrete examples from the mathematics courses a math, computer science, or engineering major encounters in the first two years of college: linear algebra, calculus, and differential equations.
About the Contributors
Jason Lachniet, Wytheville Community College