{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/lib/python3/dist-packages/sage/misc/remote_file.py:46: DeprecationWarning: ssl.SSLContext() without protocol argument is deprecated.\n",
      "  content = urlopen(req, timeout=1, context=SSLContext())\n",
      "/usr/lib/python3/dist-packages/sage/misc/remote_file.py:46: DeprecationWarning: ssl.PROTOCOL_TLS is deprecated\n",
      "  content = urlopen(req, timeout=1, context=SSLContext())\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}{===================================}</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}{===================================}$$"
      ],
      "text/plain": [
       "ry"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}{===================================}</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}{===================================}$$"
      ],
      "text/plain": [
       "ry"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\begin{array}{l}\n",
       "\\begin{array}{lcrcrcrcrcrcl}\n",
       " \\max \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} 3 x_{1} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} 2 x_{2} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} x_{3} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 2 x_{4} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 3 x_{5} \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} \\\\\n",
       " \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} x_{1} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} 4 x_{2} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 2 x_{3} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} x_{4} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 2 x_{5} \\mspace{-6mu}&\\mspace{-6mu} \\leq \\mspace{-6mu}&\\mspace{-6mu} 15 \\\\\n",
       " \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} 3 x_{1} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} x_{2} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} x_{3} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 2 x_{4} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} x_{5} \\mspace{-6mu}&\\mspace{-6mu} \\leq \\mspace{-6mu}&\\mspace{-6mu} 12 \\\\\n",
       " \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} 2 x_{1} \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 2 x_{4} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 3 x_{5} \\mspace{-6mu}&\\mspace{-6mu} \\leq \\mspace{-6mu}&\\mspace{-6mu} 10 \\\\\n",
       " \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} 3 x_{1} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} x_{2} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} x_{3} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} x_{4} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} x_{5} \\mspace{-6mu}&\\mspace{-6mu} \\leq \\mspace{-6mu}&\\mspace{-6mu} 11 \\\\\n",
       "\\end{array} \\\\\n",
       "x_{1}, x_{2}, x_{3}, x_{4}, x_{5} \\geq 0\n",
       "\\end{array}</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\begin{array}{l}\n",
       "\\begin{array}{lcrcrcrcrcrcl}\n",
       " \\max \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} 3 x_{1} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} 2 x_{2} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} x_{3} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 2 x_{4} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 3 x_{5} \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} \\\\\n",
       " \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} x_{1} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} 4 x_{2} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 2 x_{3} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} x_{4} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 2 x_{5} \\mspace{-6mu}&\\mspace{-6mu} \\leq \\mspace{-6mu}&\\mspace{-6mu} 15 \\\\\n",
       " \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} 3 x_{1} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} x_{2} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} x_{3} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 2 x_{4} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} x_{5} \\mspace{-6mu}&\\mspace{-6mu} \\leq \\mspace{-6mu}&\\mspace{-6mu} 12 \\\\\n",
       " \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} 2 x_{1} \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 2 x_{4} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 3 x_{5} \\mspace{-6mu}&\\mspace{-6mu} \\leq \\mspace{-6mu}&\\mspace{-6mu} 10 \\\\\n",
       " \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} 3 x_{1} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} x_{2} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} x_{3} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} x_{4} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} x_{5} \\mspace{-6mu}&\\mspace{-6mu} \\leq \\mspace{-6mu}&\\mspace{-6mu} 11 \\\\\n",
       "\\end{array} \\\\\n",
       "x_{1}, x_{2}, x_{3}, x_{4}, x_{5} \\geq 0\n",
       "\\end{array}$$"
      ],
      "text/plain": [
       "LP problem (use 'view(...)' or '%display typeset' for details)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}20</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}20$$"
      ],
      "text/plain": [
       "20"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(5,\\,0,\\,5,\\,0,\\,0\\right)</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(5,\\,0,\\,5,\\,0,\\,0\\right)$$"
      ],
      "text/plain": [
       "(5, 0, 5, 0, 0)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}{===================================}</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}{===================================}$$"
      ],
      "text/plain": [
       "ry"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}{}</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}{}$$"
      ],
      "text/plain": [
       "salto"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}{===================================}</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}{===================================}$$"
      ],
      "text/plain": [
       "ry"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrrrrrrr|r}\n",
       "{Basic} & {x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{1} & 1 & -4 & 2 & 1 & 2 & 1 & 0 & 0 & 0 & 15 \\\\\n",
       "{\\color{green}{s}}_{2} & 3 & 1 & -1 & 2 & 1 & 0 & 1 & 0 & 0 & 12 \\\\\n",
       "{\\color{green}{s}}_{3} & 2 & 0 & 0 & 2 & 3 & 0 & 0 & 1 & 0 & 10 \\\\\n",
       "{\\color{green}{s}}_{4} & 3 & -1 & -1 & -1 & 1 & 0 & 0 & 0 & 1 & 11 \\\\\n",
       "\\hline\n",
       " {Z_{ind}} & 3 & -2 & 1 & 2 & 3 & 0 & 0 & 0 & 0 & 0\n",
       "\\end{array}\\right)</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrrrrrrr|r}\n",
       "{Basic} & {x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{1} & 1 & -4 & 2 & 1 & 2 & 1 & 0 & 0 & 0 & 15 \\\\\n",
       "{\\color{green}{s}}_{2} & 3 & 1 & -1 & 2 & 1 & 0 & 1 & 0 & 0 & 12 \\\\\n",
       "{\\color{green}{s}}_{3} & 2 & 0 & 0 & 2 & 3 & 0 & 0 & 1 & 0 & 10 \\\\\n",
       "{\\color{green}{s}}_{4} & 3 & -1 & -1 & -1 & 1 & 0 & 0 & 0 & 1 & 11 \\\\\n",
       "\\hline\n",
       " {Z_{ind}} & 3 & -2 & 1 & 2 & 3 & 0 & 0 & 0 & 0 & 0\n",
       "\\end{array}\\right)$$"
      ],
      "text/plain": [
       "[  B| x1  x2  x3  x4  x5  s1  s2  s3  s4|rhs]\n",
       "[---+-----------------------------------+---]\n",
       "[ s1|  1  -4   2   1   2   1   0   0   0| 15]\n",
       "[ s2|  3   1  -1   2   1   0   1   0   0| 12]\n",
       "[ s3|  2   0   0   2   3   0   0   1   0| 10]\n",
       "[ s4|  3  -1  -1  -1   1   0   0   0   1| 11]\n",
       "[---+-----------------------------------+---]\n",
       "[  Z|  3  -2   1   2   3   0   0   0   0|  0]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "tipo ='max'     #   Problema de tipo max o min\n",
    "\n",
    "n=5 #  número de variables x's\n",
    "m=4 #  número de restricciones (distintas de las de signo)\n",
    "\n",
    "c=matrix(QQ,1,n,[3,-2,1,2,3] )  # vector de costos\n",
    "\n",
    "A=matrix(QQ,m,n,[   # coeficientes de las variables x's\n",
    "[1,-4,2,1,2],\n",
    "[3,1,-1,2,1],\n",
    "[2,0,0,2,3],\n",
    "[3,-1,-1,-1,1]\n",
    "])\n",
    "\n",
    "b=matrix(QQ,m,1,[15,12,10,11])  # vector de la derecha\n",
    "\n",
    "\n",
    "h=matrix(ZZ,1,m,[1,1,1,1])  # variables de holgura: \n",
    "                            # Pon 1 si va sumando, \n",
    "                            # -1 si va restando y \n",
    "                            # 0 si no hay variable de holgura.\n",
    "                            \n",
    "t=matrix(ZZ,1,m,[0,0,0,0])   # variables artificiales: \n",
    "                             # pon 1 si utilizas variable artificial en la fila i-ésima\n",
    "                             #     0 si no utilizas variable artificial en la fila i-ésima\n",
    "\n",
    "colId=(6,7,8,9) # posición de la matriz identidad\n",
    "\n",
    "\n",
    "    \n",
    "    \n",
    "####################################################################\n",
    "############  HASTA AQUÍ LOS DATOS  ################################\n",
    "####################################################################\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "load('https://sage.unex.es/501708/simplex2023CompletamenteManual.sage')\n",
    "#load('https://sage.unex.es/501708/simplex2023Auto.sage')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[15.000]\n",
       "[4.0000]\n",
       "[5.0000]\n",
       "[3.6667]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cocientes(1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrrrrrrr|r}\n",
       "{Basic} & {x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{1} & 0 & -\\frac{11}{3} & \\frac{7}{3} & \\frac{4}{3} & \\frac{5}{3} & 1 & 0 & 0 & -\\frac{1}{3} & \\frac{34}{3} \\\\\n",
       "{\\color{green}{s}}_{2} & 0 & 2 & 0 & 3 & 0 & 0 & 1 & 0 & -1 & 1 \\\\\n",
       "{\\color{green}{s}}_{3} & 0 & \\frac{2}{3} & \\frac{2}{3} & \\frac{8}{3} & \\frac{7}{3} & 0 & 0 & 1 & -\\frac{2}{3} & \\frac{8}{3} \\\\\n",
       "{x}_{1} & 1 & -\\frac{1}{3} & -\\frac{1}{3} & -\\frac{1}{3} & \\frac{1}{3} & 0 & 0 & 0 & \\frac{1}{3} & \\frac{11}{3} \\\\\n",
       "\\hline\n",
       " {Z_{ind}} & 0 & -1 & 2 & 3 & 2 & 0 & 0 & 0 & -1 & 11\n",
       "\\end{array}\\right)</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrrrrrrr|r}\n",
       "{Basic} & {x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{1} & 0 & -\\frac{11}{3} & \\frac{7}{3} & \\frac{4}{3} & \\frac{5}{3} & 1 & 0 & 0 & -\\frac{1}{3} & \\frac{34}{3} \\\\\n",
       "{\\color{green}{s}}_{2} & 0 & 2 & 0 & 3 & 0 & 0 & 1 & 0 & -1 & 1 \\\\\n",
       "{\\color{green}{s}}_{3} & 0 & \\frac{2}{3} & \\frac{2}{3} & \\frac{8}{3} & \\frac{7}{3} & 0 & 0 & 1 & -\\frac{2}{3} & \\frac{8}{3} \\\\\n",
       "{x}_{1} & 1 & -\\frac{1}{3} & -\\frac{1}{3} & -\\frac{1}{3} & \\frac{1}{3} & 0 & 0 & 0 & \\frac{1}{3} & \\frac{11}{3} \\\\\n",
       "\\hline\n",
       " {Z_{ind}} & 0 & -1 & 2 & 3 & 2 & 0 & 0 & 0 & -1 & 11\n",
       "\\end{array}\\right)$$"
      ],
      "text/plain": [
       "[    B|   x1    x2    x3    x4    x5    s1    s2    s3    s4|  rhs]\n",
       "[-----+-----------------------------------------------------+-----]\n",
       "[   s1|    0 -11/3   7/3   4/3   5/3     1     0     0  -1/3| 34/3]\n",
       "[   s2|    0     2     0     3     0     0     1     0    -1|    1]\n",
       "[   s3|    0   2/3   2/3   8/3   7/3     0     0     1  -2/3|  8/3]\n",
       "[   x1|    1  -1/3  -1/3  -1/3   1/3     0     0     0   1/3| 11/3]\n",
       "[-----+-----------------------------------------------------+-----]\n",
       "[    Z|    0    -1     2     3     2     0     0     0    -1|   11]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cambio(4,1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[ 8.5000]\n",
       "[0.33333]\n",
       "[ 1.0000]\n",
       "[     NO]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cocientes(4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrrrrrrr|r}\n",
       "{Basic} & {x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{1} & 0 & -\\frac{41}{9} & \\frac{7}{3} & 0 & \\frac{5}{3} & 1 & -\\frac{4}{9} & 0 & \\frac{1}{9} & \\frac{98}{9} \\\\\n",
       "{x}_{4} & 0 & \\frac{2}{3} & 0 & 1 & 0 & 0 & \\frac{1}{3} & 0 & -\\frac{1}{3} & \\frac{1}{3} \\\\\n",
       "{\\color{green}{s}}_{3} & 0 & -\\frac{10}{9} & \\frac{2}{3} & 0 & \\frac{7}{3} & 0 & -\\frac{8}{9} & 1 & \\frac{2}{9} & \\frac{16}{9} \\\\\n",
       "{x}_{1} & 1 & -\\frac{1}{9} & -\\frac{1}{3} & 0 & \\frac{1}{3} & 0 & \\frac{1}{9} & 0 & \\frac{2}{9} & \\frac{34}{9} \\\\\n",
       "\\hline\n",
       " {Z_{ind}} & 0 & -3 & 2 & 0 & 2 & 0 & -1 & 0 & 0 & 12\n",
       "\\end{array}\\right)</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrrrrrrr|r}\n",
       "{Basic} & {x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{1} & 0 & -\\frac{41}{9} & \\frac{7}{3} & 0 & \\frac{5}{3} & 1 & -\\frac{4}{9} & 0 & \\frac{1}{9} & \\frac{98}{9} \\\\\n",
       "{x}_{4} & 0 & \\frac{2}{3} & 0 & 1 & 0 & 0 & \\frac{1}{3} & 0 & -\\frac{1}{3} & \\frac{1}{3} \\\\\n",
       "{\\color{green}{s}}_{3} & 0 & -\\frac{10}{9} & \\frac{2}{3} & 0 & \\frac{7}{3} & 0 & -\\frac{8}{9} & 1 & \\frac{2}{9} & \\frac{16}{9} \\\\\n",
       "{x}_{1} & 1 & -\\frac{1}{9} & -\\frac{1}{3} & 0 & \\frac{1}{3} & 0 & \\frac{1}{9} & 0 & \\frac{2}{9} & \\frac{34}{9} \\\\\n",
       "\\hline\n",
       " {Z_{ind}} & 0 & -3 & 2 & 0 & 2 & 0 & -1 & 0 & 0 & 12\n",
       "\\end{array}\\right)$$"
      ],
      "text/plain": [
       "[    B|   x1    x2    x3    x4    x5    s1    s2    s3    s4|  rhs]\n",
       "[-----+-----------------------------------------------------+-----]\n",
       "[   s1|    0 -41/9   7/3     0   5/3     1  -4/9     0   1/9| 98/9]\n",
       "[   x4|    0   2/3     0     1     0     0   1/3     0  -1/3|  1/3]\n",
       "[   s3|    0 -10/9   2/3     0   7/3     0  -8/9     1   2/9| 16/9]\n",
       "[   x1|    1  -1/9  -1/3     0   1/3     0   1/9     0   2/9| 34/9]\n",
       "[-----+-----------------------------------------------------+-----]\n",
       "[    Z|    0    -3     2     0     2     0    -1     0     0|   12]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cambio(2,4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[4.6667]\n",
       "[    NO]\n",
       "[2.6667]\n",
       "[    NO]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cocientes(3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrrrrrrr|r}\n",
       "{Basic} & {x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{1} & 0 & -\\frac{2}{3} & 0 & 0 & -\\frac{13}{2} & 1 & \\frac{8}{3} & -\\frac{7}{2} & -\\frac{2}{3} & \\frac{14}{3} \\\\\n",
       "{x}_{4} & 0 & \\frac{2}{3} & 0 & 1 & 0 & 0 & \\frac{1}{3} & 0 & -\\frac{1}{3} & \\frac{1}{3} \\\\\n",
       "{x}_{3} & 0 & -\\frac{5}{3} & 1 & 0 & \\frac{7}{2} & 0 & -\\frac{4}{3} & \\frac{3}{2} & \\frac{1}{3} & \\frac{8}{3} \\\\\n",
       "{x}_{1} & 1 & -\\frac{2}{3} & 0 & 0 & \\frac{3}{2} & 0 & -\\frac{1}{3} & \\frac{1}{2} & \\frac{1}{3} & \\frac{14}{3} \\\\\n",
       "\\hline\n",
       " {Z_{ind}} & 0 & \\frac{1}{3} & 0 & 0 & -5 & 0 & \\frac{5}{3} & -3 & -\\frac{2}{3} & \\frac{52}{3}\n",
       "\\end{array}\\right)</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrrrrrrr|r}\n",
       "{Basic} & {x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{1} & 0 & -\\frac{2}{3} & 0 & 0 & -\\frac{13}{2} & 1 & \\frac{8}{3} & -\\frac{7}{2} & -\\frac{2}{3} & \\frac{14}{3} \\\\\n",
       "{x}_{4} & 0 & \\frac{2}{3} & 0 & 1 & 0 & 0 & \\frac{1}{3} & 0 & -\\frac{1}{3} & \\frac{1}{3} \\\\\n",
       "{x}_{3} & 0 & -\\frac{5}{3} & 1 & 0 & \\frac{7}{2} & 0 & -\\frac{4}{3} & \\frac{3}{2} & \\frac{1}{3} & \\frac{8}{3} \\\\\n",
       "{x}_{1} & 1 & -\\frac{2}{3} & 0 & 0 & \\frac{3}{2} & 0 & -\\frac{1}{3} & \\frac{1}{2} & \\frac{1}{3} & \\frac{14}{3} \\\\\n",
       "\\hline\n",
       " {Z_{ind}} & 0 & \\frac{1}{3} & 0 & 0 & -5 & 0 & \\frac{5}{3} & -3 & -\\frac{2}{3} & \\frac{52}{3}\n",
       "\\end{array}\\right)$$"
      ],
      "text/plain": [
       "[    B|   x1    x2    x3    x4    x5    s1    s2    s3    s4|  rhs]\n",
       "[-----+-----------------------------------------------------+-----]\n",
       "[   s1|    0  -2/3     0     0 -13/2     1   8/3  -7/2  -2/3| 14/3]\n",
       "[   x4|    0   2/3     0     1     0     0   1/3     0  -1/3|  1/3]\n",
       "[   x3|    0  -5/3     1     0   7/2     0  -4/3   3/2   1/3|  8/3]\n",
       "[   x1|    1  -2/3     0     0   3/2     0  -1/3   1/2   1/3| 14/3]\n",
       "[-----+-----------------------------------------------------+-----]\n",
       "[    Z|    0   1/3     0     0    -5     0   5/3    -3  -2/3| 52/3]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cambio(3,3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrrrrrrr|r}\n",
       "{Basic} & {x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{1} & 0 & -6 & 0 & -8 & -\\frac{13}{2} & 1 & 0 & -\\frac{7}{2} & 2 & 2 \\\\\n",
       "{\\color{green}{s}}_{2} & 0 & 2 & 0 & 3 & 0 & 0 & 1 & 0 & -1 & 1 \\\\\n",
       "{x}_{3} & 0 & 1 & 1 & 4 & \\frac{7}{2} & 0 & 0 & \\frac{3}{2} & -1 & 4 \\\\\n",
       "{x}_{1} & 1 & 0 & 0 & 1 & \\frac{3}{2} & 0 & 0 & \\frac{1}{2} & 0 & 5 \\\\\n",
       "\\hline\n",
       " {Z_{ind}} & 0 & -3 & 0 & -5 & -5 & 0 & 0 & -3 & 1 & 19\n",
       "\\end{array}\\right)</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrrrrrrr|r}\n",
       "{Basic} & {x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{1} & 0 & -6 & 0 & -8 & -\\frac{13}{2} & 1 & 0 & -\\frac{7}{2} & 2 & 2 \\\\\n",
       "{\\color{green}{s}}_{2} & 0 & 2 & 0 & 3 & 0 & 0 & 1 & 0 & -1 & 1 \\\\\n",
       "{x}_{3} & 0 & 1 & 1 & 4 & \\frac{7}{2} & 0 & 0 & \\frac{3}{2} & -1 & 4 \\\\\n",
       "{x}_{1} & 1 & 0 & 0 & 1 & \\frac{3}{2} & 0 & 0 & \\frac{1}{2} & 0 & 5 \\\\\n",
       "\\hline\n",
       " {Z_{ind}} & 0 & -3 & 0 & -5 & -5 & 0 & 0 & -3 & 1 & 19\n",
       "\\end{array}\\right)$$"
      ],
      "text/plain": [
       "[    B|   x1    x2    x3    x4    x5    s1    s2    s3    s4|  rhs]\n",
       "[-----+-----------------------------------------------------+-----]\n",
       "[   s1|    0    -6     0    -8 -13/2     1     0  -7/2     2|    2]\n",
       "[   s2|    0     2     0     3     0     0     1     0    -1|    1]\n",
       "[   x3|    0     1     1     4   7/2     0     0   3/2    -1|    4]\n",
       "[   x1|    1     0     0     1   3/2     0     0   1/2     0|    5]\n",
       "[-----+-----------------------------------------------------+-----]\n",
       "[    Z|    0    -3     0    -5    -5     0     0    -3     1|   19]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cambio(2,7)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "cambio(1,9)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{rrrr}\n",
       "1 & 0 & -\\frac{7}{2} & 2 \\\\\n",
       "0 & 1 & 0 & -1 \\\\\n",
       "0 & 0 & \\frac{3}{2} & -1 \\\\\n",
       "0 & 0 & \\frac{1}{2} & 0\n",
       "\\end{array}\\right)</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{rrrr}\n",
       "1 & 0 & -\\frac{7}{2} & 2 \\\\\n",
       "0 & 1 & 0 & -1 \\\\\n",
       "0 & 0 & \\frac{3}{2} & -1 \\\\\n",
       "0 & 0 & \\frac{1}{2} & 0\n",
       "\\end{array}\\right)$$"
      ],
      "text/plain": [
       "[   1    0 -7/2    2]\n",
       "[   0    1    0   -1]\n",
       "[   0    0  3/2   -1]\n",
       "[   0    0  1/2    0]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "show(BM1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Otro "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}{===================================}</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}{===================================}$$"
      ],
      "text/plain": [
       "ry"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}{===================================}</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}{===================================}$$"
      ],
      "text/plain": [
       "ry"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\begin{array}{l}\n",
       "\\begin{array}{lcrcrcrcrcrcl}\n",
       " \\max \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} 3 x_{1} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} 2 x_{2} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} x_{3} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 2 x_{4} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 3 x_{5} \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} \\\\\n",
       " \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} x_{1} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} 4 x_{2} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 2 x_{3} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} x_{4} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 2 x_{5} \\mspace{-6mu}&\\mspace{-6mu} \\leq \\mspace{-6mu}&\\mspace{-6mu} 15 \\\\\n",
       " \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} 3 x_{1} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} x_{2} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} x_{3} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 2 x_{4} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} x_{5} \\mspace{-6mu}&\\mspace{-6mu} \\leq \\mspace{-6mu}&\\mspace{-6mu} 12 \\\\\n",
       " \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} 2 x_{1} \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 2 x_{4} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 3 x_{5} \\mspace{-6mu}&\\mspace{-6mu} \\leq \\mspace{-6mu}&\\mspace{-6mu} 10 \\\\\n",
       " \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} 3 x_{1} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} x_{2} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} x_{3} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} x_{4} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} x_{5} \\mspace{-6mu}&\\mspace{-6mu} \\leq \\mspace{-6mu}&\\mspace{-6mu} 11 \\\\\n",
       "\\end{array} \\\\\n",
       "x_{1}, x_{2}, x_{3}, x_{4}, x_{5} \\geq 0\n",
       "\\end{array}</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\begin{array}{l}\n",
       "\\begin{array}{lcrcrcrcrcrcl}\n",
       " \\max \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} 3 x_{1} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} 2 x_{2} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} x_{3} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 2 x_{4} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 3 x_{5} \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} \\\\\n",
       " \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} x_{1} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} 4 x_{2} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 2 x_{3} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} x_{4} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 2 x_{5} \\mspace{-6mu}&\\mspace{-6mu} \\leq \\mspace{-6mu}&\\mspace{-6mu} 15 \\\\\n",
       " \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} 3 x_{1} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} x_{2} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} x_{3} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 2 x_{4} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} x_{5} \\mspace{-6mu}&\\mspace{-6mu} \\leq \\mspace{-6mu}&\\mspace{-6mu} 12 \\\\\n",
       " \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} 2 x_{1} \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 2 x_{4} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 3 x_{5} \\mspace{-6mu}&\\mspace{-6mu} \\leq \\mspace{-6mu}&\\mspace{-6mu} 10 \\\\\n",
       " \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} 3 x_{1} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} x_{2} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} x_{3} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} x_{4} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} x_{5} \\mspace{-6mu}&\\mspace{-6mu} \\leq \\mspace{-6mu}&\\mspace{-6mu} 11 \\\\\n",
       "\\end{array} \\\\\n",
       "x_{1}, x_{2}, x_{3}, x_{4}, x_{5} \\geq 0\n",
       "\\end{array}$$"
      ],
      "text/plain": [
       "LP problem (use 'view(...)' or '%display typeset' for details)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}20</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}20$$"
      ],
      "text/plain": [
       "20"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(5,\\,0,\\,5,\\,0,\\,0\\right)</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(5,\\,0,\\,5,\\,0,\\,0\\right)$$"
      ],
      "text/plain": [
       "(5, 0, 5, 0, 0)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}{===================================}</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}{===================================}$$"
      ],
      "text/plain": [
       "ry"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}{}</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}{}$$"
      ],
      "text/plain": [
       "salto"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}{===================================}</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}{===================================}$$"
      ],
      "text/plain": [
       "ry"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrrrrrrr|r}\n",
       "{Basic} & {x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{1} & 1 & -4 & 2 & 1 & 2 & 1 & 0 & 0 & 0 & 15 \\\\\n",
       "{\\color{green}{s}}_{2} & 3 & 1 & -1 & 2 & 1 & 0 & 1 & 0 & 0 & 12 \\\\\n",
       "{\\color{green}{s}}_{3} & 2 & 0 & 0 & 2 & 3 & 0 & 0 & 1 & 0 & 10 \\\\\n",
       "{\\color{green}{s}}_{4} & 3 & -1 & -1 & -1 & 1 & 0 & 0 & 0 & 1 & 11 \\\\\n",
       "\\hline\n",
       " {Z_{ind}} & 3 & -2 & 1 & 2 & 3 & 0 & 0 & 0 & 0 & 0\n",
       "\\end{array}\\right)</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrrrrrrr|r}\n",
       "{Basic} & {x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{1} & 1 & -4 & 2 & 1 & 2 & 1 & 0 & 0 & 0 & 15 \\\\\n",
       "{\\color{green}{s}}_{2} & 3 & 1 & -1 & 2 & 1 & 0 & 1 & 0 & 0 & 12 \\\\\n",
       "{\\color{green}{s}}_{3} & 2 & 0 & 0 & 2 & 3 & 0 & 0 & 1 & 0 & 10 \\\\\n",
       "{\\color{green}{s}}_{4} & 3 & -1 & -1 & -1 & 1 & 0 & 0 & 0 & 1 & 11 \\\\\n",
       "\\hline\n",
       " {Z_{ind}} & 3 & -2 & 1 & 2 & 3 & 0 & 0 & 0 & 0 & 0\n",
       "\\end{array}\\right)$$"
      ],
      "text/plain": [
       "[  B| x1  x2  x3  x4  x5  s1  s2  s3  s4|rhs]\n",
       "[---+-----------------------------------+---]\n",
       "[ s1|  1  -4   2   1   2   1   0   0   0| 15]\n",
       "[ s2|  3   1  -1   2   1   0   1   0   0| 12]\n",
       "[ s3|  2   0   0   2   3   0   0   1   0| 10]\n",
       "[ s4|  3  -1  -1  -1   1   0   0   0   1| 11]\n",
       "[---+-----------------------------------+---]\n",
       "[  Z|  3  -2   1   2   3   0   0   0   0|  0]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrr|r}\n",
       "{Basic} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{1} & 1 & 0 & 0 & 0 & 15 \\\\\n",
       "{\\color{green}{s}}_{2} & 0 & 1 & 0 & 0 & 12 \\\\\n",
       "{\\color{green}{s}}_{3} & 0 & 0 & 1 & 0 & 10 \\\\\n",
       "{\\color{green}{s}}_{4} & 0 & 0 & 0 & 1 & 11 \\\\\n",
       "\\hline\n",
       " {\\pi_B} & 0 & 0 & 0 & 0 & 0\n",
       "\\end{array}\\right)</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrr|r}\n",
       "{Basic} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{1} & 1 & 0 & 0 & 0 & 15 \\\\\n",
       "{\\color{green}{s}}_{2} & 0 & 1 & 0 & 0 & 12 \\\\\n",
       "{\\color{green}{s}}_{3} & 0 & 0 & 1 & 0 & 10 \\\\\n",
       "{\\color{green}{s}}_{4} & 0 & 0 & 0 & 1 & 11 \\\\\n",
       "\\hline\n",
       " {\\pi_B} & 0 & 0 & 0 & 0 & 0\n",
       "\\end{array}\\right)$$"
      ],
      "text/plain": [
       "[  B| s1  s2  s3  s4|rhs]\n",
       "[---+---------------+---]\n",
       "[ s1|  1   0   0   0| 15]\n",
       "[ s2|  0   1   0   0| 12]\n",
       "[ s3|  0   0   1   0| 10]\n",
       "[ s4|  0   0   0   1| 11]\n",
       "[---+---------------+---]\n",
       "[ZPI|  0   0   0   0|  0]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fila Indicadora\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{rrrrrrrrr}\n",
       "{x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} \\\\\n",
       "\\hline\n",
       " 3 & -2 & 1 & 2 & 3 & 0 & 0 & 0 & 0\n",
       "\\end{array}\\right)</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{rrrrrrrrr}\n",
       "{x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} \\\\\n",
       "\\hline\n",
       " 3 & -2 & 1 & 2 & 3 & 0 & 0 & 0 & 0\n",
       "\\end{array}\\right)$$"
      ],
      "text/plain": [
       "[x1 x2 x3 x4 x5 s1 s2 s3 s4]\n",
       "[--------------------------]\n",
       "[ 3 -2  1  2  3  0  0  0  0]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "      \n"
     ]
    }
   ],
   "source": [
    "tipo ='max'     #   Problema de tipo max o min\n",
    "\n",
    "n=5 #  número de variables x's\n",
    "m=4 #  número de restricciones (distintas de las de signo)\n",
    "\n",
    "c=matrix(QQ,1,n,[3,-2,1,2,3] )  # vector de costos\n",
    "\n",
    "A=matrix(QQ,m,n,[   # coeficientes de las variables x's\n",
    "[1,-4,2,1,2],\n",
    "[3,1,-1,2,1],\n",
    "[2,0,0,2,3],\n",
    "[3,-1,-1,-1,1]\n",
    "])\n",
    "\n",
    "b=matrix(QQ,m,1,[15,12,10,11])  # vector de la derecha\n",
    "\n",
    "\n",
    "h=matrix(ZZ,1,m,[1,1,1,1])  # variables de holgura: \n",
    "                            # Pon 1 si va sumando, \n",
    "                            # -1 si va restando y \n",
    "                            # 0 si no hay variable de holgura.\n",
    "                            \n",
    "t=matrix(ZZ,1,m,[0,0,0,0])   # variables artificiales: \n",
    "                             # pon 1 si utilizas variable artificial en la fila i-ésima\n",
    "                             #     0 si no utilizas variable artificial en la fila i-ésima\n",
    "\n",
    "colId=(6,7,8,9) # posición de la matriz identidad\n",
    "\n",
    "\n",
    "    \n",
    "    \n",
    "####################################################################\n",
    "############  HASTA AQUÍ LOS DATOS  ################################\n",
    "####################################################################\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "load('https://sage.unex.es/501708/simplex2023ManualRevisada.sage')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "      \n",
      "            Matriz Inversa\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrr|r}\n",
       "{Basic} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {x}_{1} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{1} & 1 & 0 & 0 & -\\frac{1}{3} & \\frac{34}{3} \\\\\n",
       "{\\color{green}{s}}_{2} & 0 & 1 & 0 & -1 & 1 \\\\\n",
       "{\\color{green}{s}}_{3} & 0 & 0 & 1 & -\\frac{2}{3} & \\frac{8}{3} \\\\\n",
       "{x}_{1} & 0 & 0 & 0 & \\frac{1}{3} & \\frac{11}{3} \\\\\n",
       "\\hline\n",
       " {\\pi_B} & 0 & 0 & 0 & 1 & 11\n",
       "\\end{array}\\right)</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrr|r}\n",
       "{Basic} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {x}_{1} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{1} & 1 & 0 & 0 & -\\frac{1}{3} & \\frac{34}{3} \\\\\n",
       "{\\color{green}{s}}_{2} & 0 & 1 & 0 & -1 & 1 \\\\\n",
       "{\\color{green}{s}}_{3} & 0 & 0 & 1 & -\\frac{2}{3} & \\frac{8}{3} \\\\\n",
       "{x}_{1} & 0 & 0 & 0 & \\frac{1}{3} & \\frac{11}{3} \\\\\n",
       "\\hline\n",
       " {\\pi_B} & 0 & 0 & 0 & 1 & 11\n",
       "\\end{array}\\right)$$"
      ],
      "text/plain": [
       "[   B|  s1   s2   s3   x1| rhs]\n",
       "[----+-------------------+----]\n",
       "[  s1|   1    0    0 -1/3|34/3]\n",
       "[  s2|   0    1    0   -1|   1]\n",
       "[  s3|   0    0    1 -2/3| 8/3]\n",
       "[  x1|   0    0    0  1/3|11/3]\n",
       "[----+-------------------+----]\n",
       "[ ZPI|   0    0    0    1|  11]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fila Indicadora\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{rrrrrrrrr}\n",
       "{x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} \\\\\n",
       "\\hline\n",
       " 0 & -1 & 2 & 3 & 2 & 0 & 0 & 0 & -1\n",
       "\\end{array}\\right)</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{rrrrrrrrr}\n",
       "{x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} \\\\\n",
       "\\hline\n",
       " 0 & -1 & 2 & 3 & 2 & 0 & 0 & 0 & -1\n",
       "\\end{array}\\right)$$"
      ],
      "text/plain": [
       "[x1 x2 x3 x4 x5 s1 s2 s3 s4]\n",
       "[--------------------------]\n",
       "[ 0 -1  2  3  2  0  0  0 -1]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "      \n"
     ]
    }
   ],
   "source": [
    "cambio(4,1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{rr|rr}\n",
       "{Basic} & {b} & {Col\\ Entr} & {Cocientes} \\\\\n",
       "{\\color{green}{s}}_{1} & \\frac{34}{3} & \\frac{4}{3} & 8.5000 \\\\\n",
       "{\\color{green}{s}}_{2} & 1 & 3 & 0.33333 \\\\\n",
       "{\\color{green}{s}}_{3} & \\frac{8}{3} & \\frac{8}{3} & 1.0000 \\\\\n",
       "{x}_{1} & \\frac{11}{3} & -\\frac{1}{3} & \\mathit{NO}\n",
       "\\end{array}\\right)</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{rr|rr}\n",
       "{Basic} & {b} & {Col\\ Entr} & {Cocientes} \\\\\n",
       "{\\color{green}{s}}_{1} & \\frac{34}{3} & \\frac{4}{3} & 8.5000 \\\\\n",
       "{\\color{green}{s}}_{2} & 1 & 3 & 0.33333 \\\\\n",
       "{\\color{green}{s}}_{3} & \\frac{8}{3} & \\frac{8}{3} & 1.0000 \\\\\n",
       "{x}_{1} & \\frac{11}{3} & -\\frac{1}{3} & \\mathit{NO}\n",
       "\\end{array}\\right)$$"
      ],
      "text/plain": [
       "[      B     rhs|    Ent     Coc]\n",
       "[     s1    34/3|    4/3  8.5000]\n",
       "[     s2       1|      3 0.33333]\n",
       "[     s3     8/3|    8/3  1.0000]\n",
       "[     x1    11/3|   -1/3      NO]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cocientes(4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "      \n",
      "            Matriz Inversa\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrr|r}\n",
       "{Basic} & {\\color{green}{s}}_{1} & {x}_{4} & {\\color{green}{s}}_{3} & {x}_{1} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{1} & 1 & -\\frac{4}{9} & 0 & \\frac{1}{9} & \\frac{98}{9} \\\\\n",
       "{x}_{4} & 0 & \\frac{1}{3} & 0 & -\\frac{1}{3} & \\frac{1}{3} \\\\\n",
       "{\\color{green}{s}}_{3} & 0 & -\\frac{8}{9} & 1 & \\frac{2}{9} & \\frac{16}{9} \\\\\n",
       "{x}_{1} & 0 & \\frac{1}{9} & 0 & \\frac{2}{9} & \\frac{34}{9} \\\\\n",
       "\\hline\n",
       " {\\pi_B} & 0 & 1 & 0 & 0 & 12\n",
       "\\end{array}\\right)</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrr|r}\n",
       "{Basic} & {\\color{green}{s}}_{1} & {x}_{4} & {\\color{green}{s}}_{3} & {x}_{1} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{1} & 1 & -\\frac{4}{9} & 0 & \\frac{1}{9} & \\frac{98}{9} \\\\\n",
       "{x}_{4} & 0 & \\frac{1}{3} & 0 & -\\frac{1}{3} & \\frac{1}{3} \\\\\n",
       "{\\color{green}{s}}_{3} & 0 & -\\frac{8}{9} & 1 & \\frac{2}{9} & \\frac{16}{9} \\\\\n",
       "{x}_{1} & 0 & \\frac{1}{9} & 0 & \\frac{2}{9} & \\frac{34}{9} \\\\\n",
       "\\hline\n",
       " {\\pi_B} & 0 & 1 & 0 & 0 & 12\n",
       "\\end{array}\\right)$$"
      ],
      "text/plain": [
       "[   B|  s1   x4   s3   x1| rhs]\n",
       "[----+-------------------+----]\n",
       "[  s1|   1 -4/9    0  1/9|98/9]\n",
       "[  x4|   0  1/3    0 -1/3| 1/3]\n",
       "[  s3|   0 -8/9    1  2/9|16/9]\n",
       "[  x1|   0  1/9    0  2/9|34/9]\n",
       "[----+-------------------+----]\n",
       "[ ZPI|   0    1    0    0|  12]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fila Indicadora\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{rrrrrrrrr}\n",
       "{x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} \\\\\n",
       "\\hline\n",
       " 0 & -3 & 2 & 0 & 2 & 0 & -1 & 0 & 0\n",
       "\\end{array}\\right)</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{rrrrrrrrr}\n",
       "{x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} \\\\\n",
       "\\hline\n",
       " 0 & -3 & 2 & 0 & 2 & 0 & -1 & 0 & 0\n",
       "\\end{array}\\right)$$"
      ],
      "text/plain": [
       "[x1 x2 x3 x4 x5 s1 s2 s3 s4]\n",
       "[--------------------------]\n",
       "[ 0 -3  2  0  2  0 -1  0  0]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "      \n"
     ]
    }
   ],
   "source": [
    "cambio(2,4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{rr|rr}\n",
       "{Basic} & {b} & {Col\\ Entr} & {Cocientes} \\\\\n",
       "{\\color{green}{s}}_{1} & \\frac{98}{9} & \\frac{7}{3} & 4.6667 \\\\\n",
       "{x}_{4} & \\frac{1}{3} & 0 & \\mathit{NO} \\\\\n",
       "{\\color{green}{s}}_{3} & \\frac{16}{9} & \\frac{2}{3} & 2.6667 \\\\\n",
       "{x}_{1} & \\frac{34}{9} & -\\frac{1}{3} & \\mathit{NO}\n",
       "\\end{array}\\right)</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{rr|rr}\n",
       "{Basic} & {b} & {Col\\ Entr} & {Cocientes} \\\\\n",
       "{\\color{green}{s}}_{1} & \\frac{98}{9} & \\frac{7}{3} & 4.6667 \\\\\n",
       "{x}_{4} & \\frac{1}{3} & 0 & \\mathit{NO} \\\\\n",
       "{\\color{green}{s}}_{3} & \\frac{16}{9} & \\frac{2}{3} & 2.6667 \\\\\n",
       "{x}_{1} & \\frac{34}{9} & -\\frac{1}{3} & \\mathit{NO}\n",
       "\\end{array}\\right)$$"
      ],
      "text/plain": [
       "[     B    rhs|   Ent    Coc]\n",
       "[    s1   98/9|   7/3 4.6667]\n",
       "[    x4    1/3|     0     NO]\n",
       "[    s3   16/9|   2/3 2.6667]\n",
       "[    x1   34/9|  -1/3     NO]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cocientes(3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "      \n",
      "            Matriz Inversa\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrr|r}\n",
       "{Basic} & {\\color{green}{s}}_{1} & {x}_{4} & {x}_{3} & {x}_{1} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{1} & 1 & \\frac{8}{3} & -\\frac{7}{2} & -\\frac{2}{3} & \\frac{14}{3} \\\\\n",
       "{x}_{4} & 0 & \\frac{1}{3} & 0 & -\\frac{1}{3} & \\frac{1}{3} \\\\\n",
       "{x}_{3} & 0 & -\\frac{4}{3} & \\frac{3}{2} & \\frac{1}{3} & \\frac{8}{3} \\\\\n",
       "{x}_{1} & 0 & -\\frac{1}{3} & \\frac{1}{2} & \\frac{1}{3} & \\frac{14}{3} \\\\\n",
       "\\hline\n",
       " {\\pi_B} & 0 & -\\frac{5}{3} & 3 & \\frac{2}{3} & \\frac{52}{3}\n",
       "\\end{array}\\right)</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrr|r}\n",
       "{Basic} & {\\color{green}{s}}_{1} & {x}_{4} & {x}_{3} & {x}_{1} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{1} & 1 & \\frac{8}{3} & -\\frac{7}{2} & -\\frac{2}{3} & \\frac{14}{3} \\\\\n",
       "{x}_{4} & 0 & \\frac{1}{3} & 0 & -\\frac{1}{3} & \\frac{1}{3} \\\\\n",
       "{x}_{3} & 0 & -\\frac{4}{3} & \\frac{3}{2} & \\frac{1}{3} & \\frac{8}{3} \\\\\n",
       "{x}_{1} & 0 & -\\frac{1}{3} & \\frac{1}{2} & \\frac{1}{3} & \\frac{14}{3} \\\\\n",
       "\\hline\n",
       " {\\pi_B} & 0 & -\\frac{5}{3} & 3 & \\frac{2}{3} & \\frac{52}{3}\n",
       "\\end{array}\\right)$$"
      ],
      "text/plain": [
       "[   B|  s1   x4   x3   x1| rhs]\n",
       "[----+-------------------+----]\n",
       "[  s1|   1  8/3 -7/2 -2/3|14/3]\n",
       "[  x4|   0  1/3    0 -1/3| 1/3]\n",
       "[  x3|   0 -4/3  3/2  1/3| 8/3]\n",
       "[  x1|   0 -1/3  1/2  1/3|14/3]\n",
       "[----+-------------------+----]\n",
       "[ ZPI|   0 -5/3    3  2/3|52/3]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fila Indicadora\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{rrrrrrrrr}\n",
       "{x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} \\\\\n",
       "\\hline\n",
       " 0 & \\frac{1}{3} & 0 & 0 & -5 & 0 & \\frac{5}{3} & -3 & -\\frac{2}{3}\n",
       "\\end{array}\\right)</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{rrrrrrrrr}\n",
       "{x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} \\\\\n",
       "\\hline\n",
       " 0 & \\frac{1}{3} & 0 & 0 & -5 & 0 & \\frac{5}{3} & -3 & -\\frac{2}{3}\n",
       "\\end{array}\\right)$$"
      ],
      "text/plain": [
       "[  x1   x2   x3   x4   x5   s1   s2   s3   s4]\n",
       "[--------------------------------------------]\n",
       "[   0  1/3    0    0   -5    0  5/3   -3 -2/3]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "      \n"
     ]
    }
   ],
   "source": [
    "cambio(3,3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{rr|rr}\n",
       "{Basic} & {b} & {Col\\ Entr} & {Cocientes} \\\\\n",
       "{\\color{green}{s}}_{1} & \\frac{14}{3} & \\frac{8}{3} & 1.7500 \\\\\n",
       "{x}_{4} & \\frac{1}{3} & \\frac{1}{3} & 1.0000 \\\\\n",
       "{x}_{3} & \\frac{8}{3} & -\\frac{4}{3} & \\mathit{NO} \\\\\n",
       "{x}_{1} & \\frac{14}{3} & -\\frac{1}{3} & \\mathit{NO}\n",
       "\\end{array}\\right)</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{rr|rr}\n",
       "{Basic} & {b} & {Col\\ Entr} & {Cocientes} \\\\\n",
       "{\\color{green}{s}}_{1} & \\frac{14}{3} & \\frac{8}{3} & 1.7500 \\\\\n",
       "{x}_{4} & \\frac{1}{3} & \\frac{1}{3} & 1.0000 \\\\\n",
       "{x}_{3} & \\frac{8}{3} & -\\frac{4}{3} & \\mathit{NO} \\\\\n",
       "{x}_{1} & \\frac{14}{3} & -\\frac{1}{3} & \\mathit{NO}\n",
       "\\end{array}\\right)$$"
      ],
      "text/plain": [
       "[     B    rhs|   Ent    Coc]\n",
       "[    s1   14/3|   8/3 1.7500]\n",
       "[    x4    1/3|   1/3 1.0000]\n",
       "[    x3    8/3|  -4/3     NO]\n",
       "[    x1   14/3|  -1/3     NO]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cocientes(7)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "      \n",
      "            Matriz Inversa\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrr|r}\n",
       "{Basic} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {x}_{3} & {x}_{1} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{1} & 1 & 0 & -\\frac{7}{2} & 2 & 2 \\\\\n",
       "{\\color{green}{s}}_{2} & 0 & 1 & 0 & -1 & 1 \\\\\n",
       "{x}_{3} & 0 & 0 & \\frac{3}{2} & -1 & 4 \\\\\n",
       "{x}_{1} & 0 & 0 & \\frac{1}{2} & 0 & 5 \\\\\n",
       "\\hline\n",
       " {\\pi_B} & 0 & 0 & 3 & -1 & 19\n",
       "\\end{array}\\right)</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrr|r}\n",
       "{Basic} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {x}_{3} & {x}_{1} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{1} & 1 & 0 & -\\frac{7}{2} & 2 & 2 \\\\\n",
       "{\\color{green}{s}}_{2} & 0 & 1 & 0 & -1 & 1 \\\\\n",
       "{x}_{3} & 0 & 0 & \\frac{3}{2} & -1 & 4 \\\\\n",
       "{x}_{1} & 0 & 0 & \\frac{1}{2} & 0 & 5 \\\\\n",
       "\\hline\n",
       " {\\pi_B} & 0 & 0 & 3 & -1 & 19\n",
       "\\end{array}\\right)$$"
      ],
      "text/plain": [
       "[   B|  s1   s2   x3   x1| rhs]\n",
       "[----+-------------------+----]\n",
       "[  s1|   1    0 -7/2    2|   2]\n",
       "[  s2|   0    1    0   -1|   1]\n",
       "[  x3|   0    0  3/2   -1|   4]\n",
       "[  x1|   0    0  1/2    0|   5]\n",
       "[----+-------------------+----]\n",
       "[ ZPI|   0    0    3   -1|  19]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fila Indicadora\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{rrrrrrrrr}\n",
       "{x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} \\\\\n",
       "\\hline\n",
       " 0 & -3 & 0 & -5 & -5 & 0 & 0 & -3 & 1\n",
       "\\end{array}\\right)</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{rrrrrrrrr}\n",
       "{x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} \\\\\n",
       "\\hline\n",
       " 0 & -3 & 0 & -5 & -5 & 0 & 0 & -3 & 1\n",
       "\\end{array}\\right)$$"
      ],
      "text/plain": [
       "[x1 x2 x3 x4 x5 s1 s2 s3 s4]\n",
       "[--------------------------]\n",
       "[ 0 -3  0 -5 -5  0  0 -3  1]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "      \n"
     ]
    }
   ],
   "source": [
    "cambio(2,7)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{rr|rr}\n",
       "{Basic} & {b} & {Col\\ Entr} & {Cocientes} \\\\\n",
       "{\\color{green}{s}}_{1} & 2 & 2 & 1.0000 \\\\\n",
       "{\\color{green}{s}}_{2} & 1 & -1 & \\mathit{NO} \\\\\n",
       "{x}_{3} & 4 & -1 & \\mathit{NO} \\\\\n",
       "{x}_{1} & 5 & 0 & \\mathit{NO}\n",
       "\\end{array}\\right)</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{rr|rr}\n",
       "{Basic} & {b} & {Col\\ Entr} & {Cocientes} \\\\\n",
       "{\\color{green}{s}}_{1} & 2 & 2 & 1.0000 \\\\\n",
       "{\\color{green}{s}}_{2} & 1 & -1 & \\mathit{NO} \\\\\n",
       "{x}_{3} & 4 & -1 & \\mathit{NO} \\\\\n",
       "{x}_{1} & 5 & 0 & \\mathit{NO}\n",
       "\\end{array}\\right)$$"
      ],
      "text/plain": [
       "[     B    rhs|   Ent    Coc]\n",
       "[    s1      2|     2 1.0000]\n",
       "[    s2      1|    -1     NO]\n",
       "[    x3      4|    -1     NO]\n",
       "[    x1      5|     0     NO]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cocientes(9)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "      \n",
      "            Matriz Inversa\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrr|r}\n",
       "{Basic} & {\\color{green}{s}}_{4} & {\\color{green}{s}}_{2} & {x}_{3} & {x}_{1} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{4} & \\frac{1}{2} & 0 & -\\frac{7}{4} & 1 & 1 \\\\\n",
       "{\\color{green}{s}}_{2} & \\frac{1}{2} & 1 & -\\frac{7}{4} & 0 & 2 \\\\\n",
       "{x}_{3} & \\frac{1}{2} & 0 & -\\frac{1}{4} & 0 & 5 \\\\\n",
       "{x}_{1} & 0 & 0 & \\frac{1}{2} & 0 & 5 \\\\\n",
       "\\hline\n",
       " {\\pi_B} & \\frac{1}{2} & 0 & \\frac{5}{4} & 0 & 20\n",
       "\\end{array}\\right)</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrr|r}\n",
       "{Basic} & {\\color{green}{s}}_{4} & {\\color{green}{s}}_{2} & {x}_{3} & {x}_{1} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{4} & \\frac{1}{2} & 0 & -\\frac{7}{4} & 1 & 1 \\\\\n",
       "{\\color{green}{s}}_{2} & \\frac{1}{2} & 1 & -\\frac{7}{4} & 0 & 2 \\\\\n",
       "{x}_{3} & \\frac{1}{2} & 0 & -\\frac{1}{4} & 0 & 5 \\\\\n",
       "{x}_{1} & 0 & 0 & \\frac{1}{2} & 0 & 5 \\\\\n",
       "\\hline\n",
       " {\\pi_B} & \\frac{1}{2} & 0 & \\frac{5}{4} & 0 & 20\n",
       "\\end{array}\\right)$$"
      ],
      "text/plain": [
       "[   B|  s4   s2   x3   x1| rhs]\n",
       "[----+-------------------+----]\n",
       "[  s4| 1/2    0 -7/4    1|   1]\n",
       "[  s2| 1/2    1 -7/4    0|   2]\n",
       "[  x3| 1/2    0 -1/4    0|   5]\n",
       "[  x1|   0    0  1/2    0|   5]\n",
       "[----+-------------------+----]\n",
       "[ ZPI| 1/2    0  5/4    0|  20]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fila Indicadora\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{rrrrrrrrr}\n",
       "{x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} \\\\\n",
       "\\hline\n",
       " 0 & 0 & 0 & -1 & -\\frac{7}{4} & -\\frac{1}{2} & 0 & -\\frac{5}{4} & 0\n",
       "\\end{array}\\right)</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{rrrrrrrrr}\n",
       "{x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} \\\\\n",
       "\\hline\n",
       " 0 & 0 & 0 & -1 & -\\frac{7}{4} & -\\frac{1}{2} & 0 & -\\frac{5}{4} & 0\n",
       "\\end{array}\\right)$$"
      ],
      "text/plain": [
       "[  x1   x2   x3   x4   x5   s1   s2   s3   s4]\n",
       "[--------------------------------------------]\n",
       "[   0    0    0   -1 -7/4 -1/2    0 -5/4    0]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "      \n"
     ]
    }
   ],
   "source": [
    "cambio(1,9)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Otro "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}{===================================}</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}{===================================}$$"
      ],
      "text/plain": [
       "ry"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}{===================================}</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}{===================================}$$"
      ],
      "text/plain": [
       "ry"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\begin{array}{l}\n",
       "\\begin{array}{lcrcrcrcrcrcl}\n",
       " \\max \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} 3 x_{1} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} 2 x_{2} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} x_{3} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 2 x_{4} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 3 x_{5} \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} \\\\\n",
       " \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} x_{1} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} 4 x_{2} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 2 x_{3} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} x_{4} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 2 x_{5} \\mspace{-6mu}&\\mspace{-6mu} \\leq \\mspace{-6mu}&\\mspace{-6mu} 15 \\\\\n",
       " \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} 3 x_{1} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} x_{2} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} x_{3} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 2 x_{4} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} x_{5} \\mspace{-6mu}&\\mspace{-6mu} \\leq \\mspace{-6mu}&\\mspace{-6mu} 12 \\\\\n",
       " \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} 2 x_{1} \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 2 x_{4} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 3 x_{5} \\mspace{-6mu}&\\mspace{-6mu} \\leq \\mspace{-6mu}&\\mspace{-6mu} 10 \\\\\n",
       " \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} 3 x_{1} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} x_{2} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} x_{3} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} x_{4} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} x_{5} \\mspace{-6mu}&\\mspace{-6mu} \\leq \\mspace{-6mu}&\\mspace{-6mu} 11 \\\\\n",
       "\\end{array} \\\\\n",
       "x_{1}, x_{2}, x_{3}, x_{4}, x_{5} \\geq 0\n",
       "\\end{array}</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\begin{array}{l}\n",
       "\\begin{array}{lcrcrcrcrcrcl}\n",
       " \\max \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} 3 x_{1} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} 2 x_{2} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} x_{3} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 2 x_{4} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 3 x_{5} \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} \\\\\n",
       " \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} x_{1} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} 4 x_{2} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 2 x_{3} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} x_{4} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 2 x_{5} \\mspace{-6mu}&\\mspace{-6mu} \\leq \\mspace{-6mu}&\\mspace{-6mu} 15 \\\\\n",
       " \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} 3 x_{1} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} x_{2} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} x_{3} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 2 x_{4} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} x_{5} \\mspace{-6mu}&\\mspace{-6mu} \\leq \\mspace{-6mu}&\\mspace{-6mu} 12 \\\\\n",
       " \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} 2 x_{1} \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 2 x_{4} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} 3 x_{5} \\mspace{-6mu}&\\mspace{-6mu} \\leq \\mspace{-6mu}&\\mspace{-6mu} 10 \\\\\n",
       " \\mspace{-6mu}&\\mspace{-6mu}  \\mspace{-6mu}&\\mspace{-6mu} 3 x_{1} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} x_{2} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} x_{3} \\mspace{-6mu}&\\mspace{-6mu} - \\mspace{-6mu}&\\mspace{-6mu} x_{4} \\mspace{-6mu}&\\mspace{-6mu} + \\mspace{-6mu}&\\mspace{-6mu} x_{5} \\mspace{-6mu}&\\mspace{-6mu} \\leq \\mspace{-6mu}&\\mspace{-6mu} 11 \\\\\n",
       "\\end{array} \\\\\n",
       "x_{1}, x_{2}, x_{3}, x_{4}, x_{5} \\geq 0\n",
       "\\end{array}$$"
      ],
      "text/plain": [
       "LP problem (use 'view(...)' or '%display typeset' for details)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}20</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}20$$"
      ],
      "text/plain": [
       "20"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(5,\\,0,\\,5,\\,0,\\,0\\right)</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(5,\\,0,\\,5,\\,0,\\,0\\right)$$"
      ],
      "text/plain": [
       "(5, 0, 5, 0, 0)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}{===================================}</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}{===================================}$$"
      ],
      "text/plain": [
       "ry"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}{}</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}{}$$"
      ],
      "text/plain": [
       "salto"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}{===================================}</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}{===================================}$$"
      ],
      "text/plain": [
       "ry"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrrrrrrr|r}\n",
       "{Basic} & {x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{1} & 1 & -4 & 2 & 1 & 2 & 1 & 0 & 0 & 0 & 15 \\\\\n",
       "{\\color{green}{s}}_{2} & 3 & 1 & -1 & 2 & 1 & 0 & 1 & 0 & 0 & 12 \\\\\n",
       "{\\color{green}{s}}_{3} & 2 & 0 & 0 & 2 & 3 & 0 & 0 & 1 & 0 & 10 \\\\\n",
       "{\\color{green}{s}}_{4} & 3 & -1 & -1 & -1 & 1 & 0 & 0 & 0 & 1 & 11 \\\\\n",
       "\\hline\n",
       " {Z_{ind}} & 3 & -2 & 1 & 2 & 3 & 0 & 0 & 0 & 0 & 0\n",
       "\\end{array}\\right)</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrrrrrrr|r}\n",
       "{Basic} & {x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{1} & 1 & -4 & 2 & 1 & 2 & 1 & 0 & 0 & 0 & 15 \\\\\n",
       "{\\color{green}{s}}_{2} & 3 & 1 & -1 & 2 & 1 & 0 & 1 & 0 & 0 & 12 \\\\\n",
       "{\\color{green}{s}}_{3} & 2 & 0 & 0 & 2 & 3 & 0 & 0 & 1 & 0 & 10 \\\\\n",
       "{\\color{green}{s}}_{4} & 3 & -1 & -1 & -1 & 1 & 0 & 0 & 0 & 1 & 11 \\\\\n",
       "\\hline\n",
       " {Z_{ind}} & 3 & -2 & 1 & 2 & 3 & 0 & 0 & 0 & 0 & 0\n",
       "\\end{array}\\right)$$"
      ],
      "text/plain": [
       "[  B| x1  x2  x3  x4  x5  s1  s2  s3  s4|rhs]\n",
       "[---+-----------------------------------+---]\n",
       "[ s1|  1  -4   2   1   2   1   0   0   0| 15]\n",
       "[ s2|  3   1  -1   2   1   0   1   0   0| 12]\n",
       "[ s3|  2   0   0   2   3   0   0   1   0| 10]\n",
       "[ s4|  3  -1  -1  -1   1   0   0   0   1| 11]\n",
       "[---+-----------------------------------+---]\n",
       "[  Z|  3  -2   1   2   3   0   0   0   0|  0]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "tipo ='max'     #   Problema de tipo max o min\n",
    "\n",
    "n=5 #  número de variables x's\n",
    "m=4 #  número de restricciones (distintas de las de signo)\n",
    "\n",
    "c=matrix(QQ,1,n,[3,-2,1,2,3] )  # vector de costos\n",
    "\n",
    "A=matrix(QQ,m,n,[   # coeficientes de las variables x's\n",
    "[1,-4,2,1,2],\n",
    "[3,1,-1,2,1],\n",
    "[2,0,0,2,3],\n",
    "[3,-1,-1,-1,1]\n",
    "])\n",
    "\n",
    "b=matrix(QQ,m,1,[15,12,10,11])  # vector de la derecha\n",
    "\n",
    "\n",
    "h=matrix(ZZ,1,m,[1,1,1,1])  # variables de holgura: \n",
    "                            # Pon 1 si va sumando, \n",
    "                            # -1 si va restando y \n",
    "                            # 0 si no hay variable de holgura.\n",
    "                            \n",
    "t=matrix(ZZ,1,m,[0,0,0,0])   # variables artificiales: \n",
    "                             # pon 1 si utilizas variable artificial en la fila i-ésima\n",
    "                             #     0 si no utilizas variable artificial en la fila i-ésima\n",
    "\n",
    "colId=(6,7,8,9) # posición de la matriz identidad\n",
    "\n",
    "\n",
    "    \n",
    "    \n",
    "####################################################################\n",
    "############  HASTA AQUÍ LOS DATOS  ################################\n",
    "####################################################################\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "load('https://sage.unex.es/501708/simplex2023CompletamenteManual.sage')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrrrrrrr|r}\n",
       "{Basic} & {x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{1} & 0 & -\\frac{11}{3} & \\frac{7}{3} & \\frac{4}{3} & \\frac{5}{3} & 1 & 0 & 0 & -\\frac{1}{3} & \\frac{34}{3} \\\\\n",
       "{\\color{green}{s}}_{2} & 0 & 2 & 0 & 3 & 0 & 0 & 1 & 0 & -1 & 1 \\\\\n",
       "{\\color{green}{s}}_{3} & 0 & \\frac{2}{3} & \\frac{2}{3} & \\frac{8}{3} & \\frac{7}{3} & 0 & 0 & 1 & -\\frac{2}{3} & \\frac{8}{3} \\\\\n",
       "{x}_{1} & 1 & -\\frac{1}{3} & -\\frac{1}{3} & -\\frac{1}{3} & \\frac{1}{3} & 0 & 0 & 0 & \\frac{1}{3} & \\frac{11}{3} \\\\\n",
       "\\hline\n",
       " {Z_{ind}} & 0 & -1 & 2 & 3 & 2 & 0 & 0 & 0 & -1 & 11\n",
       "\\end{array}\\right)</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrrrrrrr|r}\n",
       "{Basic} & {x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{1} & 0 & -\\frac{11}{3} & \\frac{7}{3} & \\frac{4}{3} & \\frac{5}{3} & 1 & 0 & 0 & -\\frac{1}{3} & \\frac{34}{3} \\\\\n",
       "{\\color{green}{s}}_{2} & 0 & 2 & 0 & 3 & 0 & 0 & 1 & 0 & -1 & 1 \\\\\n",
       "{\\color{green}{s}}_{3} & 0 & \\frac{2}{3} & \\frac{2}{3} & \\frac{8}{3} & \\frac{7}{3} & 0 & 0 & 1 & -\\frac{2}{3} & \\frac{8}{3} \\\\\n",
       "{x}_{1} & 1 & -\\frac{1}{3} & -\\frac{1}{3} & -\\frac{1}{3} & \\frac{1}{3} & 0 & 0 & 0 & \\frac{1}{3} & \\frac{11}{3} \\\\\n",
       "\\hline\n",
       " {Z_{ind}} & 0 & -1 & 2 & 3 & 2 & 0 & 0 & 0 & -1 & 11\n",
       "\\end{array}\\right)$$"
      ],
      "text/plain": [
       "[    B|   x1    x2    x3    x4    x5    s1    s2    s3    s4|  rhs]\n",
       "[-----+-----------------------------------------------------+-----]\n",
       "[   s1|    0 -11/3   7/3   4/3   5/3     1     0     0  -1/3| 34/3]\n",
       "[   s2|    0     2     0     3     0     0     1     0    -1|    1]\n",
       "[   s3|    0   2/3   2/3   8/3   7/3     0     0     1  -2/3|  8/3]\n",
       "[   x1|    1  -1/3  -1/3  -1/3   1/3     0     0     0   1/3| 11/3]\n",
       "[-----+-----------------------------------------------------+-----]\n",
       "[    Z|    0    -1     2     3     2     0     0     0    -1|   11]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrrrrrrr|r}\n",
       "{Basic} & {x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{1} & 0 & -6 & 0 & -8 & -\\frac{13}{2} & 1 & 0 & -\\frac{7}{2} & 2 & 2 \\\\\n",
       "{\\color{green}{s}}_{2} & 0 & 2 & 0 & 3 & 0 & 0 & 1 & 0 & -1 & 1 \\\\\n",
       "{x}_{3} & 0 & 1 & 1 & 4 & \\frac{7}{2} & 0 & 0 & \\frac{3}{2} & -1 & 4 \\\\\n",
       "{x}_{1} & 1 & 0 & 0 & 1 & \\frac{3}{2} & 0 & 0 & \\frac{1}{2} & 0 & 5 \\\\\n",
       "\\hline\n",
       " {Z_{ind}} & 0 & -3 & 0 & -5 & -5 & 0 & 0 & -3 & 1 & 19\n",
       "\\end{array}\\right)</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrrrrrrr|r}\n",
       "{Basic} & {x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{1} & 0 & -6 & 0 & -8 & -\\frac{13}{2} & 1 & 0 & -\\frac{7}{2} & 2 & 2 \\\\\n",
       "{\\color{green}{s}}_{2} & 0 & 2 & 0 & 3 & 0 & 0 & 1 & 0 & -1 & 1 \\\\\n",
       "{x}_{3} & 0 & 1 & 1 & 4 & \\frac{7}{2} & 0 & 0 & \\frac{3}{2} & -1 & 4 \\\\\n",
       "{x}_{1} & 1 & 0 & 0 & 1 & \\frac{3}{2} & 0 & 0 & \\frac{1}{2} & 0 & 5 \\\\\n",
       "\\hline\n",
       " {Z_{ind}} & 0 & -3 & 0 & -5 & -5 & 0 & 0 & -3 & 1 & 19\n",
       "\\end{array}\\right)$$"
      ],
      "text/plain": [
       "[    B|   x1    x2    x3    x4    x5    s1    s2    s3    s4|  rhs]\n",
       "[-----+-----------------------------------------------------+-----]\n",
       "[   s1|    0    -6     0    -8 -13/2     1     0  -7/2     2|    2]\n",
       "[   s2|    0     2     0     3     0     0     1     0    -1|    1]\n",
       "[   x3|    0     1     1     4   7/2     0     0   3/2    -1|    4]\n",
       "[   x1|    1     0     0     1   3/2     0     0   1/2     0|    5]\n",
       "[-----+-----------------------------------------------------+-----]\n",
       "[    Z|    0    -3     0    -5    -5     0     0    -3     1|   19]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrrrrrrr|r}\n",
       "{Basic} & {x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{4} & 0 & -3 & 0 & -4 & -\\frac{13}{4} & \\frac{1}{2} & 0 & -\\frac{7}{4} & 1 & 1 \\\\\n",
       "{\\color{green}{s}}_{2} & 0 & -1 & 0 & -1 & -\\frac{13}{4} & \\frac{1}{2} & 1 & -\\frac{7}{4} & 0 & 2 \\\\\n",
       "{x}_{3} & 0 & -2 & 1 & 0 & \\frac{1}{4} & \\frac{1}{2} & 0 & -\\frac{1}{4} & 0 & 5 \\\\\n",
       "{x}_{1} & 1 & 0 & 0 & 1 & \\frac{3}{2} & 0 & 0 & \\frac{1}{2} & 0 & 5 \\\\\n",
       "\\hline\n",
       " {Z_{ind}} & 0 & 0 & 0 & -1 & -\\frac{7}{4} & -\\frac{1}{2} & 0 & -\\frac{5}{4} & 0 & 20\n",
       "\\end{array}\\right)</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{r|rrrrrrrrr|r}\n",
       "{Basic} & {x}_{1} & {x}_{2} & {x}_{3} & {x}_{4} & {x}_{5} & {\\color{green}{s}}_{1} & {\\color{green}{s}}_{2} & {\\color{green}{s}}_{3} & {\\color{green}{s}}_{4} & {b} \\\\\n",
       "\\hline\n",
       " {\\color{green}{s}}_{4} & 0 & -3 & 0 & -4 & -\\frac{13}{4} & \\frac{1}{2} & 0 & -\\frac{7}{4} & 1 & 1 \\\\\n",
       "{\\color{green}{s}}_{2} & 0 & -1 & 0 & -1 & -\\frac{13}{4} & \\frac{1}{2} & 1 & -\\frac{7}{4} & 0 & 2 \\\\\n",
       "{x}_{3} & 0 & -2 & 1 & 0 & \\frac{1}{4} & \\frac{1}{2} & 0 & -\\frac{1}{4} & 0 & 5 \\\\\n",
       "{x}_{1} & 1 & 0 & 0 & 1 & \\frac{3}{2} & 0 & 0 & \\frac{1}{2} & 0 & 5 \\\\\n",
       "\\hline\n",
       " {Z_{ind}} & 0 & 0 & 0 & -1 & -\\frac{7}{4} & -\\frac{1}{2} & 0 & -\\frac{5}{4} & 0 & 20\n",
       "\\end{array}\\right)$$"
      ],
      "text/plain": [
       "[    B|   x1    x2    x3    x4    x5    s1    s2    s3    s4|  rhs]\n",
       "[-----+-----------------------------------------------------+-----]\n",
       "[   s4|    0    -3     0    -4 -13/4   1/2     0  -7/4     1|    1]\n",
       "[   s2|    0    -1     0    -1 -13/4   1/2     1  -7/4     0|    2]\n",
       "[   x3|    0    -2     1     0   1/4   1/2     0  -1/4     0|    5]\n",
       "[   x1|    1     0     0     1   3/2     0     0   1/2     0|    5]\n",
       "[-----+-----------------------------------------------------+-----]\n",
       "[    Z|    0     0     0    -1  -7/4  -1/2     0  -5/4     0|   20]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cambio(4,1);cambio(3,3);cambio(1,9)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<html><script type=\"math/tex; mode=display\">\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{rrrr}\n",
       "\\frac{1}{2} & 0 & -\\frac{7}{4} & 1 \\\\\n",
       "\\frac{1}{2} & 1 & -\\frac{7}{4} & 0 \\\\\n",
       "\\frac{1}{2} & 0 & -\\frac{1}{4} & 0 \\\\\n",
       "0 & 0 & \\frac{1}{2} & 0\n",
       "\\end{array}\\right)</script></html>"
      ],
      "text/latex": [
       "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{rrrr}\n",
       "\\frac{1}{2} & 0 & -\\frac{7}{4} & 1 \\\\\n",
       "\\frac{1}{2} & 1 & -\\frac{7}{4} & 0 \\\\\n",
       "\\frac{1}{2} & 0 & -\\frac{1}{4} & 0 \\\\\n",
       "0 & 0 & \\frac{1}{2} & 0\n",
       "\\end{array}\\right)$$"
      ],
      "text/plain": [
       "[ 1/2    0 -7/4    1]\n",
       "[ 1/2    1 -7/4    0]\n",
       "[ 1/2    0 -1/4    0]\n",
       "[   0    0  1/2    0]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "show(BM1)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "SageMath 9.5",
   "language": "sage",
   "name": "sagemath"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
