├── README.md ├── ✍️ Mathematics - 📓 Determinant of Matrix Code.ipynb └── ✍️ Mathematics - 📓 Determinant of Matrix Report.pdf /README.md: -------------------------------------------------------------------------------- 1 | # Mathematics_in_Python 2 | Here, you will get to know the projects related to the basic mathematical concepts of Python programming. 3 | -------------------------------------------------------------------------------- /✍️ Mathematics - 📓 Determinant of Matrix Code.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "id": "aa7a869f", 6 | "metadata": {}, 7 | "source": [ 8 | "# SymPy" 9 | ] 10 | }, 11 | { 12 | "cell_type": "markdown", 13 | "id": "ae50ff75", 14 | "metadata": {}, 15 | "source": [ 16 | "https://docs.sympy.org/latest/tutorials/intro-tutorial/matrices.html#determinant" 17 | ] 18 | }, 19 | { 20 | "cell_type": "code", 21 | "execution_count": 2, 22 | "id": "d539617a", 23 | "metadata": {}, 24 | "outputs": [], 25 | "source": [ 26 | "from sympy import * # importing the library\n", 27 | "init_printing(use_unicode=True) # this said to be necessary" 28 | ] 29 | }, 30 | { 31 | "cell_type": "markdown", 32 | "id": "5b347777", 33 | "metadata": {}, 34 | "source": [ 35 | "To make a matrix in SymPy, use the 'Matrix' object. A matrix is constructed by providing a list of row vectors that make up the matrix." 36 | ] 37 | }, 38 | { 39 | "cell_type": "code", 40 | "execution_count": 10, 41 | "id": "b168a433", 42 | "metadata": {}, 43 | "outputs": [ 44 | { 45 | "data": { 46 | "image/png": "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\n", 47 | "text/latex": [ 48 | "$\\displaystyle \\left[\\begin{matrix}1 & 2 & 3 & 4\\\\1 & 0 & 2 & 0\\\\0 & 1 & 2 & 3\\\\2 & 3 & 0 & 0\\end{matrix}\\right]$" 49 | ], 50 | "text/plain": [ 51 | "⎡1 2 3 4⎤\n", 52 | "⎢ ⎥\n", 53 | "⎢1 0 2 0⎥\n", 54 | "⎢ ⎥\n", 55 | "⎢0 1 2 3⎥\n", 56 | "⎢ ⎥\n", 57 | "⎣2 3 0 0⎦" 58 | ] 59 | }, 60 | "execution_count": 10, 61 | "metadata": {}, 62 | "output_type": "execute_result" 63 | } 64 | ], 65 | "source": [ 66 | "# this is the matrix which I earlier computed the determinant by hand\n", 67 | "Matrix([[1, 2, 3, 4], [1, 0, 2, 0], [0, 1, 2, 3], [2, 3, 0, 0]])" 68 | ] 69 | }, 70 | { 71 | "cell_type": "code", 72 | "execution_count": 11, 73 | "id": "de2aa9a8", 74 | "metadata": {}, 75 | "outputs": [], 76 | "source": [ 77 | "from sympy import shape # let's check out the shape of the matrix" 78 | ] 79 | }, 80 | { 81 | "cell_type": "code", 82 | "execution_count": 5, 83 | "id": "653a8c12", 84 | "metadata": {}, 85 | "outputs": [], 86 | "source": [ 87 | "Q = Matrix([[1, 2, 3, 4], [1, 0, 2, 0], [0, 1, 2, 3], [2, 3, 0, 0]])" 88 | ] 89 | }, 90 | { 91 | "cell_type": "code", 92 | "execution_count": 6, 93 | "id": "45e0517c", 94 | "metadata": {}, 95 | "outputs": [ 96 | { 97 | "data": { 98 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAADEAAAAVCAYAAADvoQY8AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACMElEQVRYCc2X4VECMRCFT8YCbrSDswOQDqQDxA6gAxx/wV/tQFvAEuzAkQ6gA4UO8H2Z3BEgd+QuDENmQnK72by3l93NkWw2m8Ttk8kkc58vbe7j10qcNp1Ox3psO6JLnGaWZ8GtcEKKvqS3Gj8LrWcifVv93aM6uciHJdkXQBqHOaBxQoJUgheNz7miYpxJd1OhP6XKiyWebwIZWd5JfhKvEh59uzIi3M7SArDgC+/CiYGMPqrYSU+urG2vWhqtC8GyfOGdtvRDLiwDkJ+sYcDS6CWhWPAeEE49dZMsZdAiTxgdDbcy+zrymljw7uHEvfqiDEibZtKtNYacVtk2QfIGWPDOcILK9FeBQhWozJcK27qquljwNk5QLknYgyby1OJzhVETLKIj5SS8zR5tqvFcYdQEyxzAtTzgSAip/UYudOUEF47bKLVc/ciXGkMuSNfeN2+KZVIBJ3jTbLLTRI7MP6hakq+Qa3x0DfTMm/SGpbvON5ddLSxnD05iSTjN1buO4tgU73dODgckW2n8OWZcU3+AtWff0fP8Sp+2hMdMBO72Fuw8Sk+Cc2IPVsGH4rfkfMckGvMy3dF8bdc0GmRfiZVvajFH5r+EHFngTOx/B+3RV09j9wmxF06mvmAt4UTjQ2pkZnE/FIKoU6gBT0HZfgAKmMuMinOQ4KGbypb4/Q1dH7PO8oSvuYTzk2BPqk3MxTbUpiY/YggG2sJzGzlu/Nk4G7uyS5uL4xieLq9/YN9nOhF026wAAAAASUVORK5CYII=\n", 99 | "text/latex": [ 100 | "$\\displaystyle \\left( 4, \\ 4\\right)$" 101 | ], 102 | "text/plain": [ 103 | "(4, 4)" 104 | ] 105 | }, 106 | "execution_count": 6, 107 | "metadata": {}, 108 | "output_type": "execute_result" 109 | } 110 | ], 111 | "source": [ 112 | "shape(Q)" 113 | ] 114 | }, 115 | { 116 | "cell_type": "markdown", 117 | "id": "91e547c3", 118 | "metadata": {}, 119 | "source": [ 120 | "#### Determinant\n", 121 | "\n", 122 | "To compute the determinant of a matrix, use 'det'." 123 | ] 124 | }, 125 | { 126 | "cell_type": "code", 127 | "execution_count": 12, 128 | "id": "609cfa6d", 129 | "metadata": {}, 130 | "outputs": [ 131 | { 132 | "data": { 133 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAPCAYAAADd/14OAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAu0lEQVQoFYWR0Q3CMAxEU8QAsEJHQLABbAAzMAKfyW9WATaADZAYgRGgG5R3CoSkWKqlq93z+RI5jfe+dc6twTGE0JHNaBBu6ZzMbiI7DOZT6hW4gkfiq69OOoiR0DGxUS4DTldS76ws4U2FERHRLvN937shuHcEi5K3RC2iSylSPcnWvyJSCnWUkzjJ7VVy33rouMfGWtPf0Vr+sz4z/WVHVjGD0u7MZ8xCBMs0O+KISI6KUcf7R2S+1Bs1T3OSPIJvGwAAAABJRU5ErkJggg==\n", 134 | "text/latex": [ 135 | "$\\displaystyle 7$" 136 | ], 137 | "text/plain": [ 138 | "7" 139 | ] 140 | }, 141 | "execution_count": 12, 142 | "metadata": {}, 143 | "output_type": "execute_result" 144 | } 145 | ], 146 | "source": [ 147 | "Q.det() # as you can see, I also computed this answer by hand!" 148 | ] 149 | }, 150 | { 151 | "cell_type": "markdown", 152 | "id": "1d4ca7bb", 153 | "metadata": {}, 154 | "source": [ 155 | "# Numpy" 156 | ] 157 | }, 158 | { 159 | "cell_type": "markdown", 160 | "id": "bfaa035b", 161 | "metadata": {}, 162 | "source": [ 163 | "https://numpy.org/doc/stable/reference/generated/numpy.linalg.det.html" 164 | ] 165 | }, 166 | { 167 | "cell_type": "code", 168 | "execution_count": 1, 169 | "id": "0e5bda24", 170 | "metadata": {}, 171 | "outputs": [], 172 | "source": [ 173 | "import numpy as np # importing the library" 174 | ] 175 | }, 176 | { 177 | "cell_type": "markdown", 178 | "id": "bcf7e3cd", 179 | "metadata": {}, 180 | "source": [ 181 | "Computing determinants for a stack of matrices:" 182 | ] 183 | }, 184 | { 185 | "cell_type": "code", 186 | "execution_count": 2, 187 | "id": "15d5bdd2", 188 | "metadata": {}, 189 | "outputs": [ 190 | { 191 | "data": { 192 | "text/plain": [ 193 | "array([[1, 2, 3, 4],\n", 194 | " [1, 0, 2, 0],\n", 195 | " [0, 1, 2, 3],\n", 196 | " [2, 3, 0, 0]])" 197 | ] 198 | }, 199 | "execution_count": 2, 200 | "metadata": {}, 201 | "output_type": "execute_result" 202 | } 203 | ], 204 | "source": [ 205 | "# this is the matrix which I earlier computed the determinant by hand and also by SymPy\n", 206 | "Q = np.array([[1, 2, 3, 4], [1, 0, 2, 0], [0, 1, 2, 3], [2, 3, 0, 0]])\n", 207 | "Q" 208 | ] 209 | }, 210 | { 211 | "cell_type": "code", 212 | "execution_count": 3, 213 | "id": "d88090bd", 214 | "metadata": {}, 215 | "outputs": [ 216 | { 217 | "data": { 218 | "text/plain": [ 219 | "(4, 4)" 220 | ] 221 | }, 222 | "execution_count": 3, 223 | "metadata": {}, 224 | "output_type": "execute_result" 225 | } 226 | ], 227 | "source": [ 228 | "# let's check out the shape of the matrix\n", 229 | "Q.shape" 230 | ] 231 | }, 232 | { 233 | "cell_type": "markdown", 234 | "id": "520e14bf", 235 | "metadata": {}, 236 | "source": [ 237 | "#### Determinant\n", 238 | "\n", 239 | "To compute the determinant of a matrix, use 'linalg.det'." 240 | ] 241 | }, 242 | { 243 | "cell_type": "code", 244 | "execution_count": 7, 245 | "id": "5be03c19", 246 | "metadata": {}, 247 | "outputs": [ 248 | { 249 | "data": { 250 | "text/plain": [ 251 | "6.999999999999999" 252 | ] 253 | }, 254 | "execution_count": 7, 255 | "metadata": {}, 256 | "output_type": "execute_result" 257 | } 258 | ], 259 | "source": [ 260 | "np.linalg.det(Q) # as you can see, I got almost the same answer by hand and by SymPy earlier!" 261 | ] 262 | } 263 | ], 264 | "metadata": { 265 | "kernelspec": { 266 | "display_name": "Python 3 (ipykernel)", 267 | "language": "python", 268 | "name": "python3" 269 | }, 270 | "language_info": { 271 | "codemirror_mode": { 272 | "name": "ipython", 273 | "version": 3 274 | }, 275 | "file_extension": ".py", 276 | "mimetype": "text/x-python", 277 | "name": "python", 278 | "nbconvert_exporter": "python", 279 | "pygments_lexer": "ipython3", 280 | "version": "3.10.9" 281 | } 282 | }, 283 | "nbformat": 4, 284 | "nbformat_minor": 5 285 | } 286 | -------------------------------------------------------------------------------- /✍️ Mathematics - 📓 Determinant of Matrix Report.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samira-Shemirani/Mathematics_in_Python/9b7d34a5ba0a33cfed26090eaccb0fcc2186aa7d/✍️ Mathematics - 📓 Determinant of Matrix Report.pdf --------------------------------------------------------------------------------