[404218]: / Code / PennyLane / 02 PennyLane Circuit kkawchak.ipynb

Download this file

130 lines (129 with data), 29.8 kB

{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "provenance": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "cells": [
    {
      "cell_type": "code",
      "execution_count": 1,
      "metadata": {
        "id": "D7avgus1L7Ea",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "outputId": "14f3a30c-1a00-4fdb-b6d5-6ce0a90eb111"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.5/1.5 MB\u001b[0m \u001b[31m19.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.0/2.0 MB\u001b[0m \u001b[31m65.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m48.9/48.9 kB\u001b[0m \u001b[31m6.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m54.7/54.7 kB\u001b[0m \u001b[31m7.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13.6/13.6 MB\u001b[0m \u001b[31m129.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[?25h"
          ]
        }
      ],
      "source": [
        "# !pip install pennylane --quiet # run once"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "import pennylane as qml\n",
        "\n",
        "dev = qml.device(\"default.qubit\", wires=2)\n",
        "\n",
        "@qml.qnode(dev)\n",
        "def circuit(params):\n",
        "    qml.RY(params[0], wires=0)\n",
        "    qml.CNOT(wires=[0, 1])\n",
        "    return qml.expval(qml.PauliZ(0)), qml.expval(qml.PauliZ(1))\n",
        "params =[0.7]\n",
        "\n",
        "print(qml.draw_mpl(circuit, decimals=1, style='pennylane')(params))"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 355
        },
        "id": "lcrQHMBnMgTz",
        "outputId": "81fb7e8a-b4a1-4634-f734-e01ba8e56290"
      },
      "execution_count": 2,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "(<Figure size 500x300 with 1 Axes>, <Axes: >)\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 500x300 with 1 Axes>"
            ],
            "image/png": "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\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "qml.specs(circuit)(params)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "id": "ovTzqCRW3ot6",
        "outputId": "0d7b9027-a597-4183-fc05-e55d03e33cb4"
      },
      "execution_count": 3,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "{'resources': Resources(num_wires=2, num_gates=2, gate_types=defaultdict(<class 'int'>, {'RY': 1, 'CNOT': 1}), gate_sizes=defaultdict(<class 'int'>, {1: 1, 2: 1}), depth=2, shots=Shots(total_shots=None, shot_vector=())),\n",
              " 'num_observables': 2,\n",
              " 'num_diagonalizing_gates': 0,\n",
              " 'num_trainable_params': 0,\n",
              " 'num_device_wires': 2,\n",
              " 'device_name': 'default.qubit.autograd',\n",
              " 'expansion_strategy': 'gradient',\n",
              " 'gradient_options': {},\n",
              " 'interface': 'auto',\n",
              " 'diff_method': 'best',\n",
              " 'gradient_fn': 'backprop'}"
            ]
          },
          "metadata": {},
          "execution_count": 3
        }
      ]
    }
  ]
}