X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fdocuments.git;a=blobdiff_plain;f=LiteratureNotes.tex;h=0e423ca18a466348619618ca1e756123724fb3d3;hp=2814e4b1e37c3b0cc86e27d61ef7f80ae2639d87;hb=c77d182fab831ff394c5b4cc586cc6e0becddf43;hpb=93cb10d1d571c39a1f7b39b88d1fba745f2e31a9;ds=sidebyside
diff --git a/LiteratureNotes.tex b/LiteratureNotes.tex
index 2814e4b..0e423ca 100644
--- a/LiteratureNotes.tex
+++ b/LiteratureNotes.tex
@@ -578,7 +578,12 @@ There is a version for multiplication.
I'm still not quite sure when this is useful. I haven't been able to find an example for $x$ and $y$ where $x + y \neq \text{Fast2Sum}(x, y)$.
+\section{Handbook of Floating-Point Arithmetic \cite{HFP}}
+This book is amazingly useful and pretty much says everything there is to know about Floating Point numbers.
+It is much easier to read than Goldberg or Priest's papers.
+
+I'm going to start working through it and compile their test programs.
\chapter{General Notes}
@@ -588,7 +593,14 @@ They happen. There is ULP and I don't mean a political party.
TODO: Probably say something more insightful. Other than "here is a graph that shows errors and we blame rounding".
-Results of \verb/calculatepi/
+\subsection{Results of calculatepi}
+
+We can calculate pi by numerically solving the integral:
+\begin{align*}
+ \int_0^1 \left(\frac{4}{1+x^2}\right) dx &= \pi
+\end{align*}
+
+Results with Simpson Method:
\begin{figure}[H]
\centering
\includegraphics[width=0.8\textwidth]{figures/calculatepi.pdf}
@@ -598,6 +610,20 @@ Results of \verb/calculatepi/
Tests with \verb/calculatepi/ show it's not quite as simple as just blindly replacing all your additions with Fast2Sum from Dekker\cite{dekker1971afloating}.
ie: The graph looks exactly the same for single precision. \verb/calculatepi/ obviously also has multiplication ops in it which I didn't change. Will look at after sleep maybe.
+\subsection{A sequence that seems to converge to a wrong limit - pgs 9-10, \cite{HFP}}
+
+\begin{align*}
+ u_n &= \left\{ \begin{array}{c} u_0 = 2 \\ u_1 = -4 \\ u_n = 111 - \frac{1130}{u_{n-1}} + \frac{3000}{u_{n-1}u_{n-2}}\end{array}\right.
+\end{align*}
+
+The limit of the series should be $6$ but when calculated with IEEE floats it is actually $100$
+The authors show that the limit is actually $100$ for different starting values, and the error in floating point arithmetic causes the series to go to that limit instead.
+
+\begin{figure}[H]
+ \centering
+ \includegraphics[width=0.8\textwidth]{figures/handbook1-1.pdf}
+ \caption{Output of Program 1.1 from \emph{Handbook of Floating-Point Arithmetic}\cite{HFP} for various IEEE types}
+\end{figure}
\pagebreak
\bibliographystyle{unsrt}