Replies: 4 comments
|
At the level of fusion trees, there are a whole bunch of methods for manipulating fusion trees. While they are internal, they have some documentation. You might want to look into "src/fusiontrees/basic_manipulations.jl". No need to look at the code, just the markdown docstrings. Since I am not sure what exactly you want to do, it would be useful if you could tell me what type of operations you want to do exactly using the building blocks there. I might then be able to help you find a way of doing that at the level of the |
|
In terms of fusion trees, what I'm looking for is insertat and its opposite, "extractat": extractat(f::FusionTree{I, N}, i::Int, k::Int)The third image in this section of the docs, pasted here for convenience insertat(f1::FusionTree{I, N₁}, i::Int, f2::FusionTree{I, N₂})can take two fusion trees that are separately in standard form and, as long as I have some function, call it with_subtree(g, f::FusionTree{I, N}, i::Int, k::Int)which extracts
The particular example of Apologies for the longer post, hopefully this is sufficient detail to understand what I'm trying to do 😅. |
|
I think in general the way I would try this that is the most straightforward (albeit not necessarily the most efficient) is to do things like this is through tensor maps by making use of the fact that fusiontrees form an orthonormal basis set. What I'm getting at here is that if you want to act on the some subset of the indices with a fusiontree-dependent coefficient, you can combine a "project the subtree on a given specific tree" with a scalar + "map to a different subtree" by constructing an operator that does this. To give some flavor of this, imagine I want to map 2-leg subtree Note also that this method would work equally well if you immediately fill out all transitions of possible |
|
I'm slightly confused. If:
Then which of the following is correct:
The reason I ask is because in principle O acts not just based on the leaves but also on the innerlines of the extracted subtree, which would have different values compared to the innerlines of the unextracted full state (labels d1 vs b1 in the above hand-drawn image). |


Uh oh!
There was an error while loading. Please reload this page.
Suppose I have a quantum state expressed in the basis of M-leaf fusion trees labeled with, for the purpose of this question, FibonacciAnyon sectors, stored as a Tensor. As a very simple example, suppose I start with:
The basis shape is:
And then I modify it in some way so that my leaves and branches and root values are some arbitrary values rather than just the unit sectors, i.e. I have some general quantum state.
Suppose I want to then 'extract' a '3-leaf subtree' from this tensor. On paper, I would do a series of F-moves to rewrite the state's basis so it has the following shape:
More generally, I want to extract a k-leaf subtree starting from index i in the tensor. To avoid an XY problem, I want to do two primary things with the subtree routine:
All of the
FusionTrees inTensorKitappear to be left-handed, and it looks like the approach using the existing braid/repartition mechanisms would be inefficient: I could move my subtree to the very front of the tree via braids, then do any operations on it there, then move it back, but then this is at least O(M) braid moves.Since the subtree itself is left-handed, I was hoping there might be a way to take the original M-leaf tree as input and split off the subtree, returning two trees, one with M-k+1 leaves, and the other with k leaves, where the latter's coupled charge attaches to one of the former's leaves. These could then be merged back together using an inverse procedure. From this part of the docs I have an inkling that this can be done, because after all F moves are unitary basis transformations that can be implemented by tensor contractions, but I fear my background in tensor networks, especially as they're applied here, is not quite enough to grasp it.
Thanks for any assistance!
All reactions