Skip to main content
IBM Quantum Platform

MPO州

class MPOState(*args, **kwargs)

GitHub

ベース: MatrixProductOperator, State

ビダルゲージを施行するMPO。

quimbのこのような特殊性は quimb.tensor.MatrixProductOperator は存在する限りヴィダルゲージを強制する。 これにより DynamicMPF アルゴリズムの安定した動作を保証する。 TEBDEvolver.

インスタンスを初期化する。 MPOState インスタンスを作成します。

ヒント

すべての引数(位置引数、キーワード引数)は、単純に quimb.tensor.MatrixProductOperator に転送される。 さらに vidal_singular_values 属性は、このMPOのサイト数に等しい長さの空リストのリストに初期化される。

パラメーター


属性

vidal_singular_values

タイプ: list[list[float]]

特異値の入れ子リスト。 外側のリストは、このMPO自身と同じ長さである(quimb.tensor.TensorNetwork1D.L).各項目は、そのサイトのヴィダルゲージを決定するためのすべての特異値の別のリストです。


方法

gate_split

gate_split(gate, where, inplace=False, conj=False, **split_opts)

GitHub

2サイトゲートを適用し、MPOに戻す。

このメソッドの基本原理は、次のメソッドと同じである。 quimb.tensor.MatrixProductState.gate_split(). しかし、ヴィダルゲージが保存されるように実装されている。

パラメーター

  • gate (ndarray) – MPOに適用されるゲート。 その形状は、 d の物理的寸法に対して (d**2, d**2) であるか、またはその形状を変更したものでなければならない。

  • where (tuple[int, int]) – ゲートが適用されるべきサイトのインデックス。

  • inplace (bool) – ゲートの適用をインプレースで行うか、ゲートを適用した新しい MPOState を返すか。

  • conj (bool) –

    ゲートを下側(conj=False、デフォルト、 lower_ind())または上位(conj=Trueupper_ind())に適用する。

    のLHSとRHSを微分する方法である。 DynamicMPF を微分する方法である。 Evolver.conjugate プロパティをこの引数に渡すことである。

  • split_opts - 関数に転送される追加のキーワード引数。 quimb.tensor.tensor_split() 関数に転送される追加のキーワード引数。 これらは、テンソルがMPOに収縮される前に、テンソルの切り捨てに影響を与えるために使うことができる。

戻り値

その MPOStategate 、収縮させた。

戻りの型

MPOState

gate_split_

gate_split_(gate, where, *, inplace=True, conj=False, **split_opts)

パラメーター

戻りの型

MPOState

overlap

overlap(initial_state)

GitHub

この状態と与えられた初期状態との重なりを計算する。

警告

この実装では quimb.tensor.MatrixProductStateinitial_state のインスタンスのみをサポートします。

パラメーター

initial_state (Any) – オーバーラップを計算するための初期状態。

レイズ

TypeError - 提供された初期状態が互換性のない型を持っている場合。

戻り値

この状態と提供された状態の重なり。

戻りの型

複合

このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。