MPOState
class MPOState(*args, **kwargs)
Bases: MatrixProductOperator, State
비달 게이지를 시행하는 MPO.
킴의 이러한 전문화는 quimb.tensor.MatrixProductOperator 은 비달 게이지가 존재하는 내내 적용됩니다. 이렇게 하면 알고리즘의 안정적인 동작을 보장합니다 DynamicMPF 알고리즘의 안정적인 동작을 보장합니다 TEBDEvolver.
인스턴스를 초기화합니다 MPOState 인스턴스를 초기화합니다.
모든 인자(위치 및 키워드)는 간단하게 quimb.tensor.MatrixProductOperator 생성자로 전달됩니다. 또한 vidal_singular_values 속성은 이 MPO의 사이트 수와 동일한 길이의 빈 목록 목록으로 초기화됩니다.
매개변수
- args - 모든 위치 인자가 생성자의
quimb.tensor.MatrixProductState생성자로 전달됩니다. - kwargs - 모든 키워드 인수는 모든 키워드 인수가
quimb.tensor.MatrixProductState생성자로 전달됩니다.
속성
vidal_singular_values
유형: list[list[float]]
단수 값의 중첩된 목록입니다. 외부 목록은 이 MPO 자체와 동일한 길이(quimb.tensor.TensorNetwork1D.L). 모든 항목은 해당 사이트의 비달 게이지를 결정하기 위한 모든 단수 값의 또 다른 목록입니다.
메소드
gate_split
gate_split(gate, where, inplace=False, conj=False, **split_opts)
두 개의 사이트 게이트를 적용하고 MPO에 다시 계약합니다.
이 방법의 기본 원리는 quimb.tensor.MatrixProductState.gate_split(). 그러나 이 구현은 비달 게이지가 보존되도록 합니다.
매개변수
-
gate (ndarray) – mPO에 적용될 게이트입니다. 물리적 치수가
d인 경우(d**2, d**2)또는 그 모양을 변형한 버전이어야 합니다. -
inplace (bool) – 게이트 적용을 제자리에서 수행할지 아니면 게이트가 적용된 새
MPOState를 반환할지 여부를 결정합니다. -
conj (bool) –
게이트를 하위(
conj=False, 기본값,lower_ind()) 또는 상위(conj=True,upper_ind()) 인덱스에 적용할지 여부를 결정합니다.참고이것은 본질적으로 LHS와 RHS가
DynamicMPF의 LHS와 RHS는 이 인자에Evolver.conjugate속성을 이 인수에 전달합니다. -
split_opts - 함수에 전달할 추가 키워드 인자로
quimb.tensor.tensor_split()함수에 전달할 추가 키워드 인수입니다. 이는 텐서가 MPO로 다시 계약되기 전에 텐서의 절단에 영향을 미치는 데 사용할 수 있습니다.
리턴
The MPOStategate 을 적용하고 계약했습니다.
리턴 유형
gate_split_
gate_split_(gate, where, *, inplace=True, conj=False, **split_opts)
매개변수
리턴 유형
overlap
overlap(initial_state)
이 상태와 제공된 초기 상태의 중첩을 계산합니다.
이 구현은 다음과 같은 인스턴스만 지원합니다 quimb.tensor.MatrixProductStateinitial_state 의 인스턴스만 지원합니다.
매개변수
initial_state (Any) – 중첩을 계산할 초기 상태입니다.
레이즈
TypeError - 제공된 초기 상태가 호환되지 않는 유형인 경우.
리턴
이 상태와 제공된 상태가 겹칩니다.
리턴 유형