phys512/matrices.ipynb
2023-10-05 11:29:30 -04:00

649 lines
191 KiB
Text

{
"cells": [
{
"cell_type": "markdown",
"id": "96c50950",
"metadata": {},
"source": [
"# Matrices in numpy"
]
},
{
"cell_type": "markdown",
"id": "97abd76c",
"metadata": {},
"source": [
"We're going to be dealing with matrices quite a bit in this section, so let's have a review of how numpy handles matrices."
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "076056cc",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "f14947d5",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[0.57487069 0.9823841 0.09112579]\n",
" [0.85884055 0.89054154 0.77408934]\n",
" [0.786177 0.65692552 0.72699611]\n",
" [0.66648673 0.92769796 0.33097987]]\n",
"[0.85884055 0.89054154 0.77408934]\n",
"0.7740893379034613\n",
"0.7740893379034613\n"
]
}
],
"source": [
"# Matrices are 2D arrays in numpy\n",
"# A[i][j] = ith row and jth column\n",
"A = np.random.rand(12).reshape(4,3)\n",
"print(A)\n",
"print(A[1])\n",
"print(A[1][2])\n",
"print(A[1,2])"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "78a723e8",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[0.57487069, 0.85884055, 0.786177 , 0.66648673],\n",
" [0.9823841 , 0.89054154, 0.65692552, 0.92769796],\n",
" [0.09112579, 0.77408934, 0.72699611, 0.33097987]])"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Can also use np.transpose(A) or A.T\n",
"A.transpose()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "01bcc062",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([2.81301628, 4.96219165, 4.28101637, 3.51482228])"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Matrix multiplication uses the @ operator\n",
"y = np.array((1,2,3))\n",
"A@y"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "c5653f87",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[1, 0, 0, 0],\n",
" [0, 2, 0, 0],\n",
" [0, 0, 3, 0],\n",
" [0, 0, 0, 4]])"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Diagonal matrix\n",
"np.diag((1,2,3,4))"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "7f4e7ee1",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[1. , 0. , 0. , 0. ],\n",
" [0. , 0.5 , 0. , 0. ],\n",
" [0. , 0. , 0.33333333, 0. ],\n",
" [0. , 0. , 0. , 0.25 ]])"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Inverse\n",
"np.linalg.inv((np.diag((1,2,3,4))))"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "11a0999c",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 1.00000000e+00, -6.01445136e-16],\n",
" [-6.60539330e-16, 1.00000000e+00]])"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"A = np.random.rand(4).reshape(2,2)\n",
"B = np.linalg.inv(A)\n",
"B@A"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "7f3959e8",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"-0.10191999972462222\n",
"-0.10191999972462229\n"
]
}
],
"source": [
"# Determinant\n",
"print(np.linalg.det(A))\n",
"print(A[0,0]*A[1,1] - A[0,1]*A[1,0])"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "826cced3",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"23.999999999999993"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# should be 1 * 2 * 3 * 4 = 24\n",
"np.linalg.det(np.diag((1,2,3,4)))"
]
},
{
"cell_type": "markdown",
"id": "e619e0da",
"metadata": {},
"source": [
"# Matrix decompositions"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "aa6ee144",
"metadata": {},
"outputs": [],
"source": [
"# We need scipy.linalg for eigenvalues\n",
"import scipy.linalg\n",
"\n",
"# Visualize matrices as a color map\n",
"def plot_matrices(A,titles=[]):\n",
" plt.clf()\n",
" n = len(A)\n",
" if titles==[]:\n",
" titles = [\"\"]*n\n",
" plt.figure(figsize=(n*4,4))\n",
" for i,AA in enumerate(A):\n",
" plt.subplot(1, n, i+1)\n",
" plt.imshow(AA)\n",
" plt.colorbar()\n",
" plt.title(titles[i])\n",
" plt.show()"
]
},
{
"cell_type": "markdown",
"id": "6e2c140b",
"metadata": {},
"source": [
"## LU decomposition"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "f0f93712",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<Figure size 640x480 with 0 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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1taqtLRUO3bsUEZGRsByn3zyif7nf/5HX/va14zfFACCEeSMdktLi9LT092nvzybLUn9+vVTcnKyWltbvc63trYqKyvLb/VZWVmGrgeAsGBG283wjPa+ffv07W9/WxdccIG6d++uYcOGafPmzeFoG4BoidCOkUY3+5Eku92uiRMn6vHHH9fFF19s/KZhRD4CCcBsPv4rI9PT070OfwPt1NRUFRQUqKGhwX3O4XCooaFBxcXFfptVXFzsdb0krV+/PuD1kUY+AgkiQn3IrsDQjPY///lPjR49Wl//+tf1u9/9Tv3799c//vEPnX/++eFqH4AupjPPH0qezX5mzpzpPneuzX4k6YknnlBGRobuvvtu/elPfwpdw4NEPgIIpYqKCk2ePFmFhYUaOXKkamtr1d7errKyMknSpEmTNGDAAPfS8+nTp+u6667Ts88+q7Fjx2rlypXavHmzFi9eHM2PIYl8BJCYDA20n376aeXm5uonP/mJ+9zAgQND3igA0WXmeZkznz88U3V1tebMmeNzvZnNft5991298soram5uNta4CCAfgcRg9nlCo2UmTJigAwcOqKqqSjabTfn5+aqvr3dn5t69e5WU5FmYOGrUKK1YsUKzZs3So48+qksvvVRvvPGGhg4daryxIUY+AokjmD5kvDE00H7zzTdVWlqqW2+9VW+//bYGDBigqVOnasqUKQHLnDhxQidOnHD//OXZLgAxKIjnazrz/KEZR44c0Z133qklS5aoX79+IakzlMhHIEEE+Yy2EeXl5SovL/f7uw0bNvicu/XWW3Xrrbcav1GYkY9AAuEZbTdDz2jv3r1bixYt0qWXXqp169bp/vvv1wMPPKBXX301YJmamhqv3TW/PNsFIAaF+flDyfhmPx999JE++eQTjRs3TikpKUpJSdFrr72mN998UykpKfroo49C8clNIx+BBBHkM9qJiHwEEgj56GZooO1wOHTVVVdp3rx5GjFihO69915NmTJFdXV1AcvMnDlThw8fdh8tLS1BNxpAeEXi1QxGN/sZNGiQPvzwQzU3N7uP//iP/9DXv/51NTc3R70TRj4CiSHY13slIvIRSBzko4ehpePZ2dkaMmSI17nBgwfrl7/8ZcAygTZCAhDDIrTsx8hmP2lpaT7PGvbp00eSYuIZRPIRSBARXDoeL8hHIIGwdNzN0EB79OjR2rFj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",
"text/plain": [
"<Figure size 1200x400 with 6 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 640x480 with 0 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 400x400 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"A = np.random.rand(100).reshape(10,10)\n",
"P, L, U = scipy.linalg.lu(A)\n",
"plot_matrices([P, L, U], titles=[\"P\", \"L\", \"U\"])\n",
"plot_matrices([P@L@U - A])"
]
},
{
"cell_type": "markdown",
"id": "5d0e2812",
"metadata": {},
"source": [
"## Eigen-decomposition"
]
},
{
"cell_type": "markdown",
"id": "19159d23",
"metadata": {},
"source": [
"The eigenvectors of an $n\\times n$ matrix $\\mathbf{A}$ satisfy\n",
"\n",
"$$\\mathbf{A}\\mathbf{v_i} = \\lambda_i \\mathbf{v_i}$$\n",
"\n",
"with eigenvalues $\\lambda_i$. Now consider the matrix $Q$ whose columns correspond to the $n$ eigenvectors $\\mathbf{v_i}$: you can easily show that this satisfies\n",
"\n",
"$$\\mathbf{A}\\mathbf{Q} = \\mathbf{Q}\\mathbf{\\Lambda},$$\n",
"\n",
"where $\\mathbf{\\Lambda} = \\mathrm{diag}(\\lambda_1, \\lambda_2\\dots \\lambda_n)$.\n",
"\n",
"Therefore \n",
"\n",
"$$\\mathbf{A} = \\mathbf{Q}\\mathbf{\\Lambda}\\mathbf{Q^{-1}}$$\n",
"\n",
"which is the *eigendecomposition* of the matrix.\n",
"\n",
"Since $(\\mathbf{A}\\mathbf{B}\\mathbf{C})^{-1} =\\mathbf{C}^{-1}\\mathbf{B}^{-1}\\mathbf{A}^{-1}$, the inverse of the matrix is\n",
"\n",
"$$\\mathbf{A^{-1}} = \\mathbf{Q}\\mathbf{\\Lambda}^{-1}\\mathbf{Q^{-1}}$$\n",
"\n",
"where \n",
"\n",
"$$\\mathbf{\\Lambda}^{-1} = \\mathrm{diag}(1/\\lambda_1, 1/\\lambda_2\\dots 1/\\lambda_n).$$\n"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "43a8a74f",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Eigenvalues= [11.57481875 0.11814652 8.81628573 1.38184428 2.236823 3.37700902\n",
" 7.11855695 6.48539964 5.20294079 4.33568771]\n",
"Eigenvector check:\n",
"0 1.0436096431476471e-14\n",
"1 8.259872278336411e-15\n",
"2 5.440092820663267e-15\n",
"3 2.345346139520643e-15\n",
"4 4.6629367034256575e-15\n",
"5 3.3306690738754696e-15\n",
"6 2.6645352591003757e-15\n",
"7 5.218048215738236e-15\n",
"8 5.329070518200751e-15\n",
"9 1.7763568394002505e-15\n"
]
}
],
"source": [
"# real symmetric matrix\n",
"n = 10\n",
"A = np.random.rand(n*n).reshape(n,n)\n",
"A = 0.5*(A + A.T)\n",
"A = A + np.diag(np.arange(n))\n",
"lam, Q = scipy.linalg.eig(A)\n",
"lam = np.real(lam)\n",
"Q = np.real(Q)\n",
"\n",
"print(\"Eigenvalues=\", lam)\n",
"\n",
"print(\"Eigenvector check:\")\n",
"for i in range(n):\n",
" # The eigenvectors are given by the columns of Q, ie. Q[:,i]\n",
" print(i, np.max(np.abs(A@Q[:,i]-lam[i]*Q[:,i])))"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "e3adf1fc",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<Figure size 640x480 with 0 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 400x400 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 640x480 with 0 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 400x400 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Check eigendecomposition\n",
"plot_matrices([Q@np.diag(lam)@np.linalg.inv(Q) - A])\n",
"\n",
"# and the inverse\n",
"plot_matrices([Q@np.diag(1/lam)@np.linalg.inv(Q) - np.linalg.inv(A)])"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "3bb677c2",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<Figure size 640x480 with 0 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 400x400 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_matrices([np.linalg.inv(Q) - Q.T])"
]
},
{
"cell_type": "markdown",
"id": "f725b10f",
"metadata": {},
"source": [
"## Singular value decomposition (SVD)"
]
},
{
"cell_type": "markdown",
"id": "8c8d2cc0",
"metadata": {},
"source": [
"The singular value decomposition (SVD) of a $m\\times n$ matrix $\\mathbf{A}$ is\n",
"\n",
"$$\\mathbf{A} = \\mathbf{U}\\ \\mathbf{S}\\ \\mathbf{V^T},$$\n",
"\n",
"where \n",
"\n",
"- $\\mathbf{U}$ is an $m\\times n$ matrix with orthonormal columns\n",
"- $\\mathbf{S}$ is an $n\\times n$ diagonal matrix whose diagonal elements are the **singular values** of the matrix $s_i$\n",
"- $\\mathbf{V}$ is an $n\\times n$ orthogonal matrix ($V^TV = VV^T = 1$)\n",
"\n",
"If we have a square matrix ($m=n$), we can write the inverse as\n",
"\n",
"$$\\mathbf{A^{-1}} = \\mathbf{V}\\,\\mathbf{diag}(1/s_i)\\,\\mathbf{U^T}$$"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "66806267",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Singular values are: [1.76883682 0.58748002 0.34937691]\n"
]
},
{
"data": {
"text/plain": [
"<Figure size 640x480 with 0 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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1q2bUVl3d3ejcmLzlp19IpKHjf0qS9YldmMwR1RbW4vAwECkp6fL3RSbtH//fsydOxdff/01cnNzcevWLUyYMAG1tbVyN818ZuSjSqUyOkw9bqtnz55wcnJCRUWF0fmKigp4e3u32LyVK1fi1Vdfxd69ezFixIj2+c5khBnZMuZj6+w2I80c2W/rUqe2KigogLu7O0JCQgznIiIioFQqcfjw4TZ9RmFhIYqKijBr1qxm782dOxc9e/ZEaGgoMjMzBfePagk36CMimUjpvLOzby/EbgzmiCZOnNhsOh/9Iicnx+h1VlYWPD09UVhYiAcffFCmVrUXy+ejs7MzgoODkZeXZ5gWqtPpkJeXB41GY7Le66+/jldeeQV79uwxurml9sWMbBnzsXX2m5FSB39+Wep0p+TkZCxZskRya7RaLTw9PY3OderUCR4eHm1eErVx40YEBAQgPDzc6PyyZcvw29/+Fl27dsXevXvxl7/8BTU1NfjrX//a5vaxs09E8pAyUs+RfbvQtDHYndOLxW4MRnS3qqoqALCPzeKslI8JCQmYOXMmQkJCEBoairS0NNTW1ho6mLGxsejdu7dh3f9rr72GxYsXIzs7G/7+/oYb2W7dujWbekrSMSPJEuwmI6XO9NT/stRJpVIZTpua/ZSYmIjXXnutxY88ffq0+Hbc5eeff0Z2djYWLVrU7L07z40cORK1tbVYsWIFO/tERGS7WtoY7MyZMzK1ijoynU6H+fPnY/To0Rg2bJjczekwpk2bhitXrmDx4sXQarUICgpCTk6O4b+bpaWlUCp/WfG5fv161NfX4w9/+IPR55g7MkbGmJHU3piRv2ha4tSa5557Dk899VSLZQYMGABvb+9my2tu376NysrKVpdEAcCHH36IGzdutOnxpWFhYUhJSUFdXZ3JHynuxs4+EclDp4foafncoI+IBMydOxenTp3CwYMH5W5K+7BiPmo0GpPT9vPz841eX7hwQdI1iEhedpWRUvLRUK/tevXqhV69erVaTq1W49q1aygsLERwcDAAYN++fdDpdAgLC2u1/saNG/G73/2uTdcqKipCjx492tzRB9jZJyK56HWNh9g61OGZszEY0d00Go3hUUd9+vSRuzntg/no0JiR1J7sLiOl5GNTPQsICAhAVFQU4uPjkZGRgVu3bkGj0eDxxx+Hr68vAODSpUsYP348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",
"text/plain": [
"<Figure size 1200x400 with 6 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 640x480 with 0 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 800x400 with 4 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 640x480 with 0 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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7bffRmBgYA+/CRGR61zJo0aj0e64Wq12OBhw5coVmM1mhIeH2x0PDw/v8g6WwWBw2L+nU7I6sIAlIsUICAhAREQEDhikT+gHgIiICAQEBLg1ppiYGEydOhU5OTkoKipCW1sbtFotfvKTn9hWILh48SIeeeQR/OUvf0FycjKMRiOmTJmCr776Cn/7299s83GB9sLZ39/frTESEXVwNY8GBwcjKirK7lh+fr7ipkCxgCUixQgMDMS5c+fQ2trq1PkBAQGyjHS++eab0Gq1eOSRR+Dn54fHH38cf/zjH23vt7W1oa6uDl999RUAoKamxrZCwfDhw+0+69y5c4iOjnZ7jEREgOt51Gq1QqVS2R3rairWwIED4e/vj8bGRrvjjY2NXU6xioiIkNS/K1wHloiIiIickpKSguTkZPzpT38CAFgsFgwdOhRarRaLFi3q1H/27Nn46quv8D//8z+2Y6mpqYiLi0NRUVGPr8sRWCIiIiJyik6nQ1ZWFpKSkpCcnIzCwkK0tLQgOzsbAJCZmYnBgwfbVoRZsGABJk6ciFWrVmHGjBkoKyvDsWPHsHHjRknXZQFLRERERE6ZPXs2Ll++jCVLlsBgMCAhIQHl5eW2B7Xq6+vh5/fNqq2pqakoLS3F4sWL8eKLL2LEiBHYsWMHxowZI+m6nEJARERERD6FGxkQERERkU9hAUtEREREPoUFLBERERH5FBawRERERORTWMASERERkU9hAUtEREREPoUFLBERERH5FBawRERERORTWMASERERkU9hAUtEREREPoUFLBERERH5FBawRERERORT/j+iftDWAXiqHgAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 800x400 with 4 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 640x480 with 0 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAWMAAAF4CAYAAACB05i5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAsOklEQVR4nO3dfVRU17k/8O+AziDCYIjCoIwvKb6ACiKKQXMVGxSN1yVtlzHe3AUhvvQFcmNJjZKV6FJ/6SQ1vt1o1TQa0heq11RMq6mWoEiNGCuKilVaco0QLwOm6hCnOuDM/v1hmHRkQM4whzln/H7W2mv1nNnnnGem+rjznH320QghBIiIyKcCfB0AERExGRMRKQKTMRGRAjAZExEpAJMxEZECMBkTESkAkzERkQIwGRMRKQCTMSnWjh07EBISgpCQEGi1WvTs2dO5PX36dF+HR+RVGj6BR2qwePFihISEYP369b4OhUgWHBmTKpw7dw7x8fG+DoNINkzG5NZrr70GjUaDzz//3O3n0dHReOKJJ1z2nTt3Ds8++ywGDBgArVYLg8GAJ554AqtWrQIAZGdnIygoCHa7vd3rzpw5E8HBwfjiiy+c+4QQqKqq8kkyvnjxInr06AGNRoPr1693+/Xp4cFkTG6dPXsWffr0weDBg9t89o9//ANXr17FmDFjnPv27t2L8ePH4+TJk/j+97+Pn//851i8eDEcDgd+/etfAwBiY2Nhs9lw+fJlt9f885//jIMHD+K//uu/EB0d7dz/2WefwWazYeTIkV79jp2Rn58Po9EIAKiqqur269PDo4evAyBlOnv2bLsj0bNnzwIAEhISAAA3btzA888/j/Hjx+Pw4cPQarXOvqtXr8b//d//AQDi4uIAAJcuXUJMTEyb8+bn5yM8PBzLly9vc71hw4ZBp9N1/YtJcPz4cRw4cADFxcWYOnUqqqqqMHny5G6NgR4eHBlTGzdv3kRtba0z2d7v/mT88ccfw2KxYMGCBS6JuFX//v0BfJOML1682KbPgQMH8MknnyA/Px99+vRx+cxX9eJly5bhueeeQ2pqKsLCwjgyJllxZExtnDt3DgA6TMYBAQEYNWoUAMBqtboc157BgwejV69euHTpkst+IQReffVVGI1G5Obmuo0nOTlZ8vfoit///vc4deoUfvvb3wK4V2I5f/58t8ZADxeOjKmN+0e+7j4fOnQogoODAQBTp05FcHAwNm7ciGHDhmHZsmU4cuRImxt1AQEBGDFiRJuR8e7du1FZWYnVq1cjKCiozfW6e2Rst9vxyiuv4Ec/+pGzdh0bG4sLFy50Wwz0EBJE91mwYIEIDAwUt2/fbvNZc3Oz0Gq1Yt68eS77z549K55++mnRu3dvAUAAEAMHDhTFxcUu/Z599lkRHh7u3G5paRFDhw4Vo0ePFna7vUtx2+12cfv27U41h8PR7nl27NghQkNDxbVr15z7fvaznwkA4osvvuhSjETt4ciY2jh37hyGDRvmdpR66dIlNDc3txk1x8fHY/fu3bh+/TqOHDmC7Oxs1NXV4ZlnnsE///lPZ7/Y2Fhcv34djY2NAID33nsPf//732EymRAQ0LU/jmVlZejVq1enWnV1tdtz3LlzBytXrsQzzzyDmzdvoqamBjU1NdDr9QDAUgXJhjVjauOvf/0r0tPT3X52/PhxAMCECRPcfq7VapGamorU1FRcu3YN+/fvR3V1NRITEwG43sQLCwvDmjVrMHnyZMyaNavLcY8YMQLvvfdep/pGRUW53b9p0yZ88cUX+MUvfoFf/OIXbT6vqqrCjBkzuhSnPygrK8PatWtRUVGB+vp6FBUVISMjw+fXu3jxIpYtW4ajR4/i7t27iIuLw+9+9zsMHDhQtti8hcmYXNy9exdWqxUajcbt57t27cIjjzyCSZMmPfBcrVPRwsLCnPv+dXrb6dOnUVdXhz179nghcsBgMOC5557z+PgbN27gjTfewOLFizFt2rQ2n2dlZXFGxdesVisSEhLw/PPP47vf/a4irvfZZ5/hiSeewIIFC7Bq1Sro9XpcuHDB7X/hKZKv6ySkPEajUURGRgqLxeKyf+fOnQKAeO2115z7/vznP4t//vOfbc5x9uxZ0bt3b5GYmOiy/+7du0Kr1YoFCxaIfv36ie9+97vyfAkP/OQnPxGhoaHixo0bbj8fNWqUGDt2bPcGpQIARFFRkcu+O3fuiJdeekn0799fBAcHi+TkZHHkyBHZrieEEPPmzRP/+Z//6ZVr+AKTMbWxefNmAUAMHTpUrFixQqxZs0bMmDFDABBTpkxxubE3adIk0a9fP/GjH/1IbN++XWzZskUsWrRIBAUFicjISFFVVdXm/KNGjRKBgYGiR48e4tKlS9351dpVW1srgoKCxE9+8pN2+8yZM0f06tWryzca/Y275Lhw4UIxceJEUVZWJmpqasTatWuFTqcTf/vb32S5nt1uFyEhIWL16tVi+vTpol+/fiI5Odlt0lYqJmNy63e/+514/PHHhV6vF7169RKJiYniZz/7mWhubnbpt3fvXjF//nwRExMjevfuLYKCgkRsbKxYunSpaGxsdHvup59+WgAQixcv7o6v0inPPfec0Gq14urVq+32ycvLEwC8klD8yf3J8cqVKyIwMLDNb/nkk0+K/Px8r19PCCHq6+sFABEcHCzWr18vzpw5I0wmk9BoNKK0tLTL1+wOTMZE1CX3J8f9+/cLAKJ3794urUePHuLpp58WQghx8eJF5xTI9tqyZcs6dT0hhLh69aoAIObPn++yf/bs2eKZZ57x6veVC2/gEZFX3bp1C4GBgaioqEBgYKDLZyEhIQCAxx57zO1j8f/q0Ucf7fQ1+/btix49ejhvELeKjY3FsWPHOn0eX2IyJiKvSkxMhN1uR2NjI/7t3/7NbR+tVosRI0Z47ZparRbjx49vM3/8b3/7GwYNGuS168iJyZiIJLt16xZqamqc25cvX0ZlZSXCw8MxbNgwPPvss8jMzMS6deuQmJiIa9euoaSkBPHx8R7NKe/oeq1ziJcuXYp58+Zh8uTJmDp1Kg4ePIg//OEPKC0t7fL37Ra+rpMQkfocOXLEbZ03KytLCHHvsfkVK1aIwYMHi549e4qoqCjxne98R5w7d06W67XasWOHiImJEUFBQSIhIUHs27evi9+0+8j2Drzr16/jhRdewB/+8AcEBATge9/7HjZt2uSsGbmTmpqKo0ePuuz7/ve/j23btskRIhGRYsiWjGfOnIn6+nps374dLS0tyM7Oxvjx41FYWNjuMampqRg2bBhWr17t3BccHOxcF4CIyF/JUjO+ePEiDh48iL/85S8YN24cAODtt9/GU089hbfeesu52Lg7wcHBMBgMcoRFRKRYsiTj8vJy9OnTx5mIASAtLQ0BAQH49NNP8Z3vfKfdY3/zm9/g17/+NQwGA2bPno3XXnvNuW6uOzabDTabzbntcDhw/fp1PProo+2ur0BE3U8Iga+++gr9+/f3eIW+O3fuoLm52aNjtVqtotepkCUZm81mREREuF6oRw+Eh4fDbDa3e9x//Md/YNCgQejfvz/OnTuHZcuWobq6Gnv37m33GJPJ5Hz7MBEpX11dncsLZzvrzp07GDIoBObG9t8u3hGDwYDLly8rNiFLSsbLly/Hm2++2WGfB03k7sjixYud/3v06NGIiorCk08+ic8++wzf+ta33B6Tn5+PvLw857bFYsHAgQMx/PkVCNQq80dXok/y3vV1CKoz48fP+ToEVbnbcgcVf/opQkNDPTq+ubkZ5kY7LlcMgj5U2si66SsHhiRdQXNzs38k45deeumBSxQ+9thjMBgMzsXDW929exfXr1+XVA9uXTO3pqam3WSs0+ncvjU4UBuEQJ0yf3QlkvqHm4AePfnnyxNdLR/qQwP88s+rpGTcr18/9OvX74H9UlJScPPmTVRUVCApKQkAcPjwYTgcjnYXJXensrISQPsLgRPRw8cuHLBLnANmFw55gvEiWf55iY2NxYwZM7Bo0SKcPHkSn3zyCXJzc/HMM884Z1JcvXoVI0aMwMmTJwHcWxh6zZo1qKiowOeff47f//73yMzMxOTJk33ymnYiUiYHhEdN6WR7HPo3v/kNcnNz8eSTTzof+vjv//5v5+ctLS2orq52vh9Nq9Xi448/xsaNG2G1WmE0GvG9730Pr776qlwhEpEKOeCA1HGu9CO6n2zJODw8vMMHPAYPHox/fd7EaDS2efqOiOh+diFgl/ismtT+vsCFgohIVTwpO6ihTOF/tySJiFSII2MiUhUHBOx+ODJmMiYiVfHXMgWTMRGpCm/gEREpgOPrJvUYpeMNPCIiBeDImIhUxe7BDTyp/X2ByZiIVMUu4MHaFPLE4k1MxkSkKv5aM2YyJiJVcUADO6Qtw+mQ2N8XmIyJSFUc4l6TeozScTYFEZECcGRMRKpi96BMIbW/LzAZE5GqMBkTESmAQ2jgEBJv4Ens7wtMxkSkKhwZExEpgB0BsEuce2CXKRZv4mwKIiIF4MiYiFRFeFAzFqwZExF5l7/WjFmmICJVsYsAj5oUW7duRXx8PPR6PfR6PVJSUvDHP/5Rpm90D0fGRKQqDmjgkDiOlPrapejoaLzxxhsYOnQohBB4//33MWfOHJw5cwYjR46UdK7OYjImIlXpjjLF7NmzXbZff/11bN26FSdOnGAyJiLqqqamJpdtnU4HnU7X4TF2ux179uyB1WpFSkqKbLGxZkxEqtKVmrHRaERYWJizmUymdq9z/vx5hISEQKfT4Qc/+AGKiooQFxcn2/fiyJiIVOVezdiz9Yzr6uqg1+ud+zsaFQ8fPhyVlZWwWCz44IMPkJWVhaNHj8qWkGUfGW/ZsgWDBw9GUFAQJkyYgJMnT3bYf8+ePRgxYgSCgoIwevRofPTRR3KHSEQq4vj6CTwprfWGX+vsiNbWUTLWarWIiYlBUlISTCYTEhISsGnTJtm+l6zJePfu3cjLy8PKlStx+vRpJCQkID09HY2NjW77Hz9+HPPnz8eCBQtw5swZZGRkICMjA1VVVXKGSUQq0h1T29xxOByw2Wxe+AbuyZqM169fj0WLFiE7OxtxcXHYtm0bgoODsXPnTrf9N23ahBkzZmDp0qWIjY3FmjVrMHbsWGzevFnOMIlIRRxfj3SlNiny8/NRVlaGzz//HOfPn0d+fj5KS0vx7LPPyvStZEzGzc3NqKioQFpa2jcXCwhAWloaysvL3R5TXl7u0h8A0tPT2+1PRCSHxsZGZGZmYvjw4XjyySfxl7/8BYcOHcK0adNku6ZsN/C+/PJL2O12REZGuuyPjIzEpUuX3B5jNpvd9jebze1ex2azufynw/1TV4jIv9iFBnaJa01I7b9jxw5J/b1B9VPbTCaTy1QVo9Ho65CISEZSb955suSmL8gWYd++fREYGIiGhgaX/Q0NDTAYDG6PMRgMkvoD92o7FovF2erq6roePBEplkMEeNSUTrYItVotkpKSUFJS4tzncDhQUlLS7lMsKSkpLv0BoLi4uMOnXnQ6XZvpKkTkv/x1ZCzrQx95eXnIysrCuHHjkJycjI0bN8JqtSI7OxsAkJmZiQEDBjifgnnxxRcxZcoUrFu3DrNmzcKuXbtw6tQpvPPOO3KGSUQq4oD0GrBDnlC8StZkPG/ePFy7dg0rVqyA2WzGmDFjcPDgQedNutraWgQEfPMv1sSJE1FYWIhXX30Vr7zyCoYOHYp9+/Zh1KhRcoZJRORzsj8OnZubi9zcXLeflZaWttk3d+5czJ07V+aoiEitPJk3LLW/L3BtCiJSFU+eqPPGE3hyYzImIlXpykJBSsZkTESqwpExEZECeDJVTQ1T25QfIRHRQ4AjYyJSFYfQwCF1nrHE/r7AZExEquLwoEzBqW1ERF7myVoTalibgsmYiFTFDg3sEqeqSe3vC0zGRKQq/joyVn6EREQPAY6MiUhV7JBedrDLE4pXMRkTkar4a5mCyZiIVIWPQxMRKYDwYKEgwdkURETe5a8jY+VHSET0EODImIhUhWtTEBEpgL8uoclkTESqwpExEZEC8IWkREQKYBca2CWOdKX29wXl/3NBRPQQ4MiYiFSFNWMiIgUQHqxNIVTw0AeTMRGpCheXJyJSAIeQXnZwCJmC8SImYyJSFX9dQlP2CLds2YLBgwcjKCgIEyZMwMmTJ9vtW1BQAI1G49KCgoLkDpGIyOdkTca7d+9GXl4eVq5cidOnTyMhIQHp6elobGxs9xi9Xo/6+npnu3LlipwhEpHKOL5eQlNqUzpZk/H69euxaNEiZGdnIy4uDtu2bUNwcDB27tzZ7jEajQYGg8HZIiMj5QyRiFSm9aEPqU3pZEvGzc3NqKioQFpa2jcXCwhAWloaysvL2z3u1q1bGDRoEIxGI+bMmYMLFy50eB2bzYampiaXRkT+q7VmLLUpnWw38L788kvY7fY2I9vIyEhcunTJ7THDhw/Hzp07ER8fD4vFgrfeegsTJ07EhQsXEB0d7fYYk8mEVatWtdkfse1T9ND07PoXeUhMvrLY1yGozj/ieP9bCrutB3Cg6+dxwIOHPh72MoVUKSkpyMzMxJgxYzBlyhTs3bsX/fr1w/bt29s9Jj8/HxaLxdnq6uq6MWIi6m7Cg3rxQ/3apb59+yIwMBANDQ0u+xsaGmAwGDp1jp49eyIxMRE1NTXt9tHpdNDpdF2KlYjI12QbGWu1WiQlJaGkpMS5z+FwoKSkBCkpKZ06h91ux/nz5xEVFSVXmESkMq1rU0htSidr0SsvLw9ZWVkYN24ckpOTsXHjRlitVmRnZwMAMjMzMWDAAJhMJgDA6tWr8fjjjyMmJgY3b97E2rVrceXKFSxcuFDOMIlIRfz1oQ9Zk/G8efNw7do1rFixAmazGWPGjMHBgwedN/Vqa2sREPDNj3Tjxg0sWrQIZrMZjzzyCJKSknD8+HHExcXJGSYRqQhXbfNQbm4ucnNz3X5WWlrqsr1hwwZs2LBB7pCISMU8eYhDDbMpODeHiFTFX0fGyi+kEBE9BDgyJiJV8deRMZMxEakKkzERkQIwGRMRKYCA9NkRKnjRB2/gEREpAUfGRKQqLFMQESkAkzERkQIwGRMRKYC/JmPewCMiVRFC41GTwmQyYfz48QgNDUVERAQyMjJQXV0t0ze6h8mYiOg+R48eRU5ODk6cOIHi4mK0tLRg+vTpsFqtsl2TZQoiUpXuWLXt4MGDLtsFBQWIiIhARUUFJk+eLOlcncVkTESq0pWa8f1vj+/sa9ssFgsAIDw8XNJ1pWCZgohUpSs1Y6PRiLCwMGdrfctQRxwOB5YsWYJJkyZh1KhRsn0vjoyJSFW6MjKuq6uDXq937u/MqDgnJwdVVVU4duyYtEAlYjImIlXxZHZEa3+9Xu+SjB8kNzcX+/fvR1lZGaKjoyVdUyomYyKi+wgh8MILL6CoqAilpaUYMmSI7NdkMiYiVREelCmkjqRzcnJQWFiIDz/8EKGhoTCbzQCAsLAw9OrVS9K5Oos38IhIVQQAISQ2idfYunUrLBYLUlNTERUV5Wy7d++W4ysB4MiYiFTGAQ00Ms8zFqL7V0BmMiYiVenKDTwlYzImIlVxCA00XCiIiIjkwJExEalK6005qccoHZMxEamKv9aMZS1TlJWVYfbs2ejfvz80Gg327dv3wGNKS0sxduxY6HQ6xMTEoKCgQM4QiUhlumM9Y1+QNRlbrVYkJCRgy5Ytnep/+fJlzJo1C1OnTkVlZSWWLFmChQsX4tChQ3KGSUQq0ro2hdSmdLKWKWbOnImZM2d2uv+2bdswZMgQrFu3DgAQGxuLY8eOYcOGDUhPT5crTCJSEX+tGStqNkV5eTnS0tJc9qWnp6O8vNxHERERdQ9F3cAzm82IjIx02RcZGYmmpibcvn3b7TPhNpsNNpvNuX3/4tFE5F/ujYyl3sCTKRgvUtTI2BMmk8llsWij0ejrkIhIRryB1w0MBgMaGhpc9jU0NECv17e7UlJ+fj4sFouz1dXVdUeoROQjwsOmdIoqU6SkpOCjjz5y2VdcXIyUlJR2j+nsO6yIyD9wnrEHbt26hcrKSlRWVgK4N3WtsrIStbW1AO6NajMzM539f/CDH+B///d/8fLLL+PSpUv4+c9/jv/5n//Bj3/8YznDJCI18dOhsazJ+NSpU0hMTERiYiIAIC8vD4mJiVixYgUAoL6+3pmYAWDIkCE4cOAAiouLkZCQgHXr1uHdd9/ltDYi8nuylilSU1M7XBfU3dN1qampOHPmjIxREZGqeXJDTgVlCkXVjImIHsRfH/pgMiYiVfHXG3hMxkSkLkIjvezAZExE5F3+WqZQ1EMfREQPK46MiUhdPJk3rIKRMZMxEakKb+ARESmFCka6UjEZE5GqcGRMRKQEfloz5mwKIiIF4MiYiFRG83WTeoyyMRkTkbr4aZmCyZiI1IXJmIhIAbg2BRGR73FtCiIikg1HxkSkLqwZExEpAGvGRES+pxH3mtRjlI7JmIjUhWUKIiIF8NMyBWdTEBEpAEfGRKQuLFMQESkAkzERkQIwGRMRKYCf3sBjMiYiVfHXecayzqYoKyvD7Nmz0b9/f2g0Guzbt6/D/qWlpdBoNG2a2WyWM0wiIp+TNRlbrVYkJCRgy5Ytko6rrq5GfX29s0VERMgUIRGpjvCwKZysZYqZM2di5syZko+LiIhAnz59vB8QEZFCKfKhjzFjxiAqKgrTpk3DJ5980mFfm82GpqYml0ZE/kuDb+rGnW6+DroTFHUDLyoqCtu2bcO4ceNgs9nw7rvvIjU1FZ9++inGjh3r9hiTyYRVq1a12X/5/yUjIChI7pD9hiPC5usQVGfEmzd9HYKq3LXb8HdvnIizKeQ3fPhwDB8+3Lk9ceJEfPbZZ9iwYQN+9atfuT0mPz8feXl5zu2mpiYYjUbZYyUiH+E8Y99ITk7GsWPH2v1cp9NBp9N1Y0RERN6n+GRcWVmJqKgoX4dBRErBkbF0t27dQk1NjXP78uXLqKysRHh4OAYOHIj8/HxcvXoVv/zlLwEAGzduxJAhQzBy5EjcuXMH7777Lg4fPow//elPcoZJRCrirw99yJqMT506halTpzq3W2u7WVlZKCgoQH19PWpra52fNzc346WXXsLVq1cRHByM+Ph4fPzxxy7nIKKHHEfG0qWmpkJ08I7sgoICl+2XX34ZL7/8spwhEZHaMRkTEfmev5YpFPnQBxGRL0ldV8cbmIyJSF1aH/qQ2iTwdF2drmCZgojUpRtqxp6uq9MVTMZEpCpdqRnfv3aNkh4aY5mCiNSlC0toGo1GhIWFOZvJZOr28NvDkTERPTTq6uqg1+ud20oZFQNMxkSkNh6UKVpHxnq93iUZKwmTMRGpCx/6ICJSgG5Ixg9aV0cOTMZEpCrd8QTeg9bVkQOTMRHRfR60ro4cOLWNiEgBODImInXhDTwiIt/z11XbmIyJSH1UkFylYjImInVhmYKIyPf8tUzB2RRERArAkTERqQvLFEREvuevZQomYyJSF46MiYgUgMmYiMj3/LVMwdkUREQKwJExEakLyxRERArgp8lY1jKFyWTC+PHjERoaioiICGRkZKC6uvqBx+3ZswcjRoxAUFAQRo8ejY8++kjOMIlIRVprxlKb0smajI8ePYqcnBycOHECxcXFaGlpwfTp02G1Wts95vjx45g/fz4WLFiAM2fOICMjAxkZGaiqqpIzVCJSC+FhUzhZyxQHDx502S4oKEBERAQqKiowefJkt8ds2rQJM2bMwNKlSwEAa9asQXFxMTZv3oxt27bJGS4RqQBnU3iBxWIBAISHh7fbp7y8HGlpaS770tPTUV5eLmtsRES+1G038BwOB5YsWYJJkyZh1KhR7fYzm82IjIx02RcZGQmz2ey2v81mg81mc243NTV5J2AiUibewOuanJwcVFVVYdeuXV49r8lkQlhYmLMZjUavnp+IFMZPa8bdkoxzc3Oxf/9+HDlyBNHR0R32NRgMaGhocNnX0NAAg8Hgtn9+fj4sFouz1dXVeS1uIlIejYdN6WRNxkII5ObmoqioCIcPH8aQIUMeeExKSgpKSkpc9hUXFyMlJcVtf51OB71e79KIyI/56chY1ppxTk4OCgsL8eGHHyI0NNRZ9w0LC0OvXr0AAJmZmRgwYABMJhMA4MUXX8SUKVOwbt06zJo1C7t27cKpU6fwzjvvyBkqEakEZ1N4YOvWrbBYLEhNTUVUVJSz7d6929mntrYW9fX1zu2JEyeisLAQ77zzDhISEvDBBx9g3759Hd70IyJSO1lHxkI8+J+j0tLSNvvmzp2LuXPnyhAREamen86m4NoURKQ+KkiuUjEZE5Gq+GvNmMmYiNSFZQoiIt/z15Ex3/RBRKQAHBkTkbqwTEFE5Hv+WqZgMiYideHImIhIAZiMiYh8z1/LFJxNQUSkABwZE5G6sExBROR7GiGg6cQiZPcfo3RMxkSkLhwZExH5nr/ewGMyJiJ18dORMWdTEBEpAEfGRKQqLFMQESmBn5YpmIyJSFU4MiYiUgKOjImIlEENI12pOJuCiEgBODImInUR4l6TeozCMRkTkarwBh4RkRLwBh4Rke9pHPea1GOUjsmYiNTFT0fGss6mMJlMGD9+PEJDQxEREYGMjAxUV1d3eExBQQE0Go1LCwoKkjNMIiKfkzUZHz16FDk5OThx4gSKi4vR0tKC6dOnw2q1dnicXq9HfX29s125ckXOMIlIRVpv4EltSidrmeLgwYMu2wUFBYiIiEBFRQUmT57c7nEajQYGg0HO0IhIrbpxatuWLVuwdu1amM1mJCQk4O2330ZycrJH53qQbn3ow2KxAADCw8M77Hfr1i0MGjQIRqMRc+bMwYULF9rta7PZ0NTU5NKIyH9118h49+7dyMvLw8qVK3H69GkkJCQgPT0djY2N3v9S6MYbeA6HA0uWLMGkSZMwatSodvsNHz4cO3fuRHx8PCwWC9566y1MnDgRFy5cQHR0dJv+JpMJq1atarPfUG5Hj552r34Hf2aN1Pk6BNW5E80HWKW4e/cOcMkLJ+qmG3jr16/HokWLkJ2dDQDYtm0bDhw4gJ07d2L58uXST/gA3fanKScnB1VVVdi1a1eH/VJSUpCZmYkxY8ZgypQp2Lt3L/r164ft27e77Z+fnw+LxeJsdXV1coRPRArRHSPj5uZmVFRUIC0tzbkvICAAaWlpKC8v9/I3uqdbRsa5ubnYv38/ysrK3I5uO9KzZ08kJiaipqbG7ec6nQ46HUd1RPRg95cx28sfX375Jex2OyIjI132R0ZG4tIlbwzv25J1ZCyEQG5uLoqKinD48GEMGTJE8jnsdjvOnz+PqKgoGSIkItVpvYEntQEwGo0ICwtzNpPJ5OMv8w1ZR8Y5OTkoLCzEhx9+iNDQUJjNZgBAWFgYevXqBQDIzMzEgAEDnD/K6tWr8fjjjyMmJgY3b97E2rVrceXKFSxcuFDOUIlIJbqyNkVdXR30er1zf3v/Vd23b18EBgaioaHBZX9DQ4NsM71kHRlv3boVFosFqampiIqKcrbdu3c7+9TW1qK+vt65fePGDSxatAixsbF46qmn0NTUhOPHjyMuLk7OUIlILYSHDfeeYfjX1l4y1mq1SEpKQklJiXOfw+FASUkJUlJSZPlaso6MRSfm9pWWlrpsb9iwARs2bJApIiJSu+5atS0vLw9ZWVkYN24ckpOTsXHjRlitVufsCm/j2hREpC4Oca9JPUaiefPm4dq1a1ixYgXMZjPGjBmDgwcPtrmp5y1MxkRE7cjNzUVubm63XIvJmIjUxU9XbWMyJiJV0cCDmrEskXgXkzERqQvfgUdE5Hv++g48rnRCRKQAHBkTkbrwBh4Rke9phIBGYg1Yan9fYDImInVxfN2kHqNwTMZEpCocGRMRKYGf1ow5m4KISAE4MiYideFDH0REvuevD30wGRORunBkTETkexrHvSb1GKVjMiYidfHTkTFnUxARKQBHxkSkLn46z5jJmIhUhU/gEREpgZ/WjJmMiUhdBKQv/KP8XMxkTETq4q9lCs6mICJSAI6MiUhdBDyoGcsSiVcxGRORuvjpDTxZyxRbt25FfHw89Ho99Ho9UlJS8Mc//rHDY/bs2YMRI0YgKCgIo0ePxkcffSRniESkNg4Pm8LJmoyjo6PxxhtvoKKiAqdOncK3v/1tzJkzBxcuXHDb//jx45g/fz4WLFiAM2fOICMjAxkZGaiqqpIzTCJSkdYbeFKb0smajGfPno2nnnoKQ4cOxbBhw/D6668jJCQEJ06ccNt/06ZNmDFjBpYuXYrY2FisWbMGY8eOxebNm+UMk4jUpLVMIbUpXLfNprDb7di1axesVitSUlLc9ikvL0daWprLvvT0dJSXl3dHiEREPiP7Dbzz588jJSUFd+7cQUhICIqKihAXF+e2r9lsRmRkpMu+yMhImM3mds9vs9lgs9mc201NTd4JnIiUiTfwPDN8+HBUVlbi008/xQ9/+ENkZWXhr3/9q9fObzKZEBYW5mxGo9Fr5yYiBWKZwjNarRYxMTFISkqCyWRCQkICNm3a5LavwWBAQ0ODy76GhgYYDIZ2z5+fnw+LxeJsdXV1Xo2fiBSGsym8w+FwuJQV/lVKSgpKSkpc9hUXF7dbYwYAnU7nnDrX2ojIf/nrbApZa8b5+fmYOXMmBg4ciK+++gqFhYUoLS3FoUOHAACZmZkYMGAATCYTAODFF1/ElClTsG7dOsyaNQu7du3CqVOn8M4778gZJhGpiZ/WjGVNxo2NjcjMzER9fT3CwsIQHx+PQ4cOYdq0aQCA2tpaBAR8MzifOHEiCgsL8eqrr+KVV17B0KFDsW/fPowaNUrOMImIfE7WZLxjx44OPy8tLW2zb+7cuZg7d65MERGR6jkEoJE40nU85CNjIiKvY5mCiEgJPJmqxmRMRORdHBkTESmAw4PXQ6ugZsw3fRARKQBHxkSkLsJxr0k9RuGYjIlIXVgzJiJSAD+tGTMZE5G6cGRMRKQAfvp2aM6mICJSAI6MiUhdWKYgIlIAhwerxTs4tY2IyLs4MiYiUgAmYyIiBfDTecacTUFEpAAcGRORqgjhgJC41oTU/r7AZExE6iKE9LIDa8ZERF4mPKgZMxkTEXmZwwFo/G8JTd7AIyJ1aZ3aJrXJ5PXXX8fEiRMRHByMPn36eHweJmMioi5obm7G3Llz8cMf/rBL52GZgohURTgcEBLLFHLOpli1ahUAoKCgoEvnYTImInXpwg28pqYml906nQ46nc5LgXUNyxREpC4O4VkDYDQaERYW5mwmk8nHX+YbHBkTkboIAcmrtn09Mq6rq4Ner3fubm9UvHz5crz55psdnvLixYsYMWKEtDg6wGRMRKoiHAJCI61MIb5Oxnq93iUZt+ell17Cc88912Gfxx57TFIMDyJrMt66dSu2bt2Kzz//HAAwcuRIrFixAjNnznTbv6CgANnZ2S77dDod7ty5I2eYREQu+vXrh379+nXrNWVNxtHR0XjjjTcwdOhQCCHw/vvvY86cOThz5gxGjhzp9hi9Xo/q6mrntkajkTNEIlIb4cHi8jLOpqitrcX169dRW1sLu92OyspKAEBMTAxCQkI6fR5Zk/Hs2bNdtl9//XVs3boVJ06caDcZazQaGAwGOcMiIhXrSplCDitWrMD777/v3E5MTAQAHDlyBKmpqZ0+T7fVjO12O/bs2QOr1YqUlJR2+926dQuDBg2Cw+HA2LFj8dOf/rTdxA0ANpsNNpvNuW2xWAAAd1tY2pDC3hzo6xBU5+7dFl+HoCp37977O9nVxHhX2CSPdO9Cvv+vCgoKujzHGAAgZHbu3DnRu3dvERgYKMLCwsSBAwfa7Xv8+HHx/vvvizNnzojS0lLx7//+70Kv14u6urp2j1m5cmXrpEM2NjYVtI7+Pnfk9u3bwmAweHxdg8Egbt++7dG1u4NGCHmXM2pubkZtbS0sFgs++OADvPvuuzh69Cji4uIeeGxLSwtiY2Mxf/58rFmzxm2f+0fGDocD169fx6OPPqq4enNTUxOMRmOb6TXUPv5m0in1NxNC4KuvvkL//v0REODZIw537txBc3OzR8dqtVoEBQV5dGx3kD0Z3y8tLQ3f+ta3sH379k71nzt3Lnr06IHf/va3Mkcmv6amJoSFhcFisSjqL4mS8TeTjr+ZOnX7E3gOh8NlJNsRu92O8+fPIyoqSuaoiIh8S9YbePn5+Zg5cyYGDhyIr776CoWFhSgtLcWhQ4cAAJmZmRgwYIDzkcTVq1fj8ccfR0xMDG7evIm1a9fiypUrWLhwoZxhEhH5nKzJuLGxEZmZmaivr0dYWBji4+Nx6NAhTJs2DcC9+Xn/Wju6ceMGFi1aBLPZjEceeQRJSUk4fvx4p+rLaqDT6bBy5UrFLEyiBvzNpONvpk7dXjMmIqK2uGobEZECMBkTESkAkzERkQIwGRMRKQCTcTfZsmULBg8ejKCgIEyYMAEnT570dUiKVlZWhtmzZ6N///7QaDTYt2+fr0NSNJPJhPHjxyM0NBQRERHIyMhwWf2QlI/JuBvs3r0beXl5WLlyJU6fPo2EhASkp6ejsbHR16EpltVqRUJCArZs2eLrUFTh6NGjyMnJwYkTJ1BcXIyWlhZMnz4dVqvV16FRJ3FqWzeYMGECxo8fj82bNwO49xSi0WjECy+8gOXLl/s4OuXTaDQoKipCRkaGr0NRjWvXriEiIgJHjx7F5MmTfR0OdQJHxjJrbm5GRUUF0tLSnPsCAgKQlpaG8vJyH0ZG/qx1Kdnw8HAfR0KdxWQssy+//BJ2ux2RkZEu+yMjI2E2m30UFfkzh8OBJUuWYNKkSRg1apSvw6FO4gtJifxMTk4OqqqqcOzYMV+HQhIwGcusb9++CAwMRENDg8v+hoYGvl6KvC43Nxf79+9HWVkZoqOjfR0OScAyhcy0Wi2SkpJQUlLi3OdwOFBSUtLh66eIpBBCIDc3F0VFRTh8+DCGDBni65BIIo6Mu0FeXh6ysrIwbtw4JCcnY+PGjbBarcjOzvZ1aIp169Yt1NTUOLcvX76MyspKhIeHY+DAgT6MTJlycnJQWFiIDz/8EKGhoc77EWFhYejVq5ePo6NO8dX7nh42b7/9thg4cKDQarUiOTlZnDhxwtchKdqRI0fcvscsKyvL16EpkrvfCoB47733fB0adRLnGRMRKQBrxkRECsBkTESkAEzGREQKwGRMRKQATMZERArAZExEpABMxkRECsBkTESkAEzGREQKwGRMRKQATMZERArAZExEpAD/H7ZdYbsL0kVKAAAAAElFTkSuQmCC",
"text/plain": [
"<Figure size 400x400 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"m=4; n=3\n",
"\n",
"A = np.random.rand(m*n).reshape(m,n)\n",
"\n",
"U, Sdiag, VT = np.linalg.svd(A, full_matrices=False)\n",
"print(\"Singular values are: \", Sdiag)\n",
"\n",
"S = np.diag(Sdiag)\n",
"plot_matrices([U, S, VT], titles=[r\"$U$\", r\"$S$\", r\"$V^T$\"])\n",
"\n",
"# U and V should be orthogonal\n",
"plot_matrices([U.transpose()@U,VT@VT.transpose()], titles=[r\"$U^TU$\",r\"$V^TV$\"])\n",
"plot_matrices([U@U.transpose(),VT.transpose()@VT], titles=[r\"$UU^T$\",r\"$VV^T$\"])\n",
"\n",
"# Check the reconstructed matrix\n",
"plot_matrices([U@S@VT - A], titles=[r\"$USV^T - A$\"])"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "d4a9ab62",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.5"
}
},
"nbformat": 4,
"nbformat_minor": 5
}