From 7fe503f75e13f1d5dfef2c0763e8419c4ebe68d1 Mon Sep 17 00:00:00 2001 From: Markus Hauru Date: Thu, 19 Nov 2020 18:50:15 +0100 Subject: [PATCH] Remove out-of-date todos --- src/binarylayer.jl | 1 - src/modifiedbinarylayer.jl | 6 +++++- src/ternarylayer.jl | 1 - 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/binarylayer.jl b/src/binarylayer.jl index 611ddb1..8549ff9 100644 --- a/src/binarylayer.jl +++ b/src/binarylayer.jl @@ -276,7 +276,6 @@ function ascend_right(op::ChargedBinaryOperator, layer::BinaryLayer) return scaled_op end -# TODO Figure out how to deal with the extra charge legs in the case of anyonic tensors. function ascend_left(op::BinaryOperator, layer::BinaryLayer) u, w = layer @planar( diff --git a/src/modifiedbinarylayer.jl b/src/modifiedbinarylayer.jl index 7e57a24..e3b73b4 100644 --- a/src/modifiedbinarylayer.jl +++ b/src/modifiedbinarylayer.jl @@ -167,7 +167,8 @@ function randomlayer( # We make the initial guess be reflection symmetric, since that's often true of the # desired MERA too (at least if random_disentangler is false, but we do it every time # any way). - # TODO For anyons, should there be a twist on the top leg too? + # TODO For anyons, should there be a twist on the top leg too, and does the braid make + # sense? wr = braid(wl, (1, 2, 3), (2, 1), (3,); copy = true) u = initialize_disentangler(T, Vout, Vint, random_disentangler) return ModifiedBinaryLayer(u, wl, wr) @@ -295,6 +296,7 @@ end # TODO Think about how to best remove the code duplication of having the separate methods # for ordinary, charged, and double charged operators. +# Operators without charge legs. function ascend_left(op::ModifiedBinaryOp{T}, layer::ModifiedBinaryLayer) where { T <: SquareTensorMap{2} } @@ -361,6 +363,7 @@ function ascend_between(op::ModifiedBinaryOp{T}, layer::ModifiedBinaryLayer) whe return scaled_op end +# Operators with one charge leg. function ascend_left(op::ModifiedBinaryOp{T}, layer::ModifiedBinaryLayer) where { S1, T <: AbstractTensorMap{S1, 2, 3} } @@ -427,6 +430,7 @@ function ascend_between(op::ModifiedBinaryOp{T}, layer::ModifiedBinaryLayer) whe return scaled_op end +# Operators with two charge legs. function ascend_left(op::ModifiedBinaryOp{T}, layer::ModifiedBinaryLayer) where { S1, T <: AbstractTensorMap{S1, 2, 4} } diff --git a/src/ternarylayer.jl b/src/ternarylayer.jl index bb7dff6..db48920 100644 --- a/src/ternarylayer.jl +++ b/src/ternarylayer.jl @@ -305,7 +305,6 @@ function ascend_mid(op::ChargedTernaryOperator, layer::TernaryLayer) return scaled_op end -# TODO Figure out how to deal with the extra charge legs in the case of anyonic tensors. function ascend_left(op::TernaryOperator, layer::TernaryLayer) u, w = layer # Cost: 2X^8 + 2X^7 + 2X^6