summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cl/lizfcm.asd10
-rw-r--r--cl/src/approx/maceps.lisp13
-rw-r--r--cl/src/approx/package.lisp3
-rw-r--r--cl/src/package.lisp7
-rw-r--r--cl/src/vector/distance.lisp6
-rw-r--r--cl/src/vector/norm.lisp17
-rw-r--r--cl/src/vector/package.lisp7
-rw-r--r--cl/tests/maceps.lisp25
-rw-r--r--cl/tests/vector.lisp31
-rw-r--r--homeworks/hw-2.org179
-rw-r--r--homeworks/hw-2.pdfbin0 -> 65550 bytes
-rw-r--r--homeworks/hw-2.tex243
-rw-r--r--homeworks/virtualization/hw1.pdf (renamed from virtualization/hw1.pdf)bin62372 -> 62372 bytes
-rw-r--r--homeworks/virtualization/img/htop.png (renamed from virtualization/img/htop.png)bin36968 -> 36968 bytes
-rw-r--r--homeworks/virtualization/img/no_virtualization.png (renamed from virtualization/img/no_virtualization.png)bin37567 -> 37567 bytes
-rw-r--r--homeworks/virtualization/virtual_machines.md (renamed from virtualization/virtual_machines.md)0
-rw-r--r--homeworks/virtualization/virtualization.md (renamed from virtualization/virtualization.md)0
-rw-r--r--notes/Sep-11.org17
-rw-r--r--notes/Sep-13.org16
-rw-r--r--notes/Sep-15.org52
-rw-r--r--notes/Sep-20.org21
-rw-r--r--notes/Sep-22.org45
-rw-r--r--notes/Sep-25.org48
23 files changed, 730 insertions, 10 deletions
diff --git a/cl/lizfcm.asd b/cl/lizfcm.asd
index ad69fa1..3e8c289 100644
--- a/cl/lizfcm.asd
+++ b/cl/lizfcm.asd
@@ -11,7 +11,13 @@
(:file "package")))
(:module "approx"
:components
- ((:file "derivative" :depends-on ("package"))
+ ((:file "maceps" :depends-on ("package"))
+ (:file "derivative" :depends-on ("package"))
+ (:file "package")))
+ (:module "vector"
+ :components
+ ((:file "distance" :depends-on ("norm" "package"))
+ (:file "norm" :depends-on ("package"))
(:file "package")))))))
@@ -23,7 +29,9 @@
:components ((:module "tests"
:components
((:file "table" :depends-on ("suite"))
+ (:file "maceps" :depends-on ("suite"))
(:file "approx" :depends-on ("suite"))
+ (:file "vector" :depends-on ("suite"))
(:file "suite"))))
:perform (asdf:test-op (o c) (uiop:symbol-call
:fiveam :run!
diff --git a/cl/src/approx/maceps.lisp b/cl/src/approx/maceps.lisp
new file mode 100644
index 0000000..cd24482
--- /dev/null
+++ b/cl/src/approx/maceps.lisp
@@ -0,0 +1,13 @@
+(in-package :lizfcm.approx)
+
+(defun compute-maceps (val f)
+ (let* ((h val)
+ (a val)
+ (err val))
+ (loop while (> err 0)
+ do
+ (progn
+ (setf h (/ h 2)
+ err (abs (- (funcall f (+ a h))
+ (funcall f a)))))
+ collect (list a h err))))
diff --git a/cl/src/approx/package.lisp b/cl/src/approx/package.lisp
index 60dd0bb..c11eb60 100644
--- a/cl/src/approx/package.lisp
+++ b/cl/src/approx/package.lisp
@@ -1,4 +1,5 @@
(in-package :cl-user)
(defpackage lizfcm.approx
(:use :cl)
- (:export :derivative-at))
+ (:export :derivative-at
+ :compute-maceps))
diff --git a/cl/src/package.lisp b/cl/src/package.lisp
new file mode 100644
index 0000000..88b10eb
--- /dev/null
+++ b/cl/src/package.lisp
@@ -0,0 +1,7 @@
+(in-package :cl-user)
+(defpackage lizfcm.vector
+ (:use :cl)
+ (:export
+ :n-norm
+ :max-norm
+ :distance))
diff --git a/cl/src/vector/distance.lisp b/cl/src/vector/distance.lisp
new file mode 100644
index 0000000..74631ce
--- /dev/null
+++ b/cl/src/vector/distance.lisp
@@ -0,0 +1,6 @@
+(in-package :lizfcm.vector)
+
+(defun distance (v1 v2 norm)
+ (let* ((d (mapcar #'- v1 v2))
+ (length (funcall norm d)))
+ length))
diff --git a/cl/src/vector/norm.lisp b/cl/src/vector/norm.lisp
new file mode 100644
index 0000000..2158296
--- /dev/null
+++ b/cl/src/vector/norm.lisp
@@ -0,0 +1,17 @@
+(in-package :lizfcm.vector)
+
+(defun p-norm (p)
+ (lambda (v)
+ (expt
+ (reduce (lambda (acc x)
+ (+ acc x))
+ (mapcar (lambda (x)
+ (abs
+ (expt x p)))
+ v))
+ (/ 1 p))))
+
+(defun max-norm (v)
+ (reduce (lambda (acc x)
+ (max acc x))
+ v))
diff --git a/cl/src/vector/package.lisp b/cl/src/vector/package.lisp
new file mode 100644
index 0000000..009b190
--- /dev/null
+++ b/cl/src/vector/package.lisp
@@ -0,0 +1,7 @@
+(in-package :cl-user)
+(defpackage lizfcm.vector
+ (:use :cl)
+ (:export
+ :p-norm
+ :max-norm
+ :distance))
diff --git a/cl/tests/maceps.lisp b/cl/tests/maceps.lisp
new file mode 100644
index 0000000..9d61772
--- /dev/null
+++ b/cl/tests/maceps.lisp
@@ -0,0 +1,25 @@
+(defpackage lizfcm/tests.maceps
+ (:use :cl
+ :fiveam
+ :lizfcm.approx
+ :lizfcm.utils
+ :lizfcm/tests)
+ (:export :approx-suite))
+(in-package :lizfcm/tests.maceps)
+
+(def-suite maceps-suite
+ :in lizfcm-test-suite)
+(in-suite maceps-suite)
+
+(test maceps
+ :description "double precision provides precision about (mac eps of single precision) squared"
+ (let* ((maceps-computation-double (compute-maceps 1.0d0
+ (lambda (x) x)))
+ (maceps-computation-single (compute-maceps 1.0
+ (lambda (x) x)))
+ (last-double-h (cadar (last maceps-computation-double)))
+ (last-single-h (cadar (last maceps-computation-single))))
+ (is (within-range-p
+ (- last-double-h (* last-single-h last-single-h))
+ 0
+ last-single-h))))
diff --git a/cl/tests/vector.lisp b/cl/tests/vector.lisp
new file mode 100644
index 0000000..3ffe5a8
--- /dev/null
+++ b/cl/tests/vector.lisp
@@ -0,0 +1,31 @@
+(defpackage lizfcm/tests.vector
+ (:use :cl
+ :fiveam
+ :lizfcm.vector
+ :lizfcm.utils
+ :lizfcm/tests)
+ (:export :vector-suite))
+(in-package :lizfcm/tests.vector)
+
+(def-suite vector-suite
+ :in lizfcm-test-suite)
+(in-suite vector-suite)
+
+(test p-norm
+ :description "computes p-norm"
+ (let ((v '(1 1))
+ (length (sqrt 2))
+ (2-norm (p-norm 2)))
+ (is (within-range-p (funcall 2-norm v)
+ length
+ 0.00001))))
+
+(test vector-distance
+ :description "computes distance via norm"
+ (let ((v1 '(0 0))
+ (v2 '(1 1))
+ (dist (sqrt 2)))
+ (is (within-range-p (distance v1 v2 (p-norm 2))
+ dist
+ 0.00001))))
+
diff --git a/homeworks/hw-2.org b/homeworks/hw-2.org
new file mode 100644
index 0000000..c570b65
--- /dev/null
+++ b/homeworks/hw-2.org
@@ -0,0 +1,179 @@
+#+TITLE: HW 02
+#+AUTHOR: Elizabeth Hunt
+#+STARTUP: entitiespretty fold inlineimages
+#+LATEX_HEADER: \notindent \notag \usepackage{amsmath} \usepackage[a4paper,margin=1in,portrait]{geometry}
+#+LATEX: \setlength\parindent{0pt}
+#+OPTIONS: toc:nil
+
+* Question One
+Computing $\epsilon_{\text{mac}}$ for single precision numbers
+
+#+BEGIN_SRC lisp :session t :results table
+ (load "../cl/lizfcm.asd")
+ (ql:quickload :lizfcm)
+
+ (let ((domain-values (lizfcm.approx:compute-maceps 1.0
+ (lambda (x) x))))
+ (lizfcm.utils:table (:headers '("a" "h" "err")
+ :domain-order (a h err)
+ :domain-values domain-values)))
+#+END_SRC
+
+(with many rows truncated)
+
+| a | h | err |
+| 1.0 | 0.5 | 0.5 |
+| 1.0 | 0.25 | 0.25 |
+| 1.0 | 0.125 | 0.125 |
+| 1.0 | 0.0625 | 0.0625 |
+| 1.0 | 1.9073486e-06 | 1.9073486e-06 |
+| 1.0 | 9.536743e-07 | 9.536743e-07 |
+| 1.0 | 4.7683716e-07 | 4.7683716e-07 |
+| 1.0 | 2.3841858e-07 | 2.3841858e-07 |
+| 1.0 | 1.1920929e-07 | 1.1920929e-07 |
+| 1.0 | 5.9604645e-08 | 0.0 |
+
+$\epsilon_{\text{mac}}$ \approx 5.9604 \cdot 10^{-8}
+
+* Question Two
+Computing $\epsilon_{\text{mac}}$ for double precision numbers:
+
+#+BEGIN_SRC lisp :session t :results table
+ (let ((domain-values (lizfcm.approx:compute-maceps 1.0d0
+ (lambda (x) x))))
+ (lizfcm.utils:table (:headers '("a" "h" "err")
+ :domain-order (a h err)
+ :domain-values domain-values)))
+#+END_SRC
+
+(with many rows truncated)
+| a | h | err |
+| 1.0d0 | 0.5d0 | 0.5d0 |
+| 1.0d0 | 0.25d0 | 0.25d0 |
+| 1.0d0 | 0.125d0 | 0.125d0 |
+| 1.0d0 | 0.0625d0 | 0.0625d0 |
+| 1.0d0 | 0.03125d0 | 0.03125d0 |
+| 1.0d0 | 0.015625d0 | 0.015625d0 |
+| 1.0d0 | 0.0078125d0 | 0.0078125d0 |
+| 1.0d0 | 0.00390625d0 | 0.00390625d0 |
+| 1.0d0 | 0.001953125d0 | 0.001953125d0 |
+| 1.0d0 | 7.105427357601002d-15 | 7.105427357601002d-15 |
+| 1.0d0 | 3.552713678800501d-15 | 3.552713678800501d-15 |
+| 1.0d0 | 1.7763568394002505d-15 | 1.7763568394002505d-15 |
+| 1.0d0 | 8.881784197001252d-16 | 8.881784197001252d-16 |
+| 1.0d0 | 4.440892098500626d-16 | 4.440892098500626d-16 |
+| 1.0d0 | 2.220446049250313d-16 | 2.220446049250313d-16 |
+| 1.0d0 | 1.1102230246251565d-16 | 0.0d0 |
+
+Thus, $\epsilon_{\text{mac}}$ \approx 1.1102 \cdot 10^{-16}
+
+* Question Three - |v|_2
+#+BEGIN_SRC lisp :session t
+ (let ((vs '((1 1) (2 3) (4 5) (-1 2)))
+ (2-norm (lizfcm.vector:p-norm 2)))
+ (lizfcm.utils:table (:headers '("x" "y" "2norm")
+ :domain-order (x y)
+ :domain-values vs)
+ (funcall 2-norm (list x y))))
+#+END_SRC
+
+
+| x | y | 2norm |
+| 1 | 1 | 1.4142135 |
+| 2 | 3 | 3.6055512 |
+| 4 | 5 | 6.4031243 |
+| -1 | 2 | 2.236068 |
+
+* Question Four - |v|_1
+#+BEGIN_SRC lisp :session t
+ (let ((vs '((1 1) (2 3) (4 5) (-1 2)))
+ (1-norm (lizfcm.vector:p-norm 1)))
+ (lizfcm.utils:table (:headers '("x" "y" "1norm")
+ :domain-order (x y)
+ :domain-values vs)
+ (funcall 1-norm (list x y))))
+#+END_SRC
+
+
+| x | y | 1norm |
+| 1 | 1 | 2 |
+| 2 | 3 | 5 |
+| 4 | 5 | 9 |
+| -1 | 2 | 3 |
+
+* Question Five - |v|_{\infty}
+#+BEGIN_SRC lisp :session t
+ (let ((vs '((1 1) (2 3) (4 5) (-1 2))))
+ (lizfcm.utils:table (:headers '("x" "y" "max-norm")
+ :domain-order (x y)
+ :domain-values vs)
+ (lizfcm.vector:max-norm (list x y))))
+#+END_SRC
+
+
+| x | y | infty-norm |
+| 1 | 1 | 1 |
+| 2 | 3 | 3 |
+| 4 | 5 | 5 |
+| -1 | 2 | 2 |
+
+* Question Six - ||v - u|| via |v|_{2}
+#+BEGIN_SRC lisp :session t
+ (let* ((vs '((1 1) (2 3) (4 5) (-1 2)))
+ (vs2 '((7 9) (2 2) (8 -1) (4 4)))
+ (2-norm (lizfcm.vector:p-norm 2)))
+ (lizfcm.utils:table (:headers '("v1" "v2" "2-norm-d")
+ :domain-order (v1 v2)
+ :domain-values (mapcar (lambda (v1 v2)
+ (list v1 v2))
+ vs
+ vs2))
+ (lizfcm.vector:distance v1 v2 2-norm)))
+#+END_SRC
+
+
+| v1 | v2 | 2-norm |
+| (1 1) | (7 9) | 10.0 |
+| (2 3) | (2 2) | 1.0 |
+| (4 5) | (8 -1) | 7.2111025 |
+| (-1 2) | (4 4) | 5.3851647 |
+
+* Question Seven - ||v - u|| via |v|_{1}
+#+BEGIN_SRC lisp :session t
+ (let* ((vs '((1 1) (2 3) (4 5) (-1 2)))
+ (vs2 '((7 9) (2 2) (8 -1) (4 4)))
+ (1-norm (lizfcm.vector:p-norm 1)))
+ (lizfcm.utils:table (:headers '("v1" "v2" "1-norm-d")
+ :domain-order (v1 v2)
+ :domain-values (mapcar (lambda (v1 v2)
+ (list v1 v2))
+ vs
+ vs2))
+ (lizfcm.vector:distance v1 v2 1-norm)))
+#+END_SRC
+
+
+| v1 | v2 | 1-norm-d |
+| (1 1) | (7 9) | 14 |
+| (2 3) | (2 2) | 1 |
+| (4 5) | (8 -1) | 10 |
+| (-1 2) | (4 4) | 7 |
+
+* Question Eight - ||v - u|| via |v|_{\infty}
+#+BEGIN_SRC lisp :session t
+ (let* ((vs '((1 1) (2 3) (4 5) (-1 2)))
+ (vs2 '((7 9) (2 2) (8 -1) (4 4))))
+ (lizfcm.utils:table (:headers '("v1" "v2" "max-norm-d")
+ :domain-order (v1 v2)
+ :domain-values (mapcar (lambda (v1 v2)
+ (list v1 v2))
+ vs
+ vs2))
+ (lizfcm.vector:distance v1 v2 'lizfcm.vector:max-norm)))
+#+END_SRC
+
+| v1 | v2 | max-norm-d |
+| (1 1) | (7 9) | -6 |
+| (2 3) | (2 2) | 1 |
+| (4 5) | (8 -1) | 6 |
+| (-1 2) | (4 4) | -2 |
diff --git a/homeworks/hw-2.pdf b/homeworks/hw-2.pdf
new file mode 100644
index 0000000..fed1f44
--- /dev/null
+++ b/homeworks/hw-2.pdf
Binary files differ
diff --git a/homeworks/hw-2.tex b/homeworks/hw-2.tex
new file mode 100644
index 0000000..5155448
--- /dev/null
+++ b/homeworks/hw-2.tex
@@ -0,0 +1,243 @@
+% Created 2023-09-25 Mon 09:52
+% Intended LaTeX compiler: pdflatex
+\documentclass[11pt]{article}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{graphicx}
+\usepackage{longtable}
+\usepackage{wrapfig}
+\usepackage{rotating}
+\usepackage[normalem]{ulem}
+\usepackage{amsmath}
+\usepackage{amssymb}
+\usepackage{capt-of}
+\usepackage{hyperref}
+\notindent \notag \usepackage{amsmath} \usepackage[a4paper,margin=1in,portrait]{geometry}
+\author{Elizabeth Hunt}
+\date{\today}
+\title{HW 02}
+\hypersetup{
+ pdfauthor={Elizabeth Hunt},
+ pdftitle={HW 02},
+ pdfkeywords={},
+ pdfsubject={},
+ pdfcreator={Emacs 28.2 (Org mode 9.7-pre)},
+ pdflang={English}}
+\begin{document}
+
+\maketitle
+\setlength\parindent{0pt}
+
+\section{Question One}
+\label{sec:orga203815}
+Computing \(\epsilon_{\text{mac}}\) for single precision numbers
+
+\begin{verbatim}
+(load "../cl/lizfcm.asd")
+(ql:quickload :lizfcm)
+
+(let ((domain-values (lizfcm.approx:compute-maceps 1.0
+ (lambda (x) x))))
+ (lizfcm.utils:table (:headers '("a" "h" "err")
+ :domain-order (a h err)
+ :domain-values domain-values)))
+\end{verbatim}
+
+(with many rows truncated)
+
+\begin{center}
+\begin{tabular}{rrr}
+a & h & err\\[0pt]
+1.0 & 0.5 & 0.5\\[0pt]
+1.0 & 0.25 & 0.25\\[0pt]
+1.0 & 0.125 & 0.125\\[0pt]
+1.0 & 0.0625 & 0.0625\\[0pt]
+1.0 & 1.9073486e-06 & 1.9073486e-06\\[0pt]
+1.0 & 9.536743e-07 & 9.536743e-07\\[0pt]
+1.0 & 4.7683716e-07 & 4.7683716e-07\\[0pt]
+1.0 & 2.3841858e-07 & 2.3841858e-07\\[0pt]
+1.0 & 1.1920929e-07 & 1.1920929e-07\\[0pt]
+1.0 & 5.9604645e-08 & 0.0\\[0pt]
+\end{tabular}
+\end{center}
+
+\(\epsilon_{\text{mac}}\) \(\approx\) 5.9604 \(\cdot\) 10\textsuperscript{-8}
+
+\section{Question Two}
+\label{sec:orgdd79be1}
+Computing \(\epsilon_{\text{mac}}\) for double precision numbers:
+
+\begin{verbatim}
+(let ((domain-values (lizfcm.approx:compute-maceps 1.0d0
+ (lambda (x) x))))
+ (lizfcm.utils:table (:headers '("a" "h" "err")
+ :domain-order (a h err)
+ :domain-values domain-values)))
+\end{verbatim}
+
+(with many rows truncated)
+\begin{center}
+\begin{tabular}{rrr}
+a & h & err\\[0pt]
+1.0d0 & 0.5d0 & 0.5d0\\[0pt]
+1.0d0 & 0.25d0 & 0.25d0\\[0pt]
+1.0d0 & 0.125d0 & 0.125d0\\[0pt]
+1.0d0 & 0.0625d0 & 0.0625d0\\[0pt]
+1.0d0 & 0.03125d0 & 0.03125d0\\[0pt]
+1.0d0 & 0.015625d0 & 0.015625d0\\[0pt]
+1.0d0 & 0.0078125d0 & 0.0078125d0\\[0pt]
+1.0d0 & 0.00390625d0 & 0.00390625d0\\[0pt]
+1.0d0 & 0.001953125d0 & 0.001953125d0\\[0pt]
+1.0d0 & 7.105427357601002d-15 & 7.105427357601002d-15\\[0pt]
+1.0d0 & 3.552713678800501d-15 & 3.552713678800501d-15\\[0pt]
+1.0d0 & 1.7763568394002505d-15 & 1.7763568394002505d-15\\[0pt]
+1.0d0 & 8.881784197001252d-16 & 8.881784197001252d-16\\[0pt]
+1.0d0 & 4.440892098500626d-16 & 4.440892098500626d-16\\[0pt]
+1.0d0 & 2.220446049250313d-16 & 2.220446049250313d-16\\[0pt]
+1.0d0 & 1.1102230246251565d-16 & 0.0d0\\[0pt]
+\end{tabular}
+\end{center}
+
+Thus, \(\epsilon_{\text{mac}}\) \(\approx\) 1.1102 \(\cdot\) 10\textsuperscript{-16}
+
+\section{Question Three - |v|\textsubscript{2}}
+\label{sec:org04608d9}
+\begin{verbatim}
+(let ((vs '((1 1) (2 3) (4 5) (-1 2)))
+ (2-norm (lizfcm.vector:p-norm 2)))
+ (lizfcm.utils:table (:headers '("x" "y" "2norm")
+ :domain-order (x y)
+ :domain-values vs)
+ (funcall 2-norm (list x y))))
+\end{verbatim}
+
+
+\begin{center}
+\begin{tabular}{rrr}
+x & y & 2norm\\[0pt]
+1 & 1 & 1.4142135\\[0pt]
+2 & 3 & 3.6055512\\[0pt]
+4 & 5 & 6.4031243\\[0pt]
+-1 & 2 & 2.236068\\[0pt]
+\end{tabular}
+\end{center}
+
+\section{Question Four - |v|\textsubscript{1}}
+\label{sec:orgfb57f3a}
+\begin{verbatim}
+(let ((vs '((1 1) (2 3) (4 5) (-1 2)))
+ (1-norm (lizfcm.vector:p-norm 1)))
+ (lizfcm.utils:table (:headers '("x" "y" "1norm")
+ :domain-order (x y)
+ :domain-values vs)
+ (funcall 1-norm (list x y))))
+\end{verbatim}
+
+
+\begin{center}
+\begin{tabular}{rrr}
+x & y & 1norm\\[0pt]
+1 & 1 & 2\\[0pt]
+2 & 3 & 5\\[0pt]
+4 & 5 & 9\\[0pt]
+-1 & 2 & 3\\[0pt]
+\end{tabular}
+\end{center}
+
+\section{Question Five - |v|\textsubscript{\(\infty\)}}
+\label{sec:org7bbdf04}
+\begin{verbatim}
+(let ((vs '((1 1) (2 3) (4 5) (-1 2))))
+ (lizfcm.utils:table (:headers '("x" "y" "max-norm")
+ :domain-order (x y)
+ :domain-values vs)
+ (lizfcm.vector:max-norm (list x y))))
+\end{verbatim}
+
+
+\begin{center}
+\begin{tabular}{rrr}
+x & y & infty-norm\\[0pt]
+1 & 1 & 1\\[0pt]
+2 & 3 & 3\\[0pt]
+4 & 5 & 5\\[0pt]
+-1 & 2 & 2\\[0pt]
+\end{tabular}
+\end{center}
+
+\section{Question Six - ||v - u|| via |v|\textsubscript{2}}
+\label{sec:orge36996c}
+\begin{verbatim}
+(let* ((vs '((1 1) (2 3) (4 5) (-1 2)))
+ (vs2 '((7 9) (2 2) (8 -1) (4 4)))
+ (2-norm (lizfcm.vector:p-norm 2)))
+ (lizfcm.utils:table (:headers '("v1" "v2" "2-norm-d")
+ :domain-order (v1 v2)
+ :domain-values (mapcar (lambda (v1 v2)
+ (list v1 v2))
+ vs
+ vs2))
+ (lizfcm.vector:distance v1 v2 2-norm)))
+\end{verbatim}
+
+
+\begin{center}
+\begin{tabular}{llr}
+v1 & v2 & 2-norm\\[0pt]
+(1 1) & (7 9) & 10.0\\[0pt]
+(2 3) & (2 2) & 1.0\\[0pt]
+(4 5) & (8 -1) & 7.2111025\\[0pt]
+(-1 2) & (4 4) & 5.3851647\\[0pt]
+\end{tabular}
+\end{center}
+
+\section{Question Seven - ||v - u|| via |v|\textsubscript{1}}
+\label{sec:orgd1577f0}
+\begin{verbatim}
+(let* ((vs '((1 1) (2 3) (4 5) (-1 2)))
+ (vs2 '((7 9) (2 2) (8 -1) (4 4)))
+ (1-norm (lizfcm.vector:p-norm 1)))
+ (lizfcm.utils:table (:headers '("v1" "v2" "1-norm-d")
+ :domain-order (v1 v2)
+ :domain-values (mapcar (lambda (v1 v2)
+ (list v1 v2))
+ vs
+ vs2))
+ (lizfcm.vector:distance v1 v2 1-norm)))
+\end{verbatim}
+
+
+\begin{center}
+\begin{tabular}{llr}
+v1 & v2 & 1-norm-d\\[0pt]
+(1 1) & (7 9) & 14\\[0pt]
+(2 3) & (2 2) & 1\\[0pt]
+(4 5) & (8 -1) & 10\\[0pt]
+(-1 2) & (4 4) & 7\\[0pt]
+\end{tabular}
+\end{center}
+
+\section{Question Eight - ||v - u|| via |v|\textsubscript{\(\infty\)}}
+\label{sec:org2661676}
+\begin{verbatim}
+(let* ((vs '((1 1) (2 3) (4 5) (-1 2)))
+ (vs2 '((7 9) (2 2) (8 -1) (4 4))))
+ (lizfcm.utils:table (:headers '("v1" "v2" "max-norm-d")
+ :domain-order (v1 v2)
+ :domain-values (mapcar (lambda (v1 v2)
+ (list v1 v2))
+ vs
+ vs2))
+ (lizfcm.vector:distance v1 v2 'lizfcm.vector:max-norm)))
+\end{verbatim}
+
+\begin{center}
+\begin{tabular}{llr}
+v1 & v2 & max-norm-d\\[0pt]
+(1 1) & (7 9) & -6\\[0pt]
+(2 3) & (2 2) & 1\\[0pt]
+(4 5) & (8 -1) & 6\\[0pt]
+(-1 2) & (4 4) & -2\\[0pt]
+\end{tabular}
+\end{center}
+\end{document} \ No newline at end of file
diff --git a/virtualization/hw1.pdf b/homeworks/virtualization/hw1.pdf
index 00d84a4..00d84a4 100644
--- a/virtualization/hw1.pdf
+++ b/homeworks/virtualization/hw1.pdf
Binary files differ
diff --git a/virtualization/img/htop.png b/homeworks/virtualization/img/htop.png
index 880befa..880befa 100644
--- a/virtualization/img/htop.png
+++ b/homeworks/virtualization/img/htop.png
Binary files differ
diff --git a/virtualization/img/no_virtualization.png b/homeworks/virtualization/img/no_virtualization.png
index 2322456..2322456 100644
--- a/virtualization/img/no_virtualization.png
+++ b/homeworks/virtualization/img/no_virtualization.png
Binary files differ
diff --git a/virtualization/virtual_machines.md b/homeworks/virtualization/virtual_machines.md
index c6d3e12..c6d3e12 100644
--- a/virtualization/virtual_machines.md
+++ b/homeworks/virtualization/virtual_machines.md
diff --git a/virtualization/virtualization.md b/homeworks/virtualization/virtualization.md
index 4d03637..4d03637 100644
--- a/virtualization/virtualization.md
+++ b/homeworks/virtualization/virtualization.md
diff --git a/notes/Sep-11.org b/notes/Sep-11.org
index 1568618..3d71f2f 100644
--- a/notes/Sep-11.org
+++ b/notes/Sep-11.org
@@ -31,17 +31,18 @@ Table of Errors
(lizfcm.utils:table (:headers '("u" "v" "e_{abs}" "e_{rel}")
:domain-order (u v)
:domain-values *u-v*)
- (fround (eabs u v) 4)
- (fround (erel u v) 4))
+ (eabs u v)
+ (erel u v))
#+END_SRC
#+RESULTS:
-| u | v | e_{abs} | e_{rel} |
-| 1 | 0.99 | 0.0 | 0.0 |
-| 1 | 1.01 | 0.0 | 0.0 |
-| -1.5 | -1.2 | 0.0 | 0.0 |
-| 100 | 99.9 | 0.0 | 0.0 |
-| 100 | 99 | 0.0 | 0.0 |
+| u | v | e_{abs} | e_{rel} |
+| 1 | 0.99 | 0.00999999 | 0.00999999 |
+| 1 | 1.01 | 0.00999999 | 0.00999999 |
+| -1.5 | -1.2 | 0.29999995 | 0.19999997 |
+| 100 | 99.9 | 0.099998474 | 0.0009999848 |
+| 100 | 99 | 1 | 1/100 |
+
Look at $u \approx 0$ then $v \approx 0$, $e_{abs}$ is better error since $e_{rel}$ is high.
diff --git a/notes/Sep-13.org b/notes/Sep-13.org
new file mode 100644
index 0000000..0ebff2b
--- /dev/null
+++ b/notes/Sep-13.org
@@ -0,0 +1,16 @@
+* Homework 2
+1. maceps - single precision
+
+2. maceps - double precision
+
+3. 2-norm of a vector
+
+4. 1-norm of a vector
+
+5. infinity-norm of a vector (max-norm)
+
+6. 2-norm distance between 2 vectors
+
+7. 1-norm distance between 2 vectors
+
+8. infinity-norm distance
diff --git a/notes/Sep-15.org b/notes/Sep-15.org
new file mode 100644
index 0000000..d5bf371
--- /dev/null
+++ b/notes/Sep-15.org
@@ -0,0 +1,52 @@
+* Taylor Series Approx.
+Suppose f has $\infty$ many derivatives near a point a. Then the taylor series is given by
+
+$f(x) = \Sigma_{n=0}^{\infty} \frac{f^{(n)}(a)}{n!}(x-a)^n$
+
+For increment notation we can write
+
+$f(a + h) = f(a) + f'(a)(a+h - a) + \dots$
+
+$= \Sigma_{n=0}^{\infty} \frac{f^{(n)}(a)}{h!} (h^n)$
+
+Consider the approximation
+
+$e = |f'(a) - \frac{f(a + h) - f(a)}{h}| = |f'(a) - \frac{1}{h}(f(a + h) - f(a))|$
+
+Substituting...
+
+$= |f'(a) - \frac{1}{h}((f(a) + f'(a) h + \frac{f''(a)}{2} h^2 + \cdots) - f(a))|$
+
+$f(a) - f(a) = 0$... and $distribute the h$
+
+$= |-1/2 f''(a) h + \frac{1}{6}f'''(a)h^2 \cdots|$
+
+** With Remainder
+We can determine for some u $f(a + h) = f(a) + f'(a)h + \frac{1}{2}f''(u)h^2$
+
+and so the error is $e = |f'(a) - \frac{f(a + h) - f(a)}{h}| = |\frac{h}{2}f''(u)|$
+
+- [https://openstax.org/books/calculus-volume-2/pages/6-3-taylor-and-maclaurin-series]
+ + > Taylor's Theorem w/ Remainder
+
+
+** Of Deriviatives
+
+Again, $f'(a) \approx \frac{f(a+h) - f(a)}{h}$,
+
+$e = |\frac{1}{2} f''(a) + \frac{1}{3!}h^2 f'''(a) + \cdots$
+
+$R_2 = \frac{h}{2} f''(u)$
+
+$|\frac{h}{2} f''(u)| \leq M h^1$
+
+$M = \frac{1}{2}|f'(u)|$
+
+*** Another approximation
+
+$\text{err} = |f'(a) - \frac{f(a) - f(a - h)}{h}|$
+
+$= f'(a) - \frac{1}{h}(f(a) - (f(a) + f'(a)(a - (a - h)) + \frac{1}{2}f''(a)(a-(a-h))^2 + \cdots))$
+
+$= |f'(a) - \frac{1}{h}(f'(a) + \frac{1}{2}f''(a)h)|$
+
diff --git a/notes/Sep-20.org b/notes/Sep-20.org
new file mode 100644
index 0000000..ba067bb
--- /dev/null
+++ b/notes/Sep-20.org
@@ -0,0 +1,21 @@
+* Review & Summary
+Approx f'(a) with
+
++ forward difference $f'(a) \approx \frac{f(a+h) - f(a)}{h}$
+
++ backward difference $f'(a) \approx \frac{f(a) - f(a-h)}{h}$
+
++ central difference $f'(a) \approx \frac{f(a+h) - f(a-h)}{2h}$
+
+** Taylor Series
+given $C = \frac{1}{2}(|f''(\xi)|) \cdot h^1$
+
+with f.d. $e_{\text{abs}} \leq Ch^1$
+
+b.d. $e_{\text{abs}} \leq Ch^1$
+
+c.d. $e_{\text{abs}} \leq Ch^2$
+
+$e_{\text{abs}} \leq Ch^r$
+
+$log(e(h)) \leq log(ch^r) = log(C) + log(h^r) = log(C) + rlog(h)$
diff --git a/notes/Sep-22.org b/notes/Sep-22.org
new file mode 100644
index 0000000..b631e3b
--- /dev/null
+++ b/notes/Sep-22.org
@@ -0,0 +1,45 @@
+* regression
+consider the generic problem of fitting a dataset to a linear polynomial
+
+given discrete f: x \rightarrow y
+
+interpolation: y = a + bx
+
+[[1 x_0] [[y_0]
+ [1 x_1] \cdot [[a] = [y_1]
+ [1 x_n]] [b]] [y_n]]
+
+consider p \in col(A)
+
+then y = p + q for some q \cdot p = 0
+
+then we can generate n \in col(A) by $Az$ and n must be orthogonal to q as well
+
+(Az)^T \cdot q = 0 = (Az)^T (y - p)
+
+0 = (z^T A^T)(y - Ax)
+ = z^T (A^T y - A^T A x)
+ = A^T Ax
+ = A^T y
+
+
+A^T A = [[n+1 \Sigma_{n=0}^n x_n]
+ [\Sigma_{n=0}^n x_n \Sigma_{n=0}^n x_n^2]]
+
+A^T y = [[\Sigma_{n=0}^n y_n]
+ [\Sigma_{n=0}^n x_n y_n]]
+
+a_11 = n+1
+a_12 = \Sigma_{n=0}^n x_n
+a_21 = a_12
+a_22 = \Sigma_{n=0}^n x_n^2
+b_1 = \Sigma_{n=0}^n y_n
+b_2 = \Sigma_{n=0}^n x_n y_n
+
+then apply this with:
+
+log(e(h)) \leq log(C) + rlog(h)
+
+* homework 3:
+
+two columns \Rightarrow coefficients for linear regression
diff --git a/notes/Sep-25.org b/notes/Sep-25.org
new file mode 100644
index 0000000..b2d63e3
--- /dev/null
+++ b/notes/Sep-25.org
@@ -0,0 +1,48 @@
+ex: erfc(x) = \int_{0}^x (\frac{2}{\sqrt{pi}})e^{-t^2 }dt
+ex: IVP \frac{dP}{dt} = \alpha P - \beta P^2
+ P(0) = P_0
+
+Explicit Euler Method
+
+$\frac{P(t + \Delta t) - P(t)}{\Delta t} \approx \alpha P(t) - \beta P^2(t)$
+
+From 0 \rightarrow T
+P(T) \approx n steps
+
+* Steps
+** Calculus: defference quotient
+$f'(a) \approx \frac{f(a+h) - f(a)}{h}$
+
+** Test.
+Roundoff for h \approx 0
+
+** Calculus: Taylor Serioes w/ Remainder
+$e_{abs}(h) \leq Ch^r$
+
+(see Sep-20 . Taylor Series)
+
+* Pseudo Code
+#+BEGIN_SRC python
+ for i in range(n):
+ a12 = a12 + x[i+1]
+ a22 = a22 + x[i+1]**2
+ a21 = a12
+ b1 = y[0]
+ b2 = y[0] * x[0]
+ for i in range(n):
+ b1 = b1 + y[i+1]
+ b2 = b2 + y[i+1]*x[i+1]
+ detA = a22*a11 - a12*a21
+ c = (a22*b1 - a12*b2) / detA
+ d = (-a21 * b1 + a11 * b2) / detA
+
+ return (c, d)
+#+END_SRC
+
+* Error
+We want
+$e_k = |df(h_kk) - f'(a)|$
+
+$= |df(h_k) - df(h_m) + df(h_m) - f'(a)|$
+
+$\leq |df(h_k) - df(h_m)| + |df(h_m) - f'(a)|$ and $|df(h_m) - f'(a)|$ is negligible