{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "e5e44fb3",
   "metadata": {},
   "source": [
    "## Ejemplo 5.1: Producto de Krönecker"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "71cd75b7",
   "metadata": {},
   "source": [
    "$\\newcommand{\\ket}[1]{|{#1}\\rangle}\\newcommand{\\bra}[1]{\\langle{#1}|}$\n",
    "Si $\\boldsymbol{A}$ y $\\boldsymbol{B}$ son dos matrices de dimensión $2\\times 2$ se tiene que\n",
    "\\begin{align*}\n",
    "\\boldsymbol{A} \\otimes \\boldsymbol{B} =\n",
    "\\begin{bmatrix}\n",
    "a_{11} & a_{12} \\\\\n",
    "a_{21} & a_{22}\n",
    "\\end{bmatrix}\n",
    "\\otimes\n",
    "\\begin{bmatrix}\n",
    "b_{11} & b_{12}\\\\\n",
    "b_{21} & b_{22}\n",
    "\\end{bmatrix} =\n",
    "\\begin{bmatrix}\n",
    "a_{11} b_{11} & a_{11} b_{12} & a_{12} b_{11} & a_{12} b_{12} \\\\\n",
    "a_{11} b_{21} & a_{11} b_{22} & a_{12} b_{21} & a_{12} b_{22} \\\\\n",
    "a_{21} b_{11} & a_{21} b_{12} & a_{22} b_{11} & a_{22} b_{12} \\\\\n",
    "a_{21} b_{21} & a_{21} b_{22} & a_{22} b_{21} & a_{22} b_{22}\n",
    "\\end{bmatrix}.\n",
    "\\end{align*}\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "e51496e6",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "A =\n",
      "\n",
      "   0   1\n",
      "   2   3\n",
      "\n",
      "B =\n",
      "\n",
      "   10   11\n",
      "   12   13\n",
      "\n",
      "A_kron_B =\n",
      "\n",
      "    0    0   10   11\n",
      "    0    0   12   13\n",
      "   20   22   30   33\n",
      "   24   26   36   39\n",
      "\n"
     ]
    }
   ],
   "source": [
    "% El comando Matlab que realiza el producto de Kroenecker es kron(A,B):\n",
    "\n",
    "A = [0 1; 2 3]\n",
    "B = [10 11; 12 13]\n",
    "\n",
    "A_kron_B = kron(A,B)"
   ]
  }
 ],
 "metadata": {
  "celltoolbar": "Raw Cell Format",
  "kernelspec": {
   "display_name": "Octave",
   "language": "octave",
   "name": "octave"
  },
  "language_info": {
   "file_extension": ".m",
   "help_links": [
    {
     "text": "GNU Octave",
     "url": "https://www.gnu.org/software/octave/support.html"
    },
    {
     "text": "Octave Kernel",
     "url": "https://github.com/Calysto/octave_kernel"
    },
    {
     "text": "MetaKernel Magics",
     "url": "https://metakernel.readthedocs.io/en/latest/source/README.html"
    }
   ],
   "mimetype": "text/x-octave",
   "name": "octave",
   "version": "8.2.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
