From 430c222fb79c1c1b869ac8c6006dbe631379c242 Mon Sep 17 00:00:00 2001 From: "Claudio Maggioni (maggicl)" Date: Fri, 9 Apr 2021 15:36:06 +0200 Subject: [PATCH] hw2: matlab done, latex done 2.1, 2.4 --- Claudio_Maggioni_2/Claudio_Maggioni_2.pdf | Bin 0 -> 118309 bytes Claudio_Maggioni_2/Claudio_Maggioni_2.tex | 122 ++++++++++++++++++++ Claudio_Maggioni_2/ex1.m | 100 ---------------- Claudio_Maggioni_2/main.m | 132 ++++++++++++++++++++++ 4 files changed, 254 insertions(+), 100 deletions(-) create mode 100644 Claudio_Maggioni_2/Claudio_Maggioni_2.pdf create mode 100755 Claudio_Maggioni_2/Claudio_Maggioni_2.tex delete mode 100644 Claudio_Maggioni_2/ex1.m create mode 100644 Claudio_Maggioni_2/main.m diff --git a/Claudio_Maggioni_2/Claudio_Maggioni_2.pdf b/Claudio_Maggioni_2/Claudio_Maggioni_2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4a61d6c58cf4bf0c8d78cfb356f137600668b2b5 GIT binary patch literal 118309 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 OP$(F{&=BM92>1h}kF#z7 literal 0 HcmV?d00001 diff --git a/Claudio_Maggioni_2/Claudio_Maggioni_2.tex b/Claudio_Maggioni_2/Claudio_Maggioni_2.tex new file mode 100755 index 0000000..3c0bba5 --- /dev/null +++ b/Claudio_Maggioni_2/Claudio_Maggioni_2.tex @@ -0,0 +1,122 @@ +\documentclass{scrartcl} +\usepackage[utf8]{inputenc} +\usepackage{graphicx} +\usepackage{subcaption} +\usepackage{amsmath} +\usepackage{pgfplots} +\pgfplotsset{compat=newest} +\usetikzlibrary{plotmarks} +\usetikzlibrary{arrows.meta} +\usepgfplotslibrary{patchplots} +\usepackage{grffile} +\usepackage{amsmath} +\usepackage{subcaption} +\usepgfplotslibrary{external} +\tikzexternalize +\usepackage[margin=2.5cm]{geometry} + +% To compile: +% sed -i 's#title style={font=\\bfseries#title style={yshift=1ex, font=\\tiny\\bfseries#' *.tex +% luatex -enable-write18 -shellescape main.tex + +\pgfplotsset{every x tick label/.append style={font=\tiny, yshift=0.5ex}} +\pgfplotsset{every title/.append style={font=\tiny, align=center}} +\pgfplotsset{every y tick label/.append style={font=\tiny, xshift=0.5ex}} +\pgfplotsset{every z tick label/.append style={font=\tiny, xshift=0.5ex}} + +\setlength{\parindent}{0cm} +\setlength{\parskip}{0.5\baselineskip} + +\title{Optimization methods -- Homework 2} +\author{Claudio Maggioni} + +\begin{document} + +\maketitle + +\section{Exercise 1} + +\subsection{Implement the matrix $A$ and the vector $b$, for the moment, without taking into consideration the +boundary conditions. As you can see, the matrix $A$ is not symmetric. Does an energy function of +the problem exist? Consider $N = 4$ and show your answer, explaining why it can or cannot exist.} + +Answer is a energy function does not exist. Since A is not symmetric +(even if it is pd), the minimizer used for the c.g. method +(i.e. $\frac12 x^T A x - b^T x$ won't work +since $x^T A x$ might be negative and thus the minimizer does not point to +the solution of $Ax = b$ necessairly + +\subsection{Once the new matrix has been derived, write the energy function related to the new problem +and the corresponding gradient and Hessian.} + +we already enforce x(1) = x(n) = 0, since b(1) = b(n) = 0 and thus +A(1, :) * x = b(0) = 0 and same for n can be solved only for x(1) = x(n) += 0size(A, 1) + +The objective is therefore $\phi(x) = (1/2)x^T\overline{A}x - b^x$ with a and b +defined above, gradient is = $\overline{A}x - b$, hessian is $= \overline{A}$ + +\subsection{Write the Conjugate Gradient algorithm in the pdf and implement it Matlab code in a function +called \texttt{CGSolve}.} + +See page 112 (133 for pdf) for the algorithm implementation + +The solution of this task can be found in Section 1.3 of the script \texttt{main.m}. + +\subsection{Solve the Poisson problem.} + +The solution of this task can be found in Section 1.4 of the script \texttt{main.m}. + +\subsection{Plot the value of energy function and the norm of the gradient (here, +use semilogy) as functions of the iterations.} + +The solution of this task can be found in Section 1.5 of the script \texttt{main.m}. + +\subsection{Finally, explain why the Conjugate Gradient method is a Krylov subspace method.} + +Because theorem 5.3 holds, which itself holds mainly because of this (5.10, page 106 [127]): + +\[r_{k+1} = r_k + a_k * A * p_k\] + +\section{Exercise 2} + +Consider the linear system $Ax = b$, where the matrix $A$ is constructed in three different ways: + +\begin{itemize} + \item $A =$ diag([1:10]) + \item $A =$ diag(ones(1,10)) + \item $A =$ diag([1, 1, 1, 3, 4, 5, 5, 5, 10, 10]) + \item $A =$ diag([1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0]) +\end{itemize} + +\subsection{How many distinct eigenvalues has each matrix?} + +Each matrix has a distinct number of eigenvalues equal to the number of distinct +elements on its diagonal. So, in order, each A has respectively 10, 1, 5, and 10 distinct eigenvalues. + +\subsection{Construct a right-hand side $b=$rand(10,1) and apply the +Conjugate Gradient method to solve the system for each $A$.} + +The solution of this task can be found in section 2.2 of the \texttt{main.m} MATLAB script. + +\subsection{Compute the logarithm energy norm of the error for each matrix +and plot it with respect to the number of iteration.} + +The solution of this task can be found in section 2.3 of the \texttt{main.m} MATLAB script. + +\subsection{Comment on the convergence of the method for the different matrices. What can you say observing +the number of iterations obtained and the number of clusters of the eigenvalues of the related +matrix?} + +The method converges quickly for each matrix. The fastest convergence surely happens for $A2$, which is +the identity matrix and therefore makes the $Ax = b$ problem trivial. + +For all the other matrices, we observe the energy norm of the error decreasing exponentially as the iterations +increase, eventually reaching $0$ for the cases where the method converges exactly (namely on matrices $A1$ and $A3$). + +Other than for the fourth matrix, the number of iterations is exactly equal +to the number of distinct eigenvalues for the matrix. That exception on the fourth matrix is simply due to the +tolerance termination condition holding true for an earlier iteration, i.e. we terminate early since we find an +approximation of $x$ with residual norm below $10^{-8}$. + +\end{document} diff --git a/Claudio_Maggioni_2/ex1.m b/Claudio_Maggioni_2/ex1.m deleted file mode 100644 index 6703782..0000000 --- a/Claudio_Maggioni_2/ex1.m +++ /dev/null @@ -1,100 +0,0 @@ -%% Homework 2 - Optimization Methods -% Author: Claudio Maggioni -% -% Note: exercises are not in the right order due to matlab constraints of -% functions inside of scripts. -% -% Sources: - -clear -clc -close all - -%% 1.4 - Solution for 1D Poisson for N=1000 using CG - -n = 1000; -[A, b] = build_poisson(n); - -A(2, 1) = 0; -A(n-1, n) = 0; - -[x, ys, gnorms] = CGSolve(A, b, zeros(n,1), 1000, 1e-8); -display(x); - -%% 1.5 - Plots for the 1D Poisson solution - -plot(ys); -sgtitle("Objective function values per iteration"); - -figure; -semilogy(gnorms); -sgtitle("Log of gradient norm per iteration"); - - - - -%% 1.1 - Build the Poisson matrix A and vector b (check this) - -% Answer is a energy function does not exist. Since A is not symmetric -% (even if it is pd), the minimizer used for the c.g. method -% (i.e. (1/2)x^TAx - b^x) won't work -% since x^TAx might be negative and thus the minimizer does not point to -% the solution of Ax=B necessairly - -function [A,b] = build_poisson(n) - A = diag(2 * ones(1,n)); - - A(1,1) = 1; - A(n,n) = 1; - - for i = 2:n-1 - A(i, i+1) = -1; - A(i, i-1) = -1; - end - - h = 1 / (n - 1); - - b = h^2 * ones(n, 1); - b(1) = 0; - b(n) = 0; -end - -%% 1.2 - -% we already enforce x(1) = x(n) = 0, since b(1) = b(n) = 0 and thus -% A(1, :) * x = b(0) = 0 and same for n can be solved only for x(1) = x(n) -% = 0 -% -% The objective is therefore \phi(x) = (1/2)x^T\overline{A}x - b^x with a and b -% defined above, gradient is = \overline{A}x - b, hessian is = \overline{A} - -%% 1.3 - Implementation of Conjugate Gradient - -function [x, ys, gnorms] = CGSolve(A, b, x, max_itr, tol) - ys = zeros(max_itr, 1); - gnorms = zeros(max_itr, 1); - - r = b - A * x; - d = r; - delta_old = dot(r, r); - - for i = 1:max_itr - ys(i) = 1/2 * dot(A*x, x) - dot(b, x); - gnorms(i) = sqrt(delta_old); - - s = A * d; - alpha = delta_old / dot(d, s); - x = x + alpha * d; - r = r - alpha * s; - delta_new = dot(r, r); - beta = delta_new / delta_old; - d = r + beta * d; - delta_old = delta_new; - - if delta_new / norm(b) < tol - ys = [ys(1:i); 1/2 * dot(A*x, x) - dot(b, x)]; - gnorms = [gnorms(1:i); sqrt(delta_old)]; - break - end - end -end \ No newline at end of file diff --git a/Claudio_Maggioni_2/main.m b/Claudio_Maggioni_2/main.m new file mode 100644 index 0000000..2bff263 --- /dev/null +++ b/Claudio_Maggioni_2/main.m @@ -0,0 +1,132 @@ +%% Homework 2 - Optimization Methods +% Author: Claudio Maggioni +% +% Note: exercises are not in the right order due to matlab constraints of +% functions inside of scripts. + +clear +clc +close all +plots = 1; + +%% 1.4 - Solution for 1D Poisson for N=1000 using CG + +n = 1000; +[A, b] = build_poisson(n); + +A(2, 1) = 0; +A(n-1, n) = 0; + +[x, ys, gnorms] = CGSolve(A, b, zeros(n,1), n, 1e-8); +display(x); + +%% 1.5 - Plots for the 1D Poisson solution + +if plots + plot(0:(size(ys,1)-1), ys); + sgtitle("Objective function values per iteration"); + axis([-1 500 -inf +inf]); + + figure; + semilogy(0:(size(gnorms,1)-1), gnorms); + sgtitle("Log of gradient norm per iteration"); + axis([-1 500 -inf +inf]); +end +%% 2.1 - Matrix definitions + +A1 = diag([1:10]); +A2 = diag(ones(1,10)); +A3 = diag([1, 1, 1, 3, 4, 5, 5, 5, 10, 10]); +A4 = diag([1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0]); + +%% 2.2 - Application of CG for each AX/b couple + +rng(0); % random seed fixed due to reproducibility purposes +b = rand(10,1); +display(b); + +n = 10; +[x1, ys1, gnorms1, xs1] = CGSolve(A1, b, zeros(n,1), n, 1e-8); +[x2, ys2, gnorms2, xs2] = CGSolve(A2, b, zeros(n,1), n, 1e-8); +[x3, ys3, gnorms3, xs3] = CGSolve(A3, b, zeros(n,1), n, 1e-8); +[x4, ys4, gnorms4, xs4] = CGSolve(A4, b, zeros(n,1), n, 1e-8); + +%% 2.3 - Logarithm energy norm of the error computation + +if plots + enl_plot(x1, xs1, A1); + sgtitle("Log energy norm of the error per iter. (matrix A1)"); + enl_plot(x2, xs2, A2); + sgtitle("Log energy norm of the error per iter. (matrix A2)"); + enl_plot(x3, xs3, A3) + sgtitle("Log energy norm of the error per iter. (matrix A3)"); + enl_plot(x4, xs4, A4); + sgtitle("Log energy norm of the error per iter. (matrix A4)"); +end + +function enl_plot(xsol, xs, A) + enls = zeros(size(xs, 2), 1); + for i = 1:size(xs, 2) + x = xs(:, i); + enls(i) = log((xsol - x)' * A * (xsol - x)); + end + + figure; + plot(0:(size(xs, 2)-1), enls, '-k.'); + axis([-1 11 -35 +2]); +end + +%% 1.1 - Build the Poisson matrix A and vector b + +function [A,b] = build_poisson(n) + A = diag(2 * ones(1,n)); + + A(1,1) = 1; + A(n,n) = 1; + + for i = 2:n-1 + A(i, i+1) = -1; + A(i, i-1) = -1; + end + + h = 1 / (n - 1); + + b = h^2 * ones(n, 1); + b(1) = 0; + b(n) = 0; +end + +%% 1.3 - Implementation of Conjugate Gradient + +function [x, ys, gnorms, xs] = CGSolve(A, b, x, max_itr, tol) + ys = zeros(max_itr + 1, 1); + gnorms = zeros(max_itr + 1, 1); + xs = zeros(size(x, 1), max_itr + 1); + + r = A * x - b; + p = -r; + + gnorms(1) = norm(p, 2); + xs(:, 1) = x; + ys(1) = 1/2 * dot(A*x, x) - dot(b, x); + + for i = 1:(max_itr+1) + + alpha = -r' * p / (p' * A * p); + x = x + alpha * p; + r = A * x - b; + beta = (r' * A * p) / (p' * A * p); + p = -r + beta * p; + + gnorms(i+1) = norm(p, 2); + xs(:, i+1) = x; + ys(i+1) = 1/2 * dot(A*x, x) - dot(b, x); + + if gnorms(i+1) < tol + ys = ys(1:(i+1)); + gnorms = gnorms(1:(i+1)); + xs = xs(:, 1:(i+1)); + break + end + end +end