{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "\n", "import os\n", "import glob\n", "from pathlib import Path\n", "import numpy as np\n", "import pandas as pd\n", "import matplotlib as mpl\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\n", "sns.set_context('notebook', font_scale=1.5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Applications of Linear Alebra: PCA\n", "====\n", "\n", "We will explore 3 applications of linear algebra in data analysis - change of basis (for dimension reduction), projections (for solving linear systems) and the quadratic form (for optimization). The first application is the change of basis to the eigenvector basis that underlies Principal Components Analysis s(PCA).\n", "\n", "We will review the following in class:\n", "\n", "- The standard basis\n", "- Orthonormal basis and orthgonal matrices\n", "- Change of basis\n", "- Similar matrices\n", "- Eigendecomposition\n", "- Sample covariance\n", "- Covariance as a linear transform\n", "- PCA and dimension reduction\n", "- PCA and \"explained variance\"\n", "- SVD" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Variance and covariance\n", "----\n", "\n", "Remember the formula for covariance\n", "\n", "$$\n", "\\text{Cov}(X, Y) = \\frac{\\sum_{i=1}^n(X_i - \\bar{X})(Y_i - \\bar{Y})}{n-1}\n", "$$\n", "\n", "where $\\text{Cov}(X, X)$ is the sample variance of $X$." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "def cov(x, y):\n", " \"\"\"Returns covariance of vectors x and y).\"\"\"\n", " xbar = x.mean()\n", " ybar = y.mean()\n", " return np.sum((x - xbar)*(y - ybar))/(len(x) - 1)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "X = np.random.random(10)\n", "Y = np.random.random(10)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 0.0495287 , -0.00474943],\n", " [-0.00474943, 0.10057312]])" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.array([[cov(X, X), cov(X, Y)], [cov(Y, X), cov(Y,Y)]])" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 0.0495287 , -0.00474943],\n", " [-0.00474943, 0.10057312]])" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# This can of course be calculated using numpy's built in cov() function\n", "np.cov(X, Y)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 0.0495287 , -0.00474943, -0.00618675],\n", " [-0.00474943, 0.10057312, -0.01860316],\n", " [-0.00618675, -0.01860316, 0.05552326]])" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Extension to more variables is done in a pair-wise way\n", "Z = np.random.random(10)\n", "np.cov([X, Y, Z])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Eigendecomposition of the covariance matrix\n", "----" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "mu = [0,0]\n", "sigma = [[0.6,0.2],[0.2,0.2]]\n", "n = 1000\n", "x = np.random.multivariate_normal(mu, sigma, n).T" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "A = np.cov(x)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 1., -1.],\n", " [-1., 1.]])" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m = np.array([[1,2,3],[6,5,4]])\n", "ms = m - m.mean(1).reshape(2,1)\n", "np.dot(ms, ms.T)/2" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "e, v = np.linalg.eig(A)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.scatter(x[0,:], x[1,:], alpha=0.2)\n", "for e_, v_ in zip(e, v.T):\n", " plt.plot([0, 3*e_*v_[0]], [0, 3*e_*v_[1]], 'r-', lw=2)\n", "plt.axis([-3,3,-3,3])\n", "plt.title('Eigenvectors of covariance matrix scaled by eigenvalue.');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Covariance matrix as a linear transformation\n", "----\n", "\n", "The covariance matrix is a linear transformation that maps $\\mathbb{R}^n$ in the direction of its eigenvectors with scaling factor given by the eigenvalues. Here we see it applied to a collection of random vectors in the box bounded by [-1, 1]." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### We will assume we have a covariance matrix" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "covx = np.array([[1,0.6],[0.6,1]])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Create random vectors in a box" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "u = np.random.uniform(-1, 1, (100, 2)).T" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Apply covariance matrix as linear transformation" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "y = covx @ u" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "e1, v1 = np.linalg.eig(covx)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The linear transform maps the random vectors as described." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(u[0], u[1], c='blue')\n", "plt.scatter(y[0], y[1], c='orange')\n", "for e_, v_ in zip(e1, v1.T):\n", " plt.plot([0, e_*v_[0]], [0, e_*v_[1]], 'r-', lw=2)\n", "plt.xticks([])\n", "plt.yticks([])\n", "pass" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "PCA\n", "----\n", "\n", "Principal Components Analysis (PCA) basically means to find and rank all the eigenvalues and eigenvectors of a covariance matrix. This is useful because high-dimensional data (with $p$ features) may have nearly all their variation in a small number of dimensions $k$, i.e. in the subspace spanned by the eigenvectors of the covariance matrix that have the $k$ largest eigenvalues. If we project the original data into this subspace, we can have a dimension reduction (from $p$ to $k$) with hopefully little loss of information.\n", "\n", "Numerically, PCA is typically done using SVD on the data matrix rather than eigendecomposition on the covariance matrix. The next section explains why this works." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Data matrices that have zero mean for all feature vectors\n", "\n", "\\begin{align}\n", "\\text{Cov}(X, Y) &= \\frac{\\sum_{i=1}^n(X_i - \\bar{X})(Y_i - \\bar{Y})}{n-1} \\\\\n", " &= \\frac{\\sum_{i=1}^nX_iY_i}{n-1} \\\\\n", " &= \\frac{XY^T}{n-1}\n", "\\end{align}\n", "\n", "and so the covariance matrix for a data set X that has zero mean in each feature vector is just $XX^T/(n-1)$. \n", "\n", "In other words, we can also get the eigendecomposition of the covariance matrix from the positive semi-definite matrix $XX^T$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Note that zeroing the feature vector does not affect the covariance matrix" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "np.set_printoptions(precision=3)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0.855, 0.667, 0.536, 0.461],\n", " [0.146, 0.353, 0.268, 0.189],\n", " [0.824, 0.852, 0.85 , 0.165],\n", " [0.246, 0.469, 0.454, 0.218],\n", " [0.423, 0.35 , 0.367, 0.064]])" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X = np.random.random((5,4))\n", "X" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "### Subtract the row mean from each row" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "Y = X - X.mean(1)[:, None]" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0.000e+00, 0.000e+00, -2.776e-17, 2.776e-17, 0.000e+00])" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Y.mean(1)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 0.225, 0.037, -0.094, -0.169],\n", " [-0.093, 0.114, 0.029, -0.05 ],\n", " [ 0.151, 0.179, 0.177, -0.508],\n", " [-0.101, 0.122, 0.107, -0.129],\n", " [ 0.122, 0.049, 0.066, -0.237]])" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Y" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "### Calculate the covariance" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 0.03 , -0.004, 0.037, -0.002, 0.021],\n", " [-0.004, 0.008, 0.012, 0.011, 0.003],\n", " [ 0.037, 0.012, 0.115, 0.03 , 0.053],\n", " [-0.002, 0.011, 0.03 , 0.018, 0.01 ],\n", " [ 0.021, 0.003, 0.053, 0.01 , 0.026]])" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.cov(X)" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 0.03 , -0.004, 0.037, -0.002, 0.021],\n", " [-0.004, 0.008, 0.012, 0.011, 0.003],\n", " [ 0.037, 0.012, 0.115, 0.03 , 0.053],\n", " [-0.002, 0.011, 0.03 , 0.018, 0.01 ],\n", " [ 0.021, 0.003, 0.053, 0.01 , 0.026]])" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.cov(Y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Eigendecomposition of the covariance matrix\n", "----" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "e1, v1 = np.linalg.eig(np.dot(x, x.T)/(n-1))" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.scatter(x[0,:], x[1,:], alpha=0.2)\n", "for e_, v_ in zip(e1, v1.T):\n", " plt.plot([0, 3*e_*v_[0]], [0, 3*e_*v_[1]], 'r-', lw=2)\n", "plt.axis([-3,3,-3,3]);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Change of basis via PCA\n", "----" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### We can transform the original data set so that the eigenvectors are the basis vectors and find the new coordinates of the data points with respect to this new basis\n", "\n", "This is the change of basis transformation covered in the Linear Alegebra module. First, note that the covariance matrix is a real symmetric matrix, and so the eigenvector matrix is an orthogonal matrix. " ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1., 0.],\n", " [0., 1.]])" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e, v = np.linalg.eig(np.cov(x))\n", "v.dot(v.T)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Linear algebra review for change of basis" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Graphical illustration of change of basis\n", "----\n", "\n", "![Commuative diagram](../data/spectral.png)\n", "\n", "Suppose we have a vector $u$ in the standard basis $B$ , and a matrix $A$ that maps $u$ to $v$, also in $B$. We can use the eigenvalues of $A$ to form a new basis $B'$. As explained above, to bring a vector $u$ from $B$-space to a vector $u'$ in $B'$-space, we multiply it by $Q^{-1}$, the inverse of the matrix having the eigenvctors as column vectors. Now, in the eigenvector basis, the equivalent operation to $A$ is the diagonal matrix $\\Lambda$ - this takes $u'$ to $v'$. Finally, we convert $v'$ back to a vector $v$ in the standard basis by multiplying with $Q$." ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "ys = np.dot(v1.T, x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Principal components\n", "\n", "Principal components are simply the eigenvectors of the covariance matrix used as basis vectors. Each of the original data points is expressed as a linear combination of the principal components, giving rise to a new set of coordinates. " ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.scatter(ys[0,:], ys[1,:], alpha=0.2)\n", "for e_, v_ in zip(e1, np.eye(2)):\n", " plt.plot([0, 3*e_*v_[0]], [0, 3*e_*v_[1]], 'r-', lw=2)\n", "plt.axis([-3,3,-3,3]);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For example, if we only use the first column of `ys`, we will have the projection of the data onto the first principal component, capturing the majority of the variance in the data with a single feature that is a linear combination of the original features." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Transform back to original coordinates\n", "\n", "We may need to transform the (reduced) data set to the original feature coordinates for interpretation. This is simply another linear transform (matrix multiplication)." ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [], "source": [ "zs = np.dot(v1, ys)" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.scatter(zs[0,:], zs[1,:], alpha=0.2)\n", "for e_, v_ in zip(e1, v1.T):\n", " plt.plot([0, 3*e_*v_[0]], [0, 3*e_*v_[1]], 'r-', lw=2)\n", "plt.axis([-3,3,-3,3]);" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1.00e+00, 1.11e-16],\n", " [1.11e-16, 1.00e+00]])" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "u, s, v = np.linalg.svd(x)\n", "u.dot(u.T)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Dimension reduction via PCA\n", "----\n", "\n", "We have the sepctral decomposition of the covariance matrix\n", "\n", "$$\n", "A = Q^{-1}\\Lambda Q\n", "$$\n", "\n", "Suppose $\\Lambda$ is a rank $p$ matrix. To reduce the dimensionality to $k \\le p$, we simply set all but the first $k$ values of the diagonal of $\\Lambda$ to zero. This is equivalent to ignoring all except the first $k$ principal components.\n", "\n", "What does this achieve? Recall that $A$ is a covariance matrix, and the trace of the matrix is the overall variability, since it is the sum of the variances." ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0.578, 0.199],\n", " [0.199, 0.212]])" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.7895579305747163" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A.trace()" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0.665, 0. ],\n", " [0. , 0.124]])" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e, v = np.linalg.eig(A)\n", "D = np.diag(e)\n", "D" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.7895579305747163" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "D.trace()" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.8424777390334711" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "D[0,0]/D.trace()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since the trace is invariant under change of basis, the total variability is also unchanged by PCA. By keeping only the first $k$ principal components, we can still \"explain\" $\\sum_{i=1}^k e[i]/\\sum{e}$ of the total variability. Sometimes, the degree of dimension reduction is specified as keeping enough principal components so that (say) $90\\%$ of the total variability is explained." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Using Singular Value Decomposition (SVD) for PCA\n", "\n", "SVD is a decomposition of the data matrix $X = U S V^T$ where $U$ and $V$ are orthogonal matrices and $S$ is a diagnonal matrix. \n", "\n", "Recall that the transpose of an orthogonal matrix is also its inverse, so if we multiply on the right by $X^T$, we get the follwoing simplification\n", "\n", "\\begin{align}\n", "X &= U S V^T \\\\\n", "X X^T &= U S V^T (U S V^T)^T \\\\\n", " &= U S V^T V S U^T \\\\\n", " &= U S^2 U^T\n", "\\end{align}\n", "\n", "Compare with the eigendecomposition of a matrix $A = W \\Lambda W^{-1}$, we see that SVD gives us the eigendecomposition of the matrix $XX^T$, which as we have just seen, is basically a scaled version of the covariance for a data matrix with zero mean, with the eigenvectors given by $U$ and eigenvealuse by $S^2$ (scaled by $n-1$)..\n" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [], "source": [ "u, s, v = np.linalg.svd(x)" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "e2 = s**2/(n-1)\n", "v2 = u\n", "plt.scatter(x[0,:], x[1,:], alpha=0.2)\n", "for e_, v_ in zip(e2, v2):\n", " plt.plot([0, 3*e_*v_[0]], [0, 3*e_*v_[1]], 'r-', lw=2)\n", "plt.axis([-3,3,-3,3]);" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 0.916, -0.402],\n", " [ 0.402, 0.916]])" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v1 # from eigenvectors of covariance matrix" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[-0.916, -0.402],\n", " [-0.402, 0.916]])" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v2 # from SVD" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.665, 0.125])" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e1 # from eigenvalues of covariance matrix" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.665, 0.125])" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e2 # from SVD" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(3, 100)" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a0 = np.random.normal(0,1,100)\n", "a1 = a0 + np.random.normal(0,3,100)\n", "a2 = 2*a0 + a1 + np.random.normal(5,0.01,100)\n", "xs = np.vstack([a0, a1, a2])\n", "xs.shape" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [], "source": [ "C = np.cov(xs)" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 1.069, 1.632, 3.77 ],\n", " [ 1.632, 10.081, 13.345],\n", " [ 3.77 , 13.345, 20.884]])" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "C" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [], "source": [ "e, v = np.linalg.eig(C)" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[-0.136, -0.816, 0.561],\n", " [-0.551, -0.408, -0.728],\n", " [-0.823, 0.408, 0.394]])" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [], "source": [ "U, s, V = np.linalg.svd(xs)" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([51.845, 5.777, 0.684])" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(s**2)/(99)" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[-0.085, 0.062, 0.994],\n", " [-0.307, 0.948, -0.086],\n", " [-0.948, -0.313, -0.061]])" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "U" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.95, 0. , 0.05])" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.round(e/e.sum(), 4)" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [], "source": [ "ys = np.linalg.inv(v).dot(xs)" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.scatter(ys[0,:], ys[2,:])\n", "pass" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(3, 100)" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "zs = v[:, [0,2]].dot(ys[[0,2],:])\n", "zs.shape" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[-0.136, 0.561],\n", " [-0.551, -0.728],\n", " [-0.823, 0.394]])" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v[:, [0,2]]" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtMAAAEGCAYAAACn7xkwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzt3X+QHOV5J/Dvs6sxrHCFBSwX8cq25LiCMCiWIpOQkilbnAN1ocAbiQSTOI5TFV/d5Zw76Vwy6xyxhAtb6+hc6FLJJfFV6qAClVMAswHLtpKzREx0JccoKwziJCe2gDCGO4y0JEgLrKTn/phpqaen3/75dvfb3d9P1dbCzOzMu6t+up9+3+d9X1FVEBERERFReiNVN4CIiIiIqK6YTBMRERERZcRkmoiIiIgoIybTREREREQZMZkmIiIiIsqIyTQRERERUUZMpomIiIiIMmIyTURERESUEZNpIiIiIqKMmEwTEREREWXEZJqIiIiIKKNFaX9ARJYC2AxgDYBVAC4AsE5VHw157a8AuA3AZQB+BOBeAFtV9bUUn3cegKsAvADgdNr2EjXQKIAfB/AdVX296sb4MV6JhjgbrwBjlihE6phNnUwDeDeAWwH8PYBvArgp7EUi8lEAfwbgjwBsBHA5gC8CWAbgIyk+7yoAj2VoJ1HTXQPgb6tuRADjlSici/EKMGaJTBLHbJZk+luq+lYAEJFJhCTTIjIKYDuAh1X1t/oP7xWRBQBfFpG7VPXbCT/vBQB47LHHsHTp0gzNJWqW559/Htdccw3Qjw3HMF6JfByPV4AxSzQgS8ymTqZV9UyCl10N4FIA9wQevw/AHwLYACBpMn0aAJYuXYply5Yl/BGiVnBxSJbxShTOxXgFGLNEJoljtqgJiFf2vz/lf1BVTwL4vu95IiIiIqLaylLmkcQl/e/HQp475nt+gIiMAxgPPMxxJyIiIiJyUlHJtEdTPr4RwJaC2kJEREREZFVRZR4v97+H9UBfjPAeawDYAWB54Osa660jIiIiIrKgqJ7pQ/3vVwL4nvegiCwG8BMAHgn7IVWdAzDnf0xECmoiUbyZ2S627z6CH87N423jY9h8/WUAMPTY5OqJiltKRGHCYpjxStQ+RZ4Likqm9wN4EcCvAfiK7/FbAXQCjxE5aWa2i8985UnML/Qm9Hbn5rH5gScABRbO6NnHPvOVJwGAF2gix4TFMOOVqH2KPhdkSqZF5Ob+f17V//4BEXkLgBOq+nVVPSUiUwDuFpE/APAAzm3a8oCq7s/bcKKibd995GzgeRZOD5f7zy+cxvbdR3hxJqpYsOfpxOunhmKY8UrUPlsfPlTouSBrz/T9gf/f2v/+LHo7HEJV7xGR0+htJ/4J9LYT/2NwgiHVxA/n5gt5LRHZF9bzZMJ4JWqPmdku5uYXQp+zdS7IlEyraqJCZlW9F8C9WT6DqGpvGx+LvCAHX0tE1QkbSTJhvBK1x/bdR4zP2ToXFLWaB1Htbb7+Mox1Rgce64wKOiOD95JjndGzExOJqBpJe5gYr0TtEnVusHUuYDJNZDC5egLb1q/ExPgYBMDE+Bi23/xebP+l9w48tm39StZfElXM1MN00eIO45WoxaLODa6v5kHUCJOrJ0KDjRdjIrdsvv6ygZppoNcLveXGKxivRC0WdW6whck0ERHVnpcwl7WmNNevJrKrqJgq49zAZJqo4URkKYDNANYAWAXgAgDrVPXRwOueAfDOkLf4oqpOFdxMotxMI0m2FblmLeOV2qjodaCLPjewZpqo+d6N3oZJrwL4ZsxrvwXg5wJff1ho64hqJmzlEG/NWgsYr9Q6BcdU4dgzTdR831LVtwKAiEwCuCnitce5qRJRNNPqAJbWrGW8UusUHFOFY880UcOp6pmq20DUJKbVAWysWct4pTYqMqbKwGSaiPyuFZFXReQNEXlSRP6diCTapImoLcLWoK9o/WrGKzWCQzGVCcs8iMjzVQCPA/gBgEsAfBTAfwPwkwA2BV8sIuMAxgMPLy24jUSVK3vlEINU8QowZsldjsRUZkymiQgAoKqfDDz0kIjcB+A/iMgOVX028PxGAFvKaR2RW8paOcQkQ7wCjFlyWNUxlQfLPIgoyj3onSd+JuS5HQCWB76uKa9pRBQQFa8AY5aoEOyZJqIo3g330KQoVZ0DMOd/jOWaRJUyxivAmCUqCpNpIoryMfQuzN+puiFEWbRsp0LGK9VWnWOVyTRRC4jIzf3/vKr//QMi8hYAJ1T16yJyK4APA9gF4HkAF6M3oWkSwHZVfa7sNhPlVfSuakVhvFLb1DVWPUymidrh/sD/b+1/fxbAMgBHAbwFwO+htzLA6wCeBPBxVb2nnCYS2RW1q5rjF2jGK7VKjWMVAJNpolZQ1cjCyP4uah8qqTlEpajrrmqMV2qbusaqh6t5EBFRI9V9VzWitqh7rDKZJiKiRqr7rmpEbVH3WGWZBxERNVLdd1Ujaou6xyqTaSIH1HlJICKXFbWrGmOW2s52DNR5B0Qm00Qp2T6B1H1JIKK2YcxS2zEGBrFmmigF7wTSnZuH4twJZGa2m/k9o5YEIiL3MGap7RgDg5hME6VQxAmk7ksCEbUNY5bajjEwiMk0UQpFnEDqviQQUdswZqntGAODmEwTpVDECaTuSwIRtQ1jltqOMTCIyTRRCkWcQCZXT2Db+pWYGB+DAJgYH8O29StbOYmDqA4Ys9R2jIFBXM2DKIWi1sKs85JARG3EmKW2Ywycw2SaKCWeQIiIiMjDMg8iIiIiooyYTBMRERERZcQyDyIiogjcOpzagMd5dkymiYiIDLhtMrUBj/N8WOZBRERkwG2TqQ14nOfDZJqIiMiA2yZTG/A4z4fJNBERkQG3TaY24HGeD5NpIiIiA26bTG3A4zwfTkAkIiIyKGrXUyKX8DjPh8k0ERFRBO56Sm3A4zw7lnkQEREREWXEZJqIiIiIKCOWeRAREcXg7nBUJzxey8VkmoiIKAJ3h6M64fFaPibTRA5gLwK1ncsxELU7nCttJPIUcby6HJ8uYDJNVDH2IlDbuR4D3B2O6sT28ep6fLqAExCJKhbVi0DUBq7HAHeHozqxfby6Hp8uYDJNhZmZ7WLt9B4sn9qFtdN7MDPbrbpJTmKvF7Wd6zHA3eGoTmwfr67HpwtY5kGF4LBQcm8bH0M35KTEXi9qi7gYqLpek7vDUZ2kPV7j4ovXqHiFJdMi8kEAew1PX66qh4v67Cao+uKRFyfsJLf5+ssGbjwAu71eIrIUwGYAawCsAnABgHWq+mjIa38FwG0ALgPwIwD3Atiqqq9ZaQxRiKgYcOXGvKzd4RivZEPS4zVJfBV9jWqCMnqmbwPwrcBjz5TwubXlysUjDxeGhepyQ1JCr9e7AdwK4O8BfBPATWEvEpGPAvgzAH8EYCOAywF8EcAyAB+x1RiioLAYWLdiCbbvPhLaI9bwG3PGK5UmSccXR2bilZFMf09V95fwOY3RhF7dqoeF6nZDUnCv17dU9a0AICKTCLk4i8gogO0AHlbV3+o/vFdEFgB8WUTuUtVvF9VAIn8MBOM3TIPrNRmvVJqw63TY42WNzNQVJyA6yIVe3byqnrDD2cfnqOqZBC+7GsClAO4JPH4fgAUAG2y3i8gkLH6DmlqvyXilMo2KpHqcwpXRM/0nIvIAgBMAHgOwRVUPhL1QRMYBjAceXlpw+5xTda+uDVUPCzXhhqRkV/a/P+V/UFVPisj3fc+fxXilosTFKes108crwJilYadVUz1O4YpMpl8BsAPAowCOoVfPNQVgn4h8wDAEtRHAlgLbVAtNKfavclioCTckJbuk//1YyHPHfM/7MV4pt7C5Dab4BYAJ1msC2eIVYMySz8xsF6MioYnzBK+VqRSWTKvqLIBZ30OPicjD6N1Jfx7Ah0J+bAeAuwOPLUWvR7s1qu7VbYKm3JBUwNQdEfY445VyMc1t2LBmAg8e6A7F77b1K3keHJQmXgHGLPV5sReWSPNamV6p60yr6osi8lcwzE5W1TkAc/7HpMZ1O3lWk2Cxfz68IUnt5f73S3z/7bkYwNHgDzQtXsn+Cjhx72ea27D38EvYtn4l49csdbwCjFk6J2pewnmLoqfT1WWlrDJVsWnLCMx3zY1Rt9UkkqpTEPGGJJVD/e9XAvie96CILAbwEwAeqaJRVB7b56wk7xc1t4HxG4nxSrlEzUuYm18wxn5Tc5u8Sl3NQ0QuBfDzABq/VF4TV5Pwgqg7Nw/FuSDiNuHpObjV+n4ALwL4tcDjtwLoAPhK6S2iUtk+Z5neb+vDh87+v2kOA+c2xGK8Ui7jizuRz5tiv4m5jQ1F7oB4H4AfoLfw/HEAK9DbwGUMwGeK+lxXNHE1iarXv65Tr3iUKu7sReTm/n9e1f/+ARF5C4ATqvp1VT0lIlMA7haRPwDwAM5tAvEA14pvPtvnLNPPzc0vYGa2i8nVE5zbYMB4pSLNzHbx6munYl8XFsNNzG1sKLLM40n0dmH6bfS2Q30ZvZU97lTVpyJ+rhGauJpElUFkIwH1J+PjiztQBV6ZXyg9Ma/opuT+wP9v7X9/Fr0d06Cq94jIafRuej+B3vbEfwzO/m8F2+esqBU5Nu48iO27j2Dz9ZexNjoc45Ws8l//RgwreASFxX4TcxsbCivzUNVpVV2lquOq2lHVS1X1I21IpIHqNy0pQpVDsnmHloIlKsdPLmBufqGScpUqbkpUVQxfywKvu1dVV6rqeao6oaqfVtV2dzm0hO1zVtzP+W+I901di6PTN2Df1LVMpMF4JbuC178kibQp9puY29jAHRALMrl6AtvWr8TE+BgEvTUb676sU5FBFFdDbEo0g3fIpveJ21GtzJov1omSi2yfsyZXT+CijHWZRGRPkh1Fgd6uh3Gx38TcxoYqVvNojabNRi9qubkkJRymoSXp//zk6onI90nS61tWzRfrRMlVSc9ZUfMX/M9dONZBZ1SwcNrcE9b2WkuiopnKrfw6o4LtN783Ufw3Lbexgck0pVJEECWpId58/WXYtPPg0JqK2v/5ydUTke8TVb/pKatnmGtgU51F3bQCGHhubn4BnRHBRYs7OH5yIfT9ksRdUyYfE9mQJh5mZrsQJFiPuPELFheLyTRVLkkN8eTqCWzceTDydVHvc9ctq4Z6g/3K7hnmnT3VVdz8heBzC2cUi9+0CFtuvGIoBgW9ZHzt9B5jQsB1bYnOCYuHzfc/gTseOYS5k8MT6rfvPpIoT144o6WtzNVETKYtqXPPSdVtTzo7eCLmdVHvE+wNrnI1D6I6yzKB1tuEBejFYHdufqC3LCpBrnpJTiKXhMXDwhk9O/ITjKU0ZVQsucqOybQFde45caHtSWuIw17XGRWceP0Ulk/tCq3P9L8Pe4OJ8ou7+Y16zovBtdN7hl5nSpCLWP2m6g4EoqzHYJLj3h9LSUocPZwEnx1X87CgzjsCudD2uNnB3godm3YexHmLRnDR4g4E6K0UoDi7xN3c/AKgOPs8ZxkT2d9tM2pVn6Qr/qRJkG2vfsOdXKlqeY7BpMe9F0thMdkZEXRGZeCxsc4o1q1Y4trOvLXBnmkL6rwjkCttN/UaB3vO5+YXMNYZxV23rML23UeGJjV59Zmzn72ulHYTuayIkackE2jjetzSbPxge/Ublo1Q1fIcg2HxEMY/GuR9pj8mg4+tW7EEDx7o1nKE3QVMpi2o845Arrc96qTjyo0AkauKShyjSqaSlFOlSZBtr37D8wZVLc8xGIyHC8c6OPHGKWN5o/czpjWjPWun9/AmMwcm0xa4um5wkposV9vuiTrpuH4jQFQ1VxPHtAmyzfkOPG9Q1fIeg8F4sDEHwNVzRV0wmbbAxXWDkw7vuth2v6iTjus3AlE4AYrK4HLiWNWE4DqfN6gZbB+DNmLJ5XNFHTCZtsS1lSLSDO+61na/qJOO6zcCJi6soELtwMRxWF3PG9QcLh6DPFfkw2S6oZoyZBN30nH5RsCEE6CoLFVctG2NuhQ5elPH8wY1S1ipxtrpPbHHe1Fx4WKCXydMph1iM0iaNGTTtAtfU250qB7KjB9boy4cvaE2SXq8Fx0XTbvWlonrTDvC9tqnSdd7NbWFa00Wx/a6uUSusLVuvQvr3xOVJenxzrhwF3umHWF76D/rkE3aO1+XJtK51JYorE2jprI16mLasY2jN9QU/uuVGl4TPN45qukuJtOOyBMkpiQyy5BNmqTepaFYl9oSh7Vp1FQ2ystmZrsQIDTB4OgNNUHwemUSPN6bVL7ZNEymHZE1SGwnkWmSepcm0rnUliRYm0ZNZGPUZfvuI6GJtPTfH6jPKBRR2LEadr0KCosbjmq6i8m0I7IGie0kMk1S79KQk0ttofYpO7lzIZmMakOetpliVtG7Ca3TKBS1m+lYjUqkBRiIm2CcbVgzgb2HX8oUX3nPGy6cd1zFZNoRWS9CtpPINEm9S0NOLrWF2qXs5C7P59lcti6qDXl+b1MsT/RjuW6jUNRepmN1VASndXj8ZWJ8DPumrj37/2Fx9uCBLratX5l6B8S85ynexEbjah4OmVw9gX1T1+Lo9A3YN3VtogPU1soQ3goem3YexPmdEYyPdSDoBXcwcD15VgyxLW1buGIJ2VL2DPusn2dzxaAif+e4WOYoFNWF6Zg8rZroepUkzpLGdd6Y5Uoi0ZhM15yNhDYYjMdPLuD1U2dw1y2rIpP6ydUT2LZ+JSbGx2IT7zySJL5p2mJ7GUJqt7KTu6yfZ/NiWOTvHBfLXFqS6sJ0THrHdNz1KkmcJY3rvDHLm9hoLPOoORs1inmGTYueSJdmaClpWzhMTDaVXWKU9fNsXgyL/p2jYpmTsKguoo7VJNerJHGWNK7zxixLKaOxZ7oBspSH+Ll8x1nE0JLLvy/VT9nlTmGf1xkRnHzjVOToTZoe3bjRoLA2CHo3u0WXTZU1IkaUV5Jj1RRrM7NdnHzj1NB7Bs8tpri+cKwz8P95z1MulXW6iD3TDip7xqzLd5xFJL4u/75UP2WvGx78vAvHOjjxxikcP7kAwDx6k7RHN8lokL8N3bn5gXWhy5iYFOzV8xISrjJARUt7fY7qgTbF2uPPHsODB7pDHUnjYx1svemKobjefP8TWDgzOKHxxBunMDPbDY3ZLHHC/RGiiYbMKHWJiCwDcPTo0aNYtmxZtY0pgWkx9xEBzmjvztb2ARz2mWOdUSd6e9ZO7zHO7PfPek7D5d83iWeeeQbLly8HgOWq+kzFzRnQtnh1QZoYSZIIpI25ImI0Ddfj2eV4BRizadg+1kyxk3S1D8/qz/3V2ZvpJK+naFlilj3TjjEt5u7ddEb1+mTt0XbljjOs/UXUR7ry+xLZkGb0JkmdZtrRoKrLpjgHgspi+1iLWu0jzevnQhLpqNeTfUymHZPk4A8L3rxrQJYxkTAqeTW1f9v6ldi2fqX1xJc7EJJrst4M2y5bSvt+VZdNVZ3MU3vYPtZMsWPqmU4bgyMiWD61ix1GJeAERMckvQAFg9flNSCTLEUXd8efZ4IlkevyLNdoe2JQ2veremISl8qjstg+1kyxc+vPvj13DAK9Hm4u/1oOJtOOMQVFUDB4Xe6dSZLou9x+oqKlvRn2rwCwffcRbFgzYW11i7AVCDasmcD23UdCV/eoenWNqpN5ag9bx5p/k7TzFo3gosWDm6TdObkyMqaCK4AAGHj9qMjQZ7rSudZULPNwjBcsWx8+hLn58DqosOBNMtRa9iohniSJctVDxQSIyAcB7DU8fbmqHi6xOZVwOUY8SbcYzsNfBpV0dY+qRozaOgeC8Vo+G8daMJ7m5hcw1hnFXbesGngfU0xFlUR6kw2XT+0K/ewknVNVnQPrjsm0oy44bxHm5hfO1k55302recRN1MtbU+29hz/I1q1Ygr2HX4oNuiSJMjdicMptAL4VeOyZCtpRKhsxklWam8msk6CyXiTrMMGv5XMgWhmvVcl7rJni6Y5HDiWKzyTxmLVzqspzYN2xzMMx/tpJoFfzNNYZxZd++b14JqJmOG6oNW9NdVhN5737n0tU45lkaKyMoeIk25ITAOB7qro/8PVa1Y0qWpXzDtIMH2cpiQqL3007D+L2mSdj28YSLOe1Ml7ryhQ3x08uJLqeJonHrOUoLs+9ch17ph1T1NbeeS+IpiX7krQz6dBYkb1LvOOmOFUmjWmGj5P2Ovl7okdCVgdQAPftfw7ve+fFxuHk7buPwLQTgQslZEQuiYqDuHgK8nqrg3GUJP6zlqPwxjk7JtOOKepgzluTnPTzwz4DSJ8o274412Go2iF/IiIPADgB4DEAW1T1QMVtKlyZdfum4zvJsZikJCp482hat1YBbNx5ENt3Hxm68IdtHhX2ebxRrVwr49U1UXEAIDKeTI6fXBjYxRAIj3/pf97a6T0D55K08ce5S9mxzMMxRS3zlHcWctLPD5tFnFaeZcJMeMedyCsAdgD4NwDWAdgM4D0A9onIzwZfLCLjIrLM/wVgaYnttaqsVSHyHt9JSqKSjCT5BdsQ9fMXLe7gvEUj2LTzINZO78Edjxzi0HA1UsUr0LyYdUlcLXTaRNr/vn7++Ad6ibR3q5z3WsmVcbJjz7RjipqIN7l6Ao8/ewx//u1/OjuhccOa5HeuYe0KY+oBS8N2L/LMbDd0mBuwc8fdlCFuVZ0FMOt76DEReRjAUwA+D+BDgR/ZCGBLSc0rXFmrQtg4vuN6nbLcJPrbEPXzry2cGeh9s9kGSi5DvAINi1mXRNVCh231ned9vfgP2448z7WyrSvj2MBk2jFFHcwzs108eKB7NqE8rYoHD3SN9ZJx7TIlp6MJdlyKSz5t9iJ7vYBhbbVxk9L0IW5VfVFE/grATSFP7wBwd+CxpegNNddSGatClDFKYhqujeO1IWpntqQ9bBwaLl9MvAINjFlXRMWcaUfDpO9rUsS5pOUr42TGZNpBRRzMtnvDTDWV3gnDlFQmST5t1m2ZhtdGRaysFtKSWuwRYHjejKrOAZjzPyYWynzqJMuoRBl1iaYRrg1rJrD38EvGi77XBtPPJ02kOTRcqdB4BRiztvnj/8KxjvF13qpcUfEjAgTz7bg4Mp1LFBion6bisWa6JbIup2VaSi5Yt5l0x6UkS+/YrNsy/X5nVK2cZJpeiy0ilwL4eQD7q26LTTaWScxa+1xGXaKprvrOyd7GDjtuWRXZBtPPT0Qk/MFd3HgRL19T49VFwfg3bbIGDMdP8Go51hnFXb+8CjtuWZVqedioHZPDzkdcHrY47Jmumaz1uVG9YWHvCSC2B9nfU510x6UkyafNUpeiewGbNPtZRO4D8AMAfw/gOIAV6G0IMQbgMxU2zSpbpTlZRyXCdjk9vzPcr5E21sNe7+2IZmpD1PubRsg27TwY2u25+E2LMPvZ64ztI7vaEq+uMo16+icEAuduUr14mpnt4o5HDp2tox4f62DrTVecfS4o6jzgj+Ow65D/fNT0ksSqMZmukTzBYBq2XbdiSeh7nt8ZSZUoxCWVadas9X4fGwFe9M6KDdu58UkAHwHw2wAuAPAygEcB3KmqT1XYLqtslebkHZV4/dSZs/99/OTCQCynjfUs54YsMTa5egIbdx4Mfa4pozE10op4dZXpeFf0epVNa00HrxfeeSAshjff/wQgwMJpc/mkF8fLp3aFXl+9drakJLEyLPOokTy7E5mGbfcefin0PU2zj00nkKih6+CujkFFJp9F76xYxs6NZVHVaVVdparjqtpR1UtV9SNNuzDbKs3Js4xlXCynjfUydy4zlXrUcTSmztoSr64yHe8T42PYN3UtjobsWBwVp2HPLZzRs4l08PVJ2+M93vSSxKqxZ7pGTMlo0mAI64naZOhlMjEFbNSw8drpPcaJFxMlLL2TpAcuz/J2nP1cL7ZKc/KMSsRd2NJe+OIet7l8Y5rfuynLRlJ7JD1mo0Z7107vCf15U5ymXXkn7H3i4rJJJYkuYjJdEzOz3aFaLE+eYDAF2PhYB6+fOpMqUTAllaYTiADGms4ysZasXWyV5kTdQMZdkOMubOOLO6GjQ+OLO6HvHTcnwubxnXROA+OK6ibNMRsWB+tWLMGDB7rGXRBNS8oCw7XWUcKu+XFx2bCSROcwma4JU72xALmCwRRgW2+64uznuj4JMC/WkrWLzQmu/klFWx8+hI07Dw7VFIddkOMubKYlaV9fOB16sd+wZmLgIu5/P9PxHbaNeNrfOwrjiuom7zG767svGHdBfG3hTORa04rhhHpEgDMhP7LsEvMIcdQcCYAbshSFyXRNRE12yBMMcQFWh0mAebGWrH1slubMzHax+f4nsBB21esLXpDj4u4VwzJbJxfODD02v3Aaew+/hG3rV4a+X1QpV5G9xYwrqps0x2xYL7ZJ0h0Qg5MXj514HfMhMb/v+8cwM9st5CaYsik0mRaRNwP4AoBfAjAO4BCAz6nqw0V+bhOZenej1n1NqugAc/2O2PWec3Lb9t1HIhNpT/CCHBV3aXcw/OHcvPH94t6rqN5ixhXVTZpj1rQ0Xh7e5EXPMsOSs97nu3INpeJ7ph8C8NMAPg3gKICPA3hIRG5U1a8V/NlOsDUBx7Xe3bS/V1TiYFrnuqzk27W/LdVL0p7WNEmk6Zg8b9FI6OYQUe8d9l5Bcb9DlvMY44rqJuyYFQDrViwZem3SuI+K2+Dr0sQGR3jcUlgyLSK/AOBDANar6kP9x/YCeBeALwFofDJtcwKOS727Nn+vrGtr2uTS35bqJ0kvctoLpemYBJA6QY3b2MH7HUyyxjvjiupmcvUEHn/2GO7b/9zZ2mUF8OCBLt73zosTTSIeH+vggvMWxcZtZ0Tw5vMXYe7kgjE2LjJMRPY+n9xRZM/0LwJ4BcBfeg+oqorIPQC+LCLvUdWnC/z8RIpcusn2BBxX6p1s/l6mtTWDip645Mrflupn3YoluHf/c8bnsy7/GHVMpj1n+SdKRiXjYefDPPHOuKK62Xv4paHJ/t4kQv+xHDV5P2vcBuPvhp/6cfz53/0TTgeuiZ0R4QiPY4pMpq8E8LSqBqvnv+t/vsDPj1X00k1pJ+DUZU1WmxOL0vwMh7XINTOzXTx4YHgL4MWdEXxh/U8VNpKS9X3jlvMLOx+aykMYj9So8Dr+AAAaC0lEQVREpuP6+MmFgUl/aUde4uI2LP4ePNDFrT/zduz67guh24+TO4pMpi8B8L2Qx4/5nh8gIuPoTVT0W2q5XWcVvXRTmskMdVqT1fR7KYC103tS3QSkmWjFYS1yjWkS0kUXnOdc3HpMF3XT+XDUsDYu45GaKOqaFMwNbI68mOJv7+GXMPvZ66x8BhWn6O3Eo6a4hz23Eb2Jiv6vxwpoF4Dil26K2mI7qMztgPMK+7083k3AzOxwb53pvTqjEvs6TlwiFzVp+TdTm0+rJj6PEdVd1HFdZFw36VzSRkUm0y8jpPcZwMX978dCntsBYHng65pCWof4vezzmlw9gW3rV2JifAyCXu3ktvUrU+0S2J2bx9rpPVg+tQtrp/ckTlKL5P+9wqS5CZhcPYEL3hQ+QDIqEvt3I6pS3DlkZrbrXPyamH4XL/6SnMeI6m5y9QTGxzqhz+XJDeLOBUXnI1SsIss8DgHYICIjgbrplf3vTwV/QFXnAMz5HxOJ77XMqoylm5IOA5mGlgTnFoN3qfTD+72WT+0KHWJIczdt2qDijCqOTt+QsYVExYs6h7heuhWcoxHcChk497twIiE1nT8exhd30BmRgcnweXKDJOcCLiVZb0X2TD+EXv3zjYHHPwbgiAsreaTpOS5aWOlEcGtRwL3SDxt30y7ekdepR5GqE3UOueORQ86WbnkX9+7cPBTnJjttWDOR+HzIGKE6SHKcBuPh+MkFQHqT/fLmBjOzXXzqL56IPRe4lI9QekX2TH8NwF4Afyoil6BX//zrAN4P4MMFfm4qrvS4hM0MNk2C8Hp9XVj9w8bdtGt35K73KJJbws4hM7Nd4/qwLtRARk128u/AZsIYoTpIepyGLtF6WnHBeYtwcEv2yX/e54dN4AXS7YpKbissme6vKT2J3nbiX0Cvl/pp9DZxeaSoz62zYCCtnd5jXA0k7cWsqMTbxsYMrm3uUPQqL9R8Ub3PRY+4JIn1vJOdGCNUB0mP07g5S1mvR3FbjrMeujkK3U5cVf8ZwCf7X62VNZGN6rFNczEL3WXwgSew9eFDeGXevPtSUjbupl26I+esasor6ljJMuKS9ByS9CY7zbKdYRgjVAdJj9OokeA818uoeGA9dLMUvTRe64XVJiZdOi6qhirNxcw0hDU3v5C6TW3gYg031YvpWBkf6yS+afRqPZdN7cKmnQcTnUOSLrGZZtnOMIwRqoOkx2nUcq/A8PVy086DuH3mycyfPyrCeuiGYTJdsLzrR0+unsC+qWtxdPqGs7WMa6f3GBfwDgveJL1FrkyMckHeRIPIdAxtvemKRD/vvwkHkk9ETnqTnXeyk40Y4QRGSiLPcZL0OI1b7jVIAdy3/7nYtpg+/0u//F4m0g1TaJkH2RkO9YZ4u3PzoSt8eEwXs6S7DHKItse1Gm6qn7zHUFytJRAer2nKN7KUVvnLTS4c6+D8zgjmTqYvFeMERkoizXESVQqVJA69eDDNVQpSDO+IGPaeST+f6o3JdMHy1iYGTyamRHoiIkjDaq9NbbXNhRVHsnCphpvqKc8xlOTGNixei1wZJ3gumptfwFhnFHfdsir178kJjJRE0uMkLulOc0wlvV4CyeKU15J2YDJdoJnZLk68fmro8eDFLe6OOi6oBYhczip4dzy+uINXXzuVaEH6PMmw6QT3+LPHsPfwS7VLsInySBNLcaNJpngtsifMZgLMCYyURNLjxOaxGXa9NC1zOb44fKdEah8m0wUJJpKeixZ3sOXGK84GbNwdddYeqqDg3XGSC3veoVjTCe6+/c+d7WFP+5517emmdjAdn2ljKax3zCvxihqF8t6viJiwmQDnHbGjdkh6nNi+OQvG0O0zT+Le/c8Nve74yQUsm9oVG5PUfEymC2LqUV78pkWxi8X776iz9lDFSXLBzXu3bzqRmSZTxb0n6yzJJXHbcfuPz7Sx5GKtpc0E2LWNmshNSY+Tom/O7pxcia8+8QLm5sN7qLtz89i48yC2PnwIW2+6gtejFmIyXZCkd8pRa1sC+Xqo8kpztx/WI5d04mPUZ/mxzpJcEXZj5x9x8XjHZ5aes7gb3rJHaWwmwC7eLJB7kh4nSY/NPDHziiGR9pubX2AHT0sxmS5I0jvlUZHQrUZHRQBUe9FJ+juYeow3rJkY6KkDYFyNJEkPAussqWhJL7ZhN3amycHee9nsOatilMb2uYgTsyiJJMdJkmMzb8wk7RyaXziNjTsPYvvuI7xBbBEm0wVJeqcclkgHH6/qopP0dzD1GO89/BK2rV8ZORRues8wrLOkIqW52Ka5gRsRCV3WMk9ZQ1WjNEyAyVVxx2aWmPHfXI8v7qAzIgMT96OwDLFdmEwXJGkvzoQhQRwVwfKpXZUOfyb9HaJ6jMNOcO9758XWt1cnyivNxdZ0Yxc28uLdGCvslWhVPUrDicBUBpvHWdqYuX3myYHSreMnF9AZFYyPdTA3vxC554OHZYjtwWS6QEl6cUxrWnoX4Dx3tzZOREl+h7Q9xll7t1hnSUVKc7E13dhtWDOBXd99wbiUlpdIhy1laWPpvDJGaTgRmMpg+zgzxYyit6uwP95mZruhcyAWTisuOG8RDm65DjOzXdzxyCFjrHtYhtgO3E68YpOrB7f19Wql/bJs9e3fjlhx7kRUxJa9ZW6/Pbl6cHt1XrzJFlMiato9MGw77jsnV2Lxm6L7KEwTeNPEa5Vb3kf14BPZYvs4C4sZTzDetu8+EjkHAuidA2Y/ex123LIqchtyliG2A5NpB/gTxDOGGuq0d7dlXvBMiQUT3foRkTeLyO+LyAsiMi8ij4vITVW3qwxpE1TTjV1crIZdXNPGa5UxV3WJCZ3T5HgtYu3oDWsmQjusgMF4i/qMYPx654Edt6yq7AaXqscyD8fYGr7NciLKUxbCiUmN8RCAnwbwaQBHAXwcwEMicqOqfq3KhhXNVhlR1Kx/08U1bolMU3uriDlOBHZKY+O1iBVwHjzQNU76B85dH6PmRETdXAMsQ2wrJtOOsTXJLu2JiHWQJCK/AOBDANar6kP9x/YCeBeALwGo9cU5iSQJatxNp2keRHD3U7+4JTJdwonAbmh6vNo+zkwbqfl518d1K5YM1UwLgF+9+h2R5wd2KrUXyzwcY2v4dt2KJakeZx0kAfhFAK8A+EvvAVVVAPcAWCEi76mqYWWame1i7fQeLJ/ahbXTewbqlpPUNofF8I5bVmH2s9cZ4zjJEpmuYFmXMxodr7aPs7jyEC9R93qwg5G3+E2juG//c0PnBCKAPdNOsnF3u/fwS6keZx0kAbgSwNOqeibw+Hf9z5fbpHLFjdAkXT4vbQyblsiMmthUJfbAOaHx8WrzOIsqv/KWqgSAT/3FE6E3sSfe4KgtmbFnuqHSJsdpVjIoSlSPIJXiEgDHQh4/5nv+LBEZF5Fl/i8AS4ttYrHiRmiiapvzHLdVrs5BtZUqXoFmxmxSYTHWGRFctLiDH87N445HDmHz/eGJdBBHbSmoET3T3EBgWNqa6arrIFmz7YyoK0nwuY0AthTYltLF3YSaapsBDJR9AOmOW5uTl3g+bJU08QrUNGZt7ZkAnIuxC8c6OPHGqbPrRMetFx3EUVvyq30yzSQsXNrkuOqZyFVtj0wDXkZIbxaAi/vfg71gOwDcHXhsKYDH7DbrnCITxZnZLkYMybJ3E5qm16qIDZLihJ0PN+08iMefPYY7J1fmem9yTtp4BSqI2TzCNkbJc433x9ja6T2Ym0+XQPsFO6Z4E9tutU+mmYSFy5IcV1kHyZptJxwCsEFERgJ1mF4W9pT/xao6B2DO/5gUuPpEkTfO3nuHJcv+m1BTbXNQVcdt2PlQAdy3/zm8750Xt/qc2ECp4hUoP2bzCMa7n41rfJ4YDXZMsVOPal8zzSTMrE67BbpQs014CMA4gBsDj38MwBFVrXQyU5ErzpiWzRoVGVhBIGoXNb+qjlvTeU8B1ng2j9PxmlfcUnZ5r/FpY3RUxLiqCFfDotr3THMDgWaoumabAPTWpd0L4E9F5BL0NoH4dQDvB/DhKhsGFHvjbHqPM6pDq3QAw3WXC6fP9WibjtsyhoGjVixgB0PjOB2veWXZSTRNjIVdczqjMhDLfmdUcXT6hlRtZcy1R+2T6TYkYaYTRJNqtKqu2abeGrUiMgngC/2vcfSW1lqvqo9U2jgUe+Oc5r2D5VBJ4rCIYeCwz918/WXYtPNg6MwzdjA0i+vxmtf44o5xUmDYNT5tjJmuOdt3H0l9nmGnHtU+mW56EmY6QTz+7DE8eKBb+xqtJt0QNIGq/jOAT/a/nFLkjXOe904y18D23A7TeWHb+pX41avfMbR7W9M6GKjH5XjNY2a2i1dfOxX63PhYB1tvGt5JNEuMmWI37bmgDZ16FK32yTTQ7A0ETCeIP//2Pw1NlqrbxEtO2qA0irxxtv3ewZtE26UXUYnDvqlr8b53XsybVKqt7buPYOHM8PjK+FgHB7dcF/oztmIs6+T9tD9DzdKIZLrJTCcC0xJddarR4koslFaRN8623jvsJlEQvuhv1mHguBrNJncwUPOZju9XDEvZzcx2rcZYlvhhzLVb7VfzaDrTiWDUsJxRnWq0OGmDmsi0PF0wYrMMA3u7hJpWu65T/BMFZT2+t+8+EvozArDUgkrBZNqSorbCNm0zfOvPvr322w9zOTxqoqjl6SbGx4zLa8XxerxNw9l1i38ivzzHd1TMsbeYysAyDwuKrP2NqsWqe10kJ21QE5lqpCfGx7Bv6trM7xu17u5EDeOfyC/P8R0Vc0RlYDJtQdLa36wrV5hqsepeo8VJG9RERd0kmnrfBMiVpBO5IM/xzY4ZqhqTaQuS1P5y5Ypwdb8hIAoq6iaRa9lSk+U5vtkxQ1VjMo38ax0nOQlw5Qqi9ijiJpG9b9RkeY9vdsxQlVqfTNvoMU5yEqjzyhXcWIWoeux9oybj8U111vpk2kaPcZKTQF2HaFmeQuQO9r5Rk/H4prpqfTJtq8c47iRQ1yFa083G1ocPOXfSYw86ERERla31yXRZPcZ1HcIy3VTMzS9gZrZrrf15E2H2oFMReING5BbGJLmo9cl0mT3Grg9hhZ2kTDcbAKxNnrSRCHOCJ9nGGzQitzAmyVWt3wFxcvUEtq1fmWtnsibw7z6lOHeSWrdiifFnbE2ejEqEk6rzBE9yk43jkojsYUySq1rfMw2432NcBtNJau/hl3DR4g6On1wY+hlbpTA2EuG6TvCkaiQZKuYNGpFbTLHXnZu3WnZIlFbre6bbbGa2i7XTe7B8apexlOOHc/PYcuMVGOuMDjxusxTGlPCmSYQ3X39ZoW2k5jCNwszMdgdeZ+O4JCJ7omIvLIaJysJkuqWCCYXJ28bHCi+FsZEIs1yHkko6VMwbNCK3hMWkh+UeVCWWebRUWEIR5E8ciiyFsbXSCct1KImk5Rt1XYGHqKm82Nu482Do8yzBoqowmW6pqJOOAKUnDkyEqSxp6ut5XBK5ZXL1BLbvPsI5MuQUlnm0lOmkMzE+hqPTN2Df1LVMIqiRWL5BVG+MYXINe6Zbqq47MhLlVUX5BjeaoLYp8phnCRa5hsl0S/FkRG1WZvkGN5qgtinjmGcJFrmksGRaRD4O4H8Ynh5T1deK+mxKhicjqkLbemm5Oye1jSvHfNvONVSdMnqmPwbgHwKPvV7C5xKRY9rYS8vNX6htXDjm23iuoeqUMQHxSVXdH/iKWtqYiBqqjdsBc/MXahsXjvk2nmuoOlzNg4hKY6PHyr9z59rpPc7vesaVB6htijjm08a9C73j1B5lJNPfEJHTIvKyiPxPEXl3CZ9JRA7K22OVdCtwl3B3Tmob28d8lrh3oXec2qPImukXAXwewH4A/wLgpwF8BsC3ReQqVf1B8AdEZBzAeODhpQW2kYhKlHdJRlcmNqXFyb7UNjaP+Sxxz+VfqUyJkmkR+SCAvQnfc4mq/khVvwHgG77H/0ZE/hrAAQC/A+A3Q352I4AtCT+HiGom75KMHLolap8scc/lX6lMSXumDwP4jYSv/RfTE6r6lIgcAPBzhpfsAHB34LGlAB5L+NmtwSV/qK7y9Fil2QqciJoha9xzRIjKkiiZVtUXMZzkZjUC4Izhc+YAzPkfExFLH9scXPKH2opDt0Ttw7gn15W6moeIXAlgNXp11JQRl/wh20Tk4yKihq/zq26fh5P5iHrqErM2MO7JdUXugPjXAPYAOATgVfSS6NsAvILexETKiHWjVCDnN1ni0C3RAOdj1gbGPbmsyNU8ngLwUQBvBzAG4AUADwP4nKo+V+DnNh7rRqlAT6rqwaobQUSJMWaJKlZYmYeqblLVK1T1x1S1o6rvUNXfZCKdHzeBICIiInJDkT3TVBAu+UMF+oaILEFvIvBfA7hdVf8x7IVtWReeK+eQ40qPWcYE0SAm0zXF+jGyLPUmS2jBuvBcOYccVknMMiaIhpW6mgcRFU9EPhgxyz/49RYAUNVvqOrtqvpVVf0bVb0LwLUA3ozeJkthdgBYHvi6poRfsTRcOYfKUKeYZUwQDWPPNFHzlLLJUhvWhefKOVSS2sQsY4JoGJNpooYpa5OlNuDKOVSGOsUsY4JoGMs8KjAz28Xa6T1YPrULa6f3YGa2W3WTiIZwkyWunEP1UkbMMiaIhrFnumScvEEu4iZL4bhyDrmqqphlTBANYzJdsqjJGzwZUYW4yZIBV84hR1UWs4wJokFMpkvGyRvkIlXdVHUbiCg5xiyRO1gzXTLTJA1O3iAiIiKqH/ZM55BlF6jN1182UDMNcPIGUVm4cxtROowZonhMpjPKOpGQkzeIqsHJv0TpMGaIkmEynVGeiYScvEFUPk7+JUqHMUOUDGumM+JEQqJ6YcwSpcOYIUqGyXRGnEhIVC+MWaJ0GDNEyTCZzoi7QBHVC2OWKB3GDFEyrJnOiBMJieqFMUuUDmOGKBkm0zlwIiFRvTBmidJhzBDFY5kHEREREVFGTKaJiIiIiDJiMk1ERERElBGTaSIiIiKijOowAXEUAJ5//vmq20HkBF8sjEa9riKMVyIfx+MVYMwSDcgSs6KqxbTGEhF5P4DHqm4HkYOuUdW/rboRfoxXIiPn4hVgzBJFSByzdUimzwNwFYAXAJyusClL0TvhXAOAt/DJ8G+WXpK/2SiAHwfwHVV9vayGJeFQvAI8/rLg3yy9uL+Zs/EKOBezdcbYqaewf7fUMet8mUf/F6n8bl5EvP98XlWfqbAptcG/WXop/mbfL7416bkSrwCPvyz4N0sv4d/MyXgF3IrZOmPs1FPEv1uqmOUERCIiIiKijJhMExERERFlxGSaiIiIiCgjJtPJzQG4o/+dkuHfLD3+zezh3zI9/s3S49+MAB4HdWXl38351TyIiIiIiFzFnmkiIiIiooyYTBMRERERZcRkOoaIvFlEfl9EXhCReRF5XERuqrpdrhKRfyUid4vIERE5KSLPi8hXRGRl1W2rExHZKiIqIgerbkvdMGbTYczmx3htL55v3CciS0Xkv4rI34rIq/1Y/aDhtb8iIk+IyGv9c+G0iJwf9xlMpuM9BOBXAdwO4AYATwN4SER+odJWuevfAngHgLsA/GsA/6n//98RkaurbFhdiMgVAG4D8H+rbktNMWbTYczmwHhtPZ5v3PduALcCeBXAN00vEpGPArgPwD70zoVfAPDvAdwd9wGcgBihHwy7AKxX1Yf6jwl6W09eoqqXV9k+F4nIW1X1/wUeGwdwFMAeVd1QTcvqQURGAPxvAN8BsBLAuKquqrZV9cGYTY8xmx3jtd14vqkHERlR1TP9/55E7wZonao+6nvNKHrbif+dqn7Y9/gnAHwZwNWq+m3TZ7BnOtovAngFwF96D2jv7uMeACtE5D1VNcxVwYty/7E5AP8AYGn5LaqdTej9nf5z1Q2pKcZsSozZXBiv7cbzTQ14iXSMqwFcit6/nd99ABYARHYqMJmOdiWAp0P+Ib7re55iiMgS9P5WT1XdFpeJyLsAfA7AJ1X1n6tuT00xZi1gzMZjvBJ4vmkS799q4JynqicBfB8x/5ZMpqNdAuBYyOPHfM9ThP6Q15fRO9b+S8XNcVb/7/TfAexW1Zmq21NjjNmcGLPxGK/Ux/NNc3j/VqZ/z8h/y0XWm9M8UUXlLDiPtx3AJIDfUNX/U3VjHPYJAO8DwGHB/Biz+TBm4zFeycPzTbOY/s0i/y3ZMx3tZYTfjVzc/x52B0N9IvJ5AJ8C8B9V9e6Km+MsEXkLgN8DsA3ACREZ708AWwRgtP//sUvzEADGbC6M2XiMV/Lh+aY5Xu5/N/17Rv5bMpmOdgjA5f0Z237e+qusJzQQkc8B+B0An1bV36+6PY5bCuBC9C7Ox31fa9Gr0zoOYGtVjasZxmxGjNnEGK/k4fmmOQ71vw/URovIYgA/gZh/SybT0R4CMA7gxsDjHwNwRFWfLr9J7hORLQB+F8Dvqur2qttTA/8IYF3I1xPoTXxYh14NK8VjzGbAmE2F8Uoenm+aYz+AFwH8WuDxWwF0AHwl6odZMx3tawD2AvhTEbkEvXVXfx3A+wF8OOoH20pEPoVer8xXAfyvwKYPr6vqbCUNc5iqvgrg0eDjIjLXf37oOTJizKbEmE2H8Uo+PN/UhIjc3P/Pq/rfP9Av2Tqhql9X1VMiMgXgbhH5AwAPALgcwBcBPKCq+yPfn5u2RBORH0NvF5yb0bsDfRrA5ziDO5yIPArgA4ann1XVZeW1pt76f0tuApESYzYdxqwdjNd24vmmHkTElOwOnOP6uyDeBuAnAfwIvXWmt6jqfOT7M5kmIiIiIsqGNdNERERERBkxmSYiIiIiyojJNBERERFRRkymiYiIiIgyYjJNRERERJQRk2kiIiIiooyYTBMRERERZcRkmoiIiIgoIybTREREREQZ/X+qDf0NyaJJwAAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(12.,4))\n", "plt.subplot(1,3,1)\n", "plt.scatter(zs[0,:], zs[1,:])\n", "plt.subplot(1,3,2)\n", "plt.scatter(zs[0,:], zs[2,:])\n", "plt.subplot(1,3,3)\n", "plt.scatter(zs[1,:], zs[2,:])\n", "pass" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(12.,4))\n", "plt.subplot(1,3,1)\n", "plt.scatter(xs[0,:], xs[1,:])\n", "plt.subplot(1,3,2)\n", "plt.scatter(xs[0,:], xs[2,:])\n", "plt.subplot(1,3,3)\n", "plt.scatter(xs[1,:], xs[2,:])\n", "pass" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "data": { "image/png": "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VuDboWEH28OxHm1mh5qWmPfwWLXvF7si630DmAdel3tnu9CYBNw59yQdDDHWupn/V4Inm3c5526KWW1P6/dpwP8KbbuUoG3RzryfK5XaA1xgZksi7Urb44kmtieTYiheJQfFawOZ2ccISl4vd859Kmt959ysmT1MfJv+1cD+aEc8M3szQeL9deCdzrn57ve8fD0+VqcCRxMkolGPAncTdFxvhB4fqwcy3i7aD6Wn+roNeKsN0WcIxhD9Y+fcPySsehfBuJnvjix/BzBMcAGQ5riZoD3chsjy9wB7nXM/KH+XJIvidWApXhvGzDYDVwJXOue259j0ZuBfmtmxofdaTvC3XxC3Zra+tf43gbc75+a63vEKlHCs3krQOTX80x4hagPw7zrf+3KVcKy+TjBcYXR+gT8gGN727k72u1NWg5FYesbM/hPBQOufIShVC/t5+MJuZu8lKCyYfxEAAAF8SURBVLH7K+CLwD8D/gOwyzn3r0vZYSlEK5H7/4DfJOhg8QjB4PzvAd7mnFMJaQ0pXgeT4rVZzOxSgvbYXwU+EXn5BefcVGu924E3OOcstO2rgfuAfcBWguHyrgB+A1jjnHu8td7vETQL+Anwx8ALkc+Zcs5Fl9VOGccq4XO3AJuBZa2h/GqvrGNlZv+eYOK26wgS8l8H/oJgoqd/7px7sRffL1bVA5H38oeg+sUl/Nwes/67CKooXgCmCQZ3H6n6e+ino7/9/wH8Z4KS0ueB/wmMV71f+kn9myleB/RH8dqcH+D2lDh9NLpezPa/TjDm+8+BXxIkQadG1tmS8hkOOLHq41CXY5Xwue3j16SJeEo7VgSzbv6gde/4KUE7+uVlf+e+LgEXEREREambvm4DLiIiIiJSN0rARURERERKpARcRERERKRESsBFREREREqkBFxEREREpERKwEVERERESqQEXERERESkRErARURERERKpARcRERERKRE/z8O0EwHqn3SBgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(12.,4))\n", "plt.subplot(1,3,1)\n", "plt.scatter(ys[0,:], ys[1,:])\n", "plt.subplot(1,3,2)\n", "plt.scatter(ys[0,:], ys[2,:])\n", "plt.subplot(1,3,3)\n", "plt.scatter(ys[1,:], ys[2,:])\n", "pass" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.7.4" } }, "nbformat": 4, "nbformat_minor": 1 }