Lecture 24 Flashcards
1
Q
Jacobian matrix
A
Given n functions, Jf(x)
[[∂f1/∂x1, …, ∂f1/∂xn], …, [∂fn/dx1, …, ∂fn/∂xn]]
2
Q
Newton’s method multi-dimensional update
A
xk+1 = xk + sk
solve Jk.sk = -f(xk)
(sk = - Jf(xk)^{-1}.f(xk))
3
Q
Newton’s method multi-dimensional Python
A
import scipy.optimize as opt
def f(xvec): x, y = xvec return np.array([ x + 2*y - 2, x**2 + 4*y**2 - 4 ])
def Jf(xvec): x, y = xvec return np.array([ [1, 2], [2*x, 8*y] ])
sol = opt.root(f, x0=[1, 1], jac=Jf) root = sol.x
4
Q
Cost Newton’s method multi-dimensional
A
Solve jacobian: Factorization O(n^3)…
could be cheaper if matrix is sparse
5
Q
Secant method multi-dimensional
A
Approximate Jacobian ~Jk+1(xk+1 - xk) = f(xk+1) - f(x)
n^2 unknowns, n equations (solution not unique)
6
Q
Broyden’s method
A
Find an approximate for the jacobin matrix:
min ||Bk+1 - Bk|| s.t. Bk+1 s.t Bk+1(xk+1 - xk) = f(xk+1) - f(x)
- x0 initial guess, B0 initial guess (J0 or I)
- Solve Bk.sk = -f(xk) O(n^3)
- update xk+1=xk+sk
- evaluate dfk+1 = f(xk+1)-f(xk)
- update Bk+1 = Bk + (dfk+1 - Bk.sk)@sk.T / sk.T@sk