Qulacs-Osaka / qulacs-osaka

Development branch of qulacs at Osaka Univ
MIT License
13 stars 6 forks source link

Gosa kanwa #362

Closed WATLE closed 2 years ago

WATLE commented 2 years ago

誤差が1e-15,1e-14だったのを1e-12に変更しました 誤差が1e-12より緩いのはそのままです

WATLE commented 2 years ago

なお、testではなく、 本体コードでの 0に近いかの判定はそのままにしておいてます

kotamanegi commented 2 years ago

この解決策として、test/util/util.hppにepsの定義を移動し、test/util/util.hppをincludeすることにして、テストコード側ではepsを定義しないようにする、というのが考えられますがどうでしょうか?

WATLE commented 2 years ago

test内容によってepsはピンキリなので、 一律はちょっと... ?

WATLE commented 2 years ago

1e-10 のやつも結構見る DensityMatrixTestには1e-8 もあった 

WATLE commented 2 years ago

でも確かにそれでもいい気もします

WATLE commented 2 years ago

よく見たらかなりの割合で1e-12と1e-10になったし、 統一してもよさそう

kotamanegi commented 2 years ago

epsを毎回定義しているのは混乱のもとになると思うので、統一する方が嬉しいです。

KowerKoint commented 2 years ago

とりあえずざっと見て全部計算誤差による理論値とのズレを主張するものであることを確認しました。 これを統一することには賛成ですが、utilityに置くならもう少しユニークな名前を採用したほうがいいんじゃないかと個人的に思います(これは適当ですがCALC_EPSとか)

DensityMatrixGeneralGateTest.TwoQubitDepolarizingTestで落ちるのは計算誤差ですが、現状のテスト落ちの多くはサンプリングの偏りなどで生じる確率的なものなのでそっちに対する統一的な対応(「とても運が悪くてズレる」のは仕方ないのでそれがめったに(10回中2回など)起こらないことを示す)もしていきたいですね

forest1040 commented 2 years ago

LGTMです!

forest1040 commented 2 years ago

utilityに置くならもう少しユニークな名前を採用したほうがいいんじゃないかと個人的に思います

test配下に閉じたutilityなので、まぁこの名前でいいかなと思いました。。