-
Notifications
You must be signed in to change notification settings - Fork 6
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
リンドブラッド方程式のモンテカルロソルバ #185
リンドブラッド方程式のモンテカルロソルバ #185
Conversation
|
たまに無限ループが発生してしまうことが判明したので fix しました |
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTMです!
Pythonでも問題なく動作していていい感じです
[&](CPPCTYPE acc, PauliOperator* pauli) { | ||
return acc + pauli->get_expectation_value(state); | ||
}); | ||
double sum_real = 0.; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
改良部分
src/cppsim/observable.cpp
Outdated
@@ -134,7 +134,7 @@ HermitianQuantumOperator::solve_ground_state_eigenvalue_by_lanczos_method( | |||
// So, an eigenvector of A for λ is Vq. | |||
// q_0 = init_state | |||
work_states.at(1).load(init_state); | |||
init_state->multiply_coef(0.0); | |||
init_state->set_zero_norm_state(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
改良
やったこと
リンドブラッド方程式 https://qutip.org/docs/latest/guide/dynamics/dynamics-master.html によるダイナミクスを
gate::NoisyEvolution
として実装しました。使い方
T1 T2 緩和の例は以下の通りです。
モンテカルロソルバなので、意味のある結果を得るためには
DepolarizingNoise
と同様にアンサンブル平均を取る必要があります。