From b5cf2c530fb1215fb06e8e9a764e6522944c2ab6 Mon Sep 17 00:00:00 2001
From: James-Hagerman <69126385+James-Hagerman@users.noreply.github.com>
Date: Mon, 17 Aug 2020 15:54:16 -0700
Subject: [PATCH] Created using Colaboratory
---
..._131_Vectors_and_Matrices_Assignment.ipynb | 939 ++++++++++++++++++
1 file changed, 939 insertions(+)
create mode 100644 module1-vectors-and-matrices/Mod_1_Assign_1_LS_DS_131_Vectors_and_Matrices_Assignment.ipynb
diff --git a/module1-vectors-and-matrices/Mod_1_Assign_1_LS_DS_131_Vectors_and_Matrices_Assignment.ipynb b/module1-vectors-and-matrices/Mod_1_Assign_1_LS_DS_131_Vectors_and_Matrices_Assignment.ipynb
new file mode 100644
index 00000000..7504cb50
--- /dev/null
+++ b/module1-vectors-and-matrices/Mod_1_Assign_1_LS_DS_131_Vectors_and_Matrices_Assignment.ipynb
@@ -0,0 +1,939 @@
+{
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
+ "colab": {
+ "name": "Mod_1_Assign_1_LS_DS_131_Vectors_and_Matrices_Assignment.ipynb",
+ "provenance": [],
+ "collapsed_sections": [],
+ "include_colab_link": true
+ },
+ "kernelspec": {
+ "name": "python3",
+ "display_name": "Python 3"
+ }
+ },
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "view-in-github",
+ "colab_type": "text"
+ },
+ "source": [
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "yXA3GwWhY9KL",
+ "colab_type": "text"
+ },
+ "source": [
+ "# Part 1 - Scalars and Vectors\n",
+ "\n",
+ "For the questions below it is not sufficient to simply provide answer to the questions, but you must solve the problems and show your work using python (the NumPy library will help a lot!) Translate the vectors and matrices into their appropriate python representations and use numpy or functions that you write yourself to demonstrate the result or property. "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "oNOTv43_Zi9L",
+ "colab_type": "text"
+ },
+ "source": [
+ "## 1.1 Create a two-dimensional vector and plot it on a graph"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "XNqjzQzrkVG7",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 286
+ },
+ "outputId": "33480a0b-082d-470d-cc59-f00959805edd"
+ },
+ "source": [
+ "import matplotlib.pyplot as plt\n",
+ "import numpy as np \n",
+ "a = [.3,.2]\n",
+ "\n",
+ "plt.arrow(0, 0, .3, .2, head_width = .02, head_length = .01, color = 'b') "
+ ],
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ },
+ "execution_count": 2
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": [],
+ "needs_background": "light"
+ }
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "unKFT619lk3e",
+ "colab_type": "text"
+ },
+ "source": [
+ "## 1.2 Create a three-dimensional vecor and plot it on a graph"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "atUEd3T6llKm",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 248
+ },
+ "outputId": "60a4cd0c-78a1-4e2e-8531-f3fb528ab2ed"
+ },
+ "source": [
+ "b = [.5, .4, .9]\n",
+ "\n",
+ "vectors = np.array([[0,0,0,.5,.4,.9]])\n",
+ "\n",
+ "X, Y, Z, U, V, W = zip(*vectors)\n",
+ "fig = plt.figure()\n",
+ "ax = fig.add_subplot(111, projection = '3d')\n",
+ "ax.quiver(X, Y, Z, U, V, W, length = 1)\n",
+ "\n",
+ "ax.set_xlim([0, 1])\n",
+ "ax.set_ylim([0, 1])\n",
+ "ax.set_zlim([0, 1])\n",
+ "ax.set_xlabel('X')\n",
+ "ax.set_ylabel('Y')\n",
+ "ax.set_zlabel('Z')\n",
+ "plt.show()\n"
+ ],
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": [],
+ "needs_background": "light"
+ }
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "b7qFxbKxZmI2",
+ "colab_type": "text"
+ },
+ "source": [
+ "## 1.3 Scale the vectors you created in 1.1 by $5$, $\\pi$, and $-e$ and plot all four vectors (original + 3 scaled vectors) on a graph. What do you notice about these vectors? "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "ah6zMSLJdJwL",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 303
+ },
+ "outputId": "7a5199b2-e814-48ac-a964-cf8a5ff6eba6"
+ },
+ "source": [
+ "from math import e, pi\n",
+ "print(e)\n",
+ "print(pi)\n",
+ "\n",
+ "a = [.1,.1]\n",
+ "green = np.multiply(5, a)\n",
+ "red = np.multiply(pi, a)\n",
+ "orange = np.multiply(-e, a)\n",
+ "\n",
+ "plt.arrow(0, 0, .1, .1, head_width = .02, head_length = .01, color = 'blue') \n",
+ "plt.arrow(0, 0, green[0], green[1], head_width = .02, head_length = .01, color = 'green') \n",
+ "plt.arrow(0, 0, red[0], red[1], head_width = .02, head_length = .01, color = 'red') \n",
+ "plt.arrow(0, 0, orange[0], orange[1], head_width = .02, head_length = .01, color = 'orange') \n",
+ "\n",
+ "plt.xlim(-1,1)\n",
+ "plt.ylim(-1,1)\n",
+ "plt.show()\n"
+ ],
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "2.718281828459045\n",
+ "3.141592653589793\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": [],
+ "needs_background": "light"
+ }
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "3qpwDlzXkVf5",
+ "colab_type": "code",
+ "colab": {}
+ },
+ "source": [
+ ""
+ ],
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "wrgqa6sWimbH",
+ "colab_type": "text"
+ },
+ "source": [
+ "## 1.4 Graph vectors $\\vec{a}$ and $\\vec{b}$ and plot them on a graph\n",
+ "\n",
+ "\\begin{align}\n",
+ "\\vec{a} = \\begin{bmatrix} 5 \\\\ 7 \\end{bmatrix}\n",
+ "\\qquad\n",
+ "\\vec{b} = \\begin{bmatrix} 3 \\\\4 \\end{bmatrix}\n",
+ "\\end{align}"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "I1BGXA_skV-b",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 286
+ },
+ "outputId": "fb83a354-0cd1-467f-e544-3b868505a4a6"
+ },
+ "source": [
+ "\n",
+ "a = [5,7]\n",
+ "b = [3,4]\n",
+ "\n",
+ "plt.arrow(0,0, 5, 7, head_width = .2, head_length = .2, color = 'blue')\n",
+ "plt.arrow(0, 0, 3, 4, head_width = .2, head_length = .2, color = 'red')\n",
+ "\n",
+ "plt.xlim(-2,6)\n",
+ "plt.ylim(-1,8)"
+ ],
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "(-1.0, 8.0)"
+ ]
+ },
+ "metadata": {
+ "tags": []
+ },
+ "execution_count": 18
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": [],
+ "needs_background": "light"
+ }
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "QN6RU_3gizpw",
+ "colab_type": "text"
+ },
+ "source": [
+ "## 1.5 find $\\vec{a} - \\vec{b}$ and plot the result on the same graph as $\\vec{a}$ and $\\vec{b}$. Is there a relationship between vectors $\\vec{a} \\thinspace, \\vec{b} \\thinspace \\text{and} \\thinspace \\vec{a-b}$"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "68sWHIOPkXp5",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 286
+ },
+ "outputId": "ed74ca19-1566-40cd-8979-b82161c063da"
+ },
+ "source": [
+ "\n",
+ "c = a - b\n",
+ "\n",
+ "a = np.array([5,7])\n",
+ "b = np.array([3,4])\n",
+ "\n",
+ "plt.arrow(0,0, 5, 7, head_width = .2, head_length = .2, color = 'blue')\n",
+ "plt.arrow(0, 0, 3, 4, head_width = .2, head_length = .2, color = 'red')\n",
+ "plt.arrow(0, 0, c[0], c[1], head_width = .2, head_length = .2, color = 'purple')\n",
+ "\n",
+ "plt.xlim(-2,6)\n",
+ "plt.ylim(-1,8)\n",
+ "\n",
+ "# There is a linear relationship between vectors a, b and a-b"
+ ],
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "(-1.0, 8.0)"
+ ]
+ },
+ "metadata": {
+ "tags": []
+ },
+ "execution_count": 25
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": [],
+ "needs_background": "light"
+ }
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "1ZPVuJAlehu_",
+ "colab_type": "text"
+ },
+ "source": [
+ "## 1.6 Find $c \\cdot d$\n",
+ "\n",
+ "\\begin{align}\n",
+ "\\vec{c} = \\begin{bmatrix}7 & 22 & 4 & 16\\end{bmatrix}\n",
+ "\\qquad\n",
+ "\\vec{d} = \\begin{bmatrix}12 & 6 & 2 & 9\\end{bmatrix}\n",
+ "\\end{align}\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "2_cZQFCskYNr",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 34
+ },
+ "outputId": "6563c440-fa36-4b1d-a191-a17b128b9bc8"
+ },
+ "source": [
+ "# Finding the Dot product of c and d\n",
+ "c = np.array([7,22,4,16])\n",
+ "d = np.array([12,6,2,9])\n",
+ "\n",
+ "(c*d).sum()\n",
+ "# or \n",
+ "np.vdot(c,d)\n"
+ ],
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "368"
+ ]
+ },
+ "metadata": {
+ "tags": []
+ },
+ "execution_count": 43
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "cLm8yokpfg9B",
+ "colab_type": "text"
+ },
+ "source": [
+ "## 1.7 Find $e \\times f$\n",
+ "\n",
+ "\\begin{align}\n",
+ "\\vec{e} = \\begin{bmatrix} 5 \\\\ 7 \\\\ 2 \\end{bmatrix}\n",
+ "\\qquad\n",
+ "\\vec{f} = \\begin{bmatrix} 3 \\\\4 \\\\ 6 \\end{bmatrix}\n",
+ "\\end{align}"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "ku-TdCKAkYs8",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 34
+ },
+ "outputId": "9d84bd4b-9ea5-4830-ced5-0d808a72f9e3"
+ },
+ "source": [
+ "\n",
+ "e = np.array([5, 7, 2])\n",
+ "f = np.array([3, 4, 6])\n",
+ "\n",
+ "np.cross(e,f)\n",
+ "\n"
+ ],
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "array([ 34, -24, -1])"
+ ]
+ },
+ "metadata": {
+ "tags": []
+ },
+ "execution_count": 45
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "-TN8wO2-h53s",
+ "colab_type": "text"
+ },
+ "source": [
+ "## 1.8 Find $||g||$ and then find $||h||$. Which is longer?\n",
+ "\n",
+ "\\begin{align}\n",
+ "\\vec{g} = \\begin{bmatrix} 1 \\\\ 1 \\\\ 1 \\\\ 8 \\end{bmatrix}\n",
+ "\\qquad\n",
+ "\\vec{h} = \\begin{bmatrix} 3 \\\\3 \\\\ 3 \\\\ 3 \\end{bmatrix}\n",
+ "\\end{align}"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "-5VKOMKBlgaA",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 51
+ },
+ "outputId": "940b2e6b-4e25-427e-a54b-bc81f4171697"
+ },
+ "source": [
+ "g = np.array([1,1,1,8])\n",
+ "\n",
+ "h = np.array([3,3,3,3])\n",
+ "\n",
+ "print(np.sqrt((g**2)).sum())\n",
+ "np.sqrt((h**2)).sum()\n",
+ "\n",
+ "# h is 1 unit longer than g "
+ ],
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "11.0\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "12.0"
+ ]
+ },
+ "metadata": {
+ "tags": []
+ },
+ "execution_count": 48
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "njrWIMS-ZAoH",
+ "colab_type": "text"
+ },
+ "source": [
+ "# Part 2 - Matrices"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "GjkcAVIOmOnn",
+ "colab_type": "text"
+ },
+ "source": [
+ "## 2.1 What are the dimensions of the following matrices? Which of the following can be multiplied together? See if you can find all of the different legal combinations.\n",
+ "\\begin{align}\n",
+ "A = \\begin{bmatrix}\n",
+ "1 & 2 \\\\\n",
+ "3 & 4 \\\\\n",
+ "5 & 6\n",
+ "\\end{bmatrix}\n",
+ "\\qquad\n",
+ "B = \\begin{bmatrix}\n",
+ "2 & 4 & 6 \\\\\n",
+ "\\end{bmatrix}\n",
+ "\\qquad\n",
+ "C = \\begin{bmatrix}\n",
+ "9 & 6 & 3 \\\\\n",
+ "4 & 7 & 11\n",
+ "\\end{bmatrix}\n",
+ "\\qquad\n",
+ "D = \\begin{bmatrix}\n",
+ "1 & 0 & 0 \\\\\n",
+ "0 & 1 & 0 \\\\\n",
+ "0 & 0 & 1\n",
+ "\\end{bmatrix}\n",
+ "\\qquad\n",
+ "E = \\begin{bmatrix}\n",
+ "1 & 3 \\\\\n",
+ "5 & 7\n",
+ "\\end{bmatrix}\n",
+ "\\end{align}"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "Z69c-uPtnbIx",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 102
+ },
+ "outputId": "30c52434-1095-43fb-f8a0-a2b36e000940"
+ },
+ "source": [
+ "A = np.array([[1,2], # Shape = (3,2) \n",
+ " [3,4], # Can be multiplied with C and E \n",
+ " [5,6]])\n",
+ "\n",
+ "B = np.array([2,4,6]) # shape = (3, 1)\n",
+ " # Cannot be multiplied with any other matrices\n",
+ "\n",
+ "C = np.array([[9,6,3], # shape = (2, 3)\n",
+ " [4,7,11]]) # Can be multipiled with A, B and D \n",
+ "\n",
+ "D = np.array([[1,0,0], # shape = (3, 3)\n",
+ " [0,1,0], # Can be multiplied with A and B\n",
+ " [0,0,1]])\n",
+ "\n",
+ "E = np.array([[1,3], # shape = (2, 2)\n",
+ " [5,7]]) # Can be multiplied with C \n",
+ "\n",
+ "print(A.shape)\n",
+ "print(B.shape)\n",
+ "print(C.shape)\n",
+ "print(D.shape)\n",
+ "E.shape\n"
+ ],
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "(3, 2)\n",
+ "(3,)\n",
+ "(2, 3)\n",
+ "(3, 3)\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "(2, 2)"
+ ]
+ },
+ "metadata": {
+ "tags": []
+ },
+ "execution_count": 58
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "lMOlCoM3ncGa",
+ "colab_type": "text"
+ },
+ "source": [
+ "## 2.2 Find the following products: CD, AE, and BA. What are the dimensions of the resulting matrices? How does that relate to the dimensions of their factor matrices?"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "zhKwiSItoE2F",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 68
+ },
+ "outputId": "c0c108a8-30f7-4144-8097-5825f242b271"
+ },
+ "source": [
+ "CD = np.matmul(C,D)\n",
+ "\n",
+ "AE = np.matmul(A,E)\n",
+ "\n",
+ "BA = np.matmul(B,A)\n",
+ "\n",
+ "print(CD.shape)\n",
+ "print(AE.shape)\n",
+ "BA.shape\n",
+ "\n",
+ "# The dimensions of the products are the same as the first matrix being multiplied\n",
+ "# Except for BA, I dont know whats going on there"
+ ],
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "(2, 3)\n",
+ "(3, 2)\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "(2,)"
+ ]
+ },
+ "metadata": {
+ "tags": []
+ },
+ "execution_count": 66
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "p2jmaGLgoFPN",
+ "colab_type": "text"
+ },
+ "source": [
+ "## 2.3 Find $F^{T}$. How are the numbers along the main diagonal (top left to bottom right) of the original matrix and its transpose related? What are the dimensions of $F$? What are the dimensions of $F^{T}$?\n",
+ "\n",
+ "\\begin{align}\n",
+ "F = \n",
+ "\\begin{bmatrix}\n",
+ "20 & 19 & 18 & 17 \\\\\n",
+ "16 & 15 & 14 & 13 \\\\\n",
+ "12 & 11 & 10 & 9 \\\\\n",
+ "8 & 7 & 6 & 5 \\\\\n",
+ "4 & 3 & 2 & 1\n",
+ "\\end{bmatrix}\n",
+ "\\end{align}"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "Wl3ElwgLqaAn",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 85
+ },
+ "outputId": "4440f270-e062-4a3d-b11d-9e65556d6b7e"
+ },
+ "source": [
+ "F = np.array([[20,19,18,17],\n",
+ " [16,15,14,13],\n",
+ " [12,11,10,9],\n",
+ " [8,7,6,5,],\n",
+ " [4,3,2,1]])\n",
+ "\n",
+ "F.T\n",
+ "\n",
+ "# The numbers in the top left and bottom right are mirrored across the diagonal\n",
+ "# The dimension of F and F.T are the same, (5,4)"
+ ],
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "array([[20, 16, 12, 8, 4],\n",
+ " [19, 15, 11, 7, 3],\n",
+ " [18, 14, 10, 6, 2],\n",
+ " [17, 13, 9, 5, 1]])"
+ ]
+ },
+ "metadata": {
+ "tags": []
+ },
+ "execution_count": 70
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "13ik2LEEZLHn",
+ "colab_type": "text"
+ },
+ "source": [
+ "# Part 3 - Square Matrices"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "sDBAPUwfp7f7",
+ "colab_type": "text"
+ },
+ "source": [
+ "## 3.1 Find $IG$ (be sure to show your work) 😃\n",
+ "\n",
+ "You don't have to do anything crazy complicated here to show your work, just create the G matrix as specified below, and a corresponding 2x2 Identity matrix and then multiply them together to show the result. You don't need to write LaTeX or anything like that (unless you want to).\n",
+ "\n",
+ "\\begin{align}\n",
+ "G= \n",
+ "\\begin{bmatrix}\n",
+ "13 & 14 \\\\\n",
+ "21 & 12 \n",
+ "\\end{bmatrix}\n",
+ "\\end{align}"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "ZnqvZBOYqar3",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 51
+ },
+ "outputId": "bce9d332-b144-485c-f0cd-618710b927e9"
+ },
+ "source": [
+ "G = np.array([[13,14],\n",
+ " [21,12]])\n",
+ "\n",
+ "GI = np.array([[1,0],\n",
+ " [0,1]])\n",
+ "\n",
+ "IG = np.matmul(GI,G)\n",
+ "\n",
+ "print(IG)"
+ ],
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "[[13 14]\n",
+ " [21 12]]\n"
+ ],
+ "name": "stdout"
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "DZ_0XTDQqpMT",
+ "colab_type": "text"
+ },
+ "source": [
+ "## 3.2 Find $|H|$ and then find $|J|$.\n",
+ "\n",
+ "\\begin{align}\n",
+ "H= \n",
+ "\\begin{bmatrix}\n",
+ "12 & 11 \\\\\n",
+ "7 & 10 \n",
+ "\\end{bmatrix}\n",
+ "\\qquad\n",
+ "J= \n",
+ "\\begin{bmatrix}\n",
+ "0 & 1 & 2 \\\\\n",
+ "7 & 10 & 4 \\\\\n",
+ "3 & 2 & 0\n",
+ "\\end{bmatrix}\n",
+ "\\end{align}\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "5QShhoXyrjDS",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 51
+ },
+ "outputId": "18a14b39-94ab-4cbc-fa16-67a279f8fb87"
+ },
+ "source": [
+ "H = np.array([[12,11],\n",
+ " [7,10]])\n",
+ "\n",
+ "J = np.array([[0,1,2],\n",
+ " [7,10,4],\n",
+ " [3,2,0]])\n",
+ "\n",
+ "HD = np.linalg.det(H)\n",
+ "JD = np.linalg.det(J)\n",
+ "\n",
+ "print(HD)\n",
+ "print(JD)"
+ ],
+ "execution_count": 80,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "43.000000000000014\n",
+ "-19.999999999999996\n"
+ ],
+ "name": "stdout"
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "2gZl1CFwrXSH",
+ "colab_type": "text"
+ },
+ "source": [
+ "## 3.3 Find $H^{-1}$ and then find $J^{-1}$"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "nyX6De2-rio1",
+ "colab_type": "code",
+ "colab": {}
+ },
+ "source": [
+ ""
+ ],
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "Vvd4Pe86rjhW",
+ "colab_type": "text"
+ },
+ "source": [
+ "## 3.4 Find $HH^{-1}$ and then find $J^{-1}J$. Is $HH^{-1} == J^{-1}J$? Why or Why not? \n",
+ "\n",
+ "Please ignore Python rounding errors. If necessary, format your output so that it rounds to 5 significant digits (the fifth decimal place)."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "V0iTO4McYjtk",
+ "colab_type": "text"
+ },
+ "source": [
+ "# Stretch Goals: \n",
+ "\n",
+ "A reminder that these challenges are optional. If you finish your work quickly we welcome you to work on them. If there are other activities that you feel like will help your understanding of the above topics more, feel free to work on that. Topics from the Stretch Goals sections will never end up on Sprint Challenges. You don't have to do these in order, you don't have to do all of them. \n",
+ "\n",
+ "- Write a function that can calculate the dot product of any two vectors of equal length that are passed to it.\n",
+ "- Write a function that can calculate the norm of any vector\n",
+ "- Prove to yourself again that the vectors in 1.9 are orthogonal by graphing them. \n",
+ "- Research how to plot a 3d graph with animations so that you can make the graph rotate (this will be easier in a local notebook than in google colab)\n",
+ "- Create and plot a matrix on a 2d graph.\n",
+ "- Create and plot a matrix on a 3d graph.\n",
+ "- Plot two vectors that are not collinear on a 2d graph. Calculate the determinant of the 2x2 matrix that these vectors form. How does this determinant relate to the graphical interpretation of the vectors?\n",
+ "\n"
+ ]
+ }
+ ]
+}
\ No newline at end of file