Inverses and Newton's Method in Computational Thinking - Lecture 5
The Julia Programming Language via YouTube
Overview
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