Lecture 24 Flashcards

1
Q

Jacobian matrix

A

Given n functions, Jf(x)

[[∂f1/∂x1, …, ∂f1/∂xn], …, [∂fn/dx1, …, ∂fn/∂xn]]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Newton’s method multi-dimensional update

A

xk+1 = xk + sk
solve Jk.sk = -f(xk)
(sk = - Jf(xk)^{-1}.f(xk))

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Cost Newton’s method multi-dimensional

A

Solve jacobian: Factorization O(n^3)…

could be cheaper if matrix is sparse

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly