math_for_programmers_by_paul_orland_index
Table of Contents
Math for Programmers by Paul Orland Index
Return to Math for Programmers by Paul Orland
Symbols
- __call__ method - Page 231, 235, 251
- __dict__ method - Page 630
- __eq__ method - Page 631, 634
- __mul__ method - Page 631
- __repr__ method - Page 208, 371, 373, 631
- __rmul__ method - Page 631
- _repr_latex_ method - Page 373
- - operator - Page 365, 445, 607
- @abstractmethod decorator - Page 211
- operator - Page 208, 236, 365, 607
- ** operator - Page 608, 621
- / operator - Page 607
- % (modulus operator) - Page 607, 620
- + operator - Page 208, 365, 445, 478, 607, 611
- == operator - Page 208, 631
- ≈ (approximate equality) - Page 54
- π(pi) symbol - Page 56
Numerics
- 2D plane - Page 22
- 2D vectors. See vectors
- 3D animation - Page 166-168
- 3D objects - Page 635-644
- change perspective - Page 639-641
- exercises - Page 643-644
- octahedron - Page 638
- rendering in 2D - Page 114-119
- defining 3D object with vectors - Page 114-116
- exercises - Page 119
- orienting faces and shading - Page 116-118
- projecting to 2D - Page 116
- transformations of - Page 123
- composing - Page 126-129
- drawing transformed objects - Page 124-126
- exercises - Page 134-137
- inventing geometric transformations - Page 131-133
- rotating objects about an axis - Page 129-131
- translating in 4D world - Page 196-199
- Utah teapot - Page 641-643
- 3D space - Page 77
- 3D vectors. See vectors ==A== * [[ABC (abstract base class) - Page 211, 633
- abc module - Page 211
- abstract methods - Page 633
- abstractions, building with functions - Page 17
- acceleration - Page 342-344
- activations - Page 560
- calculating - Page 572-574
- in matrix notation - Page 574-576
- addition * [[of 2D vectors - Page 32-35
- of 3D vectors - Page 83-84
- proving projection preserves vector sums - Page 182-183
- amplitude - Page 469
- Anaconda - Page 596-597
- angles * [[converting from components to - Page 57-59
- converting to components - Page 52-55
- measuring with dot products - Page 97-100
- of 3D vectors - Page 87-88
- antiderivatives, integrals as - Page 387-388
- append method - Page 615
- Apply class - Page 369, 384
- approximate equality (≈) - Page 54
- approximate gradient - Page 450
- arange function - Page 311
- arctangent function - Page 66
- arguments - Page 619
- arithmetic * [[2D vectors * [[addition - Page 32-35
- components and lengths - Page 35-37
- exercises - Page 51
- multiplying by numbers - Page 37-38
- subtraction - Page 39-41
- 3D vectors - Page 83-92
- addition - Page 83-84
- angles and directions - Page 87-88
- exercises - Page 89-92
- lengths and distances - Page 86-87
- scalar multiplication - Page 85
- scalar subtraction - Page 85
- subtraction - Page 86
- arithmetic operators - Page 365, 607
- Arrow class - Page 26, 72
- Arrow3D class - Page 80-81, 89-90
- artificial neural networks - Page 559
- AssertionError - Page 214
- asteroid arcade game - Page 258
- accelerating spaceship - Page 343-344
- adding velocities to objects - Page 339
- keeping asteroids on screen - Page 340-342
- updating game engine to move asteroids - Page 339-340
- deciding whether laser hits an asteroid - Page 270
- modeling game - Page 259
- rendering game - Page 260-261
- shooting laser - Page 261-262
- astype method - Page 476
- average_flow_rate function - Page 305-306
- axes - Page 24
- axn expression - Page 382
B
- backpropagation - Page 562-592
- exercises - Page 591-592
- finding cost in terms of last layer weights - Page 590
- basis - Page 243
- bias - Page 573
- bit depth - Page 467
- BlackHole class - Page 396, 399
- bounds of integration - Page 334
C
- calculus - Page 9, 301, 303
- callable classes - Page 225
- Cartesian coordinates - Page 51-52, 54-55, 57, 68, 88, 129
- chain rule - Page 383-384, 590-591
- classes - Page 632-634
- classification - Page 561
- closed subspace - Page 239
- coefficients - Page 511
- column vectors - Page 160, 178
- combinators - Page 359
- combining terms - Page 370
- commutative operations - Page 170
- components, of 2D vectors - Page 35-37
- converting angles to - Page 52-55
- converting to angles - Page 57-59
- composition of functions - Page 127
- computer algebra - Page 371
- constant velocity motion - Page 338-342
- adding velocities to objects - Page 339
- exercises - Page 342
- keeping objects on screen - Page 340-342
- updating game engine to move objects - Page 339-340
- constructive interference - Page 480
- constructors - Page 629
- converging values - Page 333
- CoordinateVector class - Page 216-217
- cost functions - Page 501
- cross products - Page 92, 103-113
- computing - Page 109-110
- exercises - Page 110-113
- finding direction of - Page 106-108
- finding length of - Page 108-109
- overview - Page 103-106
- currying - Page 129-130
D
- Darcy’s law - Page 10
- data classification * [[with logistic regression - Page 526-558
- exploring possible logistic functions - Page 544-557
- finding best logistic function - Page 551-557
- framing classification as regression problem - Page 536-544
- picturing decision boundary - Page 532-535
- testing classification functions - Page 528-530
- with neural networks - Page 561-568
- building random digit classifier - Page 565-566
- exercises - Page 567-568
- measuring performance of digit classifier - Page 566
- data collections - Page 610
- lists - Page 610
- indexing and slicing - Page 611-612
- iterating over - Page 612
- decision boundaries - Page 532-535
- drawing better decision boundary - Page 533
- exercises - Page 535
- implementing classification function - Page 534-535
- definite integral - Page 325
- degrees of freedom - Page 285
- denominator - Page 363
- derivative method - Page 384
- derivative of a function at the point - Page 318
- derivative operators - Page 321
- derivatives - Page 303, 315, 320
- finding - Page 374-381
- exercises - Page 379-381
- of powers - Page 374-375
- of products and compositions - Page 378-379
- of special functions - Page 377-378
- of transformed functions - Page 375-376
- finding with computer algebra system - Page 355-356
- taking automatically - Page 381-386
- chain rule - Page 383-384
- derivative method for expressions - Page 382-383
- exercises - Page 386
- power rule - Page 384-386
- product rule - Page 383-384
- destructive interference - Page 480
- df/dx notation - Page 412
- Difference combinator - Page 363
- differential equations - Page 9
- dimensions - Page 206, 243
- directions * [[between 3D vectors - Page 87-88
- between cross products - Page 106-108
- displacement - Page 40, 85
- distance * [[of 2D vectors - Page 39-41
- of 3D vectors - Page 86-87
- distinct_variables function - Page 366
- distributive property - Page 369
- does_collide function - Page 277
- does_intersect function - Page 263, 270-271
- dot products - Page 92-103
- computing - Page 95-97
- examples - Page 97
- exercises - Page 100-103
- measuring angles with - Page 97-100
- picturing - Page 93-95
- drag - Page 448
- drawing 2D - Page 24
- dt value - Page 329, 331, 349
E
- Euler’s method - Page 344-353
- building projectile simulation with - Page 426-427
- carrying out by hand - Page 344-346
- exercises - Page 349-353
- implementing algorithm in Python - Page 346-347
- running with smaller time steps - Page 348-353
- evaluate function - Page 367-368
- expand function - Page 370-371
- exponential decay - Page 520
- Expression class - Page 365, 367, 370, 373, 382
- expression trees * [[building - Page 359-360
- translating to Python - Page 360-362
- expressions.py file - Page 360
F
- faces, of 3D objects, orienting - Page 116-118
- false positive - Page 530
- feedforward method - Page 581-582
- first-class values - Page 621
- flow rate * [[approximating change in volume - Page 323-328
- breaking up time into smaller intervals - Page 324-325
- exercises - Page 328
- for short time interval - Page 323-324
- picturing on flow rate graph - Page 325-327
- approximating instantaneous - Page 315-322
- building function - Page 318-319
- currying and plotting function - Page 320-321
- exercises - Page 322
- finding slope of small secant lines - Page 315-318
- flow rate (continued) * [[calculating average - Page 305-309
- average_flow_rate function - Page 305-306
- negative rates of change - Page 308-309
- picturing with secant line - Page 306-308
- plotting average over time - Page 310-314
- exercises - Page 313
- finding average in different time intervals - Page 310-311
- plotting interval flow rates - Page 311-313
- force field - Page 392
- four-dimensional vector - Page 5
- Fourier series, decomposing sound waves into - Page 465-466, 486-495
- defining inner products for periodic functions - Page 488-490
- exercises - Page 494-495
- finding vector components with inner products - Page 487-488
- Fourier coefficients for other waveforms - Page 492-494
- Fourier coefficients for square wave - Page 491-492
- Fourier coefficients, writing function to find - Page 490-491
- frequency - Page 464
- function application - Page 359
- Function class - Page 233
- Function(Vector) class - Page 231
- Function2(Vector) class - Page 233
- functional programming paradigm - Page 621
- functional programming techniques - Page 128
- functions * [[building abstractions with - Page 17
- derivatives of * [[finding - Page 374-381
- taking automatically - Page 381-386
- integrating symbolically - Page 387-389
- exercises - Page 389
- integrals as antiderivatives - Page 387-388
- SymPy library - Page 388-389
- treating as vectors - Page 223-226
- viewing square and non-square matrices as - Page 180-181
G
- gcf (get current figure) method - Page 628
- global maximum value - Page 438
- global minimum value - Page 438
- gradient ascent - Page 424, 451, 453
- gradient operator - Page 11
- gradients - Page 393, 414
- calculating with backpropagation - Page 588-592
- exercises - Page 591-592
- finding cost in terms of last layer weights - Page 589-590
- optimizing projectile range using gradient ascent - Page 449-461
- exercises - Page 457-461
- finding uphill direction with gradient - Page 451-453
- gradient of range function - Page 450-451
- implementing gradient ascent - Page 453-457
- plotting range vs. launch parameters - Page 449-450
- training neural networks using gradient descent - Page 582-588
- automatic training with scikit-learn - Page 585-586
- calculating gradients with backpropagation - Page 584
- exercises - Page 586-588
- framing training as minimization problem - Page 582-584
- gravitational fields - Page 393
H
I
- identity matrices - Page 171
- identity transformation - Page 150, 170
- images * [[manipulating with vector operations - Page 227-230
- vector subspaces of - Page 245-248
- ImageVector class - Page 228-229, 236, 254
- immutable tuples - Page 615
- independent system - Page 285
- infinite dimensional - Page 226
- inheritance - Page 206
- inner products * [[defining for periodic functions - Page 488-490
- finding vector components with - Page 487-488
- input vectors - Page 190
- instantaneous speed - Page 313
- instantaneous value - Page 313
- integral of the flow rate - Page 333
- integration - Page 323
- choosing right formula for line - Page 263-264
- finding standard form equation for line - Page 265-267
- linear equations in matrix notation - Page 267-268
- solving linear equations with NumPy - Page 268-270
- inverse trigonometric function - Page 58
- items method - Page 618
J
- Jupyter notebooks - Page 600-606
L
- length * [[of 2D vectors - Page 35-37
- of 3D vectors - Page 86-87
- of cross products - Page 108-109
- line of best fit - Page 501
- linear algebra - Page 5, 199, 205
- linear combination - Page 142
- linear equations, systems of - Page 257
- arcade game - Page 258
- intersection points of lines - Page 270
- modeling game - Page 259-260
- rendering game - Page 260-261
- shooting laser - Page 261-262
- choosing right formula for line - Page 263-264
- finding standard form equation for line - Page 265-267
- linear equations in matrix notation - Page 267-268
- solving linear equations with NumPy - Page 268-270
- linear functions - Page 163, 181, 244, 501
- linear maps * [[composing - Page 184-185
- projection as - Page 181-184
- proving projection preserves scalar multiples - Page 183-184
- proving projection preserves vector sums - Page 182-183
- linear regression - Page 3, 501
- linear transformation - Page 138
- linear transformations - Page 155, 163, 380
- computing - Page 146-149
- exercises - Page 149-155
- picturing - Page 140-142
- preserving vector arithmetic - Page 138-140
- reasons for using - Page 142-146
- representing with matrices - Page 159-170
- 3D animation with matrix transformations - Page 166-168
- composing linear transformations by matrix multiplication - Page 163-166
- exercises - Page 169-170
- implementing matrix multiplication - Page 166
- multiplying matrices with vector - Page 161, 163
- writing vectors and linear transformations as matrices - Page 159-160
- LinearFunction class - Page 244, 251-252
- linearly dependent - Page 243
- linearly independent - Page 242-243
- lists - Page 610
- indexing and slicing - Page 611-612
- iterating over - Page 612
- local maximum value - Page 438
- local minimum value - Page 438
- logistic functions - Page 527, 540
- logistic regression - Page 526, 540-558
- exploring possible logistic functions - Page 544-557
- exercises - Page 549-551
- measuring quality of fit - Page 546-547
- parameterizing logistic functions - Page 545-546
- testing - Page 548
- finding best logistic function - Page 551-557
- exercises - Page 555-557
- gradient descent in 3D - Page 551-552
- testing an understanding best logistic classifier - Page 554-555
- using gradient descent - Page 552-553
- framing classification as regression problem - Page 536-544
- exercises - Page 543-544
- measuring likelihood - Page 538-539
- scaling raw data - Page 536-538
- sigmoid function - Page 540-542
- picturing decision boundary - Page 532-535
- drawing better decision boundary - Page 533-534
- exercises - Page 535
- implementing classification function - Page 534-535
- testing classification functions - Page 528-530
- exercises - Page 530
- loading car data - Page 529
- testing classification function - Page 529-530
M
- m-by-n matrix - Page 181, 188, 578
- m -dimensional space - Page 227
- m/s/s (meters per second per second) - Page 343
- math anxiety - Page 2
- math module - Page 16, 608-609
- math, learning through software and code - Page 1-17
- abstractions, building with functions - Page 17
- real-world use cases - Page 2
- comparing deals - Page 5
- Mathematica - Page 355
- Matplotlib * [[drawing - Page 73
- drawing 2D vectors in - Page 72
- matrices - Page 158-204
- interpreting matrices of different shapes - Page 175-191
- column vectors as matrices - Page 176-178
- composing linear maps - Page 184-185
- determining which pairs of matrices can be multiplied - Page 178-180
- exercises - Page 186-191
- projection as linear maps - Page 181-184
- viewing square and non-square matrices as vector functions - Page 180-181
- linear equations in matrix notation - Page 267-268
- representing linear transformations with - Page 159-170
- 3D animation with matrix transformations - Page 166-168
- composing linear transformations by matrix multiplication - Page 163-166
- exercises - Page 169-170
- implementing matrix multiplication - Page 166
- multiplying matrices with vector - Page 161-163
- writing vectors and linear transformations as matrices - Page 159-160
- translating vectors with - Page 191-203
- combining translation with other linear transformations - Page 195-196
- exercises - Page 199-203
- finding 3D matrix for 2D translation - Page 194-195
- making plane translations linear - Page 191-194
- translating 3D objects in 4D world - Page 196-199
- treating as vectors - Page 226-227
- Matrix class - Page 227, 234
- matrix dimensions - Page 179
- matrix multiplication - Page 161
- matrix notation - Page 159
- maxima, identifying - Page 437-438
- measuring functions - Page 511
- meters per second per second (m/s/s) - Page 343
- minima, identifying - Page 437-438
- MLP (multilayer perceptron) - Page 568
- evaluating - Page 580-581
- implementing MLP class - Page 578-580
- testing performance of - Page 581-582
- MLP class - Page 577, 585, 588
- MLPClassifier class - Page 588
- modulus operator (%) - Page 607, 620
- motion simulation - Page 337-353
- acceleration - Page 342-344
- constant velocity motion - Page 338-342
- adding velocities to objects - Page 339
- exercises - Page 342
- updating game engine to move objects - Page 339-340
- Euler’s method - Page 344-353
- carrying out by hand - Page 344-346
- exercises - Page 349-353
- implementing algorithm in Python - Page 346-347
- running with smaller time steps - Page 348-353
- move method - Page 340-341, 344, 401, 404
- Mul constructor - Page 388
- implementing - Page 166
- when to use - Page 178-180
- of 2D vectors by numbers - Page 37-38
- scalar * [[of 3D vectors - Page 85
- proving projection preserves scalar multiples - Page 183-184
N
- n -dimensional space - Page 227
- n -dimensional vectors - Page 181
- Negative combinator - Page 364
- negative gradient - Page 415
- negative slope - Page 308
- neural networks - Page 559-593
- building in Python - Page 577-582
- evaluating MLP - Page 580-581
- exercises - Page 582
- implementing MLP class - Page 578-580
- testing performance of MLP - Page 581-582
- calculating gradients with backpropagation - Page 588-592
- exercises - Page 591-592
- finding cost in terms of last layer weights - Page 589-590
- classifying images of handwritten digits - Page 561-568
- building 64-dimensional image vectors - Page 563-565
- building random digit classifier - Page 565-566
- exercises - Page 567-568
- measuring performance of digit classifier - Page 566
- designing - Page 568-577
- calculating activations - Page 572, 576
- data flow - Page 569-572
- exercises - Page 576-577
- organizing neurons and connections - Page 568-569
- training using gradient descent - Page 582-588
- automatic training with scikit-learn - Page 585-586
- calculating gradients with backpropagation - Page 584
- exercises - Page 586-588
- framing training as minimization problem - Page 582-584
- neurons - Page 560
- noise - Page 467
- Number class - Page 386
- numerator - Page 363
- NumPy library - Page 268-270
O
- octahedrons - Page 114-115, 118, 635-638
- OOP (object-oriented programming) - Page 206-634
- class methods - Page 632
- inheritance and abstract classes - Page 632-634
- OpenGL - Page 635-644
- change perspective - Page 639-641
- exercises - Page 643-644
- octahedron - Page 635-638
- Utah teapot - Page 641-643
- operator overloading - Page 208
- origin - Page 7, 22
- outliers - Page 500
- output layer - Page 572
P
- parabola - Page 440
- periodic functions - Page 471
- pi (π) symbol - Page 56
- pitch - Page 471
- pixels - Page 227
- planes - Page 22
- play() method - Page 470
- Points class - Page 26, 72
- Points3D class - Page 80
- polar coordinates - Page 51-52, 68, 129
- Polygon class - Page 26, 72
- PolygonModel class - Page 259, 262, 270, 276, 340
- Polynomial class - Page 233
- Power class - Page 385
- power rule - Page 384-386
- preserve vector sums - Page 139
- Product constructor - Page 388
- product rule - Page 378, 383-384
- projectile simulation - Page 422-462
- building with Euler’s method - Page 426-427
- calculating optimal range - Page 432-440
- as function of launch angle - Page 432-435
- exercises - Page 439-440
- identifying maxima and minima - Page 437-438
- solving for maximum range - Page 435-437
- enhancing - Page 440-447
- adding another dimension - Page 441-442
- exercises - Page 447
- modeling terrain around cannon - Page 442-443
- solving for range of projectile in 3D - Page 443-446
- optimizing using gradient ascent - Page 449-461
- exercises - Page 457-461
- finding uphill direction with gradient - Page 451-453
- gradient of range function - Page 450-451
- implementing gradient ascent - Page 453-457
- plotting range vs. launch parameters - Page 449-450
- testing - Page 425-426
- exercises - Page 429-432
- exploring different launch angles - Page 428-429
- measuring properties of trajectory - Page 427-428
- proofs, writing - Page 214
- properties - Page 629
- property-based testing - Page 152
- pure functions - Page 16
- PyGame - Page 635-644
- change perspective - Page 639-641
- exercises - Page 643-644
- octahedron - Page 635-638
- Utah teapot - Page 641-643
- pyplot - Page 624
- Pythagorean theorem - Page 36, 57, 86
- Python - Page 595-634
- building neural networks in - Page 577-582
- evaluating MLP - Page 580-581
- exercises - Page 582
- implementing MLP class - Page 578-580
- testing classification performance of MLP - Page 581-582
- checking for existing installation - Page 595-596
- data collections - Page 610
- Python (continued) * [[downloading and installing Anaconda - Page 596-597
- drawing 2D vectors in - Page 26-29
- drawing 3D vectors in - Page 80-81
- numbers and math - Page 607-610
- math module - Page 608-609
- random numbers - Page 609-610
- object-oriented programming - Page 634
- class methods - Page 632
- inheritance and abstract classes - Page 632-634
- symbolic algebra in - Page 356-358
- translating expression trees to - Page 360-362
- trigonometry in - Page 56-57
- using in interactive mode - Page 597-606
- creating and running script file - Page 598-600
- using Jupyter notebooks - Page 600-606
Q
- quadratic formula - Page 434
- quadratic functions - Page 245
- QuadraticFunction(Vector) class - Page 252
- quants - Page 2
- Quotient combinator - Page 363
R
- radians - Page 56-57
- random module - Page 609
- random numbers - Page 609-610
- range of projectiles * [[calculating optimal - Page 432-440
- as function of launch angle - Page 432-435
- exercises - Page 439-440
- identifying maxima and minima - Page 437-438
- solving for maximum range - Page 435-437
- optimizing using gradient ascent - Page 449-461
- exercises - Page 457-461
- finding uphill direction with gradient - Page 451-453
- gradient of range function - Page 450-451
- implementing gradient ascent - Page 453-457
- plotting range vs. launch parameters - Page 449-450
- solving for in 3D - Page 443-446
- ranges - Page 613
- rates of change - Page 303-337
- approximating change in volume - Page 323-328
- breaking up time into smaller intervals - Page 324-325
- exercises - Page 328
- for short time interval - Page 323-324
- picturing on flow rate graph - Page 325-327
- approximating instantaneous flow rates - Page 315-322
- building function - Page 318-319
- currying and plotting function - Page 320-321
- exercises - Page 322
- finding slope of small secant lines - Page 315-318
- calculating average flow rate - Page 305-309
- average_flow_rate function - Page 305-306
- exercises - Page 309
- negative rates of change - Page 308-309
- picturing with secant line - Page 306-308
- plotting average flow rate over time - Page 310-314
- exercises - Page 313-314
- finding average in different time intervals - Page 310-311
- plotting interval flow rates - Page 311-313
- plotting volume over time - Page 328-335
- definite and indefinite integrals - Page 334-335
- finding volume over time - Page 328-329
- improving approximation - Page 332-333
- picturing Riemann sums for volume function - Page 329-331
- Rectangle class - Page 629-630, 632-634
- reflection - Page 152
- regression - Page 499
- REPL (read-evaluate-print loop) - Page 597
- reverse() method - Page 619
- RGB (red, green, and blue) - Page 227
- Riemann sum - Page 327, 488
- right-hand rule - Page 106
- rotating objects - Page 129-131
- row vector - Page 177
S
- saddle point - Page 451
- sampling - Page 465, 473
- scalar field - Page 394
- scalar multiplication - Page 37
- scalars - Page 37
- scale function - Page 211
- scaling - Page 37
- scikit-learn library - Page 562
- secant lines * [[finding slope of small - Page 315, 318
- picturing average flow rate - Page 306, 308
- second derivatives - Page 344
- Segment class - Page 26, 28, 72
- segments() method - Page 277
- set_size_inches method - Page 628
- shading, of 3D objects - Page 116-118
- Shape class - Page 633-634
- Ship class - Page 261
- sigmoid function - Page 540-542
- sinusoidal functions - Page 466
- sinusoidal waves - Page 471-477
- building familiar function with - Page 483-486
- building linear combination of - Page 481-482
- changing frequency of - Page 473-475
- exercises - Page 477
- making audio from - Page 471-473
- sampling and playing sound waves - Page 475-476
- sort() method - Page 619
- sound wave analysis - Page 463-496
- combining sound waves - Page 465-466, 478-486
- adding sampled sound waves to build chords - Page 478-479
- building familiar function with sinusoids - Page 483-486
- building linear combination of sinusoids - Page 481-482
- exercises - Page 486
- picturing sum of two sound waves - Page 479-481
- decomposing sound waves into Fourier series - Page 465-466, 486-495
- defining inner products for periodic functions - Page 488-490
- exercises - Page 494-495
- finding vector components with inner products - Page 487-488
- Fourier coefficients for other waveforms - Page 492-494
- Fourier coefficients for square wave - Page 491-492
- Fourier coefficients, writing function to find - Page 490-491
- playing sound waves in Python - Page 466, 471
- exercises - Page 471
- playing musical notes - Page 469-471
- producing sound - Page 467-469
- turning sinusoidal wave into sound - Page 471-477
- changing frequency of sinusoid - Page 473-475
- exercises - Page 477
- making audio from sinusoidal functions - Page 471-473
- sampling and playing sound wave - Page 475-476
- spacetime - Page 197
- spans - Page 240-243
- spherical coordinates - Page 88
- Square class - Page 632
- square wave - Page 470
- standard form - Page 264
- steepest ascent - Page 415
- steepest descent - Page 415
- steepness - Page 408
- straight-line path - Page 26
- subscripts - Page 569
- subtraction * [[of 2D vectors - Page 39-41
- of 3D vectors - Page 85-86
- Sum constructor - Page 388
- summation symbol - Page 282
- superscripts - Page 569
- Symbol constructor - Page 388
- symbolic expressions - Page 354-391
- evaluating expressions - Page 366-369
- exercises - Page 372-374
- expanding expressions - Page 369-371
- finding all variables in expressions - Page 365-366
- finding derivatives - Page 374-381
- exercises - Page 379-381
- of powers - Page 374-375
- of products and compositions - Page 378-379
- of special functions - Page 377-378
- of transformed functions - Page 375-376
- with computer algebra system - Page 355-356
- integrating functions symbolically - Page 387-389
- exercises - Page 389
- integrals as antiderivatives - Page 387-388
- SymPy library - Page 388-389
- modeling algebraic expressions - Page 358-365
- breaking expressions into pieces - Page 358-359
- building expression trees - Page 359-360
- exercises - Page 362-365
- translating expression trees to Python - Page 360-362
- symbolic algebra in Python - Page 356-358
- taking derivatives automatically - Page 381-386
- chain rule - Page 383-384
- derivative method for expressions - Page 382-383
- exercises - Page 386
- power rule - Page 384-386
- product rule - Page 383-384
- symbolic programming - Page 356, 371
- SymPy library - Page 388-389
- systems of linear equations - Page 257
- arcade game - Page 258
- intersection points of lines - Page 270
- modeling game - Page 259-260
- rendering game - Page 260-261
- shooting laser - Page 261-262
- choosing right formula for line - Page 263-264
- finding standard form equation for line - Page 265-267
- linear equations in matrix notation - Page 267-268
- solving linear equations with NumPy - Page 268-270
T
- t values - Page 473
- t%1 value - Page 491
- taking a derivative - Page 320
- tangent of the angle - Page 54
- theorems - Page 13
- tick() method - Page 640
- timbre - Page 464, 476
- tip-to-tail addition - Page 33, 43
- tolerance - Page 453
- transformations - Page 67-72,]] - Page 121-157
- combining - Page 69-70
- exercises - Page 71-72
- linear transformations - Page 138-155
- computing - Page 146-149
- exercises - Page 149-155
- picturing - Page 140-142
- preserving vector arithmetic - Page 138-140
- reasons for using - Page 142-146
- representing with matrices - Page 159-170
- of 3D objects - Page 123-137
- composing vector transformations - Page 126-129
- drawing transformed objects - Page 124-126
- exercises - Page 134-137
- inventing geometric transformations - Page 131-133
- rotating objects about an axis - Page 129-131
- translating by a vector - Page 125
- exercises - Page 199-203
- finding 3D matrix for 2D translation - Page 194-195
- making plane translations linear - Page 191-194
- translating 3D objects in 4D world - Page 196-199
- translations - Page 191-203
- transposition - Page 188
- Triangle class - Page 634
- trigonometric function - Page 54
- trigonometry - Page 51-67
- converting from angles to components - Page 52-55
- converting from components to angles - Page 57-59
- exercises - Page 60-67
- in Python - Page 56-57
- true negative - Page 530
- true positive - Page 530
- Turing complete - Page 16
U
- uniform - Page 609
- unit testing - Page 214-215
- updating game engine to move objects - Page 339
- Utah teapot - Page 641-643
V
- variable bindings - Page 367
- Variable class - Page 368
- Variable constructor - Page 388
- Vec0 class - Page 220
- Vec1 class - Page 219-220
- Vec2 class - Page 207-208, 210-213, 215, 218, 251
- creating - Page 207-208
- improving - Page 208-209
- Vec3 class - Page 209-213, 218
- vector addition - Page 32
- Vector base class - Page 210-212
- Vector class - Page 211-212, 214-215, 219, 221, 226, 228, 230, 234-235, 244, 367
- vector mathematics - Page 22
- vector operations, image manipulation with - Page 227-230
- vector products - Page 88
- vector spaces - Page 206, 213, 219-237
- defined - Page 212-213
- enumerating all coodinate vector space - Page 219-221
- exercises - Page 230-237
- identifying - Page 221-223
- manipulating images with vector operations - Page 227-230
- treating functions as vectors - Page 223-226
- treating matrices as vectors - Page 226-227
- unit testing vector space classes - Page 214-215
- vector subspaces - Page 237-250
- dimensions - Page 243-244
- exercises - Page 248-250
- identifying - Page 238-240
- of images - Page 245-248
- of vector space of functions - Page 244-245
- spans - Page 240-243
- starting with single vector - Page 240
- vector sums - Page 33, 154
- vector_drawing module - Page 27
- vectors - Page 5, 21, 24-120
- arithmetic for 2D * [[addition - Page 32-35
- components and lengths - Page 35-37
- displacement - Page 39-41
- distance - Page 39-41
- exercises - Page 42-51
- multiplying by numbers - Page 38
- subtraction - Page 39-41
- arithmetic for 3D - Page 83-92
- addition - Page 83-84
- angles and directions - Page 87-88
- exercises - Page 89-92
- lengths and distances - Page 86-87
- scalar multiplication - Page 85
- subtraction - Page 85-86
- column vectors as matrices - Page 176-178
- defining 3D objects with - Page 114-116
- multiplying matrices with - Page 161-163
- overview - Page 22-24
- transformations - Page 67-72
- combining - Page 69-70
- exercises - Page 71-72
- treating functions as - Page 223-226
- treating matrices as - Page 226-227
- viewing square and non-square matrices as vector functions - Page 180-181
- writing as matrices - Page 159-160
- volume * [[approximating change in - Page 323-328
W
- weights - Page 573
- white noise - Page 469
Z
- zero method - Page 217-218
- zero vector - Page 230
- zero-dimensional subspace - Page 240
- zero-dimensional vector - Page 220
- zero-indexed - Page 610
Fair Use Sources
Cloud Monk is Retired ( for now). Buddha with you. © 2025 and Beginningless Time - Present Moment - Three Times: The Buddhas or Fair Use. Disclaimers
SYI LU SENG E MU CHYWE YE. NAN. WEI LA YE. WEI LA YE. SA WA HE.
math_for_programmers_by_paul_orland_index.txt · Last modified: 2025/02/01 06:42 by 127.0.0.1