چه کسانی این کتاب را می‌خوانند

دانشجوعلاقه‌مند یادگیری
کتابخوان حرفه‌ایلذت مطالعه
نویسندهالهام‌گیری

Math for Programmers : 3D Graphics, Machine Learning, and Simulations with Python

Paul Orland

قیمت نهایی

۴۴٬۰۰۰ تومان۴۹٬۰۰۰ تومان۱۰٪ تخفیف
  • تخفیف زمان‌دار−۵٬۰۰۰ تومان

۵٬۰۰۰ تومان صرفه‌جویی نسبت به قیمت اصلی

نسخه اصلی و اورجینال

بلافاصله پس از خرید، فایل کتاب روی دستگاه شما آمادهٔ دانلود است.

تحویل فوری
پرداخت امن
ضمانت فایل
پشتیبانی

مشخصات کتاب

نویسنده
Paul Orland
سال انتشار
۲۰۲۰
فرمت
PDF
زبان
انگلیسی
حجم فایل
۲۲٫۴ مگابایت
شابک
9781617295355، 9781638357070، 1617295353، 1638357072

دربارهٔ کتاب

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. About the Technology 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! About the book In Math for Programmers you’ll explore important mathematical concepts through hands-on coding. Filled with graphics and more than 300 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 About the reader For programmers with basic skills in algebra. About the author Paul Orland is a programmer, software entrepreneur, and math enthusiast. He is co-founder of Tachyus, a start-up building predictive analytics software for the energy industry. You can find him online at www.paulor.land. Math for Programmers: 3D graphics, machine learning, and simulations with Python MEAP V08 Copyright Welcome Brief contents 1: Learning Math in Code 1.1 Solving lucrative problems with math and software 1.1.1 Predicting financial market movements 1.1.2 Finding a good deal 1.1.3 Building 3D graphics and animations 1.1.4 Modeling the physical world 1.2 How not to learn math 1.2.1 Jane wants to learn some math 1.2.2 Slogging through math textbooks 1.3 Using your well-trained left brain 1.3.1 Using a formal language 1.3.2 Build your own calculator 1.3.3 Building abstractions with functions 1.4 Summary 2: Drawing with 2D Vectors 2.1 Drawing with 2D Vectors 2.1.1 Representing 2D vectors 2.1.2 2D Drawing in Python 2.1.3 Exercises 2.2 Plane vector arithmetic 2.2.1 Vector components and lengths 2.2.2 Multiplying Vectors by Numbers 2.2.3 Subtraction, displacement, and distance 2.2.4 Exercises 2.3 Angles and Trigonometry in the Plane 2.3.1 From angles to components 2.3.2 Radians and trigonometry in Python 2.3.3 From components back to angles 2.3.4 Exercises 2.4 Transforming collections of vectors 2.4.1 Combining vector transformations 2.4.2 Exercises 2.5 Drawing with Matplotlib 2.6 Summary 3: Ascending to the 3D World 3.1 Picturing vectors in three-dimensional space 3.1.1 Representing 3D vectors with coordinates 3.1.2 3D Drawing in Python 3.1.3 Exercises 3.2 Vector arithmetic in 3D 3.2.1 Adding 3D vectors 3.2.2 Scalar Multiplication in 3D 3.2.3 Subtracting 3D vectors 3.2.4 Computing lengths and distances 3.2.5 Computing angles and directions 3.2.6 Exercises 3.3 The dot product: measuring alignment of vectors 3.3.1 Picturing the dot product 3.3.2 Computing the dot product 3.3.3 Dot products by example 3.3.4 Measuring angles with the dot product 3.3.5 Exercises 3.4 The cross product: measuring oriented area 3.4.1 Orienting ourselves in 3D 3.4.2 Finding the direction of the cross product 3.4.3 Finding the length of the cross product 3.4.4 Computing the cross product of 3D vectors 3.4.5 Exercises 3.5 Rendering a 3D object in 2D 3.5.1 Defining a 3D object with vectors 3.5.2 Projecting to 2D 3.5.3 Orienting faces and shading 3.5.4 Exercises 3.6 Summary 4: Transforming Vectors and Graphics 4.1 Transforming 3D objects 4.1.1 Drawing a transformed object 4.1.2 Composing vector transformations 4.1.3 Rotating an object about an axis 4.1.4 Inventing your own geometric transformations 4.1.5 Exercises 4.2 Linear transformations 4.2.1 Preserving vector arithmetic 4.2.2 Picturing linear transformations 4.2.3 Why linear transformations? 4.2.4 Computing linear transformations 4.2.5 Exercises 4.3 Summary 5: Computing Transformations with Matrices 5.1 Representing linear transformations with matrices 5.1.1 Writing vectors and linear transformations as matrices 5.1.2 Multiplying a matrix with a vector 5.1.3 Composing linear transformations by matrix multiplication 5.1.4 Implementing matrix multiplication 5.1.5 3D Animation with matrix transformations 5.1.6 Exercises 5.2 Interpreting matrices of different shapes 5.2.1 Column vectors as matrices 5.2.2 What pairs of matrices can be multiplied? 5.2.3 Viewing square and non-square matrices as vector functions 5.2.4 Projection as a linear map from 3D to 2D 5.2.5 Composing linear maps 5.2.6 Exercises 5.3 Translating vectors with matrices 5.3.1 Making plane translations linear 5.3.2 Finding a 3D matrix for a 2D translation 5.3.3 Combining translation with other linear transformations 5.3.4 Translating 3D objects in a 4D world 5.3.5 Exercises 5.4 Summary 6: Generalizing to Higher Dimensions 6.1 Generalizing our definition of vectors 6.1.1 Creating a class for 2D coordinate vectors 6.1.2 Improving the Vec2 class 6.1.3 Repeating the process with 3D vectors 6.1.4 Building a Vector base class 6.1.5 Defining vector spaces 6.1.6 Unit testing vector space classes 6.1.7 Exercises 6.2 Exploring different vector spaces 6.2.1 Enumerating all coordinate vector spaces 6.2.2 Identifying vector spaces in the wild 6.2.3 Treating functions as vectors 6.2.4 Treating matrices as vectors 6.2.5 Manipulating images with vector operations 6.2.6 Exercises 6.3 Looking for smaller vector spaces 6.3.1 Identifying subspaces 6.3.2 Starting with a single vector 6.3.3 Spanning a bigger space 6.3.4 Defining the word “dimension” 6.3.5 Finding subspaces of the vector space of functions 6.3.6 Subspaces of images 6.3.7 Exercises 6.4 Summary 7: Solving Systems of Linear Equations 7.1 Designing an arcade game 7.1.1 Modeling the game 7.1.2 Rendering the game 7.1.3 Shooting the laser 7.1.4 Exercises 7.2 Finding intersection points of lines 7.2.1 Choosing the right formula for a line 7.2.2 Finding the standard form equation for a line 7.2.3 Linear equations in matrix notation 7.2.4 Solving linear equations with numpy 7.2.5 Deciding whether the laser hits an asteroid 7.2.6 Identifying unsolvable systems 7.2.7 Exercises 7.3 Generalizing linear equations to higher dimensions 7.3.1 Representing planes in 3D 7.3.2 Solving linear equations in 3D 7.3.3 Studying hyperplanes algebraically 7.3.4 Counting dimensions, equations, and solutions 7.3.5 Exercises 7.4 Changing basis by solving linear equations 7.4.1 Solving a 3D example 7.4.2 Exercises 7.5 Summary 8: Understanding Rates of Change 8.1 Calculating average flow rates from volumes 8.1.1 Implementing an average_flow_rate function 8.1.2 Picturing the average flow rate with a secant line 8.1.3 Negative rates of change 8.1.4 Exercises 8.2 Plotting the average flow rate over time 8.2.1 Finding the average flow rate in different time intervals 8.2.2 Plotting the interval flow rates alongside the flow rate function 8.2.3 Exercises 8.3 Approximating instantaneous flow rates 8.3.1 Finding the slope of very small secant lines 8.3.2 Building the instantaneous flow rate function 8.3.3 Currying and plotting the instantaneous flow rate function 8.3.4 Exercises 8.4 Approximating the change in volume 8.4.1 Finding the change in volume on a short time interval 8.4.2 Breaking up time into small intervals 8.4.3 Picturing the volume change on the flow rate graph 8.4.4 Exercises 8.5 Plotting the volume over time 8.5.1 Finding the volume over time 8.5.2 Picturing Riemann sums for the volume function 8.5.3 Improving the approximation 8.5.4 Definite and indefinite integrals 8.6 Summary 9: Simulating Moving Objects 9.1 Simulating constant-speed motion 9.1.1 Intuiting speed 9.1.2 Thinking of velocity as a vector 9.1.3 Animating the asteroids 9.1.4 Exercises 9.2 Simulating acceleration 9.2.1 Picturing acceleration in various directions 9.2.2 Quantifying Acceleration 9.2.3 Accelerating the spaceship 9.2.4 Exercises 9.3 Digging deeper into Euler’s method 9.3.1 Stepping through Euler’s method 9.3.2 Implementing the algorithm in Python 9.3.3 Picturing the approximation 9.3.4 Applying Euler’s method to other problems 9.3.5 Exercises 9.4 Calculating exact trajectories 9.4.1 Writing position, velocity, and acceleration as functions of time 9.4.2 Using the terminology of integration 9.4.3 Calculating integrals 9.4.4 Exercises 9.5 Summary 10: Working with Symbolic Expressions 10.1 Modeling algebraic expressions 10.1.1 Breaking an expression into pieces 10.1.2 Building an expression tree 10.1.3 Translating the expression tree to Python 10.1.4 Exercises 10.2 Putting a symbolic expression to work 10.2.1 Finding all the variables in an expression 10.2.2 Evaluating an expression 10.2.3 Expanding an expression 10.2.4 Exercises 10.3 Finding the derivative of a function 10.3.1 Derivatives of powers 10.3.2 Derivatives of transformed functions 10.3.3 Derivatives of some special functions 10.3.4 Derivatives of products and compositions 10.3.5 Exercises 10.4 Taking derivatives automatically 10.4.1 Implementing a derivative method for expressions 10.4.2 Implementing the product rule and chain rule 10.4.3 Implementing the power rule 10.4.4 Exercises 10.5 Integrating functions symbolically 10.5.1 Integrals as antiderivatives 10.5.2 Introducing the SymPy library 10.5.3 Exercises 10.6 Summary 11: Simulating Force Fields 11.1 1 Modeling gravitational fields 11.1.1 Defining a vector field 11.1.2 Defining a simple force field 11.2 Adding gravity to the asteroid game 11.2.1 Making game objects feel gravity 11.2.2 Exercises 11.3 Introducing potential energy 11.3.1 Defining a potential energy scalar field 11.3.2 Plotting a scalar field as a heatmap 11.3.3 Plotting a scalar field as a contour map 11.4 4 Connecting energy and forces with the gradient 11.4.1 Measuring steepness with cross sections 11.4.2 Calculating partial derivatives 11.4.3 Finding the steepness of a graph with the gradient 11.4.4 Calculating force fields from potential energy with the gradient 11.4.5 Exercises 11.5 5 Summary 12: Optimizing a Physical System 12.1 Testing a projectile simulation 12.1.1 Building a simulation with Euler’s method 12.1.2 Measuring properties of the trajectory 12.1.3 Exploring different launch angles 12.1.4 Exercises 12.2 Calculating the optimal range 12.2.1 Finding the projectile range as a function of the launch angle 12.2.2 Solving for the maximum range 12.2.3 Identifying maxima and minima 12.2.4 Exercises 12.3 Enhancing our simulation 12.3.1 Adding another dimension 12.3.2 Modeling terrain around the cannon 12.3.3 Solving for the range of the projectile in 3D 12.3.4 Exercises 12.4 Optimizing range using gradient ascent 12.4.1 Plotting range versus launch parameters 12.4.2 The gradient of the range function 12.4.3 Finding the uphill direction with the gradient 12.4.4 Implementing gradient ascent 12.4.5 Exercises 12.5 Summary A: Loading and Rendering 3D Models with OpenGL and PyGame A.1 Recreating the octahedron from Chapter 3 A.2 Changing our perspective A.3 Loading and rendering the Utah teapot A.4 Exercises B: Getting set up with Python B.1 Checking for an existing Python installation B.2 Downloading and installing Anaconda B.3 Using Python in interactive mode B.4 Creating and running a Python script file B.5 Using Jupyter notebooks 'A gentle introduction to some of the most useful mathematical concepts that should be in your developer toolbox.'- Christopher Haupt, New Relic Explore important mathematical concepts through hands-on coding. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.Filled with graphics and more than 300 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. Summary 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. About the technology 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! 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 About the reader For programmers with basic skills in algebra. About the author Paul Orland is a programmer, software entrepreneur, and math enthusiast. He is co-founder of Tachyus, a start-up building predictive analytics software for the energy industry. You can find him online at www.paulor.land. Table of Contents 1 Learning math with code PART I - VECTORS AND GRAPHICS 2 Drawing with 2D vectors 3 Ascending to the 3D world 4 Transforming vectors and graphics 5 Computing transformations with matrices 6 Generalizing to higher dimensions 7 Solving systems of linear equations PART 2 - CALCULUS AND PHYSICAL SIMULATION 8 Understanding rates of change 9 Simulating moving objects 10 Working with symbolic expressions 11 Simulating force fields 12 Optimizing a physical system 13 Analyzing sound waves with a Fourier series PART 3 - MACHINE LEARNING APPLICATIONS 14 Fitting functions to data 15 Classifying data with logistic regression 16 Training neural networks A gentle introduction to some of the most useful mathematical concepts that should be in your developer toolbox. Christopher Haupt, New Relic 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. about the technology 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! about the book 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 about the audience For programmers with basic skills in algebra. about the author Paul Orland is a programmer, software entrepreneur, and math enthusiast. He is co-founder of Tachyus, a start-up building predictive analytics software for the energy industry. You can find him online at www.paulor.land A rigorous yet approachable overview of the mathematics that underpin a number of modern programming domains. Dan Sheikh, BCG Digital Ventures Engaging, practical, recommend for all levels. Vincent Zhu, rethinkxsocial.com It provides a bridge for programmers who need to brush up on their math skills, and does a nice job of making the math less mysterious and more approachable. Robert Walsh, Excalibur Solutions NARRATED BY DEREK LETTMAN 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 youll 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 todays hottest fields. As you tackle the basics of linear algebra, calculus, and machine learning, youll master the key Python libraries used to turn them into real-world software applications. -- Provided by publisher 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. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

قیمت نهایی

۴۴٬۰۰۰ تومان