Qulacs-Osaka / scikit-qulacs

scikit-qulacs is a library for quantum neural network. This library is based on qulacs and named after scikit-learn.
https://qulacs-osaka.github.io/scikit-qulacs/index.html
MIT License
21 stars 6 forks source link

共有されているパラメータに係数をかけられるようにする #169

Closed ikanago closed 2 years ago

ikanago commented 2 years ago

参考:

いいと思います!次はシェアされているパラメータに係数がかかってるみたいなのもできるといいかもしれないですー。( -RX(2θ_1)-RZ(θ_2)-RX(0.5θ_1)- みたいな回路を作りたいときもあるかもしれないので)

Originally posted by @kosukemtr in https://github.com/Qulacs-Osaka/scikit-qulacs/pull/166#pullrequestreview-934548634

forest1040 commented 2 years ago

@ikanago すみません! QCNNで共有されているパラメータに係数をかけられる必要ありました。。 前、QCNNでは使わないと言ってしまいましたが。。 逆回転させるため、-1をかける必要がありました。 一旦、私の方で対応してみます。

forest1040 commented 2 years ago

_LearningParameterクラスにpositions_in_circuit: List[int]を持っていますが、このList[int]を拡張する感じですかね。。

class _LearningParameter:
    positions_in_circuit: List[int]
    parameter_id: int
    value: float
    is_input: bool = field(default=False)

_PositionDetailクラスを作って、List[int]ではなく、List[_PositionDetail]で持たせる感じですかね。。

class _PositionDetail:
    gate_pos: int,
    coef: Optional[float]
ikanago commented 2 years ago

そうですね,それで None でない coef をもつときはそれをかけてやればうまくいきそうです.