Skip to content

Instantly share code, notes, and snippets.

@tobydriscoll
Created September 20, 2016 19:04
Show Gist options
  • Save tobydriscoll/3030cf16ae47dc58a4b51d9b47c8289b to your computer and use it in GitHub Desktop.
Save tobydriscoll/3030cf16ae47dc58a4b51d9b47c8289b to your computer and use it in GitHub Desktop.
TB Lecture 9: MATLAB
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Lecture 9: MATLAB/GS stability"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Comparing classical to modified Gram-Schmidt\n",
"\n",
"We're going to experiment to uncover the differences between classical GS and MGS in a numerical implementation. We'll start by constructing a matrix with particular singular values."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"(U,s,V) = svd(randn(80,80));\n",
"s = 2.0.^(-1:-1:-80);\n",
"A = U*diagm(s)*V';\n",
"include(\"GramSchmidt.jl\"); # my GS and MGS implementations\n",
"using PyPlot"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The text explains why we should expect the diagonal entries of the $R$ in a QR factorization of $A$ to be close to the singular values of $A$. "
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"PyPlot.Figure(PyObject <matplotlib.figure.Figure object at 0x31ece33d0>)"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"(PyObject <matplotlib.text.Text object at 0x31ebf7210>,PyObject <matplotlib.text.Text object at 0x31ee1e390>)"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"semilogy(s,\".\")\n",
"(Qc,Rc) = gs(A); # classical\n",
"semilogy(diag(Rc),\"o\")\n",
"(Qm,Rm) = mgs(A); # modified\n",
"semilogy(diag(Rm),\"s\")\n",
"legend([\"singular values\",L\"classical $r_{jj}$\",L\"MGS $r_{jj}$\"])\n",
"title(\"Gram-Schmidt in double precision\"), xlabel(\"j\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The modified version stays close to the line until around $10^{-16}$. This is the limit of machine precision. In the classical case the departure is closer to $10^{-8}$. We can get a little more information by recasting the problem into \"single precision,\" which has a limit of about $10^{-8}$ relative precision. "
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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uHH6m7/5G73//vueY4xZb7t371ZcXJyOHTumr3/96xo/frzi4uK0ZMkStbe3S2LMhqKrq0uvvfaaMjMzPRGrjFtvt912mwzD0I9+9CP97//+r44fP64dO3Zo48aNeuyxxxQbG2vKmIXs4pCGhgbZ7fY+7Xa7XYZh6MSJE37oVfDpWVA/0Fj++c9/Vmdnp6Kiosa6awGhpKRELpdLa9askcR4DeYf//Ef9Ytf/EKSFBERofvuu08/+9nPJDFuA/n5z3+u+vp6vfXWW/0eZ9x6i46OVnZ2tmbOnKkrrrhCH330kQoLC/Wd73xHe/bs0Te/+U3G7AKHDx9WZ2en7r33Xi1evFj5+fmqrq7W+vXr9cUXX+iVV15hzIbgzTff1J/+9Cf94Ac/8LQxbr3dddddWr16tZ577jlVVFRIkiwWi5566imtWrVKkjljFrKF7tmzZxUTE9Onfdy4cZ7j8K5nnLyNZbj8Qz3fwYMH9eijjyozM9OzgY/xGtgTTzyhOXPm6MSJE3r11VfV3d3tmTFi3Pr685//rLy8PP2///f/PJuoLsS49XbTTTfppptu8nx8zz336L777lNqaqpWrFih//zP/2TMLnDmzBmdPXtWDz/8sF588UVJ0ve//321t7dr06ZNWrVqFWM2BNu3b1d0dLTmzJnjaWPc+rruuut06623Kjs7W5dffrkqKyv17LPP6uqrr9aSJUtMGbOQLXRjY2M930TP19bW5jkO73rGibHsrbGxUd/73vd02WWX6bXXXpPFYpHEeA0mJSVFKSkpkqT58+frrrvuUlZWlvbt28e49eOpp55SfHy8Hn300QHPYdy8mzx5smdHt2EYjNkFeu71/vvv79U+b948/eIXv9DevXt1/fXXS2LMBtLa2qqKigrdfffduuyyyzztfK319u///u968MEH9emnn3pmbL///e+ru7tby5cvV05OjiljFrJrdO12e68cux49bYmJiWPdpaDU88U40FhefvnlYfXTqCS1tLTo7rvvVktLi958801dffXVnmOM19BlZ2frd7/7nQ4fPsy4XeDTTz/VSy+9pKVLl8rlcqmurk6fffaZ2tra1NnZqbq6OjU1NTFuQ3Tttdeqo6NDra2tjNkFer4XXnXVVb3aExISJImvsyEoLy/X2bNney1bkPh+cKGf//znmjZtWp9lCVlZWfryyy/1wQcfmDJmIVvoOp1OHTp0SGfOnOnVvm/fPlksFjmdTj/1LLgkJibqyiuv1HvvvdfnWE1NTdiNY3t7u+655x59+umnqqys1JQpU3odZ7yGrudXVF988QXjdgGXyyXDMLR06VJNnDhREydO1KRJk/Tuu+/qk08+0aRJk7R69WrGbYiOHDmicePGafz48YzZBdLS0iS5v+bO17OPJSEhgTHz4pVXXtH48eM1a9asXu2MW2+NjY3q7u7u097Z2SnDMNTV1WXOmA07pyFI9OToPv/885629vZ242tf+5px8803+7FngWmkObqbNm0ay276VXd3t5GVlWVER0cbb7755oDnMV69ff75533aOjs7jWnTphkXX3yx0draahgG43a+U6dOGf/xH//R58/UqVON6667zqioqDD+8Ic/GIbBuJ3vj3/8Y5+2AwcOGNHR0cbf/u3fetoYs6988MEHhsViMebPn9+rPScnx4iOjjYaGhoMw2DMBvLHP/7RiIqKMv7+7/++3+OM21dmzZpljBs3zjh8+HCv9u9///tGZGSkaV9rIf1ktLlz5+r111/X448/7nky2nvvvae33npLmZmZ/u5eQCgqKlJzc7NcLpc2btyo2bNn61vf+pYkaenSpbLZbDp+/LimTZumSy65xPOUksLCQk2YMEE1NTVh86uXxx9/XOv///buECTuNg7g+O+OcadgOmWgV7SIaVVnmIogA8EgWLVoE2yGRS2mBTVMFrQYRExaxLAwWDGrLKwYRASLbag8Cy/Oie7d+/Lu5e6efT5w5XjCj1/68tz/7paXY2xs7MEXDu7cfWxlXw+Nj4/H1dVVvHr1KqrVapyfn8fm5mZ8/vw53r59G3NzcxFhb//E0NBQXF5ePvhnNHu7Nzw8HM3NzdHf3x/Pnz+Po6OjeP/+fZTL5fj06dP3T2Ds7KHp6elYX1+PiYmJGBgYiA8fPsTOzk68efMmFhcXI8LOfmZ1dTXm5uZif3//+88l/sje7n38+DGGh4ejUqnE7OxstLa2xu7ubuzv78fMzEy8e/cuIv6Hnf2XOq93X79+TfPz86mjoyM1Nzen3t7edHBwUOux6kpnZ2cqFotPvn780evj4+P0+vXr1NLSkiqVSpqcnHzypi5ng4ODP91VsVh8cNa+7m1tbaWRkZHU3t6eSqVSam1tTSMjI2lvb+/RWXv7e4ODg+nFixeP3re3v6ysrKS+vr7U1taWSqVSqlaraWpqKn358uXRWTu7d3NzkxYWFlJXV1cql8upu7s7LS8vPzpnZ4+9fPkytbe3P/knG3fs7d7h4WEaHR1NHR0dqVwup56enrS0tJRub28fnPudO8v6RhcAgD9Xtl9GAwDgzyZ0AQDIktAFACBLQhcAgCwJXQAAsiR0AQDIktAFACBLQhcAgCwJXQAAsiR0ARrQxsZGFIvFOD09rfUoAHVL6AI0oEKhEIVCodZjANS1Qkop1XoIAP6dlFJcX19HqVSq9SgAdUvoAgCQJY8uADQgz+gC/JrQBWhAntEF+DWhCwBAloQuAABZEroAAGRJ6AIAkCWhCwBAloQuAABZEroAAGRJ6AIAkCWhC9CAbm9vIyLi2bNnNZ4EoH4JXYAGdHZ2FoVCISqVSq1HAahbrgIAGsjFxUVsb2/H2tpa9Pf3R1NTU61HAqhbbnQBGsjJyUnMz89Hd3d3rK+v13ocgLpWSCmlWg8BAAC/mxtdAACyJHQBAMiS0AUAIEtCFwCALAldAACyJHQBAMiS0AUAIEtCFwCALAldAACy9A1O8m9GVtGn4gAAAABJRU5ErkJggg==",
"text/plain": [
"PyPlot.Figure(PyObject <matplotlib.figure.Figure object at 0x31ebb9490>)"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"(PyObject <matplotlib.text.Text object at 0x3087ac910>,PyObject <matplotlib.text.Text object at 0x30874fed0>)"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"A = convert(Array{Float32},A);\n",
"semilogy(s,\".\")\n",
"(Qc,Rc) = gs(A); # classical\n",
"semilogy(diag(Rc),\"o\")\n",
"(Qm,Rm) = mgs(A); # modified\n",
"semilogy(diag(Rm),\"s\")\n",
"\n",
"legend([\"singular values\",L\"classical $r_{jj}$\",L\"MGS $r_{jj}$\"])\n",
"title(\"Gram-Schmidt in single precision\"), xlabel(\"j\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"A reasonable hypothesis (based on two data points) is that roundoff at precision $\\epsilon$ affects MGS at the level $O(\\epsilon)$, but classical GS at $O(\\sqrt{\\epsilon})$. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Loss of orthogonality\n",
"\n",
"A different sort of instability remains in the MGS algorithm. It can be seen in a $2\\times 2$ toy example. Mine is different from the text's, but constructed using the same principle: the columns of $A$ are nearly parallel."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"A = [pi sqrt(2); 355/113 sqrt(2)];"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"When we subtract off the projection of the second column onto the first, the remainder is quite small (relative to the original components). "
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"2-element Array{Float64,1}:\n",
" 6.0043e-8\n",
" -6.0043e-8"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Q = A[:,1]/norm(A[:,1]);\n",
"v = A[:,2] - Q[:,1]*Q[:,1]'*A[:,2]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Of the original 16 significant digits, about 7 have been canceled out in subtraction, never to return."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"1.9202538448226425e-9"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Q = [ Q v/norm(v)];\n",
"norm(Q'*Q - eye(2))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Much later, when we start doing iterative methods, we'll be coming back to the MGS algorithm. This loss of orthogonality is so important that practical implementations take measures to re-orthogonalize their results regularly. "
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Julia 0.4.3",
"language": "julia",
"name": "julia-0.4"
},
"language_info": {
"file_extension": ".jl",
"mimetype": "application/julia",
"name": "julia",
"version": "0.4.3"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment