{"id":432,"date":"2024-02-29T15:14:42","date_gmt":"2024-02-29T20:14:42","guid":{"rendered":"https:\/\/pressbooks.bccampus.ca\/businessanalytics\/chapter\/matrices_ai_class\/"},"modified":"2024-02-29T15:28:39","modified_gmt":"2024-02-29T20:28:39","slug":"matrices","status":"publish","type":"chapter","link":"https:\/\/pressbooks.bccampus.ca\/businessanalytics\/chapter\/matrices\/","title":{"raw":"Matrices","rendered":"Matrices"},"content":{"raw":"<div class=\"jp-Cell jp-MarkdownCell jp-Notebook-cell\">\r\n<div class=\"jp-Cell-inputWrapper\">\r\n<div class=\"jp-Collapser jp-InputCollapser jp-Cell-inputCollapser\"><\/div>\r\n<div class=\"jp-InputArea jp-Cell-inputArea\">\r\n<div class=\"jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput\" data-mime-type=\"text\/markdown\">\r\n<h1 id=\"Matrices\">Matrices<a class=\"anchor-link\" href=\"#Matrices\">\u00b6<\/a><\/h1>\r\n<em>update: 2023<\/em>\r\n\r\nAn [latex]m \\times n[\/latex] dimensional matrix is a collection of\r\n<ul>\r\n \t<li>n m-dimensional column vectors OR<\/li>\r\n \t<li>m n-dimensional row vectors<\/li>\r\n<\/ul>\r\nThat's not confusing at all!\r\n\r\nA [latex]3 \\times 2[\/latex] matrix:\r\n\r\n$$A = \\begin{pmatrix}7 &amp; 2\\\\8 &amp; 5\\\\ 1&amp;4\\end{pmatrix}$$\r\n\r\nAs opposed to a 2 by 3 mattrix:\r\n\r\n$$B = \\begin{pmatrix}1 &amp; 2&amp;3\\\\4 &amp; 5&amp;6\\end{pmatrix}$$\r\n\r\nA square matrix has the same number of rows and columns:\r\n\r\n$$C = \\begin{pmatrix} 5&amp;4\\\\7&amp; 2\\end{pmatrix}$$\r\n\r\nA vector is just a matrix with one column.\r\n\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<div class=\"jp-Cell jp-CodeCell jp-Notebook-cell\">\r\n<div class=\"jp-Cell-inputWrapper\">\r\n<div class=\"jp-Collapser jp-InputCollapser jp-Cell-inputCollapser\"><\/div>\r\n<div class=\"jp-InputArea jp-Cell-inputArea\">\r\n<div class=\"jp-InputPrompt jp-InputArea-prompt\">In\u00a0[10]:<\/div>\r\n<div class=\"jp-CodeMirrorEditor jp-Editor jp-InputArea-editor\" data-type=\"inline\">\r\n<div class=\"CodeMirror cm-s-jupyter\">\r\n<div class=\"highlight hl-ipython3\">\r\n<pre><span class=\"c1\">## let's just put this in Python, shall we?<\/span>\r\n<span class=\"kn\">import<\/span> <span class=\"nn\">numpy<\/span> <span class=\"k\">as<\/span> <span class=\"nn\">np<\/span>\r\n\r\n<span class=\"n\">A<\/span> <span class=\"o\">=<\/span><span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">array<\/span><span class=\"p\">([(<\/span><span class=\"mi\">7<\/span><span class=\"p\">,<\/span><span class=\"mi\">2<\/span><span class=\"p\">),(<\/span><span class=\"mi\">8<\/span><span class=\"p\">,<\/span><span class=\"mi\">5<\/span><span class=\"p\">),<\/span> <span class=\"p\">(<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span><span class=\"mi\">4<\/span><span class=\"p\">)])<\/span>\r\n<span class=\"n\">B<\/span> <span class=\"o\">=<\/span> <span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">array<\/span><span class=\"p\">([(<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span><span class=\"mi\">2<\/span><span class=\"p\">,<\/span><span class=\"mi\">3<\/span><span class=\"p\">),(<\/span><span class=\"mi\">4<\/span><span class=\"p\">,<\/span><span class=\"mi\">5<\/span><span class=\"p\">,<\/span><span class=\"mi\">6<\/span><span class=\"p\">)])<\/span>\r\n<span class=\"n\">C<\/span> <span class=\"o\">=<\/span> <span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">array<\/span><span class=\"p\">([(<\/span><span class=\"mi\">5<\/span><span class=\"p\">,<\/span><span class=\"mi\">4<\/span><span class=\"p\">),(<\/span><span class=\"mi\">7<\/span><span class=\"p\">,<\/span><span class=\"mi\">2<\/span><span class=\"p\">)])<\/span>\r\n\r\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"A = \"<\/span><span class=\"p\">,<\/span><span class=\"n\">A<\/span><span class=\"p\">)<\/span>\r\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"B = \"<\/span><span class=\"p\">,<\/span> <span class=\"n\">B<\/span><span class=\"p\">)<\/span>\r\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"and C = \"<\/span><span class=\"p\">,<\/span> <span class=\"n\">C<\/span><span class=\"p\">)<\/span>\r\n<\/pre>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<div class=\"jp-Cell-outputWrapper\">\r\n<div class=\"jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser\"><\/div>\r\n<div class=\"jp-OutputArea jp-Cell-outputArea\">\r\n<div class=\"jp-OutputArea-child\">\r\n<div class=\"jp-OutputPrompt jp-OutputArea-prompt\"><\/div>\r\n<div class=\"jp-RenderedText jp-OutputArea-output\" data-mime-type=\"text\/plain\">\r\n<pre>A =  [[7 2]\r\n [8 5]\r\n [1 4]]\r\nB =  [[1 2 3]\r\n [4 5 6]]\r\nand C =  [[5 4]\r\n [7 2]]\r\n<\/pre>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<div class=\"jp-Cell jp-MarkdownCell jp-Notebook-cell\">\r\n<div class=\"jp-Cell-inputWrapper\">\r\n<div class=\"jp-Collapser jp-InputCollapser jp-Cell-inputCollapser\"><\/div>\r\n<div class=\"jp-InputArea jp-Cell-inputArea\">\r\n<div class=\"jp-InputPrompt jp-InputArea-prompt\"><\/div>\r\n<div class=\"jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput\" data-mime-type=\"text\/markdown\">\r\n<h2 id=\"Adding-Matrices\">Adding Matrices<a class=\"anchor-link\" href=\"#Adding-Matrices\">\u00b6<\/a><\/h2>\r\nTo add matrices, they need to be the sane shape. Then we just piecewise add them - kind of like we did with adding vectors:\r\n\r\n$$\\begin{pmatrix} a&amp;b\\\\c&amp; d\\end{pmatrix}+\\begin{pmatrix} e&amp;f\\\\g&amp; h\\end{pmatrix}=\\begin{pmatrix} a+e&amp;b+f\\\\c+g&amp; d+h\\end{pmatrix}$$\r\n\r\nOr with numbers:\r\n\r\n$$\\begin{pmatrix} 5&amp;4\\\\7&amp; 2\\end{pmatrix}+\\begin{pmatrix} 1&amp;2\\\\3&amp; 4\\end{pmatrix}+\\begin{pmatrix} 5+1&amp;4+2\\\\7+3&amp; 2+4\\end{pmatrix} = \\begin{pmatrix} 6&amp;6\\\\10&amp; 6\\end{pmatrix}$$\r\n\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<div class=\"jp-Cell jp-CodeCell jp-Notebook-cell\">\r\n<div class=\"jp-Cell-inputWrapper\">\r\n<div class=\"jp-Collapser jp-InputCollapser jp-Cell-inputCollapser\"><\/div>\r\n<div class=\"jp-InputArea jp-Cell-inputArea\">\r\n<div class=\"jp-InputPrompt jp-InputArea-prompt\">In\u00a0[11]:<\/div>\r\n<div class=\"jp-CodeMirrorEditor jp-Editor jp-InputArea-editor\" data-type=\"inline\">\r\n<div class=\"CodeMirror cm-s-jupyter\">\r\n<div class=\"highlight hl-ipython3\">\r\n<pre><span class=\"c1\">## or in Python, we can just add:<\/span>\r\n<span class=\"n\">C<\/span> <span class=\"o\">=<\/span> <span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">array<\/span><span class=\"p\">([(<\/span><span class=\"mi\">5<\/span><span class=\"p\">,<\/span><span class=\"mi\">4<\/span><span class=\"p\">),(<\/span><span class=\"mi\">7<\/span><span class=\"p\">,<\/span><span class=\"mi\">2<\/span><span class=\"p\">)])<\/span>\r\n<span class=\"n\">D<\/span> <span class=\"o\">=<\/span> <span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">array<\/span><span class=\"p\">([(<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span><span class=\"mi\">2<\/span><span class=\"p\">),(<\/span><span class=\"mi\">3<\/span><span class=\"p\">,<\/span><span class=\"mi\">4<\/span><span class=\"p\">)])<\/span>\r\n\r\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"Adding C and D equals\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">C<\/span><span class=\"o\">+<\/span> <span class=\"n\">D<\/span><span class=\"p\">)<\/span>\r\n<\/pre>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<div class=\"jp-Cell-outputWrapper\">\r\n<div class=\"jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser\"><\/div>\r\n<div class=\"jp-OutputArea jp-Cell-outputArea\">\r\n<div class=\"jp-OutputArea-child\">\r\n<div class=\"jp-OutputPrompt jp-OutputArea-prompt\"><\/div>\r\n<div class=\"jp-RenderedText jp-OutputArea-output\" data-mime-type=\"text\/plain\">\r\n<pre>Adding C and D equals [[ 6  6]\r\n [10  6]]\r\n<\/pre>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<div class=\"jp-Cell jp-MarkdownCell jp-Notebook-cell\">\r\n<div class=\"jp-Cell-inputWrapper\">\r\n<div class=\"jp-Collapser jp-InputCollapser jp-Cell-inputCollapser\"><\/div>\r\n<div class=\"jp-InputArea jp-Cell-inputArea\">\r\n<div class=\"jp-InputPrompt jp-InputArea-prompt\"><\/div>\r\n<div class=\"jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput\" data-mime-type=\"text\/markdown\">\r\n<h2 id=\"Multiplying-is-harder\">Multiplying is harder<a class=\"anchor-link\" href=\"#Multiplying-is-harder\">\u00b6<\/a><\/h2>\r\nWe can define a kind of multiplication on Matrices, using the dot product as our guide. For this to work, we need the <strong>columns<\/strong> of the first matric to be equal to the <strong>rows<\/strong> of the second. Pretend you have row vectors in the first, and column vectors in the second, then do a whole lot of dot products. Here's an example:\r\n\r\n[latex]\\begin{align*}\r\n\\begin{pmatrix}1&amp;0\\\\3&amp;2\\\\5&amp;1\\end{pmatrix} \\cdot \\begin{pmatrix}5&amp;1&amp;2&amp;-1\\\\6&amp;0&amp;1&amp;5\\end{pmatrix}\\\\\r\n= \\begin{pmatrix}(1, 0)\\\\(3,2)\\\\ (5,1)\\end{pmatrix} \\cdot \\begin{pmatrix} \\begin{pmatrix} 5\\\\6 \\end{pmatrix}&amp;\\begin{pmatrix} 1\\\\0 \\end{pmatrix}&amp;\\begin{pmatrix} 2\\\\1 \\end{pmatrix}&amp;\\begin{pmatrix} -1\\\\5 \\end{pmatrix} \\end{pmatrix}\\\\\r\n\r\n=\\begin{pmatrix} \\begin{pmatrix} 1\\\\0\\end{pmatrix}\\cdot\\begin{pmatrix} 5\\\\6\\end{pmatrix}\r\n\r\n&amp;\\begin{pmatrix} 1\\\\0\\end{pmatrix}\\cdot\\begin{pmatrix} 1\\\\0\\end{pmatrix}\r\n\r\n&amp;\\begin{pmatrix} 1\\\\0\\end{pmatrix}\\cdot\\begin{pmatrix} 2\\\\1\\end{pmatrix}\r\n\r\n&amp;\\begin{pmatrix} 1\\\\0\\end{pmatrix}\\cdot\\begin{pmatrix} -1\\\\5\\end{pmatrix}\\\\\r\n\r\n\\begin{pmatrix} 3\\\\2\\end{pmatrix}\\cdot\\begin{pmatrix} 5\\\\6\\end{pmatrix}\r\n\r\n&amp;\\begin{pmatrix} 3\\\\2\\end{pmatrix}\\cdot\\begin{pmatrix} 1\\\\0\\end{pmatrix}\r\n\r\n&amp;\\begin{pmatrix} 3\\\\2\\end{pmatrix}\\cdot\\begin{pmatrix} 2\\\\1\\end{pmatrix}\r\n\r\n&amp;\\begin{pmatrix} 3\\\\2\\end{pmatrix}\\cdot\\begin{pmatrix} -1\\\\5\\end{pmatrix}\\\\\r\n\r\n\\begin{pmatrix} 5\\\\1\\end{pmatrix}\\cdot\\begin{pmatrix} 5\\\\6\\end{pmatrix}\r\n\r\n&amp;\\begin{pmatrix} 5\\\\1\\end{pmatrix}\\cdot\\begin{pmatrix} 1\\\\0\\end{pmatrix}\r\n\r\n&amp;\\begin{pmatrix} 5\\\\1\\end{pmatrix}\\cdot\\begin{pmatrix} 2\\\\1\\end{pmatrix}\r\n\r\n&amp;\\begin{pmatrix} 5\\\\1\\end{pmatrix}\\cdot\\begin{pmatrix} -1\\\\5\\end{pmatrix}\\\\\r\n\r\n\\end{pmatrix}\\\\\r\n\r\n=\\begin{pmatrix} 5 &amp;1&amp;2&amp;-1\\\\ 27&amp;3 &amp; 8&amp;7\\\\ 31&amp;5&amp;11&amp;0\\end{pmatrix}\r\n\r\n\\end{align*}[\/latex]\r\n\r\n&nbsp;\r\n\r\nThis will make a 3 by 4 matrix,\r\n\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<div class=\"jp-Cell jp-CodeCell jp-Notebook-cell\">\r\n<div class=\"jp-Cell-inputWrapper\">\r\n<div class=\"jp-Collapser jp-InputCollapser jp-Cell-inputCollapser\"><\/div>\r\n<div class=\"jp-InputArea jp-Cell-inputArea\">\r\n<div class=\"jp-InputPrompt jp-InputArea-prompt\">In\u00a0[17]:<\/div>\r\n<div class=\"jp-CodeMirrorEditor jp-Editor jp-InputArea-editor\" data-type=\"inline\">\r\n<div class=\"CodeMirror cm-s-jupyter\">\r\n<div class=\"highlight hl-ipython3\">\r\n<pre><span class=\"c1\">## this works WAY better with a computer than by hand:<\/span>\r\n\r\n<span class=\"n\">A<\/span> <span class=\"o\">=<\/span> <span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">array<\/span><span class=\"p\">([(<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span><span class=\"mi\">0<\/span><span class=\"p\">),(<\/span><span class=\"mi\">3<\/span><span class=\"p\">,<\/span><span class=\"mi\">2<\/span><span class=\"p\">),<\/span> <span class=\"p\">(<\/span><span class=\"mi\">5<\/span><span class=\"p\">,<\/span><span class=\"mi\">1<\/span><span class=\"p\">)])<\/span>\r\n<span class=\"n\">B<\/span> <span class=\"o\">=<\/span> <span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">array<\/span><span class=\"p\">([(<\/span><span class=\"mi\">5<\/span><span class=\"p\">,<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span><span class=\"mi\">2<\/span><span class=\"p\">,<\/span><span class=\"o\">-<\/span><span class=\"mi\">1<\/span><span class=\"p\">),(<\/span><span class=\"mi\">6<\/span><span class=\"p\">,<\/span><span class=\"mi\">0<\/span><span class=\"p\">,<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span><span class=\"mi\">5<\/span><span class=\"p\">)])<\/span>\r\n\r\n<span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">matmul<\/span><span class=\"p\">(<\/span><span class=\"n\">A<\/span><span class=\"p\">,<\/span><span class=\"n\">B<\/span><span class=\"p\">)<\/span>\r\n<\/pre>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<div class=\"jp-Cell-outputWrapper\">\r\n<div class=\"jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser\"><\/div>\r\n<div class=\"jp-OutputArea jp-Cell-outputArea\">\r\n<div class=\"jp-OutputArea-child\">\r\n<div class=\"jp-OutputPrompt jp-OutputArea-prompt\">Out[17]:<\/div>\r\n<div class=\"jp-RenderedText jp-OutputArea-output jp-OutputArea-executeResult\" data-mime-type=\"text\/plain\">\r\n<pre>array([[ 5,  1,  2, -1],\r\n       [27,  3,  8,  7],\r\n       [31,  5, 11,  0]])<\/pre>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<div class=\"jp-Cell jp-MarkdownCell jp-Notebook-cell\">\r\n<div class=\"jp-Cell-inputWrapper\">\r\n<div class=\"jp-Collapser jp-InputCollapser jp-Cell-inputCollapser\"><\/div>\r\n<div class=\"jp-InputArea jp-Cell-inputArea\">\r\n<div class=\"jp-InputPrompt jp-InputArea-prompt\"><\/div>\r\n<div class=\"jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput\" data-mime-type=\"text\/markdown\">\r\n\r\nMatrix Algebra is <strong>non-commutative<\/strong>. That meas that [latex]AB \\neq BA[\/latex]. See?\r\n\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<div class=\"jp-Cell jp-CodeCell jp-Notebook-cell\">\r\n<div class=\"jp-Cell-inputWrapper\">\r\n<div class=\"jp-Collapser jp-InputCollapser jp-Cell-inputCollapser\"><\/div>\r\n<div class=\"jp-InputArea jp-Cell-inputArea\">\r\n<div class=\"jp-InputPrompt jp-InputArea-prompt\">In\u00a0[25]:<\/div>\r\n<div class=\"jp-CodeMirrorEditor jp-Editor jp-InputArea-editor\" data-type=\"inline\">\r\n<div class=\"CodeMirror cm-s-jupyter\">\r\n<div class=\"highlight hl-ipython3\">\r\n<pre><span class=\"n\">A<\/span> <span class=\"o\">=<\/span><span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">array<\/span><span class=\"p\">([(<\/span><span class=\"mi\">7<\/span><span class=\"p\">,<\/span><span class=\"mi\">2<\/span><span class=\"p\">),(<\/span><span class=\"mi\">8<\/span><span class=\"p\">,<\/span><span class=\"mi\">5<\/span><span class=\"p\">),<\/span> <span class=\"p\">(<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span><span class=\"mi\">4<\/span><span class=\"p\">)])<\/span>\r\n<span class=\"n\">B<\/span> <span class=\"o\">=<\/span> <span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">array<\/span><span class=\"p\">([(<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span><span class=\"mi\">2<\/span><span class=\"p\">,<\/span><span class=\"mi\">3<\/span><span class=\"p\">),(<\/span><span class=\"mi\">4<\/span><span class=\"p\">,<\/span><span class=\"mi\">5<\/span><span class=\"p\">,<\/span><span class=\"mi\">6<\/span><span class=\"p\">)])<\/span>\r\n\r\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"A 3 by 2 matrix: A = \"<\/span><span class=\"p\">)<\/span>\r\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"n\">A<\/span><span class=\"p\">)<\/span>\r\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"A 2 by 3 matrix:B = \"<\/span><span class=\"p\">)<\/span>\r\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"n\">B<\/span><span class=\"p\">)<\/span>\r\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"A times B is a 3 by 3 matrix:\"<\/span><span class=\"p\">)<\/span>\r\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">matmul<\/span><span class=\"p\">(<\/span><span class=\"n\">A<\/span><span class=\"p\">,<\/span><span class=\"n\">B<\/span><span class=\"p\">))<\/span>\r\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"But B times A is a 2 by 2 matrix:\"<\/span><span class=\"p\">)<\/span>\r\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">matmul<\/span><span class=\"p\">(<\/span><span class=\"n\">B<\/span><span class=\"p\">,<\/span><span class=\"n\">A<\/span><span class=\"p\">))<\/span>\r\n<\/pre>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<div class=\"jp-Cell-outputWrapper\">\r\n<div class=\"jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser\"><\/div>\r\n<div class=\"jp-OutputArea jp-Cell-outputArea\">\r\n<div class=\"jp-OutputArea-child\">\r\n<div class=\"jp-OutputPrompt jp-OutputArea-prompt\"><\/div>\r\n<div class=\"jp-RenderedText jp-OutputArea-output\" data-mime-type=\"text\/plain\">\r\n<pre>A 3 by 2 matrix: A = \r\n[[7 2]\r\n [8 5]\r\n [1 4]]\r\nA 2 by 3 matrix:B = \r\n[[1 2 3]\r\n [4 5 6]]\r\nA times B is a 3 by 3 matrix:\r\n[[15 24 33]\r\n [28 41 54]\r\n [17 22 27]]\r\nBut B times A is a 2 by 2 matrix:\r\n[[26 24]\r\n [74 57]]\r\n<\/pre>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<div class=\"jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs\">\r\n<div class=\"jp-Cell-inputWrapper\">\r\n<div class=\"jp-Collapser jp-InputCollapser jp-Cell-inputCollapser\"><\/div>\r\n<div class=\"jp-InputArea jp-Cell-inputArea\">\r\n<div class=\"jp-InputPrompt jp-InputArea-prompt\">In\u00a0[\u00a0]:<\/div>\r\n<div class=\"jp-CodeMirrorEditor jp-Editor jp-InputArea-editor\" data-type=\"inline\">\r\n<div class=\"CodeMirror cm-s-jupyter\">\r\n<div class=\"highlight hl-ipython3\">\r\n<pre> \r\n<\/pre>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>","rendered":"<div class=\"jp-Cell jp-MarkdownCell jp-Notebook-cell\">\n<div class=\"jp-Cell-inputWrapper\">\n<div class=\"jp-Collapser jp-InputCollapser jp-Cell-inputCollapser\"><\/div>\n<div class=\"jp-InputArea jp-Cell-inputArea\">\n<div class=\"jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput\" data-mime-type=\"text\/markdown\">\n<h1 id=\"Matrices\">Matrices<a class=\"anchor-link\" href=\"#Matrices\">\u00b6<\/a><\/h1>\n<p><em>update: 2023<\/em><\/p>\n<p>An [latex]m \\times n[\/latex] dimensional matrix is a collection of<\/p>\n<ul>\n<li>n m-dimensional column vectors OR<\/li>\n<li>m n-dimensional row vectors<\/li>\n<\/ul>\n<p>That&#8217;s not confusing at all!<\/p>\n<p>A [latex]3 \\times 2[\/latex] matrix:<\/p>\n<p>$$A = \\begin{pmatrix}7 &amp; 2\\\\8 &amp; 5\\\\ 1&amp;4\\end{pmatrix}$$<\/p>\n<p>As opposed to a 2 by 3 mattrix:<\/p>\n<p>$$B = \\begin{pmatrix}1 &amp; 2&amp;3\\\\4 &amp; 5&amp;6\\end{pmatrix}$$<\/p>\n<p>A square matrix has the same number of rows and columns:<\/p>\n<p>$$C = \\begin{pmatrix} 5&amp;4\\\\7&amp; 2\\end{pmatrix}$$<\/p>\n<p>A vector is just a matrix with one column.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"jp-Cell jp-CodeCell jp-Notebook-cell\">\n<div class=\"jp-Cell-inputWrapper\">\n<div class=\"jp-Collapser jp-InputCollapser jp-Cell-inputCollapser\"><\/div>\n<div class=\"jp-InputArea jp-Cell-inputArea\">\n<div class=\"jp-InputPrompt jp-InputArea-prompt\">In\u00a0[10]:<\/div>\n<div class=\"jp-CodeMirrorEditor jp-Editor jp-InputArea-editor\" data-type=\"inline\">\n<div class=\"CodeMirror cm-s-jupyter\">\n<div class=\"highlight hl-ipython3\">\n<pre><span class=\"c1\">## let's just put this in Python, shall we?<\/span>\r\n<span class=\"kn\">import<\/span> <span class=\"nn\">numpy<\/span> <span class=\"k\">as<\/span> <span class=\"nn\">np<\/span>\r\n\r\n<span class=\"n\">A<\/span> <span class=\"o\">=<\/span><span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">array<\/span><span class=\"p\">([(<\/span><span class=\"mi\">7<\/span><span class=\"p\">,<\/span><span class=\"mi\">2<\/span><span class=\"p\">),(<\/span><span class=\"mi\">8<\/span><span class=\"p\">,<\/span><span class=\"mi\">5<\/span><span class=\"p\">),<\/span> <span class=\"p\">(<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span><span class=\"mi\">4<\/span><span class=\"p\">)])<\/span>\r\n<span class=\"n\">B<\/span> <span class=\"o\">=<\/span> <span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">array<\/span><span class=\"p\">([(<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span><span class=\"mi\">2<\/span><span class=\"p\">,<\/span><span class=\"mi\">3<\/span><span class=\"p\">),(<\/span><span class=\"mi\">4<\/span><span class=\"p\">,<\/span><span class=\"mi\">5<\/span><span class=\"p\">,<\/span><span class=\"mi\">6<\/span><span class=\"p\">)])<\/span>\r\n<span class=\"n\">C<\/span> <span class=\"o\">=<\/span> <span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">array<\/span><span class=\"p\">([(<\/span><span class=\"mi\">5<\/span><span class=\"p\">,<\/span><span class=\"mi\">4<\/span><span class=\"p\">),(<\/span><span class=\"mi\">7<\/span><span class=\"p\">,<\/span><span class=\"mi\">2<\/span><span class=\"p\">)])<\/span>\r\n\r\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"A = \"<\/span><span class=\"p\">,<\/span><span class=\"n\">A<\/span><span class=\"p\">)<\/span>\r\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"B = \"<\/span><span class=\"p\">,<\/span> <span class=\"n\">B<\/span><span class=\"p\">)<\/span>\r\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"and C = \"<\/span><span class=\"p\">,<\/span> <span class=\"n\">C<\/span><span class=\"p\">)<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"jp-Cell-outputWrapper\">\n<div class=\"jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser\"><\/div>\n<div class=\"jp-OutputArea jp-Cell-outputArea\">\n<div class=\"jp-OutputArea-child\">\n<div class=\"jp-OutputPrompt jp-OutputArea-prompt\"><\/div>\n<div class=\"jp-RenderedText jp-OutputArea-output\" data-mime-type=\"text\/plain\">\n<pre>A =  [[7 2]\r\n [8 5]\r\n [1 4]]\r\nB =  [[1 2 3]\r\n [4 5 6]]\r\nand C =  [[5 4]\r\n [7 2]]\r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"jp-Cell jp-MarkdownCell jp-Notebook-cell\">\n<div class=\"jp-Cell-inputWrapper\">\n<div class=\"jp-Collapser jp-InputCollapser jp-Cell-inputCollapser\"><\/div>\n<div class=\"jp-InputArea jp-Cell-inputArea\">\n<div class=\"jp-InputPrompt jp-InputArea-prompt\"><\/div>\n<div class=\"jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput\" data-mime-type=\"text\/markdown\">\n<h2 id=\"Adding-Matrices\">Adding Matrices<a class=\"anchor-link\" href=\"#Adding-Matrices\">\u00b6<\/a><\/h2>\n<p>To add matrices, they need to be the sane shape. Then we just piecewise add them &#8211; kind of like we did with adding vectors:<\/p>\n<p>$$\\begin{pmatrix} a&amp;b\\\\c&amp; d\\end{pmatrix}+\\begin{pmatrix} e&amp;f\\\\g&amp; h\\end{pmatrix}=\\begin{pmatrix} a+e&amp;b+f\\\\c+g&amp; d+h\\end{pmatrix}$$<\/p>\n<p>Or with numbers:<\/p>\n<p>$$\\begin{pmatrix} 5&amp;4\\\\7&amp; 2\\end{pmatrix}+\\begin{pmatrix} 1&amp;2\\\\3&amp; 4\\end{pmatrix}+\\begin{pmatrix} 5+1&amp;4+2\\\\7+3&amp; 2+4\\end{pmatrix} = \\begin{pmatrix} 6&amp;6\\\\10&amp; 6\\end{pmatrix}$$<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"jp-Cell jp-CodeCell jp-Notebook-cell\">\n<div class=\"jp-Cell-inputWrapper\">\n<div class=\"jp-Collapser jp-InputCollapser jp-Cell-inputCollapser\"><\/div>\n<div class=\"jp-InputArea jp-Cell-inputArea\">\n<div class=\"jp-InputPrompt jp-InputArea-prompt\">In\u00a0[11]:<\/div>\n<div class=\"jp-CodeMirrorEditor jp-Editor jp-InputArea-editor\" data-type=\"inline\">\n<div class=\"CodeMirror cm-s-jupyter\">\n<div class=\"highlight hl-ipython3\">\n<pre><span class=\"c1\">## or in Python, we can just add:<\/span>\r\n<span class=\"n\">C<\/span> <span class=\"o\">=<\/span> <span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">array<\/span><span class=\"p\">([(<\/span><span class=\"mi\">5<\/span><span class=\"p\">,<\/span><span class=\"mi\">4<\/span><span class=\"p\">),(<\/span><span class=\"mi\">7<\/span><span class=\"p\">,<\/span><span class=\"mi\">2<\/span><span class=\"p\">)])<\/span>\r\n<span class=\"n\">D<\/span> <span class=\"o\">=<\/span> <span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">array<\/span><span class=\"p\">([(<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span><span class=\"mi\">2<\/span><span class=\"p\">),(<\/span><span class=\"mi\">3<\/span><span class=\"p\">,<\/span><span class=\"mi\">4<\/span><span class=\"p\">)])<\/span>\r\n\r\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"Adding C and D equals\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">C<\/span><span class=\"o\">+<\/span> <span class=\"n\">D<\/span><span class=\"p\">)<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"jp-Cell-outputWrapper\">\n<div class=\"jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser\"><\/div>\n<div class=\"jp-OutputArea jp-Cell-outputArea\">\n<div class=\"jp-OutputArea-child\">\n<div class=\"jp-OutputPrompt jp-OutputArea-prompt\"><\/div>\n<div class=\"jp-RenderedText jp-OutputArea-output\" data-mime-type=\"text\/plain\">\n<pre>Adding C and D equals [[ 6  6]\r\n [10  6]]\r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"jp-Cell jp-MarkdownCell jp-Notebook-cell\">\n<div class=\"jp-Cell-inputWrapper\">\n<div class=\"jp-Collapser jp-InputCollapser jp-Cell-inputCollapser\"><\/div>\n<div class=\"jp-InputArea jp-Cell-inputArea\">\n<div class=\"jp-InputPrompt jp-InputArea-prompt\"><\/div>\n<div class=\"jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput\" data-mime-type=\"text\/markdown\">\n<h2 id=\"Multiplying-is-harder\">Multiplying is harder<a class=\"anchor-link\" href=\"#Multiplying-is-harder\">\u00b6<\/a><\/h2>\n<p>We can define a kind of multiplication on Matrices, using the dot product as our guide. For this to work, we need the <strong>columns<\/strong> of the first matric to be equal to the <strong>rows<\/strong> of the second. Pretend you have row vectors in the first, and column vectors in the second, then do a whole lot of dot products. Here&#8217;s an example:<\/p>\n<p>[latex]\\begin{align*}  \\begin{pmatrix}1&0\\\\3&2\\\\5&1\\end{pmatrix} \\cdot \\begin{pmatrix}5&1&2&-1\\\\6&0&1&5\\end{pmatrix}\\\\  = \\begin{pmatrix}(1, 0)\\\\(3,2)\\\\ (5,1)\\end{pmatrix} \\cdot \\begin{pmatrix} \\begin{pmatrix} 5\\\\6 \\end{pmatrix}&\\begin{pmatrix} 1\\\\0 \\end{pmatrix}&\\begin{pmatrix} 2\\\\1 \\end{pmatrix}&\\begin{pmatrix} -1\\\\5 \\end{pmatrix} \\end{pmatrix}\\\\    =\\begin{pmatrix} \\begin{pmatrix} 1\\\\0\\end{pmatrix}\\cdot\\begin{pmatrix} 5\\\\6\\end{pmatrix}    &\\begin{pmatrix} 1\\\\0\\end{pmatrix}\\cdot\\begin{pmatrix} 1\\\\0\\end{pmatrix}    &\\begin{pmatrix} 1\\\\0\\end{pmatrix}\\cdot\\begin{pmatrix} 2\\\\1\\end{pmatrix}    &\\begin{pmatrix} 1\\\\0\\end{pmatrix}\\cdot\\begin{pmatrix} -1\\\\5\\end{pmatrix}\\\\    \\begin{pmatrix} 3\\\\2\\end{pmatrix}\\cdot\\begin{pmatrix} 5\\\\6\\end{pmatrix}    &\\begin{pmatrix} 3\\\\2\\end{pmatrix}\\cdot\\begin{pmatrix} 1\\\\0\\end{pmatrix}    &\\begin{pmatrix} 3\\\\2\\end{pmatrix}\\cdot\\begin{pmatrix} 2\\\\1\\end{pmatrix}    &\\begin{pmatrix} 3\\\\2\\end{pmatrix}\\cdot\\begin{pmatrix} -1\\\\5\\end{pmatrix}\\\\    \\begin{pmatrix} 5\\\\1\\end{pmatrix}\\cdot\\begin{pmatrix} 5\\\\6\\end{pmatrix}    &\\begin{pmatrix} 5\\\\1\\end{pmatrix}\\cdot\\begin{pmatrix} 1\\\\0\\end{pmatrix}    &\\begin{pmatrix} 5\\\\1\\end{pmatrix}\\cdot\\begin{pmatrix} 2\\\\1\\end{pmatrix}    &\\begin{pmatrix} 5\\\\1\\end{pmatrix}\\cdot\\begin{pmatrix} -1\\\\5\\end{pmatrix}\\\\    \\end{pmatrix}\\\\    =\\begin{pmatrix} 5 &1&2&-1\\\\ 27&3 & 8&7\\\\ 31&5&11&0\\end{pmatrix}    \\end{align*}[\/latex]<\/p>\n<p>&nbsp;<\/p>\n<p>This will make a 3 by 4 matrix,<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"jp-Cell jp-CodeCell jp-Notebook-cell\">\n<div class=\"jp-Cell-inputWrapper\">\n<div class=\"jp-Collapser jp-InputCollapser jp-Cell-inputCollapser\"><\/div>\n<div class=\"jp-InputArea jp-Cell-inputArea\">\n<div class=\"jp-InputPrompt jp-InputArea-prompt\">In\u00a0[17]:<\/div>\n<div class=\"jp-CodeMirrorEditor jp-Editor jp-InputArea-editor\" data-type=\"inline\">\n<div class=\"CodeMirror cm-s-jupyter\">\n<div class=\"highlight hl-ipython3\">\n<pre><span class=\"c1\">## this works WAY better with a computer than by hand:<\/span>\r\n\r\n<span class=\"n\">A<\/span> <span class=\"o\">=<\/span> <span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">array<\/span><span class=\"p\">([(<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span><span class=\"mi\">0<\/span><span class=\"p\">),(<\/span><span class=\"mi\">3<\/span><span class=\"p\">,<\/span><span class=\"mi\">2<\/span><span class=\"p\">),<\/span> <span class=\"p\">(<\/span><span class=\"mi\">5<\/span><span class=\"p\">,<\/span><span class=\"mi\">1<\/span><span class=\"p\">)])<\/span>\r\n<span class=\"n\">B<\/span> <span class=\"o\">=<\/span> <span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">array<\/span><span class=\"p\">([(<\/span><span class=\"mi\">5<\/span><span class=\"p\">,<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span><span class=\"mi\">2<\/span><span class=\"p\">,<\/span><span class=\"o\">-<\/span><span class=\"mi\">1<\/span><span class=\"p\">),(<\/span><span class=\"mi\">6<\/span><span class=\"p\">,<\/span><span class=\"mi\">0<\/span><span class=\"p\">,<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span><span class=\"mi\">5<\/span><span class=\"p\">)])<\/span>\r\n\r\n<span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">matmul<\/span><span class=\"p\">(<\/span><span class=\"n\">A<\/span><span class=\"p\">,<\/span><span class=\"n\">B<\/span><span class=\"p\">)<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"jp-Cell-outputWrapper\">\n<div class=\"jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser\"><\/div>\n<div class=\"jp-OutputArea jp-Cell-outputArea\">\n<div class=\"jp-OutputArea-child\">\n<div class=\"jp-OutputPrompt jp-OutputArea-prompt\">Out[17]:<\/div>\n<div class=\"jp-RenderedText jp-OutputArea-output jp-OutputArea-executeResult\" data-mime-type=\"text\/plain\">\n<pre>array([[ 5,  1,  2, -1],\r\n       [27,  3,  8,  7],\r\n       [31,  5, 11,  0]])<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"jp-Cell jp-MarkdownCell jp-Notebook-cell\">\n<div class=\"jp-Cell-inputWrapper\">\n<div class=\"jp-Collapser jp-InputCollapser jp-Cell-inputCollapser\"><\/div>\n<div class=\"jp-InputArea jp-Cell-inputArea\">\n<div class=\"jp-InputPrompt jp-InputArea-prompt\"><\/div>\n<div class=\"jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput\" data-mime-type=\"text\/markdown\">\n<p>Matrix Algebra is <strong>non-commutative<\/strong>. That meas that [latex]AB \\neq BA[\/latex]. See?<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"jp-Cell jp-CodeCell jp-Notebook-cell\">\n<div class=\"jp-Cell-inputWrapper\">\n<div class=\"jp-Collapser jp-InputCollapser jp-Cell-inputCollapser\"><\/div>\n<div class=\"jp-InputArea jp-Cell-inputArea\">\n<div class=\"jp-InputPrompt jp-InputArea-prompt\">In\u00a0[25]:<\/div>\n<div class=\"jp-CodeMirrorEditor jp-Editor jp-InputArea-editor\" data-type=\"inline\">\n<div class=\"CodeMirror cm-s-jupyter\">\n<div class=\"highlight hl-ipython3\">\n<pre><span class=\"n\">A<\/span> <span class=\"o\">=<\/span><span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">array<\/span><span class=\"p\">([(<\/span><span class=\"mi\">7<\/span><span class=\"p\">,<\/span><span class=\"mi\">2<\/span><span class=\"p\">),(<\/span><span class=\"mi\">8<\/span><span class=\"p\">,<\/span><span class=\"mi\">5<\/span><span class=\"p\">),<\/span> <span class=\"p\">(<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span><span class=\"mi\">4<\/span><span class=\"p\">)])<\/span>\r\n<span class=\"n\">B<\/span> <span class=\"o\">=<\/span> <span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">array<\/span><span class=\"p\">([(<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span><span class=\"mi\">2<\/span><span class=\"p\">,<\/span><span class=\"mi\">3<\/span><span class=\"p\">),(<\/span><span class=\"mi\">4<\/span><span class=\"p\">,<\/span><span class=\"mi\">5<\/span><span class=\"p\">,<\/span><span class=\"mi\">6<\/span><span class=\"p\">)])<\/span>\r\n\r\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"A 3 by 2 matrix: A = \"<\/span><span class=\"p\">)<\/span>\r\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"n\">A<\/span><span class=\"p\">)<\/span>\r\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"A 2 by 3 matrix:B = \"<\/span><span class=\"p\">)<\/span>\r\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"n\">B<\/span><span class=\"p\">)<\/span>\r\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"A times B is a 3 by 3 matrix:\"<\/span><span class=\"p\">)<\/span>\r\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">matmul<\/span><span class=\"p\">(<\/span><span class=\"n\">A<\/span><span class=\"p\">,<\/span><span class=\"n\">B<\/span><span class=\"p\">))<\/span>\r\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"But B times A is a 2 by 2 matrix:\"<\/span><span class=\"p\">)<\/span>\r\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">matmul<\/span><span class=\"p\">(<\/span><span class=\"n\">B<\/span><span class=\"p\">,<\/span><span class=\"n\">A<\/span><span class=\"p\">))<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"jp-Cell-outputWrapper\">\n<div class=\"jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser\"><\/div>\n<div class=\"jp-OutputArea jp-Cell-outputArea\">\n<div class=\"jp-OutputArea-child\">\n<div class=\"jp-OutputPrompt jp-OutputArea-prompt\"><\/div>\n<div class=\"jp-RenderedText jp-OutputArea-output\" data-mime-type=\"text\/plain\">\n<pre>A 3 by 2 matrix: A = \r\n[[7 2]\r\n [8 5]\r\n [1 4]]\r\nA 2 by 3 matrix:B = \r\n[[1 2 3]\r\n [4 5 6]]\r\nA times B is a 3 by 3 matrix:\r\n[[15 24 33]\r\n [28 41 54]\r\n [17 22 27]]\r\nBut B times A is a 2 by 2 matrix:\r\n[[26 24]\r\n [74 57]]\r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs\">\n<div class=\"jp-Cell-inputWrapper\">\n<div class=\"jp-Collapser jp-InputCollapser jp-Cell-inputCollapser\"><\/div>\n<div class=\"jp-InputArea jp-Cell-inputArea\">\n<div class=\"jp-InputPrompt jp-InputArea-prompt\">In\u00a0[\u00a0]:<\/div>\n<div class=\"jp-CodeMirrorEditor jp-Editor jp-InputArea-editor\" data-type=\"inline\">\n<div class=\"CodeMirror cm-s-jupyter\">\n<div class=\"highlight hl-ipython3\">\n<pre> \r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":883,"menu_order":11,"template":"","meta":{"pb_show_title":"on","pb_short_title":"","pb_subtitle":"","pb_authors":[],"pb_section_license":""},"chapter-type":[],"contributor":[],"license":[],"class_list":["post-432","chapter","type-chapter","status-publish","hentry"],"part":102,"_links":{"self":[{"href":"https:\/\/pressbooks.bccampus.ca\/businessanalytics\/wp-json\/pressbooks\/v2\/chapters\/432","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pressbooks.bccampus.ca\/businessanalytics\/wp-json\/pressbooks\/v2\/chapters"}],"about":[{"href":"https:\/\/pressbooks.bccampus.ca\/businessanalytics\/wp-json\/wp\/v2\/types\/chapter"}],"author":[{"embeddable":true,"href":"https:\/\/pressbooks.bccampus.ca\/businessanalytics\/wp-json\/wp\/v2\/users\/883"}],"version-history":[{"count":9,"href":"https:\/\/pressbooks.bccampus.ca\/businessanalytics\/wp-json\/pressbooks\/v2\/chapters\/432\/revisions"}],"predecessor-version":[{"id":441,"href":"https:\/\/pressbooks.bccampus.ca\/businessanalytics\/wp-json\/pressbooks\/v2\/chapters\/432\/revisions\/441"}],"part":[{"href":"https:\/\/pressbooks.bccampus.ca\/businessanalytics\/wp-json\/pressbooks\/v2\/parts\/102"}],"metadata":[{"href":"https:\/\/pressbooks.bccampus.ca\/businessanalytics\/wp-json\/pressbooks\/v2\/chapters\/432\/metadata\/"}],"wp:attachment":[{"href":"https:\/\/pressbooks.bccampus.ca\/businessanalytics\/wp-json\/wp\/v2\/media?parent=432"}],"wp:term":[{"taxonomy":"chapter-type","embeddable":true,"href":"https:\/\/pressbooks.bccampus.ca\/businessanalytics\/wp-json\/pressbooks\/v2\/chapter-type?post=432"},{"taxonomy":"contributor","embeddable":true,"href":"https:\/\/pressbooks.bccampus.ca\/businessanalytics\/wp-json\/wp\/v2\/contributor?post=432"},{"taxonomy":"license","embeddable":true,"href":"https:\/\/pressbooks.bccampus.ca\/businessanalytics\/wp-json\/wp\/v2\/license?post=432"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}