mirror of
https://github.com/kuhyx/WUT_Computer_Science.git
synced 2026-11-10 21:07:09 +01:00
The 250-line cap applies to prose too, and the reports were the worst
offenders -- ENUME's projectA.tex alone was 1,876 lines. Each is now a
preamble plus one \input{} per section, which is how a long LaTeX document is
normally organised; not one byte of prose was rewritten.
"The PDF is unchanged" is checked by a script rather than by eye, because
hashing the PDF cannot work: pdflatex stamps a /CreationDate and an /ID into
every build, so two runs of the SAME source already differ. tex_fingerprint.sh
compares what a reader sees instead -- page count plus a hash of the extracted
text -- and it is stable across rebuilds of untouched sources, which is the
property that makes it usable as a gate.
It earned its keep immediately. Both ECOTE reports quote an example LaTeX
document inside an lstlisting block, so \end{document} appears in the middle
of the file; splitting on the FIRST one stranded everything after it. Same
page count, different text, caught automatically. EOPSY lab3 exposed a second
bug: a \section{} title that runs onto the next line.
Result: 19 .tex over the cap -> 1. The survivor,
ELAC/.../03-building-nfa-...tex, is 418 lines of consecutive tikz figures
with no subsection to split on and needs a hand-placed boundary.
Verified: 29 splits across two passes (section, then subsection for the
pieces still over), every one reporting `unchanged` from
scripts/tex_fingerprint.sh --check.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0172dj34FDpao6wsix8ZuCzE
81 lines
1.7 KiB
TeX
81 lines
1.7 KiB
TeX
\section{Results}
|
|
\subsection{Starting matrix}
|
|
I decided to generate random symmetric matrix using following code:
|
|
\hyperlink{function4_matrix_generation}{code for matrix generation.}
|
|
I got the following matrix:
|
|
\[
|
|
\begin{bmatrix}
|
|
171 & 48 & 133 & 81 & 93 \\
|
|
48 & 108 & 63 & 35 & 30 \\
|
|
133 & 63 & 131 & 64 & 91 \\
|
|
81 & 35 & 64 & 41 & 37 \\
|
|
93 & 30 & 91 & 37 & 106
|
|
\end{bmatrix}
|
|
\]
|
|
|
|
Putting it through Matlab eig function I got eigen values equal to:
|
|
\[
|
|
10^{2} *
|
|
\begin{bmatrix}
|
|
0.000050598692964 \\
|
|
0.105696602175690 \\
|
|
0.454589544003707 \\
|
|
0.870708987227002 \\
|
|
4.138954267900641
|
|
\end{bmatrix}
|
|
\]
|
|
|
|
\newpage
|
|
\subsection{QR method with no shifts}
|
|
Putting this matrix to my functions QRNoShifts and QRShifts I got:
|
|
for qr method with no shifts:
|
|
Final matrix:
|
|
\[
|
|
\begin{bmatrix}
|
|
413.8954 & 0.0000 & -0.0000 & 0.0000 & 0.0000 \\
|
|
0.0000 & 87.0709 & -0.0000 & -0.0000 & 0.0000 \\
|
|
0.0000 & -0.0000 & 45.4590 & -0.0000 & -0.0000 \\
|
|
-0.0000 & 0.0000 & -0.0000 & 10.5697 & -0.0000 \\
|
|
0.0000 & -0.0000 & 0.0000 & 0 & 0.0051
|
|
\end{bmatrix}
|
|
\]
|
|
|
|
Eigen values:
|
|
\[
|
|
10^{2} *
|
|
\begin{bmatrix}
|
|
4.138954267900639 \\
|
|
0.870708987227001 \\
|
|
0.454589544003706 \\
|
|
0.105696602175689 \\
|
|
0.000050598692964 \\
|
|
\end{bmatrix}
|
|
\]
|
|
|
|
It took \textbf{26} iterations to get those values.
|
|
|
|
\subsection{QR method with shifts}
|
|
For qr method with shiftts:
|
|
Final matrix:
|
|
\[
|
|
\begin{bmatrix}
|
|
413.8954
|
|
\end{bmatrix}
|
|
\]
|
|
|
|
Eigen values:
|
|
\[
|
|
10^{2} *
|
|
\begin{bmatrix}
|
|
0.454589544003706 \\
|
|
0.870708987227001 \\
|
|
0.105696602175689 \\
|
|
0.000050598692964 \\
|
|
4.138954267900639
|
|
\end{bmatrix}
|
|
\]
|
|
|
|
It took \textbf{12} iterations to get those values.
|
|
|
|
\newpage
|