From f80c5d0195071ac84bc0c616540458050816d33a Mon Sep 17 00:00:00 2001 From: RobinB27 Date: Fri, 16 Jan 2026 14:09:56 +0100 Subject: [PATCH] [NumCS] Add code (Broyden) --- semester3/numcs/numcs-summary.pdf | Bin 1477897 -> 1477511 bytes .../numcs/parts/03_zeros/06_newton-nd.tex | 13 ++-- .../numcs/parts/03_zeros/08_quasi-newton.tex | 57 +++++++++--------- 3 files changed, 36 insertions(+), 34 deletions(-) diff --git a/semester3/numcs/numcs-summary.pdf b/semester3/numcs/numcs-summary.pdf index 1e0ee4feac61ca62ba573b1a8ed0a07f6bbe2960..4a061b996dfc410945a47d9241bfe14be11417ee 100644 GIT binary patch delta 40052 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 Yq@F8xetsZl1PX|W0$EvAb=83X0bDlt%K!iX delta 40434 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 diff --git a/semester3/numcs/parts/03_zeros/06_newton-nd.tex b/semester3/numcs/parts/03_zeros/06_newton-nd.tex index 5edb47d..8598bb5 100644 --- a/semester3/numcs/parts/03_zeros/06_newton-nd.tex +++ b/semester3/numcs/parts/03_zeros/06_newton-nd.tex @@ -16,14 +16,13 @@ Wichtig ist dabei, dass wir \bi{niemals} das Inverse der Jacobi-Matrix (oder irg sondern immer das Gleichungssystem $As = b$ lösen sollten, da dies effizienter ist: \begin{code}{python} -def newton(x, F, DF, tol=1e-12, maxit=50): - x = np.atleast_2d(x) # ’solve’ erwartet x als 2-dimensionaler numpy array - # Newton Iteration - for _ in range(maxit): - s = np.linal.solve(DF(x), F(x)) +def newton_2d(x: np.ndarray, F, DF, tol=1e-12, maxIter=50): + """ Newton method in 2d using Jacobi Matrix of F""" + for i in range(maxIter): + s = np.linalg.solve(DF(x[0], x[1]), F(x[0], x[1])) x -= s - if np.linalg.norm(s) < tol * np.linalg.norm(x): - return x + if np.linalg.norm(s) < tol * np.linalg.norm(x): return x, i + return x, maxIter \end{code} Wollen wir aber garantiert einen Fehler kleiner als unsere Toleranz $\tau$ können wir das Abbruchkriterium diff --git a/semester3/numcs/parts/03_zeros/08_quasi-newton.tex b/semester3/numcs/parts/03_zeros/08_quasi-newton.tex index dba29ff..526e260 100644 --- a/semester3/numcs/parts/03_zeros/08_quasi-newton.tex +++ b/semester3/numcs/parts/03_zeros/08_quasi-newton.tex @@ -20,33 +20,36 @@ Die Implementierung erzielt man folgendermassen mit der \bi{Sherman-Morrison-Woo Das Broyden-Quasi-Newton-Verfahren konvergiert langsamer als das Newton-Verfahren, aber schneller als das vereinfachte Newton-Verfahren. (\texttt{sp} ist \texttt{Scipy} und \texttt{np} logischerweise \texttt{Numpy} im untenstehenden code) \begin{code}{python} -def fastbroyd(x0, F, J, tol=1e-12, maxit=20): - x = x0.copy() # make sure we do not change the iput - lup = sp.linalg.lu_factor(J) # LU decomposition of J - s = sp.linalg.lu_solve(lup, F(x)) # start with a Newton corection - sn = np.dot(s, s) # squared norm of the correction +def fast_broyden(x0: np.ndarray, F, J, tol=1e-12, maxIter=20): + x = x0.copy() + lup = lu_factor(J) + + s = lu_solve(lup, F(x)) + sn = np.dot(s, s) x -= s - f = F(x) # start with a full Newton step - dx = np.zeros((maxit, len(x))) # containers for storing corrections s and their sn: - dxn = np.zeros(maxit) - k = 0 - dx[k] = s - dxn[k] = sn - k += 1 # the number of the Broyden iteration - - # Broyden iteration - while sn > tol and k < maxit: - w = sp.linalg.lu_solve(lup, f) # f = F (actual Broyden iteration x) - # Using the Sherman-Morrison-Woodbury formel + + # Book keeping, for Broyden Update + dx = np.zeros((maxIter, len(x))) + dxn = np.zeros(maxIter) + dx[0] = s + dxn[0] = sn + k = 1 + + while sn > tol and k < maxIter: + w = lu_solve(lup, F(x)) # Simplified Newton Update + + # Apply Broyden correction (Shermann-Morrison-Woodbury formula) for r in range(1, k): - w += dx[r] * (np.dot(dx[r - 1], w)) / dxn[r - 1] - z = np.dot(s, w) - s = (1 + z / (sn - z)) * w - sn = np.dot(s, s) - dx[k] = s - dxn[k] = sn - x -= s - f = F(x) - k += 1 # update x and iteration number k - return x, k # return the final value and the numbers of iterations needed + w += dx[r] * np.dot(dx[r-1], w) / dxn[r-1] + z = np.dot(s, w) + s = (1 + z/(sn-z)) * w + x -= s # Apply the iteration + + # Book keeping again + sn = np.dot(s, s) + dx[k] = s + dxn[k] = sn + k += 1 + + return x, k \end{code}