Math for Programmers by Paul Orland Table of Contents
Fair Use Sources
Math: Outline of mathematics, Mathematics research, Mathematical anxiety, Pythagorean Theorem, Scientific Notation, Algebra (Pre-algebra, Elementary algebra, Abstract algebra, Linear algebra, Universal algebra), Arithmetic (Essence of arithmetic, Elementary arithmetic, Decimal arithmetic, Decimal point, numeral system, Place value, Face value), Applied mathematics, Binary operation, Classical mathematics, Control theory, Cryptography, Definitions of mathematics, Discrete mathematics (Outline of discrete mathematics, Combinatorics), Dynamical systems, Engineering mathematics, Financial mathematics, Fluid mechanics (Mathematical fluid dynamics), Foundations of mathematics, Fudge (Mathematical fudge, Renormalization), Game theory, Glossary of areas of mathematics, Graph theory, Graph operations, Information theory, Language of mathematics, Mathematical economics, Mathematical logic (Model theory, Proof theory, Set theory, Type theory, Recursion theory, Theory of Computation, List of logic symbols), Mathematical optimization, Mathematician, Modulo, Mathematical notation (List of logic symbols, Notation in probability and statistics, Physical constants, Mathematical alphanumeric symbols, ISO 31-11), Numerical analysis, Operations research, Philosophy of mathematics, Probability (Outline of probability), Statistics, Mathematical structure, Ternary operation, Unary operation, Variable (mathematics), Glossary, Bibliography (Math for Data Science and DataOps, Math for Machine Learning and MLOps, Math for Programmers and Software Engineering), Courses, Mathematics GitHub. (navbar_math - see also navbar_variables)
© 1994 - 2024 Cloud Monk Losang Jinpa or Fair Use. Disclaimers
SYI LU SENG E MU CHYWE YE. NAN. WEI LA YE. WEI LA YE. SA WA HE.
about this book
about the author
about the cover illustration
1 Learning math with code
-
1.1 Solving lucrative problems with math and software
Predicting financial market movements
Finding a good deal
Building 3D graphics and animations
Modeling the physical world
1.2 How not to learn math
1.3 Using your well-trained left brain
Part 1. Vectors and graphics
Part 1. Vectors and graphics
2 Drawing with 2D vectors
2 Drawing with 2D vectors
2.1 Picturing 2D vectors
Representing 2D vectors
2D drawing in Python
Exercises
2.2 Plane vector arithmetic
Vector components and lengths
Multiplying vectors by numbers
Subtraction, displacement, and distance
Exercises
2.3 Angles and trigonometry in the plane
From angles to components
Radians and trigonometry in Python
From components back to angles
Exercises
2.4 Transforming collections of vectors
2.5 Drawing with Matplotlib
3 Ascending to the 3D world
3 Ascending to the 3D world
3.1 Picturing vectors in 3D space
3.2 Vector arithmetic in 3D
Adding 3D vectors
Scalar multiplication in 3D
Subtracting 3D vectors
Computing lengths and distances
Computing angles and directions
Exercises
3.3 The dot product: Measuring vector alignment
Picturing the dot product
Computing the dot product
Dot products by example
Measuring angles with the dot product
Exercises
3.4 The cross product: Measuring oriented area
Orienting ourselves in 3D
Finding the direction of the cross product
Finding the length of the cross product
Computing the cross product of 3D vectors
Exercises
3.5 Rendering a 3D object in 2D
4 Transforming vectors and graphics
4.1 Transforming 3D objects
Drawing a transformed object
Composing vector transformations
Rotating an object about an axis
Inventing your own geometric transformations
Exercises
4.2 Linear transformations
Preserving vector arithmetic
Picturing linear transformations
Why linear transformations?
Computing linear transformations
Exercises
5 Computing transformations with matrices
5.1 Representing linear transformations with matrices
Writing vectors and linear transformations as matrices
Multiplying a matrix with a vector
Composing linear transformations by matrix multiplication
Implementing matrix multiplication
3D animation with matrix transformations
Exercises
5.2 Interpreting matrices of different shapes
Column vectors as matrices
What pairs of matrices can be multiplied?
Viewing square and non-square matrices as vector functions
Projection as a linear map from 3D to 2D
Composing linear maps
Exercises
5.3 Translating vectors with matrices
Making plane translations linear
Finding a 3D matrix for a 2D translation
Combining translation with other linear transformations
Translating 3D objects in a 4D world
Exercises
6 Generalizing to higher dimensions
6 Generalizing to higher dimensions
6.1 Generalizing our definition of vectors
Creating a class for 2D coordinate vectors
Improving the Vec2 class
Repeating the process with 3D vectors
Building a vector base class
Defining vector spaces
Unit testing vector space classes
Exercises
6.2 Exploring different vector spaces
Enumerating all coordinate vector spaces
Identifying vector spaces in the wild
Treating functions as vectors
Treating matrices as vectors
Manipulating images with vector operations
Exercises
6.3 Looking for smaller vector spaces
Identifying subspaces
Starting with a single vector
Spanning a bigger space
Defining the word dimension
Finding subspaces of the vector space of functions
Subspaces of images
Exercises
7 Solving systems of linear equations
7 Solving systems of linear equations
7.1 Designing an arcade game
Modeling the game
Rendering the game
Shooting the laser
Exercises
7.2 Finding intersection points of lines
Choosing the right formula for a line
Finding the standard form equation for a line
Linear equations in matrix notation
Solving linear equations with NumPy
Deciding whether the laser hits an asteroid
Identifying unsolvable systems
Exercises
7.3 Generalizing linear equations to higher dimensions
Representing planes in 3D
Solving linear equations in 3D
Studying hyperplanes algebraically
Counting dimensions, equations, and solutions
Exercises
7.4 Changing basis by solving linear equations
Solving a 3D example
Exercises
Part 2. Calculus and physical simulation
Part 2. Calculus and physical simulation
8 Understanding rates of change
8 Understanding rates of change
8.1 Calculating average flow rate from volume
8.2 Plotting the average flow rate over time
8.3 Approximating instantaneous flow rates
Finding the slope of small secant lines
Building the instantaneous flow rate function
Currying and plotting the instantaneous flow rate function
Exercises
8.4 Approximating the change in volume
Finding the change in volume for a short time interval
Breaking up time into smaller intervals
Picturing the volume change on the flow rate graph
Exercises
8.5 Plotting the volume over time
Finding the volume over time
Picturing Riemann sums for the volume function
Improving the approximation
Definite and indefinite integrals
9 Simulating moving objects
9 Simulating moving objects
9.1 Simulating a constant velocity motion
Adding velocities to the asteroids
Updating the game engine to move the asteroids
Keeping the asteroids on the screen
Exercises
9.2 Simulating acceleration
9.3 Digging deeper into Euler’s method
9.4 Running Euler’s method with smaller time steps
10 Working with symbolic expressions
10 Working with symbolic expressions
10.1 Finding an exact derivative with a computer algebra system
10.2 Modeling algebraic expressions
Breaking an expression into pieces
Building an expression tree
Translating the expression tree to Python
Exercises
10.3 Putting a symbolic expression to work
10.4 Finding the derivative of a function
Derivatives of powers
Derivatives of transformed functions
Derivatives of some special functions
Derivatives of products and compositions
Exercises
10.5 Taking derivatives automatically
Implementing a derivative method for expressions
Implementing the product rule and chain rule
Implementing the power rule
Exercises
10.6 Integrating functions symbolically
11 Simulating force fields
11 Simulating force fields
11.2 Modeling gravitational fields
11.3 Adding gravity to the asteroid game
11.4 Introducing potential energy
Defining a potential energy scalar field
Plotting a scalar field as a heatmap
Plotting a scalar field as a contour map
11.5 Connecting energy and forces with the gradient
Measuring steepness with cross sections
Calculating partial derivatives
Finding the steepness of a graph with the gradient
Calculating force fields from potential energy with the gradient
Exercises
12 Optimizing a physical system
12 Optimizing a physical system
12.1 Testing a projectile simulation
Building a simulation with Euler’s method
Measuring properties of the trajectory
Exploring different launch angles
Exercises
12.2 Calculating the optimal range
Finding the projectile range as a function of the launch angle
Solving for the maximum range
Identifying maxima and minima
Exercises
12.3 Enhancing our simulation
12.4 Optimizing range using gradient ascent
Plotting range versus launch parameters
The gradient of the range function
Finding the uphill direction with the gradient
Implementing gradient ascent
Exercises
13 Analyzing sound waves with a Fourier series
13 Analyzing sound waves with a Fourier series
13.1 Combining sound waves and decomposing them
13.2 Playing sound waves in Python
13.3 Turning a sinusoidal wave into a sound
Making audio from sinusoidal functions
Changing the frequency of a sinusoid
Sampling and playing the sound wave
Exercises
13.4 Combining sound waves to make new ones
Adding sampled sound waves to build a chord
Picturing the sum of two sound waves
Building a linear combination of sinusoids
Building a familiar function with sinusoids
Exercises
13.5 Decomposing a sound wave into its Fourier series
Finding vector components with an inner product
Defining an inner product for periodic functions
Writing a function to find Fourier coefficients
Finding the Fourier coefficients for the square wave
Fourier coefficients for other waveforms
Exercises
Part 3. Machine learning applications
Part 3. Machine learning applications
14 Fitting functions to data
14 Fitting functions to data
14.1 Measuring the quality of fit for a function
Measuring distance from a function
Summing the squares of the errors
Calculating cost for car price functions
Exercises
14.2 Exploring spaces of functions
Picturing cost for lines through the origin
The space of all linear functions
Exercises
14.3 Finding the line of best fit using gradient descent
Rescaling the data
Finding and plotting the line of best fit
Exercises
14.4 Fitting a nonlinear function
15 Classifying data with logistic regression
15 Classifying data with logistic regression
15.1 Testing a classification function on real data
15.2 Picturing a decision boundary
Picturing the space of cars
Drawing a better decision boundary
Implementing the classification function
Exercises
15.3 Framing classification as a regression problem
Scaling the raw car data
Measuring the “BMWness” of a car
Introducing the sigmoid function
Composing the sigmoid function with other functions
Exercises
15.4 Exploring possible logistic functions
Parameterizing logistic functions
Measuring the quality of fit for a logistic function
Testing different logistic functions
Exercises
15.5 Finding the best logistic function
Gradient descent in three dimensions
Using gradient descent to find the best fit
Testing and understanding the best logistic classifier
Exercises
16 Training neural networks
16 Training neural networks
16.1 Classifying data with neural networks
16.2 Classifying images of handwritten digits
Building the 64-dimensional image vectors
Building a random digit classifier
Measuring performance of the digit classifier
Exercises
16.3 Designing a neural network
Organizing neurons and connections
Data flow through a neural network
Calculating activations
Calculating activations in matrix notation
Exercises
16.4 Building a neural network in Python
16.5 Training a neural network using gradient descent
Framing training as a minimization problem
Calculating gradients with backpropagation
Automatic training with scikit-learn
Exercises
16.6 Calculating gradients with backpropagation
Appendix
appendix A. Getting set up with Python
appendix B. Python tips and tricks
appendix C. Loading and rendering 3D Models with OpenGL and PyGame
Index
Fair Use Sources