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

Resolve the captcha to access the links!