{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Tensor" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "image/png": "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vBylpaUoKSnB//73P1y7dg3Xr18XH/Pz88X+3d3dER4eLnZDhw5tcjFykg8DZRckCIK4YXx445iVlSVuHBuoVCo4ODjA0dFRr2vuOUtLS5iamkKlUkGlUol/N35UqVSor6+HVqtFXV0dtFqt3t8PP9bU1Igb8+LiYr2/G3fV1dV6tWs0GjEkNzwGBASgX79+su+V7SmBsrHy8vIm81V2djauXbvW5NwuOzu7JvNQc/OYra0tTE1Nm52PHn5OqVRCoVA0Ox81N4+VlZU1mYeam78a3zVIrVbD399fLywHBARg4MCBvWavbG/THQNlYzqdDj/99FOTQNXwWFFRode/QqGAra0t7OzsxJDZ2qNGo4GZmZm4bLbVNXyhbFg229NVV1ejrKwMpaWl7XpsPE7AL3cdagjSjR9dXFy6zQ6U3qjnH0vthhQKBTw9PeHp6dnkhOJ79+7hxo0bLYa24uJiXLlyRdz4lpaWdvjODWPGjMHJkyc7XLe1tbVe4HB1dcWgQYOaDSLe3t5wdXXlyqGTaTQajB49GqNHj9Z7vra2Fjdu3EBhYWGLXwpu3bqFCxcuiP939BflNjY2uH//fodrNjMzaxJivb29mw25rq6u6Nu3r+xfSIg6qmGvpLe3d5MfhAmCgKKiIty+fbtJMGsc0vLy8vReq6ure6R6XFxcJN3H2sLCokmw9fHxQUhISLOB197eHj4+Pjz1pBvjWrebsbW1xdChQ9vdf319vbinp6qqql17hlQqFZYvX97qXsyGR7VaLR4i5Tk/3ZdarRb36LWHIAioqKgQ9xC2the74bX6+noIgtDqXsyHHzUajbhnnV88qDdTKBRwcXFp9T7UzREEAVVVVSgrK0NZWZne8ti4azgq1dAJggCdTqe3x7KtvZpqtVoMibxMT+/DQNnDKZVKce8NkaEoFArY2NjAxsZG7lKIqAUKhQKWlpawtLTs1ZdXo87Rvc/oJSIiIiLZMVASERERkSQMlEREREQkCQMlEREREUnCQElEREREkjBQEhEREZEkDJREREREJAkDJRERERFJwkBJRERERJIwUBIRERGRJAyURERERCQJAyURERERScJASURERESSMFASERERkSQMlEREREQkCQMlEREREUnCQElEREREkjBQEhEREZEkDJREREREJAkDJRERERFJwkBJRERERJIwUBIZmVKphKOj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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from lambeq import BobcatParser\n", "\n", "parser = BobcatParser()\n", "diagram = parser.sentence2diagram('Alice gives Claire the flowers')\n", "diagram.draw()" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "from lambeq import AtomicType, MPSAnsatz, SpiderAnsatz, TensorAnsatz\n", "from lambeq.backend.tensor import Dim\n", "\n", "N = AtomicType.NOUN\n", "S = AtomicType.SENTENCE" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "TensorAnsatz({N: Dim(4), S: Dim(3)})(diagram).draw(figsize=(8, 2))" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA/sAAADcCAYAAAAvObEpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA28ElEQVR4nO3deXRU9f3/8ddkXyGEEBMghDVhkSCEAolsFhQUEdzAAIrKF5Uv9VhXbH9W1KptRQv01AptqahlKYgLqIhxAwS0iICyiBiQsIQlEAJJINt8fn9wMl8CCSSYzJ3c+3ycM4dklsz7fT+fuXdedy53XMYYIwAAAAAAYBt+VhcAAAAAAADqFmEfAAAAAACbIewDAAAAAGAzhH0AAAAAAGyGsA8AAAAAgM0Q9gEAAAAAsBnCPgAAAAAANkPYBwAAAADAZgj7AAAAAADYDGEfAAAAAACbIewDAAAAAGAzhH0AAAAAAGyGsA8AAAAAgM0Q9gEAAAAAsBnCPgAAAAAANkPYBwAAAADAZgj7AAAAAADYDGEfAAAAAACbIewDAAAAAGAzhH0AAAAAAGyGsA8AAAAAgM0Q9gEAAAAAsBnCPgAAAAAANkPYBwAAAADAZgj7AAAAAADYTIDVBdSn7Oxs5ebm1vvzxMTEqFWrVvX+PLXlrf6dinGH0zDn4UTMe2dy8rg7uXcnc/q4+2r/P5dtw352drY6deqkoqKien+usLAwbd++3acmiDf7dyrGHU7DnIcTMe+dycnj7uTenczp4+6L/dcF24b93NxcFRUV6d///rc6depUb8+zfft2jRs3Trm5uT41ObzVv1Mx7nAa5jyciHnvTE4edyf37mROH3df7b8u2DbsV+jUqZN69OhhdRmWcXr/TsW4w2mY83Ai5r0zOXncndy7kzHul44T9AEAAAAAYDOEfQAAAAAAbIawDwAAAACAzdgy7H/++edKTU31/D537lxFRUVZV5ADtG7dWjNmzLC6DDgM8w5OxLyHtzHnrOFyufTOO+/U+P5PPfWUrrjiinqrx6k+//xzuVwuHT9+3OpSGgxjjO655x5FR0fL5XIpKipKv/71r60uy5EadNhft26d/P39NWzYsAveb/To0frhhx+8VJX07bffql+/fgoJCVFCQoJeeOEFrz23VdavX6977rnH6jIkSceOHdPYsWPVqFEjRUVFacKECSooKLC6LNQDX5p3zz33nNLT0xUWFsbORdQrX5n3P/30kyZMmKA2bdooNDRU7dq109SpU1VSUmJ1aahjvjLnJOmGG25Qq1atFBISovj4eN1+++06cOCA1WVdkoMHD+r+++9X27ZtFRwcrISEBA0fPlyffPLJJf29Rx555JIfWxuLFy9Wx44dFRISoq5du+qDDz6o9+f0poEDB3o9mJ4+fVqTJ09W06ZNFRERoZtvvlmHDh3yag116cMPP9TcuXP13nvvKScnR5dffrnVJdW5hvI6aNBhf86cObr//vu1atWqC67oQ0NDFRsb65WaTpw4oWuuuUaJiYnasGGDpk2bpqeeekp///vfvfL8VmnWrJnCwsKsLkOSNHbsWG3dulWZmZl67733tGrVKp95k4K65UvzrqSkRLfeeqsmTZpkdSmwOV+Z999//73cbrdmz56trVu3avr06Zo1a5Z++9vfWl0a6pivzDlJuuqqq7Ro0SLt2LFDS5YsUVZWlm655Rary6q1n376Sampqfr00081bdo0fffdd/rwww911VVXafLkyZf0NyMiItS0adNqb6+LHXFr165VRkaGJkyYoI0bN2rkyJEaOXKktmzZ8rP/tpM9+OCDWrZsmRYvXqyVK1fqwIEDuummm6wu65JlZWUpPj5e6enpiouLU0CAb30B3M99LTSo14FpoE6ePGkiIiLM999/b0aPHm2ee+45z22fffaZkWQkmQ0bNphXX33VNG7cuNLjly5danr27GmCg4NN06ZNzciRIz23nT592jz88MOmefPmJiwszPTq1ct89tlnVdaxYcMGz/MYY8zf/vY306RJE1NcXOy5z5QpU0xycnLdNV8D59b1c504ccKMGTPGhIWFmbi4OPPnP//ZDBgwwDzwwAPGGGMSExPN9OnTjTHGZGRkmFGjRlV6fElJiWnatKl57bXXjDHGlJeXm+eff960bt3ahISEmJSUFLN48WLP/Y8dO2bGjBljYmJiTEhIiGnfvr3517/+ddE6t23bZiSZ9evXe65bvny5cblcZv/+/T9zKfyful6+dcVX67pUDWXena2q9Y0d+Orc8tW6fo6GOO8rvPDCC6ZNmzaX9Fhf5Kvzy6nb+Kq8++67xuVymZKSkkt6fFW8Me7XXnutadGihSkoKDjvtry8PGOMMZLM22+/7bl+/PjxRpIJDg42bdq0MU888USlvqdOnWq6detW6f4jRowwzz77rImPjzetW7c2xhiTnZ1tbr31VtO4cWPTpEkTc8MNN5jdu3cbYy7e+6hRo8ywYcMqXde7d29z7733XsJSqDlvvRYrlvHZl1dffdVIMh9//LFJTU01oaGhJi0tzXz//feVHvvOO++Y7t27e8bnqaeeMqWlpRd9zuPHj5vAwMBKr5Ht27cbSWbdunV13mNV6nL5nrsMExMTK61PjDmzDrj99ttNVFSUCQ0NNUOHDjU//PCDMcYYt9ttYmJizOLFiz11JSUlmbi4OM/jV69ebYKCgkxhYaEx5sxrZsKECSYmJsZERkaaq666ymzatMlz/4rXxj/+8Q/TunVr43K5jDHGLF682Fx++eUmODjYSDK9evWq8jV5LqteB5eiwX6yv2jRInXs2FHJyckaN26c/vWvf8kYU6PHvv/++7rxxht13XXXaePGjfrkk0/Uq1cvz+2/+tWvtG7dOi1cuFDffvutbr31Vg0dOlQ7d+686N9et26d+vfvr6CgIM91Q4YM0Y4dO5SXl1f7Rn3EQw89pDVr1mjp0qXKzMzU6tWr9c0331R537Fjx2rZsmWVDp1fsWKFioqKdOONN0qS/vCHP+j111/XrFmztHXrVj344IMaN26cVq5cKUn63e9+p23btmn58uXavn27XnnlFcXExFy0znXr1ikqKko9e/b0XDd48GD5+fnpq6+++jmLABZoKPMOqEsNed7n5+crOjr6kh4L6zTUOXfs2DHNmzdP6enpCgwMvITOrXHs2DF9+OGHmjx5ssLDw8+7vbr/ClZxdMWbb76pmTNn6h//+IemT59+wef65JNPtGPHDs/RjqWlpRoyZIgiIyO1evVqrVmzRhERERo6dGiNPu1ct26dBg8eXOm6IUOGaN26dRd9bEMwc+ZMpaWlaeLEicrJyVFOTo4SEhIkSf/v//0/vfTSS/r6668VEBCgu+++2/O41atX64477tADDzygbdu2afbs2Zo7d66ee+65iz7nhg0bVFpaWmm5duzYUa1atWqQy3XmzJl65pln1LJlS+Xk5Gj9+vXn3efOO+/U119/raVLl2rdunUyxui6665TaWmpXC6X+vfvr88//9xz/927d+vUqVP6/vvvJUkrV67UL37xC89r4tZbb9Xhw4e1fPlybdiwQT169NCgQYN07Ngxz9/48ccf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BxUQEHDesr/YuUBcLpeuvPJK3XfffZLO7NB5++23L9pDQ3odNLhP9t977z3l5eVpwoQJ562Ubr75Zs2ZM0fTpk274N+YOnWqBg0apHbt2um2225TWVmZPvjgA02ZMkVJSUkaO3as7rjjDr300kvq3r27jhw5ok8++UQpKSkaNmzYBf/2mDFj9PTTT2vChAmaMmWKtmzZopkzZ170BCq+LDIyUuPHj9ejjz6q6OhoxcbGaurUqfLz8/Ps2azKmDFjNGvWLP3www/67LPPKv29Rx55RA8++KDcbrf69u2r/Px8rVmzRo0aNdL48eP15JNPKjU1VV26dFFxcbHee+89derU6aK1durUSUOHDtXEiRM1a9YslZaW6le/+pVuu+22SkeCwPc1pHknSdnZ2Tp27Jiys7NVXl6uTZs2SZLat29fo6OCAKlhzfuKoJ+YmKgXX3xRR44c8dzmi59uoGoNac599dVXWr9+vfr27asmTZooKytLv/vd79SuXTuffJN9IS+//LKuvPJK9erVS88884xSUlJUVlamzMxMvfLKK57DmSt06NBBBw8elCTt3btXX3zxRY1CybnGjh2radOmacSIEZ6TqO3Zs0dvvfWW51DmC3nggQc0YMAAvfTSSxo2bJgWLlyor7/+2lY7xlu3bq2vvvpKP/30kyIiIjw7lC7kySef1PXXX69WrVrplltukZ+fnzZv3qwtW7bo2WefveBjGzdurAkTJuihhx5SdHS0GjVqpPvvv19paWnq06dPXbXlMzp06KARI0Zo4sSJmj17tiIjI/X444+rRYsWGjFihOd+AwcO1MMPPyzpzMkp/fz81L9/f82bN0+PPvqo536DBw9WWlqaRo4cqRdeeEFJSUk6cOCA54TsZ5+0+2xfffWVPvnkE11zzTWeT+nz8vJqtC5qUK8Di88ZUGvXX3+9ue6666q8reKEJzNnzrzoV+8tWbLEXHHFFSYoKMjExMSYm266yXNbSUmJefLJJ03r1q1NYGCgiY+PNzfeeKP59ttvz3vOqk7osHnzZtO3b18THBxsWrRoYf74xz/WTfO14I2v5enVq5d5/PHHjTGVT95ToeJr8BITEyudCMaYM1+rMWPGDJOcnGwCAwNNs2bNzJAhQ8zKlSuNMcb8/ve/N506dTKhoaEmOjrajBgxwuzatatGtR49etRkZGSYiIgI06hR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agICAswtt9xi3n33XZ8/VKS4uNisWbPGPPzwwyY6OtpIMoMHDzbvvfee1aU1CHl5eeaJJ54w8fHxRpJJS0sz//znP82ePXusLu2C3G632bZtm3nxxRdNUlKSkWQ6duxoZs6c2WDDW30g7J/P7XabN9980/Tv399IMrGxsebxxx83X375pSkpKbG6vAvKzc01S5YsMSNGjDB+fn4mIiLC3HvvvebHH3+0ujSfQtg/348//mjuvfdeEx4ebvz8/MyIESPMkiVLfH6HeElJifnyyy/N448/bmJjYz2fVi9ZssQ2n9zVpxMnTphnnnnGtGzZ0kgyPXv2NLNmzTK7du3y6eXndrvNjh07zMyZM02XLl2MJNO+fXszbdq0Bhve6gNhv2rLli0zgwYNMpJMdHS0efjhh82aNWt8/v1hXl6eeffdd80tt9xiAgICTGhoqLn77rvN9u3brS7N57mMMcZrJwho4I4fP6433nhDs2bN0rZt2+RyudStWzf1799fAwYMUPfu3dWiRQsFBQV5vTa3263Dhw9r+/btWrVqlVatWqV169bp1KlTatq0qe666y7dc8896tChg9dra+hKS0u1bNkyzZo1S5mZmZKkxMREDRgwQP3791efPn2UmJioiIgIr9dmjNHx48e1a9curVmzRitXrtSqVauUm5urwMBA3XzzzbrvvvvUv39/zkx6jkOHDikuLk5Lly517PdPX8i2bds0e/Zsvf766zp+/LjCw8OVnp6uAQMGqF+/fkpOTlazZs3k5+f987wWFxdr37592rBhg1atWqWVK1d6TrbWrVs3TZo0SWPGjFFkZKTXa/N1N9xwg6QzX7mKyk6cOKH58+dr1qxZ2rx5sySpa9eu6t+/v/r376/U1FS1bNlSwcHBXq/N7XbryJEj2rFjh2cbv3btWhUWFioqKkrjx4/XPffco86dO3u9toaurKxMy5cv1+zZs/XBBx/IGKOWLVt6tvFpaWlq3bq1ZeuT/Px87dq1S2vXrvVs4w8dOqSAgACNGDFC9913n375y19asi72ZUVFRQoPD9e8efP4+sEq7Ny5U3//+9/16quv6ujRowoNDVVaWppnfdepUyfFxsZaMq9KSkq0f/9+ffPNN5713ebNm2WMUefOnXXffffp9ttv5wTTNUTYvwTGGO3evduz0l25cqV2794t6czX91122WVKSEhQ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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "MPSAnsatz({N: Dim(4), S: Dim(3)}, bond_dim=5)(diagram).draw(figsize=(10, 2))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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mjt3rnJyctS6dWtJZ44jW7x4sebOnatp06Zd8L0PHz58zm5oLVu2dD3WvHnzeseJCzt58qRef/11zZ8/XwMHDpQkzZ071zXffmjIkCEKCQnRwoULdfvtt0uS5s+frxtvvFFhYWEqLS3VtGnT9N///lepqamSpA4dOmjVqlWaNWuW+vfvr5ycHPXo0cPVtMfHx9cr1sOHD59zKImvr68iIyN1+PDhS5l8eClvqlvgbN5cu3v27NGLL76oZ5999pJej/+zZ88eGWPUpUuXi3rd448/7vo9Pj5eDz30kBYsWKBHHnnkvK8JCQnRnDlz5O/vL+nM4ZFVVVWaM2eOHA6HpDM12KxZM61YsUKDBw++YAyHDx92LZNVa9myJd/DbhIRESF/f38FBwcrNjZWklzN3NSpU9W/f39J0mOPPaaMjAyVlJQoMDBQTz/9tB577DGNGzdO0plx4Y9//KMeeeQRPfXUUxf8zMOHD8vf3/+cc8wwnxtPRESEwsLC5HQ6XfP1bLt379ZHH32k1atXq2/fvpKkt956S1dccYXrOQMGDNCsWbMkSZ9//rl69Oih2NhYrVixQl26dNGKFStc9bFq1Sp9+eWXys3NVUBAgCTp2Wef1b///W+99957rkNiy8rK9MYbbygmJkaStGnTJlVUVGjkyJGKi4uTJCUlJdVrGr15rLDFlv1du3bpyy+/1OjRoyWdaZrqGuDPtmXLFteCyg9lZ2ersrJSiYmJCg0Ndd2ysrK0d+/eRokfjePbb79VeXl5jb0yIiIi1Llz51qf7+vrq5tvvllvvfWWJKm4uFgffvihxowZI+nMAsypU6f005/+tMa8f+ONN1zz/u6779aCBQt09dVX65FHHtGaNWvcPJWwG+oW3spba/fAgQMaOnSoRo0apYkTJ17061FTfbaK1eadd95RWlqaYmNjFRoaqscff1w5OTkXfE1SUpKr0Zekr776Snv27FFYWJirXiIjI1VSUsIympdJTk52/d6qVStJUm5urqQz83nKlCk1xoXqvQNOnTplSbyovx07dsjX11fXXnut676oqKgaK2v79++v7du3Ky8vT1lZWRowYIAGDBigFStWqLy8XGvWrNGAAQMknamHoqIi1wkXq2/fffddjf/7uLg4V6MvndmQO3DgQCUlJWnUqFGaPXv2ZbGXtS227L/66quqqKiosTWh+svn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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "SpiderAnsatz({N: Dim(4), S: Dim(3)})(diagram).draw(figsize=(10, 2))" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "import torch as th\n", "from sympy import default_sort_key\n", "\n", "d = SpiderAnsatz({N: Dim(4), S: Dim(3)}, max_order=2)(diagram)\n", "\n", "syms = sorted(d.free_symbols, key=default_sort_key)\n", "sym_dict = {k: th.ones(k.size) for k in syms}\n", "subbed_diagram = d.lambdify(*syms)(*sym_dict.values())" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([256., 256., 256.], dtype=float32)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import tensornetwork as tn\n", "subbed_diagram.eval(contractor=tn.contractors.auto)" ] } ], "metadata": { "language_info": { "name": "python" } }, "nbformat": 4, "nbformat_minor": 4 }