Автор: Makoto Tsukada, Yuji Kobayashi, Hiroshi Kaneko
Издательство: Springer
Год: 2023
Страниц: 315
Язык: английский
Формат: pdf (true)
Размер: 10.2 MB
This textbook is for those who want to learn linear algebra from the basics. After a brief mathematical introduction, it provides the standard curriculum of linear algebra based on an abstract linear space. It covers, among other aspects: linear mappings and their matrix representations, basis, and dimension; matrix invariants, inner products, and norms; eigenvalues and eigenvectors; and Jordan normal forms. Detailed and self-contained proofs as well as descriptions are given for all theorems, formulas, and algorithms.
A unified overview of linear structures is presented by developing linear algebra from the perspective of functional analysis. Advanced topics such as function space are taken up, along with Fourier analysis, the Perron–Frobenius theorem, linear differential equations, the state transition matrix and the generalized inverse matrix, singular value decomposition, tensor products, and linear regression models. These all provide a bridge to more specialized theories based on linear algebra in mathematics, physics, engineering, economics, and social sciences.
Python is a free and open-source programming language that provides many useful tools for doing various calculations. It can treat fractions as fractions, calculate expressions containing character constants and variables, and display the results as character expressions. Moreover, Python has many external libraries for special purposes, such as image processing, numerical computation, symbolic computation, graph drawing, and so on. For example, SymPy is the library for performing symbolic computations or computer algebra, such as solving linear or algebraic equations and factorization of polynomials. In addition to SymPy, there are many free computer algebra systems such as Maxima, Reduce, and SageMath, as well as commercial computer algebra systems such as Maple, Mathematica, and Magma. However, most of these are huge systems that aspire to be full-featured mathematics systems. On the other hand, SymPy is compact and lightweight, but sufficient for performing linear algebra.
Python has an interactive mode, in which we can proceed with formula transformation while checking each calculation step as if we were using a calculator. We can also see two- or three-dimensional vectors displayed during the calculation. Computational problems specific to linear algebra, such as finding determinants, inverse matrices, and eigenvalues, can also be solved in one-line code. Indeed, many of the exercises presented in college-level linear algebra textbooks can be immediately solved using Python. We can also create new exercises, and with a little ingenuity, even exercises suitable for manual calculations with paper and pencil. In fact, one of the authors, who has been teaching linear algebra for many years, has routinely assigned his class problems that were randomly generated in Python, so that his students will learn to solve different numerical problems of similar difficulty.
However, we cannot understand the true benefits of linear algebra using such exercise-level calculations. For that purpose, it is better to handle large-scale (high-dimensional) data such as audio and images. Readers will find that linear algebra is more interesting if they use the techniques described in this book to process their own images and sound recordings. It would not be an impractical goal to implement what we learned on a small microcomputer board such as Raspberry Pi to make an AI robot. It is amazing that Python code as it is described in this book almost always runs at practical speed.
Python is used throughout the book to explain linear algebra. Learning with Python interactively, readers will naturally become accustomed to Python coding. By using Python’s libraries NumPy, Matplotlib, VPython, and SymPy, readers can easily perform large-scale matrix calculations, visualization of calculation results, and symbolic computations. All the codes in this book can be executed on both Windows and macOS and also on Raspberry Pi.
Скачать Linear Algebra with Python: Theory and Applications