FunnyTN.Tensors
FunnyTN.Tensors.absorb_bra_ket
— Method.absorb_bra_ket({leg::Leg{DIRECTION, T}}, A::MPSTensor, B::MPSTensor=A) -> Tensor
tensor ← bra, ket -> tensor, leg can be lazy. Returns
T is rank 2, DIRECTION is ⇇ –A*–⊤ | T –B–-⊥
T is rank 2, DIRECTION is ⇉ ⊤–A*– T | ⊥–B–-
T is I, DIRECTION is ⇇ –A*–⊤ | | –B–-⊥
T is I, DIRECTION is ⇉ ⊤–A*– | | ⊥–B–-
T is rank 4, DIRECTION is ⇇ –A*–⊤– | T –B–-⊥–
T is rank 4, DIRECTION is ⇉ –⊤–A*– T | –⊥–B–-
FunnyTN.Tensors.absorb_ket
— Method.absorb_ket({leg::Leg{DIRECTION, T}}, O::MPSTensor) -> T
T' ← (ket <-> T), returns
T is rank 2, DIRECTION is → ‖ | | B–O*–
FunnyTN.Tensors.absorb_mpo
— Method.absorb_mpo({leg::Leg{DIRECTION, T}}, O::MPOTensor) -> T
T' ← (mpo <-> T), returns
T is rank 3, DIRECTION is ↑ | /–O*–∖ == | == ∖–B–-/
T is rank 3, DIRECTION is → ‖ | | B–O*– | | ‖
FunnyTN.Tensors.all_equivalent
— Method.all_equivalent(v) -> Bool
all entries in v are all equivalent.
FunnyTN.Tensors.assert_samesize
— Method.assert_samesize(tensors, dim::Int)
FunnyTN.Tensors.bra_ket_prod
— Function.bra_ket_prod(A::MPSTensor, B::MPSTensor=A)
bra-ket contraction, returns
--A*--
|
--B---
FunnyTN.Tensors.log2i
— Function.log2i(x::Integer) -> Integer
Return log2(x), with integer input only.
FunnyTN.Tensors.mpo_ket_prod
— Method.mpo_ket_prod(O::MPOTensor, B::MPSTensor)
mpo-mps contract, up and down wise, returns
|
--O*--
|
--B---
FunnyTN.Tensors.mps_mps_prod
— Method.mps_mps_prod(A::MPSTensor, B::MPSTensor)
mps, mps contract, left and right wise, returns
| |
--B--O*--
FunnyTN.Tensors.t2_mps_prod
— Method.t2_mps_prod(A::AbstractMatrix, B::MPSTensor) ->
matrix, mps contract, left and right wise, returns
| |
B--O*--
FunnyTN.Tensors.t3_mpo_prod
— Method.t3_mpo_prod(B::MPSTensor, O::MPOTensor)
tensor(rank=3)-mpo contract, left and right wise, returns
| |
B--O*--
| |
FunnyTN.Tensors.tt_dadd
— Method.tt_dadd(ts::Tensor{T, N}...) -> Tensor{T, N}
tensor train direct add.
FunnyTN.Tensors.absorb
— Function.Tensor Absorption (holomophic transform of tensors)
- absorb_mpo
- absorbbraket
FunnyTN.Tensors.bond
— Function.bond(tt::AbstractTN, l::Int) -> Bond
l-th bound of tensor train.