diff --git a/ENUME/projectA/jacobiMethod.m b/ENUME/projectA/jacobiMethod.m index 3e0bfde8..5697fe5c 100644 --- a/ENUME/projectA/jacobiMethod.m +++ b/ENUME/projectA/jacobiMethod.m @@ -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); diff --git a/ENUME/projectA/projectA.aux b/ENUME/projectA/projectA.aux index 0bcc936e..1df458b3 100644 --- a/ENUME/projectA/projectA.aux +++ b/ENUME/projectA/projectA.aux @@ -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} diff --git a/ENUME/projectA/projectA.fdb_latexmk b/ENUME/projectA/projectA.fdb_latexmk index c08b2916..b9b61cfe 100644 --- a/ENUME/projectA/projectA.fdb_latexmk +++ b/ENUME/projectA/projectA.fdb_latexmk @@ -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" diff --git a/ENUME/projectA/projectA.log b/ENUME/projectA/projectA.log index c8d9172f..1272d119 100644 --- a/ENUME/projectA/projectA.log +++ b/ENUME/projectA/projectA.log @@ -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} -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) diff --git a/ENUME/projectA/projectA.out b/ENUME/projectA/projectA.out index 32deb210..3483d434 100644 --- a/ENUME/projectA/projectA.out +++ b/ENUME/projectA/projectA.out @@ -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 diff --git a/ENUME/projectA/projectA.pdf b/ENUME/projectA/projectA.pdf index 84058f3d..621714ab 100644 Binary files a/ENUME/projectA/projectA.pdf and b/ENUME/projectA/projectA.pdf differ diff --git a/ENUME/projectA/projectA.synctex.gz b/ENUME/projectA/projectA.synctex.gz index 2105882d..69f22303 100644 Binary files a/ENUME/projectA/projectA.synctex.gz and b/ENUME/projectA/projectA.synctex.gz differ diff --git a/ENUME/projectA/projectA.tex b/ENUME/projectA/projectA.tex index 07a98334..3e6807bd 100755 --- a/ENUME/projectA/projectA.tex +++ b/ENUME/projectA/projectA.tex @@ -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 diff --git a/ENUME/projectA/projectA.toc b/ENUME/projectA/projectA.toc index bf22ef99..93393ff2 100644 --- a/ENUME/projectA/projectA.toc +++ b/ENUME/projectA/projectA.toc @@ -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}% diff --git a/ENUME/references/szopinski-enume/projA/report/projAreport.aux b/ENUME/references/szopinski-enume/projA/report/projAreport.aux new file mode 100644 index 00000000..e943efb2 --- /dev/null +++ b/ENUME/references/szopinski-enume/projA/report/projAreport.aux @@ -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} diff --git a/ENUME/references/szopinski-enume/projA/report/projAreport.fdb_latexmk b/ENUME/references/szopinski-enume/projA/report/projAreport.fdb_latexmk new file mode 100644 index 00000000..715e771c --- /dev/null +++ b/ENUME/references/szopinski-enume/projA/report/projAreport.fdb_latexmk @@ -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" diff --git a/ENUME/references/szopinski-enume/projA/report/projAreport.fls b/ENUME/references/szopinski-enume/projA/report/projAreport.fls new file mode 100644 index 00000000..625e18c2 --- /dev/null +++ b/ENUME/references/szopinski-enume/projA/report/projAreport.fls @@ -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 diff --git a/ENUME/references/szopinski-enume/projA/report/projAreport.log b/ENUME/references/szopinski-enume/projA/report/projAreport.log new file mode 100644 index 00000000..12d34b43 --- /dev/null +++ b/ENUME/references/szopinski-enume/projA/report/projAreport.log @@ -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 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 to proceed. +If that doesn't work, type X to quit. + + +./projAreport.tex:181: LaTeX Error: File `berror' not found. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H 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 to proceed. +If that doesn't work, type X 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 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 to proceed. +If that doesn't work, type X to quit. + + +./projAreport.tex:362: LaTeX Error: File `gaussseidelerror' not found. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H 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 to proceed. +If that doesn't work, type X 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} +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) + diff --git a/ENUME/references/szopinski-enume/projA/report/projAreport.pdf b/ENUME/references/szopinski-enume/projA/report/projAreport.pdf new file mode 100644 index 00000000..f4f568fc Binary files /dev/null and b/ENUME/references/szopinski-enume/projA/report/projAreport.pdf differ diff --git a/ENUME/references/szopinski-enume/projA/report/projAreport.synctex.gz b/ENUME/references/szopinski-enume/projA/report/projAreport.synctex.gz new file mode 100644 index 00000000..8245b3e6 Binary files /dev/null and b/ENUME/references/szopinski-enume/projA/report/projAreport.synctex.gz differ diff --git a/ENUME/references/szopinski-enume/projA/report/projAreport.tex b/ENUME/references/szopinski-enume/projA/report/projAreport.tex index 283319b2..f92d3bca 100644 --- a/ENUME/references/szopinski-enume/projA/report/projAreport.tex +++ b/ENUME/references/szopinski-enume/projA/report/projAreport.tex @@ -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}