Math for Programmers Video Edition

Math for Programmers Video Edition

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 17h 43m | 2.07 GB

To score a job in data science, machine learning, computer graphics, and cryptography, you need to bring strong math skills to the party. Math for Programmers teaches the math you need for these hot careers, concentrating on what you need to know as a developer. Filled with lots of helpful graphics and more than 200 exercises and mini-projects, this book unlocks the door to interesting–and lucrative!–careers in some of today’s hottest programming fields.

Skip the mathematical jargon: This one-of-a-kind book uses Python to teach the math you need to build games, simulations, 3D graphics, and machine learning algorithms. Discover how algebra and calculus come alive when you see them in code!

In Math for Programmers you’ll explore important mathematical concepts through hands-on coding. Filled with graphics and more than 200 exercises and mini-projects, this book unlocks the door to interesting–and lucrative!–careers in some of today’s hottest fields. As you tackle the basics of linear algebra, calculus, and machine learning, you’ll master the key Python libraries used to turn them into real-world software applications.

What’s inside

  • Vector geometry for computer graphics
  • Matrices and linear transformations
  • Core concepts from calculus
  • Simulation and optimization
  • Image and audio processing
  • Machine learning algorithms for regression and classification
Table of Contents

1 Learning math with code
2 Finding a good deal
3 Modeling the physical world
4 How not to learn math
5 Using your well-trained left brain
6 Vectors and graphics
7 Drawing with 2D vectors
8 2D drawing in Python
9 Plane vector arithmetic
10 Subtraction, displacement, and distance
11 Angles and trigonometry in the plane
12 From components back to angles
13 Transforming collections of vectors
14 Ascending to the 3D world
15 Vector arithmetic in 3D
16 Computing angles and directions
17 The dot product – Measuring vector alignment
18 Measuring angles with the dot product
19 The cross product – Measuring oriented area
20 Finding the length of the cross product
21 Rendering a 3D object in 2D
22 Transforming vectors and graphics
23 Composing vector transformations
24 Rotating an object about an axis
25 Linear transformations
26 Why linear transformations
27 Exercises
28 Computing transformations with matrices
29 Multiplying a matrix with a vector
30 Implementing matrix multiplication
31 Interpreting matrices of different shapes
32 Viewing square and non-square matrices as vector functions
33 Composing linear maps
34 Translating vectors with matrices
35 Translating 3D objects in a 4D world
36 Improving the Vec2 class
37 Building a vector base class
38 Unit testing vector space classes
39 Exploring different vector spaces
40 Treating functions as vectors
41 Manipulating images with vector operations
42 Looking for smaller vector spaces
43 Spanning a bigger space
44 Finding subspaces of the vector space of functions
45 Exercises
46 Solving systems of linear equations
47 Finding intersection points of lines
48 Linear equations in matrix notation
49 Identifying unsolvable systems
50 Generalizing linear equations to higher dimensions
51 Studying hyperplanes algebraically
52 Exercises
53 Changing basis by solving linear equations
54 Calculus and physical simulation
55 Understanding rates of change
56 Plotting the average flow rate over time
57 Approximating instantaneous flow rates
58 Approximating the change in volume
59 Plotting the volume over time
60 Improving the approximation
61 Simulating moving objects
62 Simulating acceleration
63 Digging deeper into Euler’s method
64 Running Euler’s method with smaller time steps
65 Working with symbolic expressions
66 Modeling algebraic expressions
67 Putting a symbolic expression to work
68 Expanding an expression
69 Finding the derivative of a function
70 Derivatives of some special functions
71 Taking derivatives automatically
72 Integrating functions symbolically
73 Simulating force fields
74 Modeling gravitational fields
75 Adding gravity to the asteroid game
76 Introducing potential energy
77 Connecting energy and forces with the gradient
78 Finding the steepness of a graph with the gradient
79 Optimizing a physical system
80 Testing a projectile simulation
81 Calculating the optimal range
82 Solving for the maximum range
83 Enhancing our simulation
84 Solving for the range of the projectile in 3D
85 Optimizing range using gradient ascent
86 Implementing gradient ascent
87 Analyzing sound waves with a Fourier series
88 Playing sound waves in Python
89 Turning a sinusoidal wave into a sound
90 Combining sound waves to make new ones
91 Building a linear combination of sinusoids
92 Decomposing a sound wave into its Fourier series
93 Defining an inner product for periodic functions
94 Fourier coefficients for other waveforms
95 Machine learning applications
96 Fitting functions to data
97 Measuring the quality of fit for a function
98 Calculating cost for car price functions
99 Exploring spaces of functions
100 Finding the line of best fit using gradient descent
101 Fitting a nonlinear function
102 Classifying data with logistic regression
103 Testing a classification function on real data
104 Picturing a decision boundary
105 Framing classification as a regression problem
106 Introducing the sigmoid function
107 Exploring possible logistic functions
108 Measuring the quality of fit for a logistic function
109 Finding the best logistic function
110 Testing and understanding the best logistic classifier
111 Training neural networks
112 Classifying images of handwritten digits
113 Designing a neural network
114 Calculating activations
115 Building a neural network in Python
116 Training a neural network using gradient descent
117 Automatic training with scikit-learn
118 Calculating gradients with backpropagation
119 Appendix B. Python tips and tricks
120 Appendix B. Collections of data in Python
121 Appendix B. Generators
122 Appendix B. Working with functions
123 Appendix B. Plotting data with Matplotlib
124 Appendix B. Object-oriented programming in Python
125 Appendix B. Operator overloading