Bloch Sphere ブロッホ球をJupyter notebookで書く
量子力学のメモを取るにあたり、Bloch Sphereを書きたい。Texでは、"blochsphere package"を使えば簡単に書けるようだが、HatenaのMarkdownというか、はてなで使われているMathJaxでは無理っぽい。そこで、Jupyter notebook使って書く方法(3D版を諦めるまでの軌跡)をメモ
手順
- QuTiPを conda でインストール
conda install QuTiP
でいけると思われるが、今回は、以下にあるcondaのenviromentのレシピ?を使って、インストールしていた環境に、QuTiPが含まれていたので、それを利用
https://github.com/Microsoft/Quantum/tree/master/Samples/PythonInterop
インストールするコマンドは、
conda env create -f environment.yml
- 以下のような感じでJupyter上実行
描けた。 なお、Peter Shor先生が授業で描いてた向きは[190,20]くらい。
Bloch3dを諦めるまでの軌跡
よりきれいなBloch Shpereを書くには、Bloch3d()を使うと良いらしいが。。
- Bloch3d()を実行したらmayaviがないと怒られる
- conda install mayavi したら、以下の通り怒られる
Solving environment: failed UnsatisfiableError: The following specifications were found to be in conflict: - mayavi -> apptools==4.2.0 -> python=2.7 - python[version='>=3.6'] Use "conda info <package>" to see the dependencies for each package.
- Mayaviのページを見て、気が進まないが pipで入れようとしたら、VSの C++ Build Toosがいると怒られる
error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": https://visualstudio.microsoft.com/downloads/
- conda install -c conda-forge mayavi で無事インストールできたが、いざ、Bloch3d()を実行すると"vtk"がないと怒られる
- conda install -c viscid-hub vtkでインストール成功
- Bloch3d()すると、図が出て来たが、jupyter notebook外で画像が開かれる。。。
- jupyterのextensionをインストール
jupyter nbextension install --py mayavi --user
- 以下を実行し、サンプルの3D図をJupyter上に描けるも、同じようにJupter notebook内にBloch Shphereを描く方法が分からず。
from mayavi import mlab mlab.init_notebook() mlab.test_plot3d()
- 試しに、上のサンプル3Dが入ったipynbファイルをGistにアップロードする→405 Not Allowed。3Dの絵は、Gistには上げられないっぽい。じゃあ、3D意味ない。
諦める