typo corrections

This commit is contained in:
Morten Hjorth-Jensen
2021-09-30 10:47:41 +02:00
parent 43877d18ff
commit 03084febf3
6 changed files with 32 additions and 20 deletions
+6 -4
View File
@@ -1028,15 +1028,15 @@ $$
<span style="color: #8B008B; font-weight: bold">from</span> <span style="color: #008b45; text-decoration: underline">mpl_toolkits.mplot3d</span> <span style="color: #8B008B; font-weight: bold">import</span> axes3d
<span style="color: #8B008B; font-weight: bold">def</span> <span style="color: #008b45">f</span>(x):
<span style="color: #8B008B; font-weight: bold">return</span> <span style="color: #B452CD">0.5</span>*x[<span style="color: #B452CD">0</span>]**<span style="color: #B452CD">2</span> + <span style="color: #B452CD">2.5</span>*x[<span style="color: #B452CD">1</span>]**<span style="color: #B452CD">2</span>
<span style="color: #8B008B; font-weight: bold">return</span> x[<span style="color: #B452CD">0</span>]**<span style="color: #B452CD">2</span> + <span style="color: #B452CD">3.0</span>*x[<span style="color: #B452CD">1</span>]**<span style="color: #B452CD">2</span>
<span style="color: #8B008B; font-weight: bold">def</span> <span style="color: #008b45">df</span>(x):
<span style="color: #8B008B; font-weight: bold">return</span> np.array([x[<span style="color: #B452CD">0</span>], <span style="color: #B452CD">5</span>*x[<span style="color: #B452CD">1</span>]])
<span style="color: #8B008B; font-weight: bold">return</span> np.array([<span style="color: #B452CD">2</span>*x[<span style="color: #B452CD">0</span>], <span style="color: #B452CD">6</span>*x[<span style="color: #B452CD">1</span>]])
fig = pt.figure()
ax = fig.gca(projection=<span style="color: #CD5555">&quot;3d&quot;</span>)
xmesh, ymesh = np.mgrid[-<span style="color: #B452CD">2</span>:<span style="color: #B452CD">2</span>:<span style="color: #B452CD">50</span>j,-<span style="color: #B452CD">2</span>:<span style="color: #B452CD">2</span>:<span style="color: #B452CD">50</span>j]
xmesh, ymesh = np.mgrid[-<span style="color: #B452CD">3</span>:<span style="color: #B452CD">3</span>:<span style="color: #B452CD">50</span>j,-<span style="color: #B452CD">3</span>:<span style="color: #B452CD">3</span>:<span style="color: #B452CD">50</span>j]
fmesh = f(np.array([xmesh, ymesh]))
ax.plot_surface(xmesh, ymesh, fmesh)
</pre></div>
@@ -1080,6 +1080,8 @@ pt.contour(xmesh, ymesh, fmesh, <span style="color: #B452CD">50</span>)
it_array = np.array(guesses)
pt.plot(it_array.T[<span style="color: #B452CD">0</span>], it_array.T[<span style="color: #B452CD">1</span>], <span style="color: #CD5555">&quot;x-&quot;</span>)
</pre></div>
<p>
Note that we did only one iteration here. We can easily add more using our previous guesses.
</section>
@@ -1502,7 +1504,7 @@ X = np.c_[np.ones((n,<span style="color: #B452CD">1</span>)), x]
H = (<span style="color: #B452CD">2.0</span>/n)* X.T @ X
<span style="color: #228B22"># Get the eigenvalues</span>
EigValues, EigVectors = np.linalg.eig(H)
<span style="color: #658b00">print</span>(EigValues)
<span style="color: #658b00">print</span>(<span style="color: #CD5555">f&quot;Eigenvalues of Hessian Matrix:{</span>EigValues<span style="color: #CD5555">}&quot;</span>)
beta_linreg = np.linalg.inv(X.T @ X) @ X.T @ y
<span style="color: #658b00">print</span>(beta_linreg)
+7 -4
View File
@@ -1057,15 +1057,15 @@ $$
<span style="color: #8B008B; font-weight: bold">from</span> <span style="color: #008b45; text-decoration: underline">mpl_toolkits.mplot3d</span> <span style="color: #8B008B; font-weight: bold">import</span> axes3d
<span style="color: #8B008B; font-weight: bold">def</span> <span style="color: #008b45">f</span>(x):
<span style="color: #8B008B; font-weight: bold">return</span> <span style="color: #B452CD">0.5</span>*x[<span style="color: #B452CD">0</span>]**<span style="color: #B452CD">2</span> + <span style="color: #B452CD">2.5</span>*x[<span style="color: #B452CD">1</span>]**<span style="color: #B452CD">2</span>
<span style="color: #8B008B; font-weight: bold">return</span> x[<span style="color: #B452CD">0</span>]**<span style="color: #B452CD">2</span> + <span style="color: #B452CD">3.0</span>*x[<span style="color: #B452CD">1</span>]**<span style="color: #B452CD">2</span>
<span style="color: #8B008B; font-weight: bold">def</span> <span style="color: #008b45">df</span>(x):
<span style="color: #8B008B; font-weight: bold">return</span> np.array([x[<span style="color: #B452CD">0</span>], <span style="color: #B452CD">5</span>*x[<span style="color: #B452CD">1</span>]])
<span style="color: #8B008B; font-weight: bold">return</span> np.array([<span style="color: #B452CD">2</span>*x[<span style="color: #B452CD">0</span>], <span style="color: #B452CD">6</span>*x[<span style="color: #B452CD">1</span>]])
fig = pt.figure()
ax = fig.gca(projection=<span style="color: #CD5555">&quot;3d&quot;</span>)
xmesh, ymesh = np.mgrid[-<span style="color: #B452CD">2</span>:<span style="color: #B452CD">2</span>:<span style="color: #B452CD">50</span>j,-<span style="color: #B452CD">2</span>:<span style="color: #B452CD">2</span>:<span style="color: #B452CD">50</span>j]
xmesh, ymesh = np.mgrid[-<span style="color: #B452CD">3</span>:<span style="color: #B452CD">3</span>:<span style="color: #B452CD">50</span>j,-<span style="color: #B452CD">3</span>:<span style="color: #B452CD">3</span>:<span style="color: #B452CD">50</span>j]
fmesh = f(np.array([xmesh, ymesh]))
ax.plot_surface(xmesh, ymesh, fmesh)
</pre></div>
@@ -1109,6 +1109,9 @@ pt.contour(xmesh, ymesh, fmesh, <span style="color: #B452CD">50</span>)
it_array = np.array(guesses)
pt.plot(it_array.T[<span style="color: #B452CD">0</span>], it_array.T[<span style="color: #B452CD">1</span>], <span style="color: #CD5555">&quot;x-&quot;</span>)
</pre></div>
<p>
Note that we did only one iteration here. We can easily add more using our previous guesses.
<p>
<!-- !split --><br><br><br><br><br><br><br><br><br><br>
@@ -1489,7 +1492,7 @@ X = np.c_[np.ones((n,<span style="color: #B452CD">1</span>)), x]
H = (<span style="color: #B452CD">2.0</span>/n)* X.T @ X
<span style="color: #228B22"># Get the eigenvalues</span>
EigValues, EigVectors = np.linalg.eig(H)
<span style="color: #658b00">print</span>(EigValues)
<span style="color: #658b00">print</span>(<span style="color: #CD5555">f&quot;Eigenvalues of Hessian Matrix:{</span>EigValues<span style="color: #CD5555">}&quot;</span>)
beta_linreg = np.linalg.inv(X.T @ X) @ X.T @ y
<span style="color: #658b00">print</span>(beta_linreg)
+7 -4
View File
@@ -1062,15 +1062,15 @@ $$
<span style="color: #008000; font-weight: bold">from</span> <span style="color: #0000FF; font-weight: bold">mpl_toolkits.mplot3d</span> <span style="color: #008000; font-weight: bold">import</span> axes3d
<span style="color: #008000; font-weight: bold">def</span> <span style="color: #0000FF">f</span>(x):
<span style="color: #008000; font-weight: bold">return</span> <span style="color: #666666">0.5*</span>x[<span style="color: #666666">0</span>]<span style="color: #666666">**2</span> <span style="color: #666666">+</span> <span style="color: #666666">2.5*</span>x[<span style="color: #666666">1</span>]<span style="color: #666666">**2</span>
<span style="color: #008000; font-weight: bold">return</span> x[<span style="color: #666666">0</span>]<span style="color: #666666">**2</span> <span style="color: #666666">+</span> <span style="color: #666666">3.0*</span>x[<span style="color: #666666">1</span>]<span style="color: #666666">**2</span>
<span style="color: #008000; font-weight: bold">def</span> <span style="color: #0000FF">df</span>(x):
<span style="color: #008000; font-weight: bold">return</span> np<span style="color: #666666">.</span>array([x[<span style="color: #666666">0</span>], <span style="color: #666666">5*</span>x[<span style="color: #666666">1</span>]])
<span style="color: #008000; font-weight: bold">return</span> np<span style="color: #666666">.</span>array([<span style="color: #666666">2*</span>x[<span style="color: #666666">0</span>], <span style="color: #666666">6*</span>x[<span style="color: #666666">1</span>]])
fig <span style="color: #666666">=</span> pt<span style="color: #666666">.</span>figure()
ax <span style="color: #666666">=</span> fig<span style="color: #666666">.</span>gca(projection<span style="color: #666666">=</span><span style="color: #BA2121">&quot;3d&quot;</span>)
xmesh, ymesh <span style="color: #666666">=</span> np<span style="color: #666666">.</span>mgrid[<span style="color: #666666">-2</span>:<span style="color: #666666">2</span>:<span style="color: #666666">50</span>j,<span style="color: #666666">-2</span>:<span style="color: #666666">2</span>:<span style="color: #666666">50</span>j]
xmesh, ymesh <span style="color: #666666">=</span> np<span style="color: #666666">.</span>mgrid[<span style="color: #666666">-3</span>:<span style="color: #666666">3</span>:<span style="color: #666666">50</span>j,<span style="color: #666666">-3</span>:<span style="color: #666666">3</span>:<span style="color: #666666">50</span>j]
fmesh <span style="color: #666666">=</span> f(np<span style="color: #666666">.</span>array([xmesh, ymesh]))
ax<span style="color: #666666">.</span>plot_surface(xmesh, ymesh, fmesh)
</pre></div>
@@ -1114,6 +1114,9 @@ pt<span style="color: #666666">.</span>contour(xmesh, ymesh, fmesh, <span style=
it_array <span style="color: #666666">=</span> np<span style="color: #666666">.</span>array(guesses)
pt<span style="color: #666666">.</span>plot(it_array<span style="color: #666666">.</span>T[<span style="color: #666666">0</span>], it_array<span style="color: #666666">.</span>T[<span style="color: #666666">1</span>], <span style="color: #BA2121">&quot;x-&quot;</span>)
</pre></div>
<p>
Note that we did only one iteration here. We can easily add more using our previous guesses.
<p>
<!-- !split --><br><br><br><br><br><br><br><br><br><br>
@@ -1494,7 +1497,7 @@ X <span style="color: #666666">=</span> np<span style="color: #666666">.</span>c
H <span style="color: #666666">=</span> (<span style="color: #666666">2.0/</span>n)<span style="color: #666666">*</span> X<span style="color: #666666">.</span>T <span style="color: #666666">@</span> X
<span style="color: #408080; font-style: italic"># Get the eigenvalues</span>
EigValues, EigVectors <span style="color: #666666">=</span> np<span style="color: #666666">.</span>linalg<span style="color: #666666">.</span>eig(H)
<span style="color: #008000">print</span>(EigValues)
<span style="color: #008000">print</span>(<span style="color: #BA2121">f&quot;Eigenvalues of Hessian Matrix:</span><span style="color: #BB6688; font-weight: bold">{</span>EigValues<span style="color: #BB6688; font-weight: bold">}</span><span style="color: #BA2121">&quot;</span>)
beta_linreg <span style="color: #666666">=</span> np<span style="color: #666666">.</span>linalg<span style="color: #666666">.</span>inv(X<span style="color: #666666">.</span>T <span style="color: #666666">@</span> X) <span style="color: #666666">@</span> X<span style="color: #666666">.</span>T <span style="color: #666666">@</span> y
<span style="color: #008000">print</span>(beta_linreg)
Binary file not shown.
+6 -4
View File
@@ -1031,15 +1031,15 @@
"from mpl_toolkits.mplot3d import axes3d\n",
"\n",
"def f(x):\n",
" return 0.5*x[0]**2 + 2.5*x[1]**2\n",
" return x[0]**2 + 3.0*x[1]**2\n",
"\n",
"def df(x):\n",
" return np.array([x[0], 5*x[1]])\n",
" return np.array([2*x[0], 6*x[1]])\n",
"\n",
"fig = pt.figure()\n",
"ax = fig.gca(projection=\"3d\")\n",
"\n",
"xmesh, ymesh = np.mgrid[-2:2:50j,-2:2:50j]\n",
"xmesh, ymesh = np.mgrid[-3:3:50j,-3:3:50j]\n",
"fmesh = f(np.array([xmesh, ymesh]))\n",
"ax.plot_surface(xmesh, ymesh, fmesh)"
]
@@ -1136,6 +1136,8 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Note that we did only one iteration here. We can easily add more using our previous guesses.\n",
"\n",
"## Conjugate gradient method\n",
"In the CG method we define so-called conjugate directions and two vectors \n",
"$\\boldsymbol{s}$ and $\\boldsymbol{t}$\n",
@@ -1695,7 +1697,7 @@
"H = (2.0/n)* X.T @ X\n",
"# Get the eigenvalues\n",
"EigValues, EigVectors = np.linalg.eig(H)\n",
"print(EigValues)\n",
"print(f\"Eigenvalues of Hessian Matrix:{EigValues}\")\n",
"\n",
"beta_linreg = np.linalg.inv(X.T @ X) @ X.T @ y\n",
"print(beta_linreg)\n",
+6 -4
View File
@@ -723,15 +723,15 @@ import matplotlib.pyplot as pt
from mpl_toolkits.mplot3d import axes3d
def f(x):
return 0.5*x[0]**2 + 2.5*x[1]**2
return x[0]**2 + 3.0*x[1]**2
def df(x):
return np.array([x[0], 5*x[1]])
return np.array([2*x[0], 6*x[1]])
fig = pt.figure()
ax = fig.gca(projection="3d")
xmesh, ymesh = np.mgrid[-2:2:50j,-2:2:50j]
xmesh, ymesh = np.mgrid[-3:3:50j,-3:3:50j]
fmesh = f(np.array([xmesh, ymesh]))
ax.plot_surface(xmesh, ymesh, fmesh)
!ec
@@ -764,6 +764,8 @@ it_array = np.array(guesses)
pt.plot(it_array.T[0], it_array.T[1], "x-")
!ec
Note that we did only one iteration here. We can easily add more using our previous guesses.
!split
===== Conjugate gradient method =====
!bblock
@@ -1081,7 +1083,7 @@ X = np.c_[np.ones((n,1)), x]
H = (2.0/n)* X.T @ X
# Get the eigenvalues
EigValues, EigVectors = np.linalg.eig(H)
print(EigValues)
print(f"Eigenvalues of Hessian Matrix:{EigValues}")
beta_linreg = np.linalg.inv(X.T @ X) @ X.T @ y
print(beta_linreg)