Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Python precision #184

Open
wants to merge 3 commits into
base: set-precision-cmake
Choose a base branch
from
Open

Python precision #184

wants to merge 3 commits into from

Conversation

KowerKoint
Copy link
Contributor

Pythonでも好きな精度を選べるようにしました。
現状どうせf64とf32の両方でライブラリがコンパイルされていて、バイナリサイズが大きくなることもなさそうだと思ったので標準で両方サポートしていいと思っています。
今後f16,f32,f128などをサポートするならライブラリのコンパイル時点でオプションで選べるようにすべきそうですが…

from scaluq.f64 import StateVector
from scaluq.f64.gate import X

のように精度でサブモジュールを切って使えるようにしていますが、

from scaluq import StateVector
from scaluq.gate import X

のように1つ上の階層からもデフォルトとしてf64のものを使えるようにするか迷っているので意見がほしいです。
従来通り精度を選ばなくても使えるのがいいところですが、メンテナにとってもユーザーにとっても階層構造がわかりにくくなる懸念があります。

@KowerKoint KowerKoint marked this pull request as ready for review November 22, 2024 02:53
"Vector representation of quantum state.\n\n.. note:: Qubit index is "
"start from 0. If the amplitudes of $\\ket{b_{n-1}\\dots b_0}$ is "
"$b_i$, the state is $\\sum_i b_i 2^i$.")
nb::class_<StateVector<Fp>>(m,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#94 からmainに入っているリッチなDocStringを反映

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant