diff --git a/HW4/README.md b/HW4/README.md
new file mode 100644
index 0000000..7f04a9a
--- /dev/null
+++ b/HW4/README.md
@@ -0,0 +1,37 @@
+# Homework #3
+## due 3/1/17 by 11:59pm
+
+
+1. Use your repository 'roots_and_optimization'. Document all the HW4 work under the
+heading `# Homework #4` in your `README.md` file
+
+ a. Create a function called 'collar_potential_energy' that computes the total
+ potential energy of a collar connected to a spring and sliding on a rod. As shown in
+ the figure given a position, xc, and angle, theta:
+
+ ![Collar-mass on an inclined rod](collar_mass.png)
+
+ The spring is unstretched when x_C=0.5 m. The potential energy due to gravity is:
+
+ PE_g=m x_C\*g\*sin(theta)
+
+ where m=0.5 kg, and g is the acceleration due to gravity,
+
+ and the potential energy due to the spring is:
+
+ PE_s=1/2\*K \*(DL)^2
+
+ where DL = 0.5 - sqrt(0.5^2+(0.5-x_C)^2) and K=30 N/m.
+
+ b. Use the `goldmin.m` function to solve for the minimum potential energy at xc when
+ theta=0. *create an anonymous function with `@(x) collar_potential_energy(x,theta)` in
+ the input for goldmin. Be sure to include the script that solves for xc*
+
+ c. Create a for-loop that solves for the minimum potential energy position, xc, at a
+ given angle, theta, for theta = 0..90 degrees.
+
+ d. Include a plot of xc vs theta. `plot(theta,xc)` with
+
+ `![Steady-state position of collar on rod at angle theta](plot.png)`
+
+3. Commit your changes to your repository. Sync your local repository with github.
diff --git a/HW4/collar_mass.png b/HW4/collar_mass.png
new file mode 100644
index 0000000..f9b2836
Binary files /dev/null and b/HW4/collar_mass.png differ
diff --git a/HW4/collar_mass.svg b/HW4/collar_mass.svg
new file mode 100644
index 0000000..cc18c3d
--- /dev/null
+++ b/HW4/collar_mass.svg
@@ -0,0 +1,270 @@
+
+
+
+
diff --git a/lecture_09/.ipynb_checkpoints/lecture_09-checkpoint.ipynb b/lecture_09/.ipynb_checkpoints/lecture_09-checkpoint.ipynb
new file mode 100644
index 0000000..2fd6442
--- /dev/null
+++ b/lecture_09/.ipynb_checkpoints/lecture_09-checkpoint.ipynb
@@ -0,0 +1,6 @@
+{
+ "cells": [],
+ "metadata": {},
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/lecture_09/.lecture_09.md.swp b/lecture_09/.lecture_09.md.swp
new file mode 100644
index 0000000..4000b4f
Binary files /dev/null and b/lecture_09/.lecture_09.md.swp differ
diff --git a/lecture_09/even_odd_perm.svg b/lecture_09/even_odd_perm.svg
new file mode 100644
index 0000000..eeaca19
--- /dev/null
+++ b/lecture_09/even_odd_perm.svg
@@ -0,0 +1,331 @@
+
+
+
+
diff --git a/lecture_09/lecture_09.ipynb b/lecture_09/lecture_09.ipynb
new file mode 100644
index 0000000..4889d52
--- /dev/null
+++ b/lecture_09/lecture_09.ipynb
@@ -0,0 +1,1151 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Linear Algebra (Review/Introduction)\n",
+ "\n",
+ "Representation of linear equations:\n",
+ "\n",
+ "1. $5x_{1}+3x_{2} =1$\n",
+ "\n",
+ "2. $x_{1}+2x_{2}+3x_{3} =2$\n",
+ "\n",
+ "3. $x_{1}+x_{2}+x_{3} =3$\n",
+ "\n",
+ "in matrix form:\n",
+ "\n",
+ "$\\left[ \\begin{array}{ccc}\n",
+ "5 & 3 & 0 \\\\\n",
+ "1 & 2 & 3 \\\\\n",
+ "1 & 1 & 1 \\end{array} \\right]\n",
+ "\\left[\\begin{array}{c} \n",
+ "x_{1} \\\\ \n",
+ "x_{2} \\\\\n",
+ "x_{3}\\end{array}\\right]=\\left[\\begin{array}{c} \n",
+ "1 \\\\\n",
+ "2 \\\\\n",
+ "3\\end{array}\\right]$\n",
+ "\n",
+ "$Ax=b$"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Vectors \n",
+ "\n",
+ "column vector x (length of 3):\n",
+ "\n",
+ "$\\left[\\begin{array}{c} \n",
+ "x_{1} \\\\ \n",
+ "x_{2} \\\\\n",
+ "x_{3}\\end{array}\\right]$\n",
+ "\n",
+ "row vector y (length of 3):\n",
+ "\n",
+ "$\\left[\\begin{array}{ccc} \n",
+ "y_{1}~ \n",
+ "y_{2}~ \n",
+ "y_{3}\\end{array}\\right]$\n",
+ "\n",
+ "vector of length N:\n",
+ "\n",
+ "$\\left[\\begin{array}{c} \n",
+ "x_{1} \\\\ \n",
+ "x_{2} \\\\\n",
+ "\\vdots \\\\\n",
+ "x_{N}\\end{array}\\right]$\n",
+ "\n",
+ "The $i^{th}$ element of x is $x_{i}$"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "x =\n",
+ "\n",
+ " 1 2 3 4 5 6 7 8 9 10\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "x=[1:10]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "ans =\n",
+ "\n",
+ " 1\n",
+ " 2\n",
+ " 3\n",
+ " 4\n",
+ " 5\n",
+ " 6\n",
+ " 7\n",
+ " 8\n",
+ " 9\n",
+ " 10\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "x'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Matrices\n",
+ "\n",
+ "Matrix A is 3x3:\n",
+ "\n",
+ "$A=\\left[ \\begin{array}{ccc}\n",
+ "5 & 3 & 0 \\\\\n",
+ "1 & 2 & 3 \\\\\n",
+ "1 & 1 & 1 \\end{array} \\right]$\n",
+ "\n",
+ "elements in the matrix are denoted $A_{row~column}$, $A_{23}=3$\n",
+ "\n",
+ "In general, matrix, B, can be any size, $M \\times N$ (M-rows and N-columns):\n",
+ "\n",
+ "$B=\\left[ \\begin{array}{cccc}\n",
+ "B_{11} & B_{12} &...& B_{1N} \\\\\n",
+ "B_{21} & B_{22} &...& B_{2N} \\\\\n",
+ "\\vdots & \\vdots &\\ddots& \\vdots \\\\\n",
+ "B_{M1} & B_{M2} &...& B_{MN}\\end{array} \\right]$"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "A =\n",
+ "\n",
+ " 5 3 0\n",
+ " 1 2 3\n",
+ " 1 1 1\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "A=[5,3,0;1,2,3;1,1,1]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Multiplication\n",
+ "\n",
+ "A column vector is a $1\\times N$ matrix and a row vector is a $M\\times 1$ matrix\n",
+ "\n",
+ "**Multiplying matrices is not commutative**\n",
+ "\n",
+ "$A B \\neq B A$\n",
+ "\n",
+ "Inner dimensions must agree, output is outer dimensions. \n",
+ "\n",
+ "A is $M1 \\times N1$ and B is $M2 \\times N2$\n",
+ "\n",
+ "C=AB\n",
+ "\n",
+ "Therefore N1=M2 and C is $M1 \\times N2$\n",
+ "\n",
+ "If $C'=BA$, then N2=M1 and C is $M2 \\times N1$\n",
+ "\n",
+ "\n",
+ "e.g. \n",
+ "$A=\\left[ \\begin{array}{cc}\n",
+ "5 & 3 & 0 \\\\\n",
+ "1 & 2 & 3 \\end{array} \\right]$\n",
+ "\n",
+ "$B=\\left[ \\begin{array}{cccc}\n",
+ "1 & 2 & 3 & 4 \\\\\n",
+ "5 & 6 & 7 & 8 \\\\\n",
+ "9 & 10 & 11 & 12 \\end{array} \\right]$\n",
+ "\n",
+ "C=AB\n",
+ "\n",
+ "$[2\\times 4] = [2 \\times 3][3 \\times 4]$\n",
+ "\n",
+ "The rule for multiplying matrices, A and B, is\n",
+ "\n",
+ "$C_{ij} = \\sum_{k=1}^{n}A_{ik}B_{kj}$\n",
+ "\n",
+ "In the previous example, \n",
+ "\n",
+ "$C_{11} = A_{11}B_{11}+A_{12}B_{21}+A_{13}B_{31} = 5*1+3*5+0*9=20$\n",
+ "\n",
+ "\n",
+ "Multiplication is associative:\n",
+ "\n",
+ "$(AB)C = A(BC)$\n",
+ "\n",
+ "and distributive:\n",
+ "\n",
+ "$A(B+C)=AB+AC$"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "A =\n",
+ "\n",
+ " 5 3 0\n",
+ " 1 2 3\n",
+ "\n",
+ "B =\n",
+ "\n",
+ " 1 2 3 4\n",
+ " 5 6 7 8\n",
+ " 9 10 11 12\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "A=[5,3,0;1,2,3] \n",
+ "B=[1,2,3,4;5,6,7,8;9,10,11,12]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "C =\n",
+ "\n",
+ " 0 0 0 0\n",
+ " 0 0 0 0\n",
+ "\n",
+ "C =\n",
+ "\n",
+ " 20 28 36 44\n",
+ " 38 44 50 56\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "C=zeros(2,4)\n",
+ "C(1,1)=A(1,1)*B(1,1)+A(1,2)*B(2,1)+A(1,3)*B(3,1);\n",
+ "C(1,2)=A(1,1)*B(1,2)+A(1,2)*B(2,2)+A(1,3)*B(3,2);\n",
+ "\n",
+ "C=A*B"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "error: operator *: nonconformant arguments (op1 is 3x4, op2 is 2x3)\r\n"
+ ]
+ }
+ ],
+ "source": [
+ "Cp=B*A"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Representation of a problem with Matrices and Vectors\n",
+ "\n",
+ "If you have a set of known output, $y_{1},~y_{2},~...y_{N}$ and a set of equations that\n",
+ "relate unknown inputs, $x_{1},~x_{2},~...x_{N}$, then these can be written in a vector\n",
+ "matrix format as:\n",
+ "\n",
+ "$y=Ax=\\left[\\begin{array}{c} \n",
+ "y_{1} \\\\ \n",
+ "y_{2} \\\\\n",
+ "\\vdots \\\\\n",
+ "y_{N}\\end{array}\\right]\n",
+ "=\n",
+ "A\\left[\\begin{array}{c} \n",
+ "x_{1} \\\\ \n",
+ "x_{2} \\\\\n",
+ "\\vdots \\\\\n",
+ "x_{N}\\end{array}\\right]$\n",
+ "\n",
+ "$A=\n",
+ "\\left[\\begin{array}{cccc} \n",
+ "| & | & & | \\\\ \n",
+ "a_{1} & a_{2} & ... & a_{N} \\\\ \n",
+ "| & | & & | \\end{array}\\right]$\n",
+ "\n",
+ "or \n",
+ "\n",
+ "$y = a_{1}x_{1} + a_{2}x_{2} +...+a_{N}x_{N}$\n",
+ "\n",
+ "where each $a_{i}$ is a column vector and $x_{i}$ is a scalar taken from the $i^{th}$\n",
+ "element of x.\n",
+ "\n",
+ "Consider the following problem, 4 masses are connected in series to 4 springs with K=10 N/m. What are the final positions of the masses? \n",
+ "\n",
+ "![Springs-masses](mass_springs.svg)\n",
+ "\n",
+ "The masses haves the following amounts, 1, 2, 3, and 4 kg for masses 1-4. Using a FBD for each mass:\n",
+ "\n",
+ "$m_{1}g+k(x_{2}-x_{1})-kx_{1}=0$\n",
+ "\n",
+ "$m_{2}g+k(x_{3}-x_{2})-k(x_{2}-x_{1})=0$\n",
+ "\n",
+ "$m_{3}g+k(x_{4}-x_{3})-k(x_{3}-x_{2})=0$\n",
+ "\n",
+ "$m_{4}g-k(x_{4}-x_{3})=0$\n",
+ "\n",
+ "in matrix form:\n",
+ "\n",
+ "$\\left[ \\begin{array}{cccc}\n",
+ "2k & -k & 0 & 0 \\\\\n",
+ "-k & 2k & -k & 0 \\\\\n",
+ "0 & -k & 2k & -k \\\\\n",
+ "0 & 0 & -k & k \\end{array} \\right]\n",
+ "\\left[ \\begin{array}{c}\n",
+ "x_{1} \\\\\n",
+ "x_{2} \\\\\n",
+ "x_{3} \\\\\n",
+ "x_{4} \\end{array} \\right]=\n",
+ "\\left[ \\begin{array}{c}\n",
+ "m_{1}g \\\\\n",
+ "m_{2}g \\\\\n",
+ "m_{3}g \\\\\n",
+ "m_{4}g \\end{array} \\right]$"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "K =\n",
+ "\n",
+ " 20 -10 0 0\n",
+ " -10 20 -10 0\n",
+ " 0 -10 20 -10\n",
+ " 0 0 -10 10\n",
+ "\n",
+ "y =\n",
+ "\n",
+ " 9.8100\n",
+ " 19.6200\n",
+ " 29.4300\n",
+ " 39.2400\n",
+ "\n",
+ "x =\n",
+ "\n",
+ " 9.8100\n",
+ " 18.6390\n",
+ " 25.5060\n",
+ " 29.4300\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "k=10; % N/m\n",
+ "m1=1; % kg\n",
+ "m2=2;\n",
+ "m3=3;\n",
+ "m4=4;\n",
+ "g=9.81; % m/s^2\n",
+ "K=[2*k -k 0 0; -k 2*k -k 0; 0 -k 2*k -k; 0 0 -k k]\n",
+ "y=[m1*g;m2*g;m3*g;m4*g]\n",
+ "\n",
+ "x=K\\y"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Matrix Operations\n",
+ "\n",
+ "Identity matrix `eye(M,N)` **Assume M=N unless specfied**\n",
+ "\n",
+ "$I_{ij} =1$ if $i=j$ \n",
+ "\n",
+ "$I_{ij} =0$ if $i\\neq j$ \n",
+ "\n",
+ "AI=A=IA\n",
+ "\n",
+ "Diagonal matrix, D, is similar to the identity matrix, but each diagonal element can be any\n",
+ "number\n",
+ "\n",
+ "$D_{ij} =d_{i}$ if $i=j$ \n",
+ "\n",
+ "$D_{ij} =0$ if $i\\neq j$ "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Transpose\n",
+ "\n",
+ "The transpose of a matrix changes the rows -> columns and columns-> rows\n",
+ "\n",
+ "$(A^{T})_{ij} = A_{ji}$\n",
+ "\n",
+ "for diagonal matrices, $D^{T}=D$\n",
+ "\n",
+ "in general, the transpose has the following qualities:\n",
+ " \n",
+ "1. $(A^{T})^{T}=A$\n",
+ "\n",
+ "2. $(AB)^{T} = B^{T}A^{T}$\n",
+ "\n",
+ "3. $(A+B)^{T} = A^{T} +B^{T}$ \n",
+ "\n",
+ "All matrices have a symmetric and antisymmetric part:\n",
+ "\n",
+ "$A= 1/2(A+A^{T}) +1/2(A-A^{T})$\n",
+ "\n",
+ "If $A=A^{T}$, then A is symmetric, if $A=-A^{T}$, then A is antisymmetric."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "ans =\n",
+ "\n",
+ " 20 38\n",
+ " 28 44\n",
+ " 36 50\n",
+ " 44 56\n",
+ "\n",
+ "ans =\n",
+ "\n",
+ " 20 38\n",
+ " 28 44\n",
+ " 36 50\n",
+ " 44 56\n",
+ "\n",
+ "error: operator *: nonconformant arguments (op1 is 3x2, op2 is 4x3)\n"
+ ]
+ }
+ ],
+ "source": [
+ "(A*B)'\n",
+ "\n",
+ "B'*A' % if this wasnt true, then inner dimensions wouldn;t match\n",
+ "\n",
+ "A'*B' == (A*B)'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Square matrix operations\n",
+ "\n",
+ "### Trace\n",
+ "\n",
+ "The trace of a square matrix is the sum of the diagonal elements\n",
+ "\n",
+ "$tr~A=\\sum_{i=1}^{N}A_{ii}$\n",
+ "\n",
+ "The trace is invariant, meaning that if you change the basis through a rotation, then the\n",
+ "trace remains the same. \n",
+ "\n",
+ "It also has the following properties:\n",
+ "\n",
+ "1. $tr~A=tr~A^{T}$\n",
+ "\n",
+ "2. $tr~A+tr~B=tr(A+B)$\n",
+ "\n",
+ "3. $tr(kA)=k tr~A$\n",
+ "\n",
+ "4. $tr(AB)=tr(BA)$"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "id_m =\n",
+ "\n",
+ "Diagonal Matrix\n",
+ "\n",
+ " 1 0 0\n",
+ " 0 1 0\n",
+ " 0 0 1\n",
+ "\n",
+ "ans = 3\n"
+ ]
+ }
+ ],
+ "source": [
+ "id_m=eye(3)\n",
+ "trace(id_m)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Inverse\n",
+ "\n",
+ "The inverse of a square matrix, $A^{-1}$ is defined such that\n",
+ "\n",
+ "$A^{-1}A=I=AA^{-1}$\n",
+ "\n",
+ "Not all square matrices have an inverse, they can be *singular* or *non-invertible*\n",
+ "\n",
+ "The inverse has the following properties:\n",
+ "\n",
+ "1. $(A^{-1})^{-1}=A$\n",
+ "\n",
+ "2. $(AB)^{-1}=B^{-1}A^{-1}$\n",
+ "\n",
+ "3. $(A^{-1})^{T}=(A^{T})^{-1}$"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "A =\n",
+ "\n",
+ " 0.5762106 0.3533174 0.7172134\n",
+ " 0.7061664 0.4863733 0.9423436\n",
+ " 0.4255961 0.0016613 0.3561407\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "A=rand(3,3)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Ainv =\n",
+ "\n",
+ " 41.5613 -30.1783 -3.8467\n",
+ " 36.2130 -24.2201 -8.8415\n",
+ " -49.8356 36.1767 7.4460\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "Ainv=inv(A)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "B =\n",
+ "\n",
+ " 0.524529 0.470856 0.708116\n",
+ " 0.084491 0.730986 0.528292\n",
+ " 0.303545 0.782522 0.389282\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "B=rand(3,3)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "ans =\n",
+ "\n",
+ " -182.185 125.738 40.598\n",
+ " -133.512 97.116 17.079\n",
+ " 282.422 -200.333 -46.861\n",
+ "\n",
+ "ans =\n",
+ "\n",
+ " -182.185 125.738 40.598\n",
+ " -133.512 97.116 17.079\n",
+ " 282.422 -200.333 -46.861\n",
+ "\n",
+ "ans =\n",
+ "\n",
+ " 41.5613 36.2130 -49.8356\n",
+ " -30.1783 -24.2201 36.1767\n",
+ " -3.8467 -8.8415 7.4460\n",
+ "\n",
+ "ans =\n",
+ "\n",
+ " 41.5613 36.2130 -49.8356\n",
+ " -30.1783 -24.2201 36.1767\n",
+ " -3.8467 -8.8415 7.4460\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "inv(A*B)\n",
+ "inv(B)*inv(A)\n",
+ "\n",
+ "inv(A')\n",
+ "\n",
+ "inv(A)'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Orthogonal Matrices\n",
+ "\n",
+ "Vectors are *orthogonal* if $x^{T}$ y=0, and a vector is *normalized* if $||x||_{2}=1$. A\n",
+ "square matrix is *orthogonal* if all its column vectors are orthogonal to each other and\n",
+ "normalized. The column vectors are then called *orthonormal* and the following results\n",
+ "\n",
+ "$U^{T}U=I=UU^{T}$\n",
+ "\n",
+ "and \n",
+ "\n",
+ "$||Ux||_{2}=||x||_{2}$\n",
+ "\n",
+ "### Determinant\n",
+ "\n",
+ "The **determinant** of a matrix has 3 properties\n",
+ "\n",
+ "1. The determinant of the identity matrix is one, $|I|=1$\n",
+ "\n",
+ "2. If you multiply a single row by scalar $t$ then the determinant is $t|A|$:\n",
+ "\n",
+ "$t|A|=\\left[ \\begin{array}{cccc}\n",
+ "tA_{11} & tA_{12} &...& tA_{1N} \\\\\n",
+ "A_{21} & A_{22} &...& A_{2N} \\\\\n",
+ "\\vdots & \\vdots &\\ddots& \\vdots \\\\\n",
+ "A_{M1} & A_{M2} &...& A_{MN}\\end{array} \\right]$\n",
+ "\n",
+ "3. If you switch 2 rows, the determinant changes sign:\n",
+ "\n",
+ "\n",
+ "$-|A|=\\left[ \\begin{array}{cccc}\n",
+ "A_{21} & A_{22} &...& A_{2N} \\\\\n",
+ "A_{11} & A_{12} &...& A_{1N} \\\\\n",
+ "\\vdots & \\vdots &\\ddots& \\vdots \\\\\n",
+ "A_{M1} & A_{M2} &...& A_{MN}\\end{array} \\right]$\n",
+ "\n",
+ "4. inverse of the determinant is the determinant of the inverse:\n",
+ "\n",
+ "$|A^{-1}|=\\frac{1}{|A|}=|A|^{-1}$\n",
+ "\n",
+ "For a $2\\times2$ matrix, \n",
+ "\n",
+ "$|A|=\\left|\\left[ \\begin{array}{cc}\n",
+ "A_{11} & A_{12} \\\\\n",
+ "A_{21} & A_{22} \\\\\n",
+ "\\end{array} \\right]\\right| = A_{11}A_{22}-A_{21}A_{12}$\n",
+ "\n",
+ "For a $3\\times3$ matrix,\n",
+ "\n",
+ "$|A|=\\left|\\left[ \\begin{array}{ccc}\n",
+ "A_{11} & A_{12} & A_{13} \\\\\n",
+ "A_{21} & A_{22} & A_{23} \\\\\n",
+ "A_{31} & A_{32} & A_{33}\\end{array} \\right]\\right|=$\n",
+ "\n",
+ "$A_{11}A_{22}A_{33}+A_{12}A_{23}A_{31}+A_{13}A_{21}A_{32}\n",
+ "-A_{31}A_{22}A_{13}-A_{32}A_{23}A_{11}-A_{33}A_{21}A_{12}$\n",
+ "\n",
+ "For larger matrices, the determinant is \n",
+ "\n",
+ "$|A|=\n",
+ "\\frac{1}{n!}\n",
+ "\\sum_{i_{r}}^{N}\n",
+ "\\sum_{j_{r}}^{N}\n",
+ "\\epsilon_{i_{1}...i_{N}}\n",
+ "\\epsilon_{j_{1}...j_{N}}\n",
+ "A_{i_{1}j_{1}}\n",
+ "A_{i_{2}j_{2}}\n",
+ "...\n",
+ "A_{i_{N}j_{N}}$\n",
+ "\n",
+ "Where the Levi-Cevita symbol is $\\epsilon_{i_{1}i_{2}...i_{N}} = 1$ if it is an even\n",
+ "permutation and $\\epsilon_{i_{1}i_{2}...i_{N}} = -1$ if it is an odd permutation and\n",
+ "$\\epsilon_{i_{1}i_{2}...i_{N}} = 0$ if $i_{n}=i_{m}$ e.g. $i_{1}=i_{7}$\n",
+ "\n",
+ "![Levi-Cevita rule for even and odd permutations for an $N\\times N$\n",
+ "determinant](even_odd_perm.svg)\n",
+ "\n",
+ "So a $4\\times4$ matrix determinant,\n",
+ "\n",
+ "$|A|=\\left|\\left[ \\begin{array}{cccc}\n",
+ "A_{11} & A_{12} & A_{13} & A_{14} \\\\\n",
+ "A_{21} & A_{22} & A_{23} & A_{24} \\\\\n",
+ "A_{31} & A_{32} & A_{33} & A_{34} \\\\\n",
+ "A_{41} & A_{42} & A_{43} & A_{44} \\end{array} \\right]\\right|$\n",
+ "\n",
+ "$=\\epsilon_{1234}\\epsilon_{1234}A_{11}A_{22}A_{33}A_{44}+\n",
+ "\\epsilon_{2341}\\epsilon_{1234}A_{21}A_{32}A_{43}A_{14}+\n",
+ "\\epsilon_{3412}\\epsilon_{1234}A_{31}A_{42}A_{13}A_{24}+\n",
+ "\\epsilon_{4123}\\epsilon_{1234}A_{41}A_{12}A_{23}A_{34}+...\n",
+ "\\epsilon_{4321}\\epsilon_{4321}A_{44}A_{33}A_{22}A_{11}$\n",
+ "\n",
+ "### Special Case for determinants\n",
+ "\n",
+ "The determinant of a diagonal matrix $|D|=D_{11}D_{22}D_{33}...D_{NN}$. \n",
+ "\n",
+ "Similarly, if a matrix is upper triangular (so all values of $A_{ij}=0$ when $j
+Babel <3.9q> and hyphenation patterns for 81 language(s) loaded.
+! You can't use `macro parameter character #' in vertical mode.
+l.2 #
+ Linear Algebra (Review/Introduction)
+?
+! Interruption.
+
+
+l.2 #
+ Linear Algebra (Review/Introduction)
+? xx
+
+Here is how much of TeX's memory you used:
+ 6 strings out of 493030
+ 147 string characters out of 6136260
+ 53067 words of memory out of 5000000
+ 3641 multiletter control sequences out of 15000+600000
+ 3640 words of font info for 14 fonts, out of 8000000 for 9000
+ 1141 hyphenation exceptions out of 8191
+ 5i,0n,1p,57b,8s stack positions out of 5000i,500n,10000p,200000b,80000s
+No pages of output.
diff --git a/lecture_09/lecture_09.md b/lecture_09/lecture_09.md
new file mode 100644
index 0000000..a1d53d1
--- /dev/null
+++ b/lecture_09/lecture_09.md
@@ -0,0 +1,802 @@
+
+# Linear Algebra (Review/Introduction)
+
+Representation of linear equations:
+
+1. $5x_{1}+3x_{2} =1$
+
+2. $x_{1}+2x_{2}+3x_{3} =2$
+
+3. $x_{1}+x_{2}+x_{3} =3$
+
+in matrix form:
+
+$\left[ \begin{array}{ccc}
+5 & 3 & 0 \\
+1 & 2 & 3 \\
+1 & 1 & 1 \end{array} \right]
+\left[\begin{array}{c}
+x_{1} \\
+x_{2} \\
+x_{3}\end{array}\right]=\left[\begin{array}{c}
+1 \\
+2 \\
+3\end{array}\right]$
+
+$Ax=b$
+
+### Vectors
+
+column vector x (length of 3):
+
+$\left[\begin{array}{c}
+x_{1} \\
+x_{2} \\
+x_{3}\end{array}\right]$
+
+row vector y (length of 3):
+
+$\left[\begin{array}{ccc}
+y_{1}~
+y_{2}~
+y_{3}\end{array}\right]$
+
+vector of length N:
+
+$\left[\begin{array}{c}
+x_{1} \\
+x_{2} \\
+\vdots \\
+x_{N}\end{array}\right]$
+
+The $i^{th}$ element of x is $x_{i}$
+
+
+```octave
+x=[1:10]
+```
+
+ x =
+
+ 1 2 3 4 5 6 7 8 9 10
+
+
+
+
+```octave
+x'
+```
+
+ ans =
+
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+
+
+
+### Matrices
+
+Matrix A is 3x3:
+
+$A=\left[ \begin{array}{ccc}
+5 & 3 & 0 \\
+1 & 2 & 3 \\
+1 & 1 & 1 \end{array} \right]$
+
+elements in the matrix are denoted $A_{row~column}$, $A_{23}=3$
+
+In general, matrix, B, can be any size, $M \times N$ (M-rows and N-columns):
+
+$B=\left[ \begin{array}{cccc}
+B_{11} & B_{12} &...& B_{1N} \\
+B_{21} & B_{22} &...& B_{2N} \\
+\vdots & \vdots &\ddots& \vdots \\
+B_{M1} & B_{M2} &...& B_{MN}\end{array} \right]$
+
+
+```octave
+A=[5,3,0;1,2,3;1,1,1]
+```
+
+ A =
+
+ 5 3 0
+ 1 2 3
+ 1 1 1
+
+
+
+## Multiplication
+
+A column vector is a $1\times N$ matrix and a row vector is a $M\times 1$ matrix
+
+**Multiplying matrices is not commutative**
+
+$A B \neq B A$
+
+Inner dimensions must agree, output is outer dimensions.
+
+A is $M1 \times N1$ and B is $M2 \times N2$
+
+C=AB
+
+Therefore N1=M2 and C is $M1 \times N2$
+
+If $C'=BA$, then N2=M1 and C is $M2 \times N1$
+
+
+e.g.
+$A=\left[ \begin{array}{cc}
+5 & 3 & 0 \\
+1 & 2 & 3 \end{array} \right]$
+
+$B=\left[ \begin{array}{cccc}
+1 & 2 & 3 & 4 \\
+5 & 6 & 7 & 8 \\
+9 & 10 & 11 & 12 \end{array} \right]$
+
+C=AB
+
+$[2\times 4] = [2 \times 3][3 \times 4]$
+
+The rule for multiplying matrices, A and B, is
+
+$C_{ij} = \sum_{k=1}^{n}A_{ik}B_{kj}$
+
+In the previous example,
+
+$C_{11} = A_{11}B_{11}+A_{12}B_{21}+A_{13}B_{31} = 5*1+3*5+0*9=20$
+
+
+Multiplication is associative:
+
+$(AB)C = A(BC)$
+
+and distributive:
+
+$A(B+C)=AB+AC$
+
+
+```octave
+A=[5,3,0;1,2,3]
+B=[1,2,3,4;5,6,7,8;9,10,11,12]
+```
+
+ A =
+
+ 5 3 0
+ 1 2 3
+
+ B =
+
+ 1 2 3 4
+ 5 6 7 8
+ 9 10 11 12
+
+
+
+
+```octave
+C=zeros(2,4)
+C(1,1)=A(1,1)*B(1,1)+A(1,2)*B(2,1)+A(1,3)*B(3,1);
+C(1,2)=A(1,1)*B(1,2)+A(1,2)*B(2,2)+A(1,3)*B(3,2);
+
+C=A*B
+```
+
+ C =
+
+ 0 0 0 0
+ 0 0 0 0
+
+ C =
+
+ 20 28 36 44
+ 38 44 50 56
+
+
+
+
+```octave
+Cp=B*A
+```
+
+ error: operator *: nonconformant arguments (op1 is 3x4, op2 is 2x3)
+
+
+## Representation of a problem with Matrices and Vectors
+
+If you have a set of known output, $y_{1},~y_{2},~...y_{N}$ and a set of equations that
+relate unknown inputs, $x_{1},~x_{2},~...x_{N}$, then these can be written in a vector
+matrix format as:
+
+$y=Ax=\left[\begin{array}{c}
+y_{1} \\
+y_{2} \\
+\vdots \\
+y_{N}\end{array}\right]
+=
+A\left[\begin{array}{c}
+x_{1} \\
+x_{2} \\
+\vdots \\
+x_{N}\end{array}\right]$
+
+$A=
+\left[\begin{array}{cccc}
+| & | & & | \\
+a_{1} & a_{2} & ... & a_{N} \\
+| & | & & | \end{array}\right]$
+
+or
+
+$y = a_{1}x_{1} + a_{2}x_{2} +...+a_{N}x_{N}$
+
+where each $a_{i}$ is a column vector and $x_{i}$ is a scalar taken from the $i^{th}$
+element of x.
+
+Consider the following problem, 4 masses are connected in series to 4 springs with K=10 N/m. What are the final positions of the masses?
+
+![Springs-masses](mass_springs.svg)
+
+The masses haves the following amounts, 1, 2, 3, and 4 kg for masses 1-4. Using a FBD for each mass:
+
+$m_{1}g+k(x_{2}-x_{1})-kx_{1}=0$
+
+$m_{2}g+k(x_{3}-x_{2})-k(x_{2}-x_{1})=0$
+
+$m_{3}g+k(x_{4}-x_{3})-k(x_{3}-x_{2})=0$
+
+$m_{4}g-k(x_{4}-x_{3})=0$
+
+in matrix form:
+
+$\left[ \begin{array}{cccc}
+2k & -k & 0 & 0 \\
+-k & 2k & -k & 0 \\
+0 & -k & 2k & -k \\
+0 & 0 & -k & k \end{array} \right]
+\left[ \begin{array}{c}
+x_{1} \\
+x_{2} \\
+x_{3} \\
+x_{4} \end{array} \right]=
+\left[ \begin{array}{c}
+m_{1}g \\
+m_{2}g \\
+m_{3}g \\
+m_{4}g \end{array} \right]$
+
+
+```octave
+k=10; % N/m
+m1=1; % kg
+m2=2;
+m3=3;
+m4=4;
+g=9.81; % m/s^2
+K=[2*k -k 0 0; -k 2*k -k 0; 0 -k 2*k -k; 0 0 -k k]
+y=[m1*g;m2*g;m3*g;m4*g]
+
+x=K\y
+```
+
+ K =
+
+ 20 -10 0 0
+ -10 20 -10 0
+ 0 -10 20 -10
+ 0 0 -10 10
+
+ y =
+
+ 9.8100
+ 19.6200
+ 29.4300
+ 39.2400
+
+ x =
+
+ 9.8100
+ 18.6390
+ 25.5060
+ 29.4300
+
+
+
+## Matrix Operations
+
+Identity matrix `eye(M,N)` **Assume M=N unless specfied**
+
+$I_{ij} =1$ if $i=j$
+
+$I_{ij} =0$ if $i\neq j$
+
+AI=A=IA
+
+Diagonal matrix, D, is similar to the identity matrix, but each diagonal element can be any
+number
+
+$D_{ij} =d_{i}$ if $i=j$
+
+$D_{ij} =0$ if $i\neq j$
+
+### Transpose
+
+The transpose of a matrix changes the rows -> columns and columns-> rows
+
+$(A^{T})_{ij} = A_{ji}$
+
+for diagonal matrices, $D^{T}=D$
+
+in general, the transpose has the following qualities:
+
+1. $(A^{T})^{T}=A$
+
+2. $(AB)^{T} = B^{T}A^{T}$
+
+3. $(A+B)^{T} = A^{T} +B^{T}$
+
+All matrices have a symmetric and antisymmetric part:
+
+$A= 1/2(A+A^{T}) +1/2(A-A^{T})$
+
+If $A=A^{T}$, then A is symmetric, if $A=-A^{T}$, then A is antisymmetric.
+
+
+```octave
+(A*B)'
+
+B'*A' % if this wasnt true, then inner dimensions wouldn;t match
+
+A'*B' == (A*B)'
+```
+
+ ans =
+
+ 20 38
+ 28 44
+ 36 50
+ 44 56
+
+ ans =
+
+ 20 38
+ 28 44
+ 36 50
+ 44 56
+
+ error: operator *: nonconformant arguments (op1 is 3x2, op2 is 4x3)
+
+
+## Square matrix operations
+
+### Trace
+
+The trace of a square matrix is the sum of the diagonal elements
+
+$tr~A=\sum_{i=1}^{N}A_{ii}$
+
+The trace is invariant, meaning that if you change the basis through a rotation, then the
+trace remains the same.
+
+It also has the following properties:
+
+1. $tr~A=tr~A^{T}$
+
+2. $tr~A+tr~B=tr(A+B)$
+
+3. $tr(kA)=k tr~A$
+
+4. $tr(AB)=tr(BA)$
+
+
+```octave
+id_m=eye(3)
+trace(id_m)
+```
+
+ id_m =
+
+ Diagonal Matrix
+
+ 1 0 0
+ 0 1 0
+ 0 0 1
+
+ ans = 3
+
+
+### Inverse
+
+The inverse of a square matrix, $A^{-1}$ is defined such that
+
+$A^{-1}A=I=AA^{-1}$
+
+Not all square matrices have an inverse, they can be *singular* or *non-invertible*
+
+The inverse has the following properties:
+
+1. $(A^{-1})^{-1}=A$
+
+2. $(AB)^{-1}=B^{-1}A^{-1}$
+
+3. $(A^{-1})^{T}=(A^{T})^{-1}$
+
+
+```octave
+A=rand(3,3)
+```
+
+ A =
+
+ 0.5762106 0.3533174 0.7172134
+ 0.7061664 0.4863733 0.9423436
+ 0.4255961 0.0016613 0.3561407
+
+
+
+
+```octave
+Ainv=inv(A)
+```
+
+ Ainv =
+
+ 41.5613 -30.1783 -3.8467
+ 36.2130 -24.2201 -8.8415
+ -49.8356 36.1767 7.4460
+
+
+
+
+```octave
+B=rand(3,3)
+```
+
+ B =
+
+ 0.524529 0.470856 0.708116
+ 0.084491 0.730986 0.528292
+ 0.303545 0.782522 0.389282
+
+
+
+
+```octave
+inv(A*B)
+inv(B)*inv(A)
+
+inv(A')
+
+inv(A)'
+```
+
+ ans =
+
+ -182.185 125.738 40.598
+ -133.512 97.116 17.079
+ 282.422 -200.333 -46.861
+
+ ans =
+
+ -182.185 125.738 40.598
+ -133.512 97.116 17.079
+ 282.422 -200.333 -46.861
+
+ ans =
+
+ 41.5613 36.2130 -49.8356
+ -30.1783 -24.2201 36.1767
+ -3.8467 -8.8415 7.4460
+
+ ans =
+
+ 41.5613 36.2130 -49.8356
+ -30.1783 -24.2201 36.1767
+ -3.8467 -8.8415 7.4460
+
+
+
+### Orthogonal Matrices
+
+Vectors are *orthogonal* if $x^{T}$ y=0, and a vector is *normalized* if $||x||_{2}=1$. A
+square matrix is *orthogonal* if all its column vectors are orthogonal to each other and
+normalized. The column vectors are then called *orthonormal* and the following results
+
+$U^{T}U=I=UU^{T}$
+
+and
+
+$||Ux||_{2}=||x||_{2}$
+
+### Determinant
+
+The **determinant** of a matrix has 3 properties
+
+1. The determinant of the identity matrix is one, $|I|=1$
+
+2. If you multiply a single row by scalar $t$ then the determinant is $t|A|$:
+
+$t|A|=\left[ \begin{array}{cccc}
+tA_{11} & tA_{12} &...& tA_{1N} \\
+A_{21} & A_{22} &...& A_{2N} \\
+\vdots & \vdots &\ddots& \vdots \\
+A_{M1} & A_{M2} &...& A_{MN}\end{array} \right]$
+
+3. If you switch 2 rows, the determinant changes sign:
+
+
+$-|A|=\left[ \begin{array}{cccc}
+A_{21} & A_{22} &...& A_{2N} \\
+A_{11} & A_{12} &...& A_{1N} \\
+\vdots & \vdots &\ddots& \vdots \\
+A_{M1} & A_{M2} &...& A_{MN}\end{array} \right]$
+
+4. inverse of the determinant is the determinant of the inverse:
+
+$|A^{-1}|=\frac{1}{|A|}=|A|^{-1}$
+
+For a $2\times2$ matrix,
+
+$|A|=\left|\left[ \begin{array}{cc}
+A_{11} & A_{12} \\
+A_{21} & A_{22} \\
+\end{array} \right]\right| = A_{11}A_{22}-A_{21}A_{12}$
+
+For a $3\times3$ matrix,
+
+$|A|=\left|\left[ \begin{array}{ccc}
+A_{11} & A_{12} & A_{13} \\
+A_{21} & A_{22} & A_{23} \\
+A_{31} & A_{32} & A_{33}\end{array} \right]\right|=$
+
+$A_{11}A_{22}A_{33}+A_{12}A_{23}A_{31}+A_{13}A_{21}A_{32}
+-A_{31}A_{22}A_{13}-A_{32}A_{23}A_{11}-A_{33}A_{21}A_{12}$
+
+For larger matrices, the determinant is
+
+$|A|=
+\frac{1}{n!}
+\sum_{i_{r}}^{N}
+\sum_{j_{r}}^{N}
+\epsilon_{i_{1}...i_{N}}
+\epsilon_{j_{1}...j_{N}}
+A_{i_{1}j_{1}}
+A_{i_{2}j_{2}}
+...
+A_{i_{N}j_{N}}$
+
+Where the Levi-Cevita symbol is $\epsilon_{i_{1}i_{2}...i_{N}} = 1$ if it is an even
+permutation and $\epsilon_{i_{1}i_{2}...i_{N}} = -1$ if it is an odd permutation and
+$\epsilon_{i_{1}i_{2}...i_{N}} = 0$ if $i_{n}=i_{m}$ e.g. $i_{1}=i_{7}$
+
+![Levi-Cevita rule for even and odd permutations for an $N\times N$
+determinant](even_odd_perm.svg)
+
+So a $4\times4$ matrix determinant,
+
+$|A|=\left|\left[ \begin{array}{cccc}
+A_{11} & A_{12} & A_{13} & A_{14} \\
+A_{21} & A_{22} & A_{23} & A_{24} \\
+A_{31} & A_{32} & A_{33} & A_{34} \\
+A_{41} & A_{42} & A_{43} & A_{44} \end{array} \right]\right|$
+
+$=\epsilon_{1234}\epsilon_{1234}A_{11}A_{22}A_{33}A_{44}+
+\epsilon_{2341}\epsilon_{1234}A_{21}A_{32}A_{43}A_{14}+
+\epsilon_{3412}\epsilon_{1234}A_{31}A_{42}A_{13}A_{24}+
+\epsilon_{4123}\epsilon_{1234}A_{41}A_{12}A_{23}A_{34}+...
+\epsilon_{4321}\epsilon_{4321}A_{44}A_{33}A_{22}A_{11}$
+
+### Special Case for determinants
+
+The determinant of a diagonal matrix $|D|=D_{11}D_{22}D_{33}...D_{NN}$.
+
+Similarly, if a matrix is upper triangular (so all values of $A_{ij}=0$ when $j
+
+
+
diff --git a/lecture_09/octave-workspace b/lecture_09/octave-workspace
new file mode 100644
index 0000000..f7e8b2b
Binary files /dev/null and b/lecture_09/octave-workspace differ
diff --git a/lecture_10/.ipynb_checkpoints/lecture_10-checkpoint.ipynb b/lecture_10/.ipynb_checkpoints/lecture_10-checkpoint.ipynb
new file mode 100644
index 0000000..2fd6442
--- /dev/null
+++ b/lecture_10/.ipynb_checkpoints/lecture_10-checkpoint.ipynb
@@ -0,0 +1,6 @@
+{
+ "cells": [],
+ "metadata": {},
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/lecture_10/GaussNaive.m b/lecture_10/GaussNaive.m
new file mode 100644
index 0000000..d8c60d3
--- /dev/null
+++ b/lecture_10/GaussNaive.m
@@ -0,0 +1,25 @@
+function [x,Aug] = GaussNaive(A,y)
+% GaussNaive: naive Gauss elimination
+% x = GaussNaive(A,b): Gauss elimination without pivoting.
+% input:
+% A = coefficient matrix
+% y = right hand side vector
+% output:
+% x = solution vector
+[m,n] = size(A);
+if m~=n, error('Matrix A must be square'); end
+nb = n+1;
+Aug = [A y];
+% forward elimination
+for k = 1:n-1
+ for i = k+1:n
+ factor = Aug(i,k)/Aug(k,k);
+ Aug(i,k:nb) = Aug(i,k:nb)-factor*Aug(k,k:nb);
+ end
+end
+% back substitution
+x = zeros(n,1);
+x(n) = Aug(n,nb)/Aug(n,n);
+for i = n-1:-1:1
+ x(i) = (Aug(i,nb)-Aug(i,i+1:n)*x(i+1:n))/Aug(i,i);
+end
diff --git a/lecture_10/GaussPivot.m b/lecture_10/GaussPivot.m
new file mode 100644
index 0000000..20df9e8
--- /dev/null
+++ b/lecture_10/GaussPivot.m
@@ -0,0 +1,33 @@
+function [x,Aug,npivots] = GaussPivot(A,b)
+% GaussPivot: Gauss elimination pivoting
+% x = GaussPivot(A,b): Gauss elimination with pivoting.
+% input:
+% A = coefficient matrix
+% b = right hand side vector
+% output:
+% x = solution vector
+[m,n]=size(A);
+if m~=n, error('Matrix A must be square'); end
+nb=n+1;
+Aug=[A b];
+npivots=0; % initially no pivots used
+% forward elimination
+for k = 1:n-1
+ % partial pivoting
+ [big,i]=max(abs(Aug(k:n,k)));
+ ipr=i+k-1;
+ if ipr~=k
+ npivots=npivots+1; % if the max is not the current index ipr, pivot count
+ Aug([k,ipr],:)=Aug([ipr,k],:);
+ end
+ for i = k+1:n
+ factor=Aug(i,k)/Aug(k,k);
+ Aug(i,k:nb)=Aug(i,k:nb)-factor*Aug(k,k:nb);
+ end
+end
+% back substitution
+x=zeros(n,1);
+x(n)=Aug(n,nb)/Aug(n,n);
+for i = n-1:-1:1
+ x(i)=(Aug(i,nb)-Aug(i,i+1:n)*x(i+1:n))/Aug(i,i);
+end
diff --git a/lecture_10/Tridiag.m b/lecture_10/Tridiag.m
new file mode 100644
index 0000000..ac4ec9b
--- /dev/null
+++ b/lecture_10/Tridiag.m
@@ -0,0 +1,22 @@
+function x = Tridiag(e,f,g,r)
+% Tridiag: Tridiagonal equation solver banded system
+% x = Tridiag(e,f,g,r): Tridiagonal system solver.
+% input:
+% e = subdiagonal vector
+% f = diagonal vector
+% g = superdiagonal vector
+% r = right hand side vector
+% output:
+% x = solution vector
+n=length(f);
+% forward elimination
+for k = 2:n
+ factor = e(k)/f(k-1);
+ f(k) = f(k) - factor*g(k-1);
+ r(k) = r(k) - factor*r(k-1);
+end
+% back substitution
+x(n) = r(n)/f(n);
+for k = n-1:-1:1
+ x(k) = (r(k)-g(k)*x(k+1))/f(k);
+end
diff --git a/lecture_10/lecture_10.aux b/lecture_10/lecture_10.aux
new file mode 100644
index 0000000..d8d4c62
--- /dev/null
+++ b/lecture_10/lecture_10.aux
@@ -0,0 +1,40 @@
+\relax
+\providecommand\hyper@newdestlabel[2]{}
+\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
+\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
+\global\let\oldcontentsline\contentsline
+\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
+\global\let\oldnewlabel\newlabel
+\gdef\newlabel#1#2{\newlabelxx{#1}#2}
+\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
+\AtEndDocument{\ifx\hyper@anchor\@undefined
+\let\contentsline\oldcontentsline
+\let\newlabel\oldnewlabel
+\fi}
+\fi}
+\global\let\hyper@last\relax
+\gdef\HyperFirstAtBeginDocument#1{#1}
+\providecommand\HyField@AuxAddToFields[1]{}
+\providecommand\HyField@AuxAddToCoFields[2]{}
+\providecommand \oddpage@label [2]{}
+\@writefile{toc}{\contentsline {section}{\numberline {1}Gauss Elimination}{1}{section.1}}
+\newlabel{gauss-elimination}{{1}{1}{Gauss Elimination}{section.1}{}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.0.1}Solving sets of equations with matrix operations}{1}{subsubsection.1.0.1}}
+\newlabel{solving-sets-of-equations-with-matrix-operations}{{1.0.1}{1}{Solving sets of equations with matrix operations}{subsubsection.1.0.1}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Gauss elimination}{4}{subsection.1.1}}
+\newlabel{gauss-elimination}{{1.1}{4}{Gauss elimination}{subsection.1.1}{}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.1.1}Solving sets of equations systematically}{4}{subsubsection.1.1.1}}
+\newlabel{solving-sets-of-equations-systematically}{{1.1.1}{4}{Solving sets of equations systematically}{subsubsection.1.1.1}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Springs-masses\relax }}{4}{figure.caption.1}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Automate Gauss Elimination}{6}{subsection.1.2}}
+\newlabel{automate-gauss-elimination}{{1.2}{6}{Automate Gauss Elimination}{subsection.1.2}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {1.3}Problem (Diagonal element is zero)}{7}{subsection.1.3}}
+\newlabel{problem-diagonal-element-is-zero}{{1.3}{7}{Problem (Diagonal element is zero)}{subsection.1.3}{}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.3.1}Spring-Mass System again}{9}{subsubsection.1.3.1}}
+\newlabel{spring-mass-system-again}{{1.3.1}{9}{Spring-Mass System again}{subsubsection.1.3.1}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Springs-masses\relax }}{9}{figure.caption.2}}
+\gdef \LT@i {\LT@entry
+ {2}{61.69104pt}\LT@entry
+ {1}{261.39424pt}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {1.4}Tridiagonal matrix}{10}{subsection.1.4}}
+\newlabel{tridiagonal-matrix}{{1.4}{10}{Tridiagonal matrix}{subsection.1.4}{}}
diff --git a/lecture_10/lecture_10.bbl b/lecture_10/lecture_10.bbl
new file mode 100644
index 0000000..e69de29
diff --git a/lecture_10/lecture_10.blg b/lecture_10/lecture_10.blg
new file mode 100644
index 0000000..36b5e7a
--- /dev/null
+++ b/lecture_10/lecture_10.blg
@@ -0,0 +1,48 @@
+This is BibTeX, Version 0.99d (TeX Live 2015/Debian)
+Capacity: max_strings=35307, hash_size=35307, hash_prime=30011
+The top-level auxiliary file: lecture_10.aux
+I found no \citation commands---while reading file lecture_10.aux
+I found no \bibdata command---while reading file lecture_10.aux
+I found no \bibstyle command---while reading file lecture_10.aux
+You've used 0 entries,
+ 0 wiz_defined-function locations,
+ 83 strings with 494 characters,
+and the built_in function-call counts, 0 in all, are:
+= -- 0
+> -- 0
+< -- 0
++ -- 0
+- -- 0
+* -- 0
+:= -- 0
+add.period$ -- 0
+call.type$ -- 0
+change.case$ -- 0
+chr.to.int$ -- 0
+cite$ -- 0
+duplicate$ -- 0
+empty$ -- 0
+format.name$ -- 0
+if$ -- 0
+int.to.chr$ -- 0
+int.to.str$ -- 0
+missing$ -- 0
+newline$ -- 0
+num.names$ -- 0
+pop$ -- 0
+preamble$ -- 0
+purify$ -- 0
+quote$ -- 0
+skip$ -- 0
+stack$ -- 0
+substring$ -- 0
+swap$ -- 0
+text.length$ -- 0
+text.prefix$ -- 0
+top$ -- 0
+type$ -- 0
+warning$ -- 0
+while$ -- 0
+width$ -- 0
+write$ -- 0
+(There were 3 error messages)
diff --git a/lecture_10/lecture_10.ipynb b/lecture_10/lecture_10.ipynb
new file mode 100644
index 0000000..46d4f00
--- /dev/null
+++ b/lecture_10/lecture_10.ipynb
@@ -0,0 +1,1685 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
+ "%plot --format svg"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
+ "setdefaults"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Gauss Elimination\n",
+ "### Solving sets of equations with matrix operations\n",
+ "\n",
+ "The number of dimensions of a matrix indicate the degrees of freedom of the system you are solving. \n",
+ "\n",
+ "If you have a set of known output, $y_{1},~y_{2},~...y_{N}$ and a set of equations that\n",
+ "relate unknown inputs, $x_{1},~x_{2},~...x_{N}$, then these can be written in a vector\n",
+ "matrix format as:\n",
+ "\n",
+ "$y=Ax$\n",
+ "\n",
+ "Consider a problem with 2 DOF:\n",
+ "\n",
+ "$x_{1}+3x_{2}=1$\n",
+ "\n",
+ "$2x_{1}+x_{2}=1$\n",
+ "\n",
+ "$\\left[ \\begin{array}{cc}\n",
+ "1 & 3 \\\\\n",
+ "2 & 1 \\end{array} \\right]\n",
+ "\\left[\\begin{array}{c} \n",
+ "x_{1} \\\\ \n",
+ "x_{2} \\end{array}\\right]=\n",
+ "\\left[\\begin{array}{c} \n",
+ "1 \\\\\n",
+ "1\\end{array}\\right]$\n",
+ "\n",
+ "The solution for $x_{1}$ and $x_{2}$ is the intersection of two lines:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/svg+xml": [
+ ""
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "x21=[-2:2];\n",
+ "x11=1-3*x21;\n",
+ "x21=[-2:2];\n",
+ "x22=1-2*x21;\n",
+ "plot(x11,x21,x21,x22)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "ans =\n",
+ "\n",
+ " 0.40000\n",
+ " 0.20000\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "A=[1,3;2,1]; y=[1;1];\n",
+ "A\\y % matlab's Ax=y solution for x"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "For a $3\\times3$ matrix, the solution is the intersection of the 3 planes.\n",
+ "\n",
+ "$10x_{1}+2x_{2}+x_{3}=1$\n",
+ "\n",
+ "$2x_{1}+x_{2}+x_{3}=1$\n",
+ "\n",
+ "$x_{1}+2x_{2}+10x_{3}=1$\n",
+ "\n",
+ "$\\left[ \\begin{array}{cc}\n",
+ "10 & 2 & 1\\\\\n",
+ "2 & 1 & 1 \\\\\n",
+ "1 & 2 & 10\\end{array} \\right]\n",
+ "\\left[\\begin{array}{c} \n",
+ "x_{1} \\\\ \n",
+ "x_{2} \\\\\n",
+ "x_{3} \\end{array}\\right]=\n",
+ "\\left[\\begin{array}{c} \n",
+ "1 \\\\\n",
+ "1 \\\\\n",
+ "1\\end{array}\\right]$"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/svg+xml": [
+ ""
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "N=25;\n",
+ "x11=linspace(-2,2,N);\n",
+ "x12=linspace(-2,2,N);\n",
+ "[X11,X12]=meshgrid(x11,x12);\n",
+ "X13=1-10*X11-2*X12;\n",
+ "\n",
+ "x21=linspace(-2,2,N);\n",
+ "x22=linspace(-2,2,N);\n",
+ "[X21,X22]=meshgrid(x21,x22);\n",
+ "X23=1-2*X11-X22;\n",
+ "\n",
+ "x31=linspace(-2,2,N);\n",
+ "x32=linspace(-2,2,N);\n",
+ "[X31,X32]=meshgrid(x31,x32);\n",
+ "X33=1/10*(1-X31-2*X32);\n",
+ "\n",
+ "mesh(X11,X12,X13);\n",
+ "hold on;\n",
+ "mesh(X21,X22,X23)\n",
+ "mesh(X31,X32,X33)\n",
+ "x=[10,2, 1;2,1, 1; 1, 2, 10]\\[1;1;1];\n",
+ "plot3(x(1),x(2),x(3),'o')\n",
+ "xlabel('x1')\n",
+ "ylabel('x2')\n",
+ "zlabel('x3')\n",
+ "view(10,45)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "After 3 DOF problems, the solutions are described as *hyperplane* intersections. Which are even harder to visualize"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Gauss elimination\n",
+ "### Solving sets of equations systematically\n",
+ "\n",
+ "$\\left[ \\begin{array}{ccc|c}\n",
+ " & A & & y \\\\\n",
+ "10 & 2 & 1 & 1\\\\\n",
+ "2 & 1 & 1 & 1 \\\\\n",
+ "1 & 2 & 10 & 1\\end{array} \n",
+ "\\right] $\n",
+ "\n",
+ "Ay(2,:)-Ay(1,:)/5 = ([2 1 1 1]-1/5[10 2 1 1])\n",
+ "\n",
+ "$\\left[ \\begin{array}{ccc|c}\n",
+ " & A & & y \\\\\n",
+ "10 & 2 & 1 & 1\\\\\n",
+ "0 & 3/5 & 4/5 & 4/5 \\\\\n",
+ "1 & 2 & 10 & 1\\end{array} \n",
+ "\\right] $\n",
+ "\n",
+ "Ay(3,:)-Ay(1,:)/10 = ([1 2 10 1]-1/10[10 2 1 1])\n",
+ "\n",
+ "$\\left[ \\begin{array}{ccc|c}\n",
+ " & A & & y \\\\\n",
+ "10 & 2 & 1 & 1\\\\\n",
+ "0 & 3/5 & 4/5 & 4/5 \\\\\n",
+ "0 & 1.8 & 9.9 & 0.9\\end{array} \n",
+ "\\right] $\n",
+ "\n",
+ "Ay(3,:)-1.8\\*5/3\\*Ay(2,:) = ([0 1.8 9.9 0.9]-3\\*[0 3/5 4/5 4/5])\n",
+ "\n",
+ "$\\left[ \\begin{array}{ccc|c}\n",
+ " & A & & y \\\\\n",
+ "10 & 2 & 1 & 1\\\\\n",
+ "0 & 3/5 & 4/5 & 4/5 \\\\\n",
+ "0 & 0 & 7.5 & -1.5\\end{array} \n",
+ "\\right] $\n",
+ "\n",
+ "now, $7.5x_{3}=-1.5$ so $x_{3}=-\\frac{1}{5}$\n",
+ "\n",
+ "then, $3/5x_{2}+4/5(-1/5)=1$ so $x_{2}=\\frac{8}{5}$\n",
+ "\n",
+ "finally, $10x_{1}+2(8/5)+1(-\\frac{1}{5})=1$"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "Consider the problem again from the intro to Linear Algebra, 4 masses are connected in series to 4 springs with K=10 N/m. What are the final positions of the masses? \n",
+ "\n",
+ "![Springs-masses](../lecture_09/mass_springs.svg)\n",
+ "\n",
+ "The masses haves the following amounts, 1, 2, 3, and 4 kg for masses 1-4. Using a FBD for each mass:\n",
+ "\n",
+ "$m_{1}g+k(x_{2}-x_{1})-kx_{1}=0$\n",
+ "\n",
+ "$m_{2}g+k(x_{3}-x_{2})-k(x_{2}-x_{1})=0$\n",
+ "\n",
+ "$m_{3}g+k(x_{4}-x_{3})-k(x_{3}-x_{2})=0$\n",
+ "\n",
+ "$m_{4}g-k(x_{4}-x_{3})=0$\n",
+ "\n",
+ "in matrix form:\n",
+ "\n",
+ "$\\left[ \\begin{array}{cccc}\n",
+ "2k & -k & 0 & 0 \\\\\n",
+ "-k & 2k & -k & 0 \\\\\n",
+ "0 & -k & 2k & -k \\\\\n",
+ "0 & 0 & -k & k \\end{array} \\right]\n",
+ "\\left[ \\begin{array}{c}\n",
+ "x_{1} \\\\\n",
+ "x_{2} \\\\\n",
+ "x_{3} \\\\\n",
+ "x_{4} \\end{array} \\right]=\n",
+ "\\left[ \\begin{array}{c}\n",
+ "m_{1}g \\\\\n",
+ "m_{2}g \\\\\n",
+ "m_{3}g \\\\\n",
+ "m_{4}g \\end{array} \\right]$"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "K =\n",
+ "\n",
+ " 20 -10 0 0\n",
+ " -10 20 -10 0\n",
+ " 0 -10 20 -10\n",
+ " 0 0 -10 10\n",
+ "\n",
+ "y =\n",
+ "\n",
+ " 9.8100\n",
+ " 19.6200\n",
+ " 29.4300\n",
+ " 39.2400\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "k=10; % N/m\n",
+ "m1=1; % kg\n",
+ "m2=2;\n",
+ "m3=3;\n",
+ "m4=4;\n",
+ "g=9.81; % m/s^2\n",
+ "K=[2*k -k 0 0; -k 2*k -k 0; 0 -k 2*k -k; 0 0 -k k]\n",
+ "y=[m1*g;m2*g;m3*g;m4*g]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "K1 =\n",
+ "\n",
+ " 20.00000 -10.00000 0.00000 0.00000 9.81000\n",
+ " 0.00000 15.00000 -10.00000 0.00000 24.52500\n",
+ " 0.00000 -10.00000 20.00000 -10.00000 29.43000\n",
+ " 0.00000 0.00000 -10.00000 10.00000 39.24000\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "K1=[K y];\n",
+ "K1(2,:)=K1(1,:)/2+K1(2,:)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "K2 =\n",
+ "\n",
+ " 20.00000 -10.00000 0.00000 0.00000 9.81000\n",
+ " 0.00000 15.00000 -10.00000 0.00000 24.52500\n",
+ " 0.00000 0.00000 13.33333 -10.00000 45.78000\n",
+ " 0.00000 0.00000 -10.00000 10.00000 39.24000\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "K2=K1;\n",
+ "K2(3,:)=K1(2,:)*2/3+K1(3,:)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "K2 =\n",
+ "\n",
+ " 20.00000 -10.00000 0.00000 0.00000 9.81000\n",
+ " 0.00000 15.00000 -10.00000 0.00000 24.52500\n",
+ " 0.00000 0.00000 13.33333 -10.00000 45.78000\n",
+ " 0.00000 0.00000 0.00000 2.50000 73.57500\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "K2(4,:)=-K2(3,:)*K2(4,3)/K2(3,3)+K2(4,:)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "x4 = 29.430\n",
+ "x3 = 25.506\n",
+ "x2 = 18.639\n",
+ "x1 = 9.8100\n"
+ ]
+ }
+ ],
+ "source": [
+ "yp=K2(:,5);\n",
+ "x4=yp(4)/K2(4,4)\n",
+ "x3=(yp(3)+10*x4)/K2(3,3)\n",
+ "x2=(yp(2)+10*x3)/K2(2,2)\n",
+ "x1=(yp(1)+10*x2)/K2(1,1)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "ans =\n",
+ "\n",
+ " 9.8100\n",
+ " 18.6390\n",
+ " 25.5060\n",
+ " 29.4300\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "K\\y"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Automate Gauss Elimination\n",
+ "\n",
+ "We can automate Gauss elimination with a function whose input is A and y:\n",
+ "\n",
+ "`x=GaussNaive(A,y)`"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "x =\n",
+ "\n",
+ " 9.8100\n",
+ " 18.6390\n",
+ " 25.5060\n",
+ " 29.4300\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "x=GaussNaive(K,y)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Problem (Diagonal element is zero)\n",
+ "\n",
+ "If a diagonal element is 0 or very small either:\n",
+ "\n",
+ "1. no solution found\n",
+ "2. errors are introduced \n",
+ "\n",
+ "Therefore, we would want to pivot before applying Gauss elimination\n",
+ "\n",
+ "Consider:\n",
+ "\n",
+ "(a) $\\left[ \\begin{array}{cccc}\n",
+ "0 & 2 & 3 \\\\\n",
+ "4 & 6 & 7 \\\\\n",
+ "2 & -3 & 6 \\end{array} \\right]\n",
+ "\\left[ \\begin{array}{c}\n",
+ "x_{1} \\\\\n",
+ "x_{2} \\\\\n",
+ "x_{3} \\end{array} \\right]=\n",
+ "\\left[ \\begin{array}{c}\n",
+ "8 \\\\\n",
+ "-3 \\\\\n",
+ "5\\end{array} \\right]$\n",
+ "\n",
+ "(b) $\\left[ \\begin{array}{cccc}\n",
+ "0.0003 & 3.0000 \\\\\n",
+ "1.0000 & 1.0000 \\end{array} \\right]\n",
+ "\\left[ \\begin{array}{c}\n",
+ "x_{1} \\\\\n",
+ "x_{2} \\end{array} \\right]=\n",
+ "\\left[ \\begin{array}{c}\n",
+ "2.0001 \\\\\n",
+ "1.0000 \\end{array} \\right]$"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "warning: division by zero\n",
+ "warning: called from\n",
+ " GaussNaive at line 16 column 12\n",
+ "warning: division by zero\n",
+ "warning: division by zero\n",
+ "ans =\n",
+ "\n",
+ " NaN\n",
+ " NaN\n",
+ " NaN\n",
+ "\n",
+ "ans =\n",
+ "\n",
+ " -5.423913\n",
+ " 0.021739\n",
+ " 2.652174\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "format short\n",
+ "Aa=[0,2,3;4,6,7;2,-3,6]; ya=[8;-3;5];\n",
+ "GaussNaive(Aa,ya)\n",
+ "Aa\\ya"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "x =\n",
+ "\n",
+ " -5.423913\n",
+ " 0.021739\n",
+ " 2.652174\n",
+ "\n",
+ "Aug =\n",
+ "\n",
+ " 4.00000 6.00000 7.00000 -3.00000\n",
+ " 0.00000 -6.00000 2.50000 6.50000\n",
+ " 0.00000 0.00000 3.83333 10.16667\n",
+ "\n",
+ "npivots = 2\n"
+ ]
+ }
+ ],
+ "source": [
+ "[x,Aug,npivots]=GaussPivot(Aa,ya)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 33,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "ans =\n",
+ "\n",
+ " 0.325665420556713\n",
+ " 0.666666666666667\n",
+ "\n",
+ "ans =\n",
+ "\n",
+ " 0.333333333333333\n",
+ " 0.666666666666667\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "format long\n",
+ "Ab=[0.3E-13,3.0000;1.0000,1.0000];yb=[2+0.1e-13;1.0000];\n",
+ "GaussNaive(Ab,yb)\n",
+ "Ab\\yb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 34,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "x =\n",
+ "\n",
+ " 0.333333333333333\n",
+ " 0.666666666666667\n",
+ "\n",
+ "Aug =\n",
+ "\n",
+ " 1.000000000000000 1.000000000000000 1.000000000000000\n",
+ " 0.000000000000000 2.999999999999970 1.999999999999980\n",
+ "\n",
+ "npivots = 1\n",
+ "ans =\n",
+ "\n",
+ " 0.333333333333333\n",
+ " 0.666666666666667\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "[x,Aug,npivots]=GaussPivot(Ab,yb)\n",
+ "Ab\\yb\n",
+ "format short"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 36,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "ans = -3.0000\n",
+ "ans = 3.0000\n"
+ ]
+ }
+ ],
+ "source": [
+ "% determinant is (-1)^(number_of_pivots)*diagonal_elements\n",
+ "det(Ab)\n",
+ "Aug(1,1)*Aug(2,2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Spring-Mass System again\n",
+ "Now, 4 masses are connected in series to 4 springs with $K_{1}$=10 N/m, $K_{2}$=5 N/m, \n",
+ "$K_{3}$=2 N/m \n",
+ "and $K_{4}$=1 N/m. What are the final positions of the masses? \n",
+ "\n",
+ "![Springs-masses](../lecture_09/mass_springs.svg)\n",
+ "\n",
+ "The masses have the following amounts, 1, 2, 3, and 4 kg for masses 1-4. Using a FBD for each mass:\n",
+ "\n",
+ "$m_{1}g+k_{2}(x_{2}-x_{1})-k_{1}x_{1}=0$\n",
+ "\n",
+ "$m_{2}g+k_{3}(x_{3}-x_{2})-k_{2}(x_{2}-x_{1})=0$\n",
+ "\n",
+ "$m_{3}g+k_{4}(x_{4}-x_{3})-k_{3}(x_{3}-x_{2})=0$\n",
+ "\n",
+ "$m_{4}g-k_{4}(x_{4}-x_{3})=0$\n",
+ "\n",
+ "in matrix form:\n",
+ "\n",
+ "$\\left[ \\begin{array}{cccc}\n",
+ "k_1+k_2 & -k_2 & 0 & 0 \\\\\n",
+ "-k_2 & k_2+k_3 & -k_3 & 0 \\\\\n",
+ "0 & -k_3 & k_3+k_4 & -k_4 \\\\\n",
+ "0 & 0 & -k_4 & k_4 \\end{array} \\right]\n",
+ "\\left[ \\begin{array}{c}\n",
+ "x_{1} \\\\\n",
+ "x_{2} \\\\\n",
+ "x_{3} \\\\\n",
+ "x_{4} \\end{array} \\right]=\n",
+ "\\left[ \\begin{array}{c}\n",
+ "m_{1}g \\\\\n",
+ "m_{2}g \\\\\n",
+ "m_{3}g \\\\\n",
+ "m_{4}g \\end{array} \\right]$"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "K =\n",
+ "\n",
+ " 15 -5 0 0\n",
+ " -5 7 -2 0\n",
+ " 0 -2 3 -1\n",
+ " 0 0 -1 1\n",
+ "\n",
+ "y =\n",
+ "\n",
+ " 9.8100\n",
+ " 19.6200\n",
+ " 29.4300\n",
+ " 39.2400\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "k1=10; k2=5;k3=2;k4=1; % N/m\n",
+ "m1=1; % kg\n",
+ "m2=2;\n",
+ "m3=3;\n",
+ "m4=4;\n",
+ "g=9.81; % m/s^2\n",
+ "K=[k1+k2 -k2 0 0; -k2, k2+k3, -k3 0; 0 -k3, k3+k4, -k4; 0 0 -k4 k4]\n",
+ "y=[m1*g;m2*g;m3*g;m4*g]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Tridiagonal matrix\n",
+ "\n",
+ "This matrix, K, could be rewritten as 3 vectors e, f and g\n",
+ "\n",
+ "$e=\\left[ \\begin{array}{c}\n",
+ "0 \\\\\n",
+ "-5 \\\\\n",
+ "-2 \\\\\n",
+ "-1 \\end{array} \\right]$\n",
+ "\n",
+ "$f=\\left[ \\begin{array}{c}\n",
+ "15 \\\\\n",
+ "7 \\\\\n",
+ "3 \\\\\n",
+ "1 \\end{array} \\right]$\n",
+ "\n",
+ "$g=\\left[ \\begin{array}{c}\n",
+ "-5 \\\\\n",
+ "-2 \\\\\n",
+ "-1 \\\\\n",
+ "0 \\end{array} \\right]$\n",
+ "\n",
+ "Where all other components are 0 and the length of the vectors are n and the first component of e and the last component of g are zero\n",
+ "\n",
+ "`e(1)=0` \n",
+ "\n",
+ "`g(end)=0`\n",
+ "\n",
+ "No need to pivot and number of calculations reduced enormously.\n",
+ "\n",
+ "|method |Number of Floating point operations for n$\\times$n-matrix|\n",
+ "|----------------|---------|\n",
+ "| Gauss | n-cubed |\n",
+ "| Tridiagonal | n |"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "ans =\n",
+ "\n",
+ " 9.8100 27.4680 61.8030 101.0430\n",
+ "\n",
+ "ans =\n",
+ "\n",
+ " 9.8100\n",
+ " 27.4680\n",
+ " 61.8030\n",
+ " 101.0430\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "e=[0;-5;-2;-1];\n",
+ "g=[-5;-2;-1;0];\n",
+ "f=[15;7;3;1];\n",
+ "Tridiag(e,f,g,y)\n",
+ "K\\y\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
+ "% tic ... t=toc \n",
+ "% is Matlab timer used for debugging programs\n",
+ "t_GE = zeros(1,100);\n",
+ "t_GE_tridiag = zeros(1,100);\n",
+ "t_TD = zeros(1,100);\n",
+ "%for n = 1:200\n",
+ "for n=1:100\n",
+ " A = rand(n,n);\n",
+ " e = rand(n,1); e(1)=0;\n",
+ " f = rand(n,1);\n",
+ " g = rand(n,1); g(end)=0;\n",
+ " Atd=diag(f, 0) - diag(e(2:n), -1) - diag(g(1:n-1), 1);\n",
+ " b = rand(n,1);\n",
+ " tic;\n",
+ " x = GaussPivot(A,b);\n",
+ " t_GE(n) = toc;\n",
+ " tic;\n",
+ " x = A\\b;\n",
+ " t_GE_tridiag(n) = toc;\n",
+ " tic;\n",
+ " x = Tridiag(e,f,g,b);\n",
+ " t_TD(n) = toc;\n",
+ "end"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/svg+xml": [
+ ""
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "n=1:100;\n",
+ "loglog(n,t_GE,n,t_TD,n,t_GE_tridiag)\n",
+ "legend('Gauss elim','Matlab \\','TriDiag')\n",
+ "xlabel('number of elements')\n",
+ "ylabel('time (s)')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "x =\n",
+ "\n",
+ " 9.8100\n",
+ " 27.4680\n",
+ " 61.8030\n",
+ " 101.0430\n",
+ "\n",
+ "Aug =\n",
+ "\n",
+ " 15.00000 -5.00000 0.00000 0.00000 9.81000\n",
+ " 0.00000 5.33333 -2.00000 0.00000 22.89000\n",
+ " 0.00000 0.00000 2.25000 -1.00000 38.01375\n",
+ " 0.00000 0.00000 0.00000 0.55556 56.13500\n",
+ "\n",
+ "npivots = 0\n"
+ ]
+ }
+ ],
+ "source": [
+ "[x,Aug,npivots]=GaussPivot(K,y)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "A =\n",
+ "\n",
+ " 15.00000 -5.00000 0.00000 0.00000\n",
+ " 0.00000 5.33333 -2.00000 0.00000\n",
+ " 0.00000 0.00000 2.25000 -1.00000\n",
+ " 0.00000 0.00000 0.00000 0.55556\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "A=Aug(1:4,1:4)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "ans = 100.00\n",
+ "detA = 100.00\n"
+ ]
+ }
+ ],
+ "source": [
+ "det(A)\n",
+ "detA=A(1,1)*A(2,2)*A(3,3)*A(4,4)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Octave",
+ "language": "octave",
+ "name": "octave"
+ },
+ "language_info": {
+ "file_extension": ".m",
+ "help_links": [
+ {
+ "text": "MetaKernel Magics",
+ "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md"
+ }
+ ],
+ "mimetype": "text/x-octave",
+ "name": "octave",
+ "version": "0.19.14"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/lecture_10/lecture_10.log b/lecture_10/lecture_10.log
new file mode 100644
index 0000000..9e3113d
--- /dev/null
+++ b/lecture_10/lecture_10.log
@@ -0,0 +1,871 @@
+This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015/Debian) (preloaded format=pdflatex 2017.1.11) 21 FEB 2017 11:46
+entering extended mode
+ restricted \write18 enabled.
+ %&-line parsing enabled.
+**lecture_10.tex
+(./lecture_10.tex
+LaTeX2e <2016/02/01>
+Babel <3.9q> and hyphenation patterns for 81 language(s) loaded.
+(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
+Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
+(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo
+File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option)
+)
+\c@part=\count79
+\c@section=\count80
+\c@subsection=\count81
+\c@subsubsection=\count82
+\c@paragraph=\count83
+\c@subparagraph=\count84
+\c@figure=\count85
+\c@table=\count86
+\abovecaptionskip=\skip41
+\belowcaptionskip=\skip42
+\bibindent=\dimen102
+)
+(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
+Package: fontenc 2005/09/27 v1.99g Standard LaTeX package
+
+(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def
+File: t1enc.def 2005/09/27 v1.99g Standard LaTeX file
+LaTeX Font Info: Redeclaring font encoding T1 on input line 48.
+))
+(/usr/share/texlive/texmf-dist/tex/latex/psnfss/mathpazo.sty
+Package: mathpazo 2005/04/12 PSNFSS-v9.2a Palatino w/ Pazo Math (D.Puga, WaS)
+\symupright=\mathgroup4
+)
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
+Package: graphicx 2014/10/28 v1.0g 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@=\toks14
+)
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
+Package: graphics 2016/01/03 v1.0q 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/latexconfig/graphics.cfg
+File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live
+)
+Package graphics Info: Driver file: pdftex.def on input line 95.
+
+(/usr/share/texlive/texmf-dist/tex/latex/pdftex-def/pdftex.def
+File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX
+
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty
+Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO)
+)
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
+Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO)
+)
+\Gread@gobject=\count87
+))
+\Gin@req@height=\dimen103
+\Gin@req@width=\dimen104
+)
+(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty
+Package: caption 2016/02/21 v3.3-144 Customizing captions (AR)
+
+(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty
+Package: caption3 2016/02/04 v1.7-139 caption3 kernel (AR)
+Package caption3 Info: TeX engine: e-TeX on input line 67.
+\captionmargin=\dimen105
+\captionmargin@=\dimen106
+\captionwidth=\dimen107
+\caption@tempdima=\dimen108
+\caption@indent=\dimen109
+\caption@parindent=\dimen110
+\caption@hangindent=\dimen111
+)
+\c@ContinuedFloat=\count88
+)
+(/usr/share/texlive/texmf-dist/tex/latex/adjustbox/adjustbox.sty
+Package: adjustbox 2012/05/21 v1.0 Adjusting TeX boxes (trim, clip, ...)
+
+(/usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty
+Package: xkeyval 2014/12/03 v2.7a package option processing (HA)
+
+(/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkeyval.tex
+(/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkvutils.tex
+\XKV@toks=\toks15
+\XKV@tempa@toks=\toks16
+)
+\XKV@depth=\count89
+File: xkeyval.tex 2014/12/03 v2.7a key=value parser (HA)
+))
+(/usr/share/texlive/texmf-dist/tex/latex/adjustbox/adjcalc.sty
+Package: adjcalc 2012/05/16 v1.1 Provides advanced setlength with multiple back
+-ends (calc, etex, pgfmath)
+)
+(/usr/share/texlive/texmf-dist/tex/latex/adjustbox/trimclip.sty
+Package: trimclip 2012/05/16 v1.0 Trim and clip general TeX material
+
+(/usr/share/texlive/texmf-dist/tex/latex/collectbox/collectbox.sty
+Package: collectbox 2012/05/17 v0.4b Collect macro arguments as boxes
+\collectedbox=\box26
+)
+\tc@llx=\dimen112
+\tc@lly=\dimen113
+\tc@urx=\dimen114
+\tc@ury=\dimen115
+Package trimclip Info: Using driver 'tc-pdftex.def'.
+
+(/usr/share/texlive/texmf-dist/tex/latex/adjustbox/tc-pdftex.def
+File: tc-pdftex.def 2012/05/13 v1.0 Clipping driver for pdftex
+))
+\adjbox@Width=\dimen116
+\adjbox@Height=\dimen117
+\adjbox@Depth=\dimen118
+\adjbox@Totalheight=\dimen119
+
+(/usr/share/texlive/texmf-dist/tex/latex/ifoddpage/ifoddpage.sty
+Package: ifoddpage 2011/09/13 v1.0 Conditionals for odd/even page detection
+\c@checkoddpage=\count90
+)
+(/usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty
+Package: varwidth 2009/03/30 ver 0.92; Variable-width minipages
+\@vwid@box=\box27
+\sift@deathcycles=\count91
+\@vwid@loff=\dimen120
+\@vwid@roff=\dimen121
+))
+(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
+Package: xcolor 2007/01/21 v2.11 LaTeX color extensions (UK)
+
+(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/color.cfg
+File: color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive
+)
+Package xcolor Info: Driver file: pdftex.def on input line 225.
+Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1337.
+Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1341.
+Package xcolor Info: Model `RGB' extended on input line 1353.
+Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1355.
+Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1356.
+Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1357.
+Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1358.
+Package xcolor Info: Model `Gray' substituted by `gray' on input line 1359.
+Package xcolor Info: Model `wave' substituted by `hsb' on input line 1360.
+)
+(/usr/share/texlive/texmf-dist/tex/latex/tools/enumerate.sty
+Package: enumerate 2015/07/23 v3.00 enumerate extensions (DPC)
+\@enLab=\toks17
+)
+(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
+Package: geometry 2010/09/12 v5.6 Page Geometry
+
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty
+Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO)
+Package ifpdf Info: pdfTeX in PDF mode is detected.
+)
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty
+Package: ifvtex 2010/03/01 v1.5 Detect VTeX and its facilities (HO)
+Package ifvtex Info: VTeX not detected.
+)
+(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty
+Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional
+)
+\Gm@cnth=\count92
+\Gm@cntv=\count93
+\c@Gm@tempcnt=\count94
+\Gm@bindingoffset=\dimen122
+\Gm@wd@mp=\dimen123
+\Gm@odd@mp=\dimen124
+\Gm@even@mp=\dimen125
+\Gm@layoutwidth=\dimen126
+\Gm@layoutheight=\dimen127
+\Gm@layouthoffset=\dimen128
+\Gm@layoutvoffset=\dimen129
+\Gm@dimlist=\toks18
+)
+(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
+Package: amsmath 2016/03/03 v2.15a AMS math features
+\@mathmargin=\skip43
+
+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=\toks19
+\ex@=\dimen130
+))
+(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
+Package: amsbsy 1999/11/29 v1.2d Bold Symbols
+\pmbraise@=\dimen131
+)
+(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
+Package: amsopn 1999/12/14 v2.01 operator names
+)
+\inf@bad=\count95
+LaTeX Info: Redefining \frac on input line 199.
+\uproot@=\count96
+\leftroot@=\count97
+LaTeX Info: Redefining \overline on input line 297.
+\classnum@=\count98
+\DOTSCASE@=\count99
+LaTeX Info: Redefining \ldots on input line 394.
+LaTeX Info: Redefining \dots on input line 397.
+LaTeX Info: Redefining \cdots on input line 518.
+\Mathstrutbox@=\box28
+\strutbox@=\box29
+\big@size=\dimen132
+LaTeX Font Info: Redeclaring font encoding OML on input line 630.
+LaTeX Font Info: Redeclaring font encoding OMS on input line 631.
+\macc@depth=\count100
+\c@MaxMatrixCols=\count101
+\dotsspace@=\muskip10
+\c@parentequation=\count102
+\dspbrk@lvl=\count103
+\tag@help=\toks20
+\row@=\count104
+\column@=\count105
+\maxfields@=\count106
+\andhelp@=\toks21
+\eqnshift@=\dimen133
+\alignsep@=\dimen134
+\tagshift@=\dimen135
+\tagwidth@=\dimen136
+\totwidth@=\dimen137
+\lineht@=\dimen138
+\@envbody=\toks22
+\multlinegap=\skip44
+\multlinetaggap=\skip45
+\mathdisplay@stack=\toks23
+LaTeX Info: Redefining \[ on input line 2735.
+LaTeX Info: Redefining \] on input line 2736.
+)
+(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty
+Package: amssymb 2013/01/14 v3.01 AMS font symbols
+
+(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty
+Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support
+\symAMSa=\mathgroup5
+\symAMSb=\mathgroup6
+LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold'
+(Font) U/euf/m/n --> U/euf/b/n on input line 106.
+))
+(/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
+Package: textcomp 2005/09/27 v1.99g Standard LaTeX package
+Package textcomp Info: Sub-encoding information:
+(textcomp) 5 = only ISO-Adobe without \textcurrency
+(textcomp) 4 = 5 + \texteuro
+(textcomp) 3 = 4 + \textohm
+(textcomp) 2 = 3 + \textestimated + \textcurrency
+(textcomp) 1 = TS1 - \textcircled - \t
+(textcomp) 0 = TS1 (full)
+(textcomp) Font families with sub-encoding setting implement
+(textcomp) only a restricted character set as indicated.
+(textcomp) Family '?' is the default used for unknown fonts.
+(textcomp) See the documentation for details.
+Package textcomp Info: Setting ? sub-encoding to TS1/1 on input line 79.
+
+(/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.def
+File: ts1enc.def 2001/06/05 v3.0e (jk/car/fm) Standard LaTeX file
+)
+LaTeX Info: Redefining \oldstylenums on input line 334.
+Package textcomp Info: Setting cmr sub-encoding to TS1/0 on input line 349.
+Package textcomp Info: Setting cmss sub-encoding to TS1/0 on input line 350.
+Package textcomp Info: Setting cmtt sub-encoding to TS1/0 on input line 351.
+Package textcomp Info: Setting cmvtt sub-encoding to TS1/0 on input line 352.
+Package textcomp Info: Setting cmbr sub-encoding to TS1/0 on input line 353.
+Package textcomp Info: Setting cmtl sub-encoding to TS1/0 on input line 354.
+Package textcomp Info: Setting ccr sub-encoding to TS1/0 on input line 355.
+Package textcomp Info: Setting ptm sub-encoding to TS1/4 on input line 356.
+Package textcomp Info: Setting pcr sub-encoding to TS1/4 on input line 357.
+Package textcomp Info: Setting phv sub-encoding to TS1/4 on input line 358.
+Package textcomp Info: Setting ppl sub-encoding to TS1/3 on input line 359.
+Package textcomp Info: Setting pag sub-encoding to TS1/4 on input line 360.
+Package textcomp Info: Setting pbk sub-encoding to TS1/4 on input line 361.
+Package textcomp Info: Setting pnc sub-encoding to TS1/4 on input line 362.
+Package textcomp Info: Setting pzc sub-encoding to TS1/4 on input line 363.
+Package textcomp Info: Setting bch sub-encoding to TS1/4 on input line 364.
+Package textcomp Info: Setting put sub-encoding to TS1/5 on input line 365.
+Package textcomp Info: Setting uag sub-encoding to TS1/5 on input line 366.
+Package textcomp Info: Setting ugq sub-encoding to TS1/5 on input line 367.
+Package textcomp Info: Setting ul8 sub-encoding to TS1/4 on input line 368.
+Package textcomp Info: Setting ul9 sub-encoding to TS1/4 on input line 369.
+Package textcomp Info: Setting augie sub-encoding to TS1/5 on input line 370.
+Package textcomp Info: Setting dayrom sub-encoding to TS1/3 on input line 371.
+Package textcomp Info: Setting dayroms sub-encoding to TS1/3 on input line 372.
+
+Package textcomp Info: Setting pxr sub-encoding to TS1/0 on input line 373.
+Package textcomp Info: Setting pxss sub-encoding to TS1/0 on input line 374.
+Package textcomp Info: Setting pxtt sub-encoding to TS1/0 on input line 375.
+Package textcomp Info: Setting txr sub-encoding to TS1/0 on input line 376.
+Package textcomp Info: Setting txss sub-encoding to TS1/0 on input line 377.
+Package textcomp Info: Setting txtt sub-encoding to TS1/0 on input line 378.
+Package textcomp Info: Setting lmr sub-encoding to TS1/0 on input line 379.
+Package textcomp Info: Setting lmdh sub-encoding to TS1/0 on input line 380.
+Package textcomp Info: Setting lmss sub-encoding to TS1/0 on input line 381.
+Package textcomp Info: Setting lmssq sub-encoding to TS1/0 on input line 382.
+Package textcomp Info: Setting lmvtt sub-encoding to TS1/0 on input line 383.
+Package textcomp Info: Setting lmtt sub-encoding to TS1/0 on input line 384.
+Package textcomp Info: Setting qhv sub-encoding to TS1/0 on input line 385.
+Package textcomp Info: Setting qag sub-encoding to TS1/0 on input line 386.
+Package textcomp Info: Setting qbk sub-encoding to TS1/0 on input line 387.
+Package textcomp Info: Setting qcr sub-encoding to TS1/0 on input line 388.
+Package textcomp Info: Setting qcs sub-encoding to TS1/0 on input line 389.
+Package textcomp Info: Setting qpl sub-encoding to TS1/0 on input line 390.
+Package textcomp Info: Setting qtm sub-encoding to TS1/0 on input line 391.
+Package textcomp Info: Setting qzc sub-encoding to TS1/0 on input line 392.
+Package textcomp Info: Setting qhvc sub-encoding to TS1/0 on input line 393.
+Package textcomp Info: Setting futs sub-encoding to TS1/4 on input line 394.
+Package textcomp Info: Setting futx sub-encoding to TS1/4 on input line 395.
+Package textcomp Info: Setting futj sub-encoding to TS1/4 on input line 396.
+Package textcomp Info: Setting hlh sub-encoding to TS1/3 on input line 397.
+Package textcomp Info: Setting hls sub-encoding to TS1/3 on input line 398.
+Package textcomp Info: Setting hlst sub-encoding to TS1/3 on input line 399.
+Package textcomp Info: Setting hlct sub-encoding to TS1/5 on input line 400.
+Package textcomp Info: Setting hlx sub-encoding to TS1/5 on input line 401.
+Package textcomp Info: Setting hlce sub-encoding to TS1/5 on input line 402.
+Package textcomp Info: Setting hlcn sub-encoding to TS1/5 on input line 403.
+Package textcomp Info: Setting hlcw sub-encoding to TS1/5 on input line 404.
+Package textcomp Info: Setting hlcf sub-encoding to TS1/5 on input line 405.
+Package textcomp Info: Setting pplx sub-encoding to TS1/3 on input line 406.
+Package textcomp Info: Setting pplj sub-encoding to TS1/3 on input line 407.
+Package textcomp Info: Setting ptmx sub-encoding to TS1/4 on input line 408.
+Package textcomp Info: Setting ptmj sub-encoding to TS1/4 on input line 409.
+)
+(/usr/share/texlive/texmf-dist/tex/latex/upquote/upquote.sty
+Package: upquote 2012/04/19 v1.3 upright-quote and grave-accent glyphs in verba
+tim
+)
+(/usr/share/texlive/texmf-dist/tex/latex/eurosym/eurosym.sty
+Package: eurosym 1998/08/06 v1.1 European currency symbol ``Euro''
+\@eurobox=\box30
+)
+(/usr/share/texlive/texmf-dist/tex/latex/ucs/ucs.sty
+Package: ucs 2013/05/11 v2.2 UCS: Unicode input support
+
+(/usr/share/texlive/texmf-dist/tex/latex/ucs/data/uni-global.def
+File: uni-global.def 2013/05/13 UCS: Unicode global data
+)
+\uc@secondtry=\count107
+\uc@combtoks=\toks24
+\uc@combtoksb=\toks25
+\uc@temptokena=\toks26
+)
+(/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
+Package: inputenc 2015/03/17 v1.2c Input encoding file
+\inpenc@prehook=\toks27
+\inpenc@posthook=\toks28
+
+(/usr/share/texlive/texmf-dist/tex/latex/ucs/utf8x.def
+File: utf8x.def 2004/10/17 UCS: Input encoding UTF-8
+))
+(/usr/share/texlive/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty
+Package: fancyvrb 2008/02/07
+
+Style option: `fancyvrb' v2.7a, with DG/SPQR fixes, and firstline=lastline fix
+<2008/02/07> (tvz)
+\FV@CodeLineNo=\count108
+\FV@InFile=\read1
+\FV@TabBox=\box31
+\c@FancyVerbLine=\count109
+\FV@StepNumber=\count110
+\FV@OutFile=\write3
+)
+(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grffile.sty
+Package: grffile 2012/04/05 v1.16 Extended file name support for graphics (HO)
+
+(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty
+Package: kvoptions 2011/06/30 v3.11 Key value format for package options (HO)
+
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
+Package: kvsetkeys 2012/04/25 v1.16 Key value parser (HO)
+
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty
+Package: etexcmds 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO)
+
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty
+Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO)
+Package ifluatex Info: LuaTeX not detected.
+)
+Package etexcmds Info: Could not find \expanded.
+(etexcmds) That can mean that you are not using pdfTeX 1.50 or
+(etexcmds) that some package has redefined \expanded.
+(etexcmds) In the latter case, load this package earlier.
+)))
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty
+Package: pdftexcmds 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO
+)
+Package pdftexcmds Info: LuaTeX not detected.
+Package pdftexcmds Info: \pdf@primitive is available.
+Package pdftexcmds Info: \pdf@ifprimitive is available.
+Package pdftexcmds Info: \pdfdraftmode found.
+)
+Package grffile Info: Option `multidot' is set to `true'.
+Package grffile Info: Option `extendedchars' is set to `false'.
+Package grffile Info: Option `space' is set to `true'.
+Package grffile Info: \Gin@ii of package `graphicx' fixed on input line 486.
+)
+(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
+Package: hyperref 2012/11/06 v6.83m Hypertext links for LaTeX
+
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty
+Package: hobsub-hyperref 2012/05/28 v1.13 Bundle oberdiek, subset hyperref (HO)
+
+
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty
+Package: hobsub-generic 2012/05/28 v1.13 Bundle oberdiek, subset generic (HO)
+Package: hobsub 2012/05/28 v1.13 Construct package bundles (HO)
+Package hobsub Info: Skipping package `infwarerr' (already loaded).
+Package hobsub Info: Skipping package `ltxcmds' (already loaded).
+Package hobsub Info: Skipping package `ifluatex' (already loaded).
+Package hobsub Info: Skipping package `ifvtex' (already loaded).
+Package: intcalc 2007/09/27 v1.1 Expandable calculations with integers (HO)
+Package hobsub Info: Skipping package `ifpdf' (already loaded).
+Package hobsub Info: Skipping package `etexcmds' (already loaded).
+Package hobsub Info: Skipping package `kvsetkeys' (already loaded).
+Package: kvdefinekeys 2011/04/07 v1.3 Define keys (HO)
+Package hobsub Info: Skipping package `pdftexcmds' (already loaded).
+Package: pdfescape 2011/11/25 v1.13 Implements pdfTeX's escape features (HO)
+Package: bigintcalc 2012/04/08 v1.3 Expandable calculations on big integers (HO
+)
+Package: bitset 2011/01/30 v1.1 Handle bit-vector datatype (HO)
+Package: uniquecounter 2011/01/30 v1.2 Provide unlimited unique counter (HO)
+)
+Package hobsub Info: Skipping package `hobsub' (already loaded).
+Package: letltxmacro 2010/09/02 v1.4 Let assignment for LaTeX macros (HO)
+Package: hopatch 2012/05/28 v1.2 Wrapper for package hooks (HO)
+Package: xcolor-patch 2011/01/30 xcolor patch
+Package: atveryend 2011/06/30 v1.8 Hooks at the very end of document (HO)
+Package atveryend Info: \enddocument detected (standard20110627).
+Package: atbegshi 2011/10/05 v1.16 At begin shipout hook (HO)
+Package: refcount 2011/10/16 v3.4 Data extraction from label references (HO)
+Package: hycolor 2011/01/30 v1.7 Color options for hyperref/bookmark (HO)
+)
+(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty
+Package: auxhook 2011/03/04 v1.3 Hooks for auxiliary files (HO)
+)
+\@linkdim=\dimen139
+\Hy@linkcounter=\count111
+\Hy@pagecounter=\count112
+
+(/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
+File: pd1enc.def 2012/11/06 v6.83m Hyperref: PDFDocEncoding definition (HO)
+)
+\Hy@SavedSpaceFactor=\count113
+
+(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg
+File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive
+)
+Package hyperref Info: Hyper figures OFF on input line 4443.
+Package hyperref Info: Link nesting OFF on input line 4448.
+Package hyperref Info: Hyper index ON on input line 4451.
+Package hyperref Info: Plain pages OFF on input line 4458.
+Package hyperref Info: Backreferencing OFF on input line 4463.
+Package hyperref Info: Implicit mode ON; LaTeX internals redefined.
+Package hyperref Info: Bookmarks ON on input line 4688.
+\c@Hy@tempcnt=\count114
+
+(/usr/share/texlive/texmf-dist/tex/latex/url/url.sty
+\Urlmuskip=\muskip11
+Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc.
+)
+LaTeX Info: Redefining \url on input line 5041.
+\XeTeXLinkMargin=\dimen140
+\Fld@menulength=\count115
+\Field@Width=\dimen141
+\Fld@charsize=\dimen142
+Package hyperref Info: Hyper figures OFF on input line 6295.
+Package hyperref Info: Link nesting OFF on input line 6300.
+Package hyperref Info: Hyper index ON on input line 6303.
+Package hyperref Info: backreferencing OFF on input line 6310.
+Package hyperref Info: Link coloring OFF on input line 6315.
+Package hyperref Info: Link coloring with OCG OFF on input line 6320.
+Package hyperref Info: PDF/A mode OFF on input line 6325.
+LaTeX Info: Redefining \ref on input line 6365.
+LaTeX Info: Redefining \pageref on input line 6369.
+\Hy@abspage=\count116
+\c@Item=\count117
+\c@Hfootnote=\count118
+)
+
+Package hyperref Message: Driver (autodetected): hpdftex.
+
+(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def
+File: hpdftex.def 2012/11/06 v6.83m Hyperref driver for pdfTeX
+\Fld@listcount=\count119
+\c@bookmark@seq@number=\count120
+
+(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty
+Package: rerunfilecheck 2011/04/15 v1.7 Rerun checks for auxiliary files (HO)
+Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2
+82.
+)
+\Hy@SectionHShift=\skip46
+)
+(/usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty
+Package: longtable 2014/10/28 v4.11 Multi-page Table package (DPC)
+\LTleft=\skip47
+\LTright=\skip48
+\LTpre=\skip49
+\LTpost=\skip50
+\LTchunksize=\count121
+\LTcapwidth=\dimen143
+\LT@head=\box32
+\LT@firsthead=\box33
+\LT@foot=\box34
+\LT@lastfoot=\box35
+\LT@cols=\count122
+\LT@rows=\count123
+\c@LT@tables=\count124
+\c@LT@chunks=\count125
+\LT@p@ftn=\toks29
+)
+(/usr/share/texlive/texmf-dist/tex/latex/booktabs/booktabs.sty
+Package: booktabs 2005/04/14 v1.61803 publication quality tables
+\heavyrulewidth=\dimen144
+\lightrulewidth=\dimen145
+\cmidrulewidth=\dimen146
+\belowrulesep=\dimen147
+\belowbottomsep=\dimen148
+\aboverulesep=\dimen149
+\abovetopsep=\dimen150
+\cmidrulesep=\dimen151
+\cmidrulekern=\dimen152
+\defaultaddspace=\dimen153
+\@cmidla=\count126
+\@cmidlb=\count127
+\@aboverulesep=\dimen154
+\@belowrulesep=\dimen155
+\@thisruleclass=\count128
+\@lastruleclass=\count129
+\@thisrulewidth=\dimen156
+)
+(/usr/share/texlive/texmf-dist/tex/latex/enumitem/enumitem.sty
+Package: enumitem 2011/09/28 v3.5.2 Customized lists
+\labelindent=\skip51
+\enit@outerparindent=\dimen157
+\enit@toks=\toks30
+\enit@inbox=\box36
+\enitdp@description=\count130
+)
+(/usr/share/texlive/texmf-dist/tex/generic/ulem/ulem.sty
+\UL@box=\box37
+\UL@hyphenbox=\box38
+\UL@skip=\skip52
+\UL@hook=\toks31
+\UL@height=\dimen158
+\UL@pe=\count131
+\UL@pixel=\dimen159
+\ULC@box=\box39
+Package: ulem 2012/05/18
+\ULdepth=\dimen160
+)
+Package hyperref Info: Option `breaklinks' set `true' on input line 264.
+Package hyperref Info: Option `colorlinks' set `true' on input line 264.
+ (./lecture_10.aux
+
+LaTeX Warning: Label `gauss-elimination' multiply defined.
+
+)
+\openout1 = `lecture_10.aux'.
+
+LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 271.
+LaTeX Font Info: ... okay on input line 271.
+LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 271.
+LaTeX Font Info: ... okay on input line 271.
+LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 271.
+LaTeX Font Info: ... okay on input line 271.
+LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 271.
+LaTeX Font Info: ... okay on input line 271.
+LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 271.
+LaTeX Font Info: ... okay on input line 271.
+LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 271.
+LaTeX Font Info: ... okay on input line 271.
+LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 271.
+LaTeX Font Info: Try loading font information for TS1+cmr on input line 271.
+
+ (/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd
+File: ts1cmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions
+)
+LaTeX Font Info: ... okay on input line 271.
+LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 271.
+LaTeX Font Info: ... okay on input line 271.
+LaTeX Font Info: Try loading font information for T1+ppl on input line 271.
+
+(/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1ppl.fd
+File: t1ppl.fd 2001/06/04 font definitions for T1/ppl.
+)
+(/usr/share/texlive/texmf-dist/tex/context/base/supp-pdf.mkii
+[Loading MPS to PDF converter (version 2006.09.02).]
+\scratchcounter=\count132
+\scratchdimen=\dimen161
+\scratchbox=\box40
+\nofMPsegments=\count133
+\nofMParguments=\count134
+\everyMPshowfont=\toks32
+\MPscratchCnt=\count135
+\MPscratchDim=\dimen162
+\MPnumerator=\count136
+\makeMPintoPDFobject=\count137
+\everyMPtoPDFconversion=\toks33
+) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
+Package: epstopdf-base 2010/02/09 v2.5 Base part for package epstopdf
+
+(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty
+Package: grfext 2010/08/19 v1.1 Manage graphics extensions (HO)
+)
+Package grfext Info: Graphics extension search list:
+(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE
+G,.JBIG2,.JB2,.eps]
+(grfext) \AppendGraphicsExtensions on input line 452.
+
+(/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 Liv
+e
+))
+Package caption Info: Begin \AtBeginDocument code.
+Package caption Info: hyperref package is loaded.
+Package caption Info: longtable package is loaded.
+
+(/usr/share/texlive/texmf-dist/tex/latex/caption/ltcaption.sty
+Package: ltcaption 2013/06/09 v1.4-94 longtable captions (AR)
+)
+Package caption Info: End \AtBeginDocument code.
+
+*geometry* driver: auto-detecting
+*geometry* detected driver: pdftex
+*geometry* verbose mode - [ preamble ] result:
+* driver: pdftex
+* paper:
+* layout:
+* layoutoffset:(h,v)=(0.0pt,0.0pt)
+* modes:
+* h-part:(L,W,R)=(72.26999pt, 469.75502pt, 72.26999pt)
+* v-part:(T,H,B)=(72.26999pt, 650.43001pt, 72.26999pt)
+* \paperwidth=614.295pt
+* \paperheight=794.96999pt
+* \textwidth=469.75502pt
+* \textheight=650.43001pt
+* \oddsidemargin=0.0pt
+* \evensidemargin=0.0pt
+* \topmargin=-37.0pt
+* \headheight=12.0pt
+* \headsep=25.0pt
+* \topskip=11.0pt
+* \footskip=30.0pt
+* \marginparwidth=59.0pt
+* \marginparsep=10.0pt
+* \columnsep=10.0pt
+* \skip\footins=10.0pt plus 4.0pt minus 2.0pt
+* \hoffset=0.0pt
+* \voffset=0.0pt
+* \mag=1000
+* \@twocolumnfalse
+* \@twosidefalse
+* \@mparswitchfalse
+* \@reversemarginfalse
+* (1in=72.27pt=25.4mm, 1cm=28.453pt)
+
+(/usr/share/texlive/texmf-dist/tex/latex/ucs/ucsencs.def
+File: ucsencs.def 2011/01/21 Fixes to fontencodings LGR, T3
+)
+\AtBeginShipoutBox=\box41
+Package hyperref Info: Link coloring ON on input line 271.
+
+(/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
+Package: nameref 2012/10/27 v2.43 Cross-referencing by name of section
+
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty
+Package: gettitlestring 2010/12/03 v1.4 Cleanup title references (HO)
+)
+\c@section@level=\count138
+)
+LaTeX Info: Redefining \ref on input line 271.
+LaTeX Info: Redefining \pageref on input line 271.
+LaTeX Info: Redefining \nameref on input line 271.
+
+(./lecture_10.out) (./lecture_10.out)
+\@outlinefile=\write4
+\openout4 = `lecture_10.out'.
+
+LaTeX Font Info: Try loading font information for OT1+ppl on input line 275.
+
+
+(/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1ppl.fd
+File: ot1ppl.fd 2001/06/04 font definitions for OT1/ppl.
+)
+LaTeX Font Info: Try loading font information for OML+zplm on input line 275
+.
+
+(/usr/share/texlive/texmf-dist/tex/latex/psnfss/omlzplm.fd
+File: omlzplm.fd 2002/09/08 Fontinst v1.914 font definitions for OML/zplm.
+)
+LaTeX Font Info: Try loading font information for OMS+zplm on input line 275
+.
+
+(/usr/share/texlive/texmf-dist/tex/latex/psnfss/omszplm.fd
+File: omszplm.fd 2002/09/08 Fontinst v1.914 font definitions for OMS/zplm.
+)
+LaTeX Font Info: Try loading font information for OMX+zplm on input line 275
+.
+
+(/usr/share/texlive/texmf-dist/tex/latex/psnfss/omxzplm.fd
+File: omxzplm.fd 2002/09/08 Fontinst v1.914 font definitions for OMX/zplm.
+)
+LaTeX Font Info: Try loading font information for OT1+zplm on input line 275
+.
+
+(/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1zplm.fd
+File: ot1zplm.fd 2002/09/08 Fontinst v1.914 font definitions for OT1/zplm.
+)
+LaTeX Font Info: Font shape `U/msa/m/n' will be
+(Font) scaled to size 12.50409pt on input line 275.
+LaTeX Font Info: Font shape `U/msa/m/n' will be
+(Font) scaled to size 9.37807pt on input line 275.
+LaTeX Font Info: Font shape `U/msa/m/n' will be
+(Font) scaled to size 7.29405pt on input line 275.
+LaTeX Font Info: Font shape `U/msb/m/n' will be
+(Font) scaled to size 12.50409pt on input line 275.
+LaTeX Font Info: Font shape `U/msb/m/n' will be
+(Font) scaled to size 9.37807pt on input line 275.
+LaTeX Font Info: Font shape `U/msb/m/n' will be
+(Font) scaled to size 7.29405pt on input line 275.
+
+
+LaTeX Warning: No \author given.
+
+LaTeX Font Info: Try loading font information for T1+cmtt on input line 279.
+
+(/usr/share/texlive/texmf-dist/tex/latex/base/t1cmtt.fd
+File: t1cmtt.fd 2014/09/29 v2.5h Standard LaTeX font definitions
+)
+LaTeX Font Info: Font shape `T1/ppl/bx/n' in size <14.4> not available
+(Font) Font shape `T1/ppl/b/n' tried instead on input line 287.
+LaTeX Font Info: Font shape `T1/ppl/bx/n' in size <10.95> not available
+(Font) Font shape `T1/ppl/b/n' tried instead on input line 290.
+
+
+Package hyperref Warning: Difference (2) between bookmark levels is greater
+(hyperref) than one, level fixed on input line 290.
+
+LaTeX Font Info: Font shape `U/msa/m/n' will be
+(Font) scaled to size 11.40997pt on input line 295.
+LaTeX Font Info: Font shape `U/msa/m/n' will be
+(Font) scaled to size 8.33606pt on input line 295.
+LaTeX Font Info: Font shape `U/msa/m/n' will be
+(Font) scaled to size 6.25204pt on input line 295.
+LaTeX Font Info: Font shape `U/msb/m/n' will be
+(Font) scaled to size 11.40997pt on input line 295.
+LaTeX Font Info: Font shape `U/msb/m/n' will be
+(Font) scaled to size 8.33606pt on input line 295.
+LaTeX Font Info: Font shape `U/msb/m/n' will be
+(Font) scaled to size 6.25204pt on input line 295.
+
+File: lecture_10_files/lecture_10_3_0.pdf Graphic file (type pdf)
+
+