YoVDO

Inverses and Newton's Method in Computational Thinking - Lecture 5

Offered By: The Julia Programming Language via YouTube

Tags

Image Processing Courses Computational Thinking Courses Numerical Methods Courses Inverse Functions Courses Linear Transformations Courses Matrix Multiplication Courses Newton's Method Courses

Course Description

Overview

Explore inverses and Newton's method in this 58-minute lecture from MIT's Computational Thinking Spring 2021 series. Delve into non-linear maps, linear transformations, and matrix multiplication. Learn how to transform images using Julia programming language, including linking image coordinates to spatial coordinates. Discover inverse functions and their applications in both linear and non-linear transformations. Gain insights into Newton's method in 1D and 2D, with interactive visualizations using Plots.jl. Understand the implementation of Newton's method in Julia, including the use of Symbolics.jl and ForwardDiff. Engage with practical examples, such as transforming a Corgi image and exploring collisions. Join the Discord community for live and post-lecture discussions, and access additional resources on the class webpage and Julia Programming Language's Twitter.

Syllabus

- Introduction/Announcements.
- Non-linear maps continued.
- Invite to interact on Discord.
- Another example of perspective projection.
- Definition of a linear transformation.
- Linearity relation is simply matrix times vector.
- What is a matrix multiplication?.
- Visual representation of how it works.
- Coordinate transformations vs object transformations.
- Julia: Images are arrays.
- Julia: Probing a pixel.
- Linking image coordinates (i,j) to spatial coordinates (x,y).
- Transforming image of a Corgi.
- Function to transform xy to ij.
- Creating reusable functions.
- Inverse functions.
- Trying different scaling.
- What does inverse really do?.
- Inverting non-linear transformations.
- Bringing it all together.
- Collisions.
- Why are we doing this backwards?.
- David takes over for the next part - Motivation.
- What does it mean by calculating an inverse?.
- Newton's method in 1D.
- How does it work? - Interactive visualization using Plots.jl.
- Trying the same with a new function.
- What happens if we start from a different initial value?.
- Newton's method is not good if your starting value is too far from the root.
- Julia: Using Symbolics.jl.
- Julia: Using ForwardDiff.
- Perturbation to a non-linear function.
- Looking back at the interactive visualization for Newton's method.
- Writing the mathematical expressions behind the visualization.
- Expanding via the definition of a derivative.
- Obtaining a generic expression for the solution.
- Julia: Implementing Newton's method in 1D.
- Julia: For loop, x -= a is the same as x = x - a.
- Derivatives in 2D.
- Newton's method in 2D.
- Changing to non-linear transformation.
- Julia: Implementing Newton's method in 2D.
- Julia: Use of the "\" operator.
- Concluding remarks.


Taught by

The Julia Programming Language

Related Courses

Linear Algebra - Foundations to Frontiers
The University of Texas at Austin via edX
Massively Multivariable Open Online Calculus Course
Ohio State University via Coursera
Algèbre Linéaire (Partie 2)
École Polytechnique Fédérale de Lausanne via edX
Differential Calculus in Several Variables
Indian Institute of Technology Kanpur via Swayam
Linear Algebra
Indian Institute of Science Bangalore via Swayam