Skip to content

Instantly share code, notes, and snippets.

@cgranade
Last active October 17, 2019 20:35
Show Gist options
  • Save cgranade/6e1d177dc33f0bb34132319672c149bf to your computer and use it in GitHub Desktop.
Save cgranade/6e1d177dc33f0bb34132319672c149bf to your computer and use it in GitHub Desktop.
Passing parameters from Q# to Python
# Start from the IQ# base image. The definition for this image can be found at
# https://github.com/microsoft/iqsharp/blob/master/images/iqsharp-base/Dockerfile.
FROM mcr.microsoft.com/quantum/iqsharp-base:0.9.1909.3002
ENV IQSHARP_HOSTING_ENV="cgranade/python-parameters"
USER root
RUN pip install numpy matplotlib
# Make sure the contents of our repo are in ${HOME}.
# These steps are required for use on mybinder.org.
USER root
COPY . ${HOME}
RUN chown -R ${USER} ${HOME}
# Finish by dropping back to the notebook user.
USER ${USER}
namespace Sample {
open Microsoft.Quantum.Intrinsic;
open Microsoft.Quantum.Canon;
open Microsoft.Quantum.Measurement;
operation SampleBiasedQrng(angle : Double) : Result {
using (q = Qubit()) {
Ry(angle, q);
return MResetZ(q);
}
}
}
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import qsharp\n",
"from Sample import SampleBiasedQrng"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"angles = np.linspace(0, 2 * np.pi, 101)\n",
"frequencies = [\n",
" sum(\n",
" SampleBiasedQrng.simulate(angle=angle)\n",
" for _ in range(100)\n",
" )\n",
" for angle in angles\n",
"]"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x29de8732e48>]"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.plot(angles, frequencies)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"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.7.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment