Task 2 Add comments and code task3

This commit is contained in:
PolishPigeon 2021-11-11 20:12:08 +01:00
parent a7d9a9da18
commit ec05aa206f
16 changed files with 898 additions and 129 deletions

View File

@ -9,7 +9,7 @@ function [L, D, U, initial_x, whichIterationAreWeOn, demandedTolerance, flag] =
[L, D, U] = decomposeMatrix(Matrix);
initial_x = ones(Rows, 1);
whichIterationAreWeOn = 0;
demandedTolerance = 1e-10;
demandedTolerance = 1e-10; % as per task description
flag = 0;
end
@ -24,7 +24,7 @@ function [L, D, U] = decomposeMatrix(Matrix)
end
function [x, whichIterationAreWeOn, demandedTolerance] = jacobiLoop(Matrix, L, D, U, initial_x, whichIterationAreWeOn, demandedTolerance, Vector, flag)
while flag ~= 1
while flag ~= 1 % flag denotes whether norm(Matrix*x-Vector) <= demandedTolerance
[x, whichIterationAreWeOn, demandedTolerance, flag, initial_x] = jacobiInsideLoop(Matrix, L, D, U, initial_x, whichIterationAreWeOn, demandedTolerance, Vector);
end
end
@ -42,16 +42,16 @@ function x = jacobiEquation(D, L, U, initial_x, Vector)
end
function [flag, demandedTolerance] = checkError(x, initial_x, demandedTolerance, Matrix, Vector)
flag = 0;
currentError = norm(x - initial_x);
if currentError <= demandedTolerance
currentError = norm(Matrix*x-Vector);
if currentError <= demandedTolerance
flag = 1;
else
demandedTolerance = demandedTolerance * 2;
end
flag = 0;
currentError = norm(x - initial_x);
if currentError <= demandedTolerance
currentError = norm(Matrix*x-Vector);
if currentError <= demandedTolerance % if sequence as per textbook
flag = 1;
else
demandedTolerance = demandedTolerance * 2; % arbitrary value
end
end
end
function [initial_x, whichIterationAreWeOn, flag] = endOfLoop(x, whichIterationAreWeOn)
@ -60,8 +60,6 @@ function [initial_x, whichIterationAreWeOn, flag] = endOfLoop(x, whichIterationA
flag = 0;
end
function dispFinalResults(demandedTolerance, whichIterationAreWeOn, Matrix, Vector)
disp("Final demandedTolerance");
disp(demandedTolerance);

View File

@ -79,5 +79,15 @@
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.10}backSubstitutionPhase}{22}{subsection.5.1.10}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.11}iterativeResidualCorrection}{22}{subsection.5.1.11}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.12}improveSolution}{22}{subsection.5.1.12}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.2}Task 3e code}{23}{section.5.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.1}jacobiMethod}{23}{subsection.5.2.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.2}initializeValues}{23}{subsection.5.2.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.3}decomposeMatrix}{23}{subsection.5.2.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.4}jacobiLoop}{24}{subsection.5.2.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.5}jacobiInsideLoop}{24}{subsection.5.2.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.6}jacobiEquation}{24}{subsection.5.2.6}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.7}checkError}{24}{subsection.5.2.7}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.8}endOfLoop}{25}{subsection.5.2.8}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.9}dispFinalResults}{25}{subsection.5.2.9}\protected@file@percent }
\bibcite{texbook}{1}
\gdef \@abspage@last{24}
\gdef \@abspage@last{27}

View File

@ -1,5 +1,5 @@
# Fdb version 3
["pdflatex"] 1636652315 "projectA.tex" "projectA.pdf" "projectA" 1636652316
["pdflatex"] 1636657884 "projectA.tex" "projectA.pdf" "projectA" 1636657885
"/etc/texmf/web2c/texmf.cnf" 1635008344 475 c0e671620eb5563b2130f56340a5fde8 ""
"/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc" 1165713224 4850 80dc9bab7f31fb78a000ccfed0e27cab ""
"/usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map" 1577235249 3524 cb3e574dea2d1052e39280babc910dc8 ""
@ -150,13 +150,13 @@
"/usr/share/texmf/web2c/texmf.cnf" 1613593815 38841 799d1dd9682a55ce442e10c99777ecc1 ""
"/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" 1635008389 5160710 ecf427ae8fa19139d8691f526e47bb9b ""
"/var/lib/texmf/web2c/pdftex/pdflatex.fmt" 1635008460 2570450 6e12b1c097cbda0f70015645294afd24 ""
"projectA.aux" 1636652316 7542 3466a5c49e146316b2747c87e3182194 "pdflatex"
"projectA.out" 1636652316 2911 459e056486686f90e191bd60beda3c97 "pdflatex"
"projectA.tex" 1636652315 22941 64789b46d963c8fcfba0c8d9b0e3b707 ""
"projectA.toc" 1636652316 4302 46ea473c6ff48ccab560b42034bf7a52 "pdflatex"
"projectA.aux" 1636657885 8782 fe9b7a83c04a3411a9aabb9a6e36b06b "pdflatex"
"projectA.out" 1636657885 3574 babd9dea9523219ec1d0de08283e32b8 "pdflatex"
"projectA.tex" 1636657884 26895 00aae171a2d5f1aaa7d100bb1c2e6447 ""
"projectA.toc" 1636657885 5132 e847c6fab76c656dfe514609ebbf1504 "pdflatex"
(generated)
"projectA.out"
"projectA.log"
"projectA.pdf"
"projectA.toc"
"projectA.pdf"
"projectA.aux"
"projectA.log"

View File

@ -1,4 +1,4 @@
This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020/Debian) (preloaded format=pdflatex 2021.10.23) 11 NOV 2021 18:38
This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020/Debian) (preloaded format=pdflatex 2021.10.23) 11 NOV 2021 20:11
entering extended mode
restricted \write18 enabled.
file:line:error style messages enabled.
@ -579,26 +579,46 @@ Package textcomp Info: Symbol \textminus not provided by
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 744.
[22] [23
[22]
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 771.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 785.
[23]
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 796.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 819.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 831.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 833.
[24] [25] [26
] (./projectA.aux)
Package rerunfilecheck Info: File `projectA.out' has not changed.
(rerunfilecheck) Checksum: 459E056486686F90E191BD60BEDA3C97;2911.
(rerunfilecheck) Checksum: BABD9DEA9523219EC1D0DE08283E32B8;3574.
)
Here is how much of TeX's memory you used:
12539 strings out of 479304
217974 string characters out of 5869778
942409 words of memory out of 5000000
29309 multiletter control sequences out of 15000+600000
12656 strings out of 479304
219722 string characters out of 5869778
945412 words of memory out of 5000000
29342 multiletter control sequences out of 15000+600000
424556 words of font info for 76 fonts, out of 8000000 for 9000
1141 hyphenation exceptions out of 8191
81i,8n,88p,407b,2253s stack positions out of 5000i,500n,10000p,200000b,80000s
{/usr/share/texmf/fonts/enc/dvips/cm-super/cm-super-t1.enc}{/usr/share/texmf/fonts/enc/dvips/cm-super/cm-super-ts1.enc}{/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc}</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx7.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmex10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi7.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr5.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr7.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy7.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/bera/fvmr8a.pfb></usr/share/texmf/fonts/type1/pu
blic/cm-super/sfbx1000.pfb></usr/share/texmf/fonts/type1/public/cm-super/sfbx1200.pfb></usr/share/texmf/fonts/type1/public/cm-super/sfbx1440.pfb></usr/share/texmf/fonts/type1/public/cm-super/sfbx2074.pfb></usr/share/texmf/fonts/type1/public/cm-super/sfbx2488.pfb></usr/share/texmf/fonts/type1/public/cm-super/sfrm1000.pfb></usr/share/texmf/fonts/type1/public/cm-super/sfrm1200.pfb></usr/share/texmf/fonts/type1/public/cm-super/sfrm1728.pfb></usr/share/texmf/fonts/type1/public/cm-super/sfti1000.pfb>
Output written on projectA.pdf (24 pages, 296296 bytes).
Output written on projectA.pdf (27 pages, 306614 bytes).
PDF statistics:
585 PDF objects out of 1000 (max. 8388607)
533 compressed objects within 6 object streams
204 named destinations out of 1000 (max. 500000)
329 words of extra memory for PDF output out of 10000 (max. 10000000)
738 PDF objects out of 1000 (max. 8388607)
682 compressed objects within 7 object streams
288 named destinations out of 1000 (max. 500000)
409 words of extra memory for PDF output out of 10000 (max. 10000000)

View File

@ -39,3 +39,13 @@
\BOOKMARK [2][-]{subsection.5.1.10}{backSubstitutionPhase}{section.5.1}% 39
\BOOKMARK [2][-]{subsection.5.1.11}{iterativeResidualCorrection}{section.5.1}% 40
\BOOKMARK [2][-]{subsection.5.1.12}{improveSolution}{section.5.1}% 41
\BOOKMARK [1][-]{section.5.2}{Task 3e code}{chapter.5}% 42
\BOOKMARK [2][-]{subsection.5.2.1}{jacobiMethod}{section.5.2}% 43
\BOOKMARK [2][-]{subsection.5.2.2}{initializeValues}{section.5.2}% 44
\BOOKMARK [2][-]{subsection.5.2.3}{decomposeMatrix}{section.5.2}% 45
\BOOKMARK [2][-]{subsection.5.2.4}{jacobiLoop}{section.5.2}% 46
\BOOKMARK [2][-]{subsection.5.2.5}{jacobiInsideLoop}{section.5.2}% 47
\BOOKMARK [2][-]{subsection.5.2.6}{jacobiEquation}{section.5.2}% 48
\BOOKMARK [2][-]{subsection.5.2.7}{checkError}{section.5.2}% 49
\BOOKMARK [2][-]{subsection.5.2.8}{endOfLoop}{section.5.2}% 50
\BOOKMARK [2][-]{subsection.5.2.9}{dispFinalResults}{section.5.2}% 51

Binary file not shown.

Binary file not shown.

View File

@ -748,6 +748,124 @@ end % end function
\end{lstlisting}
\end{simplechar}
\section{Task 3e code}
\subsection{jacobiMethod}
\begin{simplechar}
\begin{lstlisting}
function x = jacobiMethod(Matrix, Vector)
[L, D, U, initial_x, whichIterationAreWeOn, demandedTolerance, flag] = initializeValues(Matrix);
[x, whichIterationAreWeOn, demandedTolerance] = jacobiLoop(Matrix, L, D, U, initial_x, whichIterationAreWeOn, demandedTolerance, Vector, flag);
dispFinalResults(demandedTolerance, whichIterationAreWeOn, Matrix, Vector);
end
\end{lstlisting}
\end{simplechar}
\subsection{initializeValues}
\begin{simplechar}
\begin{lstlisting}
function [L, D, U, initial_x, whichIterationAreWeOn, demandedTolerance, flag] = initializeValues(Matrix)
[Rows, ~] = size(Matrix);
[L, D, U] = decomposeMatrix(Matrix);
initial_x = ones(Rows, 1);
whichIterationAreWeOn = 0;
demandedTolerance = 1e-10; % as per task description
flag = 0;
end
\end{lstlisting}
\end{simplechar}
\subsection{decomposeMatrix}
\begin{simplechar}
\begin{lstlisting}
function [L, D, U] = decomposeMatrix(Matrix)
D = diag(diag(Matrix));
U = triu(Matrix, 1); % Generates upper triangular part of matrix
% where the second variable denotes on which diagonal of matrix should we
% start
L = tril(Matrix, -1); % Generates lower triangular part of matrix
% where the second variable denotes on which diagonal of matrix should we
% start
end
\end{lstlisting}
\end{simplechar}
\subsection{jacobiLoop}
\begin{simplechar}
\begin{lstlisting}
function [x, whichIterationAreWeOn, demandedTolerance] = jacobiLoop(Matrix, L, D, U, initial_x, whichIterationAreWeOn, demandedTolerance, Vector, flag)
while flag ~= 1 % flag denotes whether norm(Matrix*x-Vector) <= demandedTolerance
[x, whichIterationAreWeOn, demandedTolerance, flag, initial_x] = jacobiInsideLoop(Matrix, L, D, U, initial_x, whichIterationAreWeOn, demandedTolerance, Vector);
end
end
\end{lstlisting}
\end{simplechar}
\subsection{jacobiInsideLoop}
\begin{simplechar}
\begin{lstlisting}
function [x, whichIterationAreWeOn, demandedTolerance, flag, initial_x] = jacobiInsideLoop(Matrix, L, D, U, initial_x, whichIterationAreWeOn, demandedTolerance, Vector)
x = jacobiEquation(D, L, U, initial_x, Vector);
[flag, demandedTolerance] = checkError(x, initial_x, demandedTolerance, Matrix, Vector);
[initial_x, whichIterationAreWeOn] = endOfLoop(x, whichIterationAreWeOn);
end
\end{lstlisting}
\end{simplechar}
\subsection{jacobiEquation}
\begin{simplechar}
\begin{lstlisting}
function x = jacobiEquation(D, L, U, initial_x, Vector)
x = - D \ ( L + U ) * initial_x + D \ Vector; % As per formula
% We will be using D \ Vector and D \ ( ) instead of inverseD since
% this is faster according to matlab
end
\end{lstlisting}
\end{simplechar}
\subsection{checkError}
\begin{simplechar}
\begin{lstlisting}
function [flag, demandedTolerance] = checkError(x, initial_x, demandedTolerance, Matrix, Vector)
flag = 0;
currentError = norm(x - initial_x);
if currentError <= demandedTolerance
currentError = norm(Matrix*x-Vector);
if currentError <= demandedTolerance % if sequence as per textbook
flag = 1;
else
demandedTolerance = demandedTolerance * 2; % arbitrary value
end
end
end
\end{lstlisting}
\end{simplechar}
\subsection{endOfLoop}
\begin{simplechar}
\begin{lstlisting}
function [initial_x, whichIterationAreWeOn, flag] = endOfLoop(x, whichIterationAreWeOn)
initial_x = x;
whichIterationAreWeOn = whichIterationAreWeOn + 1;
flag = 0;
end
\end{lstlisting}
\end{simplechar}
\subsection{dispFinalResults}
\begin{simplechar}
\begin{lstlisting}
function dispFinalResults(demandedTolerance, whichIterationAreWeOn, Matrix, Vector)
disp("Final demandedTolerance");
disp(demandedTolerance);
disp("Final Iteration: ");
disp(whichIterationAreWeOn);
disp("A\b matlab:");
disp(Matrix \ Vector);
end
\end{lstlisting}
\end{simplechar}
\begin{thebibliography}{9}
\bibitem{texbook}
Piotr Tatjewski (2014) \emph{Numerical Methods}, Oficyna Wydawnicza Politechniki Warszawskiej

View File

@ -51,3 +51,13 @@
\contentsline {subsection}{\numberline {5.1.10}backSubstitutionPhase}{22}{subsection.5.1.10}%
\contentsline {subsection}{\numberline {5.1.11}iterativeResidualCorrection}{22}{subsection.5.1.11}%
\contentsline {subsection}{\numberline {5.1.12}improveSolution}{22}{subsection.5.1.12}%
\contentsline {section}{\numberline {5.2}Task 3e code}{23}{section.5.2}%
\contentsline {subsection}{\numberline {5.2.1}jacobiMethod}{23}{subsection.5.2.1}%
\contentsline {subsection}{\numberline {5.2.2}initializeValues}{23}{subsection.5.2.2}%
\contentsline {subsection}{\numberline {5.2.3}decomposeMatrix}{23}{subsection.5.2.3}%
\contentsline {subsection}{\numberline {5.2.4}jacobiLoop}{24}{subsection.5.2.4}%
\contentsline {subsection}{\numberline {5.2.5}jacobiInsideLoop}{24}{subsection.5.2.5}%
\contentsline {subsection}{\numberline {5.2.6}jacobiEquation}{24}{subsection.5.2.6}%
\contentsline {subsection}{\numberline {5.2.7}checkError}{24}{subsection.5.2.7}%
\contentsline {subsection}{\numberline {5.2.8}endOfLoop}{25}{subsection.5.2.8}%
\contentsline {subsection}{\numberline {5.2.9}dispFinalResults}{25}{subsection.5.2.9}%

View File

@ -0,0 +1,37 @@
\relax
\@writefile{toc}{\contentsline {section}{\numberline {0}Abstract}{1}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {1}Task 1: Computing the machine epsilon}{2}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Overview}{2}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Implementation}{2}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.3}Program output}{2}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.4}Observations}{2}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {2}Task 2: Solving systems of linear equations using Gaussian elimination}{3}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Overview}{3}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Implementation}{3}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.1}LU decomposition of a matrix}{3}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.2}Partial pivoting}{4}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.3}Back-substitution}{4}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.4}Residual correction}{4}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Program output}{5}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.1}Error plots}{5}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.2}Solutions for $n = 10$}{5}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4}Observations}{6}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3}Task 3: Solving systems of linear equations using the Jacobi and Gauss-Seidel algorithms}{7}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Overview}{7}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Implementation}{7}{}\protected@file@percent }
\newlabel{eq:1}{{3.1}{7}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.1}The Jacobi algorithm}{7}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.2}The Gauss-Seidel algorithm}{8}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Program output}{8}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.1}Error plots}{8}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.2}Solutions}{9}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Observations}{10}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4}Task 4: Finding the eigenvalues of a symmetric matrix using the QR method}{11}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Overview}{11}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Implementation}{11}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.2.1}QR decomposition using the Gram-Schmidt algorithm}{11}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.2.2}QR method without shifts}{12}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.2.3}QR method with shifts}{12}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Program output}{13}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.4}Observations}{13}{}\protected@file@percent }
\gdef \@abspage@last{13}

View File

@ -0,0 +1,67 @@
# Fdb version 3
["pdflatex"] 1636657045 "projAreport.tex" "projAreport.pdf" "projAreport" 1636657048
"/etc/texmf/web2c/texmf.cnf" 1635008344 475 c0e671620eb5563b2130f56340a5fde8 ""
"/usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map" 1577235249 3524 cb3e574dea2d1052e39280babc910dc8 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/tcrm1000.tfm" 1136768653 1536 e07581a4bb3136ece9eeb4c3ffab8233 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm" 1246382020 1004 54797486969f23fa377b128694d548df ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex8.tfm" 1246382020 988 bdf658c3bfc2d96d3c8b02cfc1c94c20 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmbx10.tfm" 1136768653 1328 c834bbb027764024c09d3d2bf908b5f0 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmbx12.tfm" 1136768653 1324 c910af8c371558dc20f2d7822f66fe64 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmex10.tfm" 1136768653 992 662f679a0b3d2d53c1b94050fdaa3f50 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm" 1136768653 1524 4414a8315f39513458b80dfc63bff03a ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi6.tfm" 1136768653 1512 f21f83efb36853c0b70002322c1ab3ad ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi8.tfm" 1136768653 1520 eccf95517727cb11801f4f1aee3a21b4 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr12.tfm" 1136768653 1288 655e228510b4c2a1abe905c368440826 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr17.tfm" 1136768653 1292 296a67155bdbfc32aa9c636f21e91433 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr6.tfm" 1136768653 1300 b62933e007d01cfd073f79b963c01526 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr8.tfm" 1136768653 1292 21c1c5bfeaebccffdb478fd231a0997d ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm" 1136768653 1124 6c73e740cf17375f03eec0ee63599741 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy6.tfm" 1136768653 1116 933a60c408fc0a863a92debe84b2d294 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy8.tfm" 1136768653 1120 8b7d695260f3cff42e636090a8002094 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmtt10.tfm" 1136768653 768 1321e9409b4137d6fb428ac9dc956269 ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx10.pfb" 1248133631 34811 78b52f49e893bcba91bd7581cdc144c0 ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb" 1248133631 32080 340ef9bf63678554ee606688e7b5339d ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmex10.pfb" 1248133631 30251 6afa5cb1d0204815a708a080681d4674 ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb" 1248133631 36299 5f9df58c2139e7edcf37c8fca4bd384d ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi7.pfb" 1248133631 36281 c355509802a035cadc5f15869451dcee ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb" 1248133631 35752 024fb6c41858982481f6968b5fc26508 ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb" 1248133631 32722 d7379af29a190c3f453aba36302ff5a9 ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr17.pfb" 1248133631 32362 179c33bbf43f19adbb3825bb4e36e57a ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr7.pfb" 1248133631 32762 224316ccc9ad3ca0423a14971cfa7fc1 ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb" 1248133631 32569 5e5ddc8df908dea60932f3c484a54c0d ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy7.pfb" 1248133631 32716 08e384dc442464e7285e891af9f45947 ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt10.pfb" 1248133631 31099 c85edf1dd5b9e826d67c9c7293b6786c ""
"/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii" 1461363279 71627 94eb9990bed73c364d7f53f960cc8c5b ""
"/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty" 1523134290 2211 ca7ce284ab93c8eecdc6029dc5ccbd73 ""
"/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty" 1523134290 4161 7f6eb9092061a11f87d08ed13515b48d ""
"/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty" 1601675358 87353 2c21ff5f2e32e1bf714e600924d810db ""
"/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty" 1523134290 4116 32e6abd27229755a83a8b7f18e583890 ""
"/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty" 1523134290 2432 8ff93b1137020e8f21930562a874ae66 ""
"/usr/share/texlive/texmf-dist/tex/latex/base/article.cls" 1601675358 20145 aad8c3dd3bc36e260347b84002182bc2 ""
"/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo" 1601675358 8449 a72d5d4e612221b46000c3d71724e0ef ""
"/usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty" 1579991033 13886 d1306dcf79a944f6988e688c1785f9ce ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg" 1465944070 1224 978390e9c2234eab29404bc21b268d1e ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def" 1601931164 19103 48d29b6e2a64cb717117ef65f107b404 ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty" 1601675358 18272 a8c6a275b34ab6717ceeb8fa04b104e2 ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty" 1601675358 7919 20fdfdd783821971c55bc8ee918cbe63 ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty" 1580683321 2590 e3b24ff953e5b58d924f163d25380312 ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty" 1580683321 3976 d7fa7d81d2870d509d25b17d0245e735 ""
"/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def" 1611959857 27097 58278863d97b10ab86e334b8da33df7a ""
"/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg" 1279039959 678 4792914a8f45be57bb98413425e4c7af ""
"/usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty" 1580683321 31532 04852e45d7c17cb384689d2f83b628d3 ""
"/usr/share/texlive/texmf-dist/web2c/texmf.cnf" 1613593815 38841 799d1dd9682a55ce442e10c99777ecc1 ""
"/usr/share/texmf/fonts/enc/dvips/cm-super/cm-super-ts1.enc" 1565080000 2900 1537cc8184ad1792082cd229ecc269f4 ""
"/usr/share/texmf/fonts/type1/public/cm-super/sfrm1000.pfb" 1565080000 138258 6525c253f16cededa14c7fd0da7f67b2 ""
"/usr/share/texmf/web2c/texmf.cnf" 1613593815 38841 799d1dd9682a55ce442e10c99777ecc1 ""
"/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" 1635008389 5160710 ecf427ae8fa19139d8691f526e47bb9b ""
"/var/lib/texmf/web2c/pdftex/pdflatex.fmt" 1635008460 2570450 6e12b1c097cbda0f70015645294afd24 ""
"aerror" 0 -1 0 ""
"berror" 0 -1 0 ""
"gaussseidelerror" 0 -1 0 ""
"jacobierror" 0 -1 0 ""
"projAreport.aux" 1636657045 4011 cefb28ae8f941ffca1d3d4cccb60dc26 "pdflatex"
"projAreport.tex" 1636657048 17109 54442d037ff9a33fe5fdc79e3b252884 ""
(generated)
"projAreport.log"
"projAreport.aux"
"projAreport.pdf"

View File

@ -0,0 +1,217 @@
PWD /home/kuchy/Zlew/Studia/SEM_5/enume_done/Project/matlabproject/ENUME_Project_31/references/szopinski-enume/projA/report
INPUT /etc/texmf/web2c/texmf.cnf
INPUT /usr/share/texmf/web2c/texmf.cnf
INPUT /usr/share/texlive/texmf-dist/web2c/texmf.cnf
INPUT /var/lib/texmf/web2c/pdftex/pdflatex.fmt
INPUT projAreport.tex
OUTPUT projAreport.log
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/article.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/article.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/article.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/article.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/article.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/article.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/article.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/article.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/article.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/article.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/article.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/size10.clo
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/size10.clo
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/size10.clo
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/size10.clo
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT ./projAreport.aux
INPUT projAreport.aux
INPUT projAreport.aux
OUTPUT projAreport.aux
INPUT /usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
INPUT /usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
INPUT /usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
INPUT /usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
INPUT /usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr17.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr12.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr8.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr6.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi8.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi6.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy8.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy6.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmex10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex8.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr12.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmbx12.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/tcrm1000.tfm
OUTPUT projAreport.pdf
INPUT /var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmbx12.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmtt10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmbx10.tfm
INPUT projAreport.aux
INPUT /usr/share/texmf/fonts/enc/dvips/cm-super/cm-super-ts1.enc
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx10.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmex10.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi7.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr17.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr7.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy7.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt10.pfb
INPUT /usr/share/texmf/fonts/type1/public/cm-super/sfrm1000.pfb

View File

@ -0,0 +1,282 @@
This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020/Debian) (preloaded format=pdflatex 2021.10.23) 11 NOV 2021 19:57
entering extended mode
restricted \write18 enabled.
file:line:error style messages enabled.
%&-line parsing enabled.
**projAreport.tex
(./projAreport.tex
LaTeX2e <2020-10-01> patch level 4
L3 programming layer <2021-01-09> xparse <2020-03-03> (/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2020/04/10 v1.4m Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo
File: size10.clo 2020/04/10 v1.4m Standard LaTeX file (size option)
)
\c@part=\count177
\c@section=\count178
\c@subsection=\count179
\c@subsubsection=\count180
\c@paragraph=\count181
\c@subparagraph=\count182
\c@figure=\count183
\c@table=\count184
\abovecaptionskip=\skip47
\belowcaptionskip=\skip48
\bibindent=\dimen138
) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
Package: amsmath 2020/09/23 v2.17i AMS math features
\@mathmargin=\skip49
For additional information on amsmath, use the `?' option.
(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
Package: amstext 2000/06/29 v2.01 AMS text
(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
File: amsgen.sty 1999/11/30 v2.0 generic functions
\@emptytoks=\toks15
\ex@=\dimen139
)) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
Package: amsbsy 1999/11/29 v1.2d Bold Symbols
\pmbraise@=\dimen140
) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
Package: amsopn 2016/03/08 v2.02 operator names
)
\inf@bad=\count185
LaTeX Info: Redefining \frac on input line 234.
\uproot@=\count186
\leftroot@=\count187
LaTeX Info: Redefining \overline on input line 399.
\classnum@=\count188
\DOTSCASE@=\count189
LaTeX Info: Redefining \ldots on input line 496.
LaTeX Info: Redefining \dots on input line 499.
LaTeX Info: Redefining \cdots on input line 620.
\Mathstrutbox@=\box47
\strutbox@=\box48
\big@size=\dimen141
LaTeX Font Info: Redeclaring font encoding OML on input line 743.
LaTeX Font Info: Redeclaring font encoding OMS on input line 744.
\macc@depth=\count190
\c@MaxMatrixCols=\count191
\dotsspace@=\muskip16
\c@parentequation=\count192
\dspbrk@lvl=\count193
\tag@help=\toks16
\row@=\count194
\column@=\count195
\maxfields@=\count196
\andhelp@=\toks17
\eqnshift@=\dimen142
\alignsep@=\dimen143
\tagshift@=\dimen144
\tagwidth@=\dimen145
\totwidth@=\dimen146
\lineht@=\dimen147
\@envbody=\toks18
\multlinegap=\skip50
\multlinetaggap=\skip51
\mathdisplay@stack=\toks19
LaTeX Info: Redefining \[ on input line 2923.
LaTeX Info: Redefining \] on input line 2924.
) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
Package: graphicx 2020/09/09 v1.2b Enhanced LaTeX Graphics (DPC,SPQR)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
Package: keyval 2014/10/28 v1.15 key=value parser (DPC)
\KV@toks@=\toks20
) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
Package: graphics 2020/08/30 v1.4c Standard LaTeX Graphics (DPC,SPQR)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
Package: trig 2016/01/03 v1.10 sin cos tan (DPC)
) (/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration
)
Package graphics Info: Driver file: pdftex.def on input line 105.
(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
File: pdftex.def 2020/10/05 v1.2a Graphics/color driver for pdftex
))
\Gin@req@height=\dimen148
\Gin@req@width=\dimen149
) (/usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty
Package: multicol 2019/12/09 v1.8y multicolumn formatting (FMi)
\c@tracingmulticols=\count197
\mult@box=\box49
\multicol@leftmargin=\dimen150
\c@unbalance=\count198
\c@collectmore=\count199
\doublecol@number=\count266
\multicoltolerance=\count267
\multicolpretolerance=\count268
\full@width=\dimen151
\page@free=\dimen152
\premulticols=\dimen153
\postmulticols=\dimen154
\multicolsep=\skip52
\multicolbaselineskip=\skip53
\partial@page=\box50
\last@line=\box51
\maxbalancingoverflow=\dimen155
\mult@rightbox=\box52
\mult@grightbox=\box53
\mult@gfirstbox=\box54
\mult@firstbox=\box55
\@tempa=\box56
\@tempa=\box57
\@tempa=\box58
\@tempa=\box59
\@tempa=\box60
\@tempa=\box61
\@tempa=\box62
\@tempa=\box63
\@tempa=\box64
\@tempa=\box65
\@tempa=\box66
\@tempa=\box67
\@tempa=\box68
\@tempa=\box69
\@tempa=\box70
\@tempa=\box71
\@tempa=\box72
\@tempa=\box73
\@tempa=\box74
\@tempa=\box75
\@tempa=\box76
\@tempa=\box77
\@tempa=\box78
\@tempa=\box79
\@tempa=\box80
\@tempa=\box81
\@tempa=\box82
\@tempa=\box83
\@tempa=\box84
\@tempa=\box85
\@tempa=\box86
\@tempa=\box87
\@tempa=\box88
\@tempa=\box89
\@tempa=\box90
\@tempa=\box91
\@tempa=\box92
\c@minrows=\count269
\c@columnbadness=\count270
\c@finalcolumnbadness=\count271
\last@try=\dimen156
\multicolovershoot=\dimen157
\multicolundershoot=\dimen158
\mult@nat@firstbox=\box93
\colbreak@box=\box94
\mc@col@check@num=\count272
) (/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
File: l3backend-pdftex.def 2020-01-29 L3 backend support: PDF output (pdfTeX)
\l__color_backend_stack_int=\count273
\l__pdf_internal_box=\box95
) (./projAreport.aux)
\openout1 = `projAreport.aux'.
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 8.
LaTeX Font Info: ... okay on input line 8.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 8.
LaTeX Font Info: ... okay on input line 8.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 8.
LaTeX Font Info: ... okay on input line 8.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 8.
LaTeX Font Info: ... okay on input line 8.
LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 8.
LaTeX Font Info: ... okay on input line 8.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 8.
LaTeX Font Info: ... okay on input line 8.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 8.
LaTeX Font Info: ... okay on input line 8.
(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
\scratchcounter=\count274
\scratchdimen=\dimen159
\scratchbox=\box96
\nofMPsegments=\count275
\nofMParguments=\count276
\everyMPshowfont=\toks21
\MPscratchCnt=\count277
\MPscratchDim=\dimen160
\MPnumerator=\count278
\makeMPintoPDFobject=\count279
\everyMPtoPDFconversion=\toks22
) (/usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
Package: epstopdf-base 2020-01-24 v2.11 Base part for package epstopdf
Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 485.
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Live
)) [1
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2] [3]
./projAreport.tex:180: LaTeX Error: File `aerror' not found.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.180 \includegraphics[width=\textwidth]{aerror}
I could not locate the file with any of these extensions:
.pdf,.png,.jpg,.mps,.jpeg,.jbig2,.jb2,.PDF,.PNG,.JPG,.JPEG,.JBIG2,.JB2,.eps
Try typing <return> to proceed.
If that doesn't work, type X <return> to quit.
./projAreport.tex:181: LaTeX Error: File `berror' not found.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.181 \includegraphics[width=\textwidth]{berror}
I could not locate the file with any of these extensions:
.pdf,.png,.jpg,.mps,.jpeg,.jbig2,.jb2,.PDF,.PNG,.JPG,.JPEG,.JBIG2,.JB2,.eps
Try typing <return> to proceed.
If that doesn't work, type X <return> to quit.
[4] [5] [6] [7]
./projAreport.tex:361: LaTeX Error: File `jacobierror' not found.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.361 ...degraphics[width=\textwidth]{jacobierror}
I could not locate the file with any of these extensions:
.pdf,.png,.jpg,.mps,.jpeg,.jbig2,.jb2,.PDF,.PNG,.JPG,.JPEG,.JBIG2,.JB2,.eps
Try typing <return> to proceed.
If that doesn't work, type X <return> to quit.
./projAreport.tex:362: LaTeX Error: File `gaussseidelerror' not found.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.362 ...phics[width=\textwidth]{gaussseidelerror}
I could not locate the file with any of these extensions:
.pdf,.png,.jpg,.mps,.jpeg,.jbig2,.jb2,.PDF,.PNG,.JPG,.JPEG,.JBIG2,.JB2,.eps
Try typing <return> to proceed.
If that doesn't work, type X <return> to quit.
[8] [9] [10] [11] [12] [13] (./projAreport.aux) )
Here is how much of TeX's memory you used:
2055 strings out of 479304
28802 string characters out of 5869778
332929 words of memory out of 5000000
19247 multiletter control sequences out of 15000+600000
409316 words of font info for 48 fonts, out of 8000000 for 9000
1141 hyphenation exceptions out of 8191
68i,16n,74p,228b,234s stack positions out of 5000i,500n,10000p,200000b,80000s
{/usr/share/texmf/fonts/enc/dvips/cm-super/cm-super-ts1.enc}</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmex10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi7.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr17.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr7.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy7.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt10.pfb></usr/share/texmf/font
s/type1/public/cm-super/sfrm1000.pfb>
Output written on projAreport.pdf (13 pages, 172946 bytes).
PDF statistics:
100 PDF objects out of 1000 (max. 8388607)
71 compressed objects within 1 object stream
0 named destinations out of 1000 (max. 500000)
1 words of extra memory for PDF output out of 10000 (max. 10000000)

View File

@ -14,16 +14,16 @@
Project number 62}
\date{November 12, 2020}
\maketitle
\numberwithin{equation}{section}
\setcounter{section}{-1}
\section{Abstract}
This project explores the numerical methods of solving systems of linear
equations and finding eigenvalues of matrices. The following concepts are
discussed within this document:
\begin{itemize}
\item Computing the machine epsilon of an environment
\item Solving linear equation systems using Gaussian elimination with
@ -33,22 +33,22 @@
\item Finding the eigenvalues of a symmetric matrix using the QR method
with and without shifts
\end{itemize}
\newpage
\section{Task 1: Computing the machine epsilon}
\subsection{Overview}
The goal of this task was to find the machine epsilon of the MATLAB
environment, i.e. the maximum relative error of a floating-point
representation of a number.
\subsection{Implementation}
The computation of the machine epsilon is based on the following two
observations:
\begin{enumerate}
\item In binary computer environments, the epsilon is a negative power
of two.
@ -59,43 +59,43 @@
i.e. the smallest representable number such that, when added to $1$,
has a floating point representation greater than $1$.
\end{enumerate}
An arbitrary starting point, in this case $2^0$, can thus be chosen, and its
value can then be sequentially halved until the criterion $fl(1 + x) > 1$ is
no longer met.
\subsection{Program output}
\begin{verbatim}
Found epsilon is 2.2204e-16
Epsilon is 2.2204e-16
\end{verbatim}
\subsection{Observations}
An epsilon of $2.2204 \cdot 10^{-16} = 2^{-52}$ is indicative of a standard
double-precision IEEE 754 floating point binary representation.
\newpage
\section{Task 2: Solving systems of linear equations using Gaussian
elimination}
\subsection{Overview}
The task consisted of two subtasks, each specifying a different system
of equations to solve. The systems were to be solved using Gaussian
elimination with partial pivoting. The size of the system was sequentially
doubled until the computation time became prohibitive. The error of each
solution was to be noted.
Additionally, for systems whose number of equations was equal to 10,
residual correction was to be applied and the solution was to be noted.
The systems were given by:
\begin{align*}
&A_{ij}^{(a)} =
\begin{cases}
\begin{cases}
4 & \text{for } i = j \\
1 & \text{for } i = j \pm 1 \\
0 & \text{otherwise}
@ -106,27 +106,27 @@
&A_{ij}^{(b)} = \frac{6}{7(i + j + 1)}
&&
b_i^{(b)} =
\begin{cases}
\begin{cases}
\frac{1}{3i} & \text{for even } i\\
0 & \text{for odd } i
\end{cases}
\end{align*}
\subsection{Implementation}
Gaussian elimination is a process that takes a matrix describing a linear
equation system and returns its LU (lower-upper) decomposition, enabling the
system to be cheaply solved for any vector $b$. The triangular matrices $L$
and $U$ can be supplemented with $b$ to find the solution vector $x$ through
a process called back-substitution.
\subsubsection{LU decomposition of a matrix}
The function \texttt{gausseli} takes an equation system and returns the $L$
matrix, the $U$ matrix, the permutation matrix $P$ as well as a matrix
describing the entire system post-elimination, to be immediately handed to
back-substitution for the calculation of the result.
The elimination itself is done by traveling along the diagonal of
\texttt{eqsys} and for each encountered cell, eliminating (reducing to $0$)
the coefficients directly below it. The program does so by multiplying the
@ -134,54 +134,54 @@
This constant, called \texttt{reductor} in the code, is given as the
ratio of the cell to be reduced and the current diagonal cell. The reductor
is then stored in the $L$ matrix.
\subsubsection{Partial pivoting}
The above algorithm alone is prone to errors when a value on the diagonal is
equal to $0$ and the reductor cannot be constructed. For this reason,
partial pivoting is added.
For each cell on the diagonal, the program looks at the cells beneath it and
finds the one with the greatest absolute value. If it exceeds the absolute
value of the current cell, the corresponding two rows are swapped. This
ensures that the divisor making up the reductor is as far from zero as
possible.
Because the input matrix changes while being decomposed, a permutation
matrix $P$ is introduced to enable its recomposition from $L$ and $U$,
satisfying the equation:
\begin{equation}
LU = PA
\end{equation}
Finally, the matrix $L$ is also permuted to reflect changes in the layout
of the system.
\subsubsection{Back-substitution}
A triangular matrix supplied with a constant vector $b$ can be easily solved
by traveling along its diagonal and eliminating the factors directly above
the visited cell. In the end, the matrix is transformed into an identity
matrix and the vector alongside it is transformed into $x$.
\subsubsection{Residual correction}
Residual correction is a method of improving the accuracy of the results
obtained from Gaussian elimination. By reusing the already obrained matrices
$L$, $U$ and $P$, the system is solved once again, this time with $b$
replaced with the vector of errors of the solution. The resulting vector
$\delta x$ is then subtracted from the previous solution. This procedure may
be repeated as needed.
\subsection{Program output}
\subsubsection{Error plots}
\includegraphics[width=\textwidth]{aerror}
\includegraphics[width=\textwidth]{berror}
\subsubsection{Solutions for $n = 10$}
\begin{multicols}{2}
\begin{verbatim}
Solution to subtask a:
@ -250,37 +250,37 @@
Error: 0.00020161
\end{verbatim}
\end{multicols}
\newpage
\subsection{Observations}
Matrices from both subtasks a and b lent themselves nicely to being solved
using Gaussian elimination. Their absolute errors, when divided by the
solutions themselves, resulted in very small relative errors, nearing the
machine epsilon.
The computation time became prohibitive beyond $n = 320$, showing that
Gaussian elimination is an effective method of solving large systems
of equations.
Residual correction was very effective for the matrix from subtask a,
reducing the error to a perfect $0$. For subtask b, on the other hand, no
matter the amount of iterations, the error could not be reduced any further.
This might be related to a high condition number of the matrix,
$2.4225 \cdot 10^{14}$, prohibiting it from producing accurate enough
results.
\newpage
\section{Task 3: Solving systems of linear equations using the Jacobi and
Gauss-Seidel algorithms}
\subsection{Overview}
In this task, a predefined, fixed-size system of equations was to be solved
using the Jacobi and Gauss-Seidel iterative algorithms. The algorithms were
to be iterated until the accuracy $\lVert Ax_k - b \rVert < 10^{-10}$ was
achieved. The error of each iteration was to be noted.
The system to be solved:
\begin{align*}
18x_1 + 2x_2 - 3x_3 + x_4 & = 7\\
@ -288,12 +288,12 @@
x_1 + 3x_2 + 13x_3 - 8x_4 & = 24\\
x_1 + x_2 - 2x_3 - 10x_4 & = 20
\end{align*}
Afterwards, one of the algorithms was to be applied to matrices from task 2
a and b, for $n = 10$.
\subsection{Implementation}
The general formula describing iterative methods of solving linear equation
systems is:
\begin{equation}\label{eq:1}
@ -301,41 +301,41 @@
\end{equation}
Where the matrix $M$ and the vector $w$ are specific to the chosen
algorithm.
\subsubsection{The Jacobi algorithm}
The first step of the Jacobi algorithm is to split the matrix $A$ into three
matrices: the lower triangular matrix, the upper triangular matrix and the
diagonal matrix.
Because the diagonal matrix is only ever used in its inverse from, the
function doing the splitting only returns the inverse diagonal matrix. It
utilizes the fact that the inverse of a diagonal matrix is a matrix of the
inverse of its diagonal elements.
Once the matrices $L$, $U$ and $D^{-1}$ have been obtained, the parameters
$M$ and $w$ are given by:
\begin{align*}
M &= -D^{-1}(L + U)\\
w &= D^{-1}b
\end{align*}
The step described in \eqref{eq:1} is then performed until the desired
accuracy is achieved.
\subsubsection{The Gauss-Seidel algorithm}
The Gauss-Seidel algorithm is similar to the Jacobi algorithm in that it
utilizes the lower, upper and inverse diagonal matrices to calculate
subsequent iterations. An important difference is that $M$ and $w$ are not
constant and they cannot be trivially calculated.
An iteration of the Gauss-Seidel algorithm can be written as:
\begin{align*}
Dx^{(i + 1)} &= -Lx^{(i + 1)} - (Ux^{(i)} - b)\\
&= -Lx^{(i + 1)} - w^{(i)}
\end{align*}
The presence of $x^{(i + 1)}$ on both sides of the equation might appear
problematic, however, it's crucial to observe that individual elements of
the vector $x_n^{(i + 1)}$ can be calculated based solely on the knowledge
@ -350,19 +350,19 @@
- w_3^{(i)}) \cdot D^{-1}_{33}\\
&\ldots
\end{align*}
And so, on each step, the vector $w^{(i)}$ is calculated first, after which
the elements of $x_n^{(i + 1)}$ are computed in sequence.
\subsection{Program output}
\subsubsection{Error plots}
\includegraphics[width=\textwidth]{jacobierror}
\includegraphics[width=\textwidth]{gaussseidelerror}
\subsubsection{Solutions}
\begin{multicols}{2}
\begin{verbatim}
Solution using Jacobi:
@ -387,10 +387,10 @@
Error: 4.6134e-11
\end{verbatim}
\end{multicols}
\begin{verbatim}
Solution to task 2a using Gauss-Seidel:
i x_i
1 0.8953
2 0.71881
@ -405,33 +405,33 @@
Error: 3.01e-11
\end{verbatim}
\subsection{Observations}
In both algorithms, the error of the solution decreased exponentially in
relation to the number of iterations.
The Gauss-Seidel method proved to be faster than the Jacobi method, with the
desired accuracy achieved in just 32 iterations compared to 43.
The matrix from task 2a was solved correctly. The 2b variant, however, could
not achieve the desired accuracy and the algorithm became stuck in a
loop, iterating infinitely in an attempt to reduce the error. This again
may be related to the high condition number of the matrix, or to the fact
that the measured error is absolute rather than relative.
\section{Task 4: Finding the eigenvalues of a symmetric matrix using the QR
method}
\subsection{Overview}
The problem presented in this task was to find the eigenvalues of a
symmetric matrix by utilizing the properties of its QR decomposition. Two
variants of the algorithm were to be used, one with and one without shifting
the diagonal to accelerate the convergence. The algorithms were to be
iterated until the off-diagonal elements decreased below the threshold of
$10^{-6}$. The resultant final matrices were to be printed.
The matrix of choice:
\begin{equation*}
\begin{bmatrix}
@ -442,55 +442,55 @@
2 & 4 & 8 & 8 & 1
\end{bmatrix}
\end{equation*}
\subsection{Implementation}
The QR method is based on the observation that by repeatedly decomposing the
matrix into its orthogonal matrix $Q$ and triangular matrix $R$ and
recomposing it as $R * Q$, the matrix will converge into a diagonal matrix
of its eigenvalues by means of similarity.
\subsubsection{QR decomposition using the Gram-Schmidt algorithm}
The columns of the input matrix $A$ are orthogonalized with the modified
Gram-Schmidt algorithm, producing matrices $Q$ and $R$, which can later be
multiplied together to reverse the process.
The algorithm iterates over the columns of A and orthogonalizes every column
in front of it with relation to the currently visited column. This is done
by calculating the dot product of the two columns and using it to subtract
the ``common part" from the second column. The matrix $Q$ is produced in the
process, as well as $R$ as a byproduct.
\subsubsection{QR method without shifts}
The QR method for finding the eigenvalues of a matrix without shifts is a
naive implementation of the observation described at the beginning of this
section. The matrix is repeatedly decomposed and recomposed until its
off-diagonal elements converge below the prescribed threshold.
\subsubsection{QR method with shifts}
The QR method may be accelerated by shifting the diagonal of the matrix
towards an approximation of the expected eigenvalues. The required shift can
be calculated by finding the eigenvalues of the lower right $2 \times 2$
sub-matrix and choosing the one closer to the lower right corner of said
sub-matrix.
The eigenvalues of the sub-matrix can be found by solving the characteristic
equation of the sub-matrix, $\det{(A - \lambda I)} = 0$. This will result in
a quadratic equation whose solutions are guaranteed to be real for a
symmetric matrix.
This shift is applied on every iteration of the algorithm. Once all
non-diagonal values of the lowermost row of the matrix have decreased below
the threshold, the matrix is deflated, i.e. its size is reduced by one in
both dimensions. The algorithm stops once the matrix can't be deflated any
further.
\newpage
\subsection{Program output}
\begin{verbatim}
Solution using QR without shifts:
23.3571 -9.3695 -7.8773 5.0307 -1.1410
@ -503,7 +503,7 @@
0.0000 0.0000 0.0000 0.0000 -1.1410
Iteration count: 75
Solution using QR with shifts:
5.0307 -1.1410 -7.8773 -9.3695 23.3571
@ -516,10 +516,10 @@
Iteration count: 9
\end{verbatim}
\subsection{Observations}
The addition of shifting greatly improved the convergence ratio and the same
values could be obtained in just 9 iterations instead of 75.
\end{document}