Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

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

The Julia Programming Language via YouTube

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

Reviews

Start your review of Inverses and Newton's Method in Computational Thinking - Lecture 5

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.