-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Description
The current implementation of simple update takes a list of tensors and a list of weights (edges) and iterate over the edges while executing a single Imaginary Time Evolution (ITE) per edge. Then it replaces the two old tensor with the two new ones and the old weight vector (of the updated edge) with the weight vector of the new edge (see simple_update.py#L239). Let us refer to that method of update in place as bootstrapping.
We would like to also support the option, as a simple update object variable, to execute a non-bootstrapping simple update pass. In the non-bootstrapping case we would save the new tensors and new edge after an edge update to new tensors and weights lists and only when done iterating over all the edges we replace the old tensors and weights lists with the new ones.
Acceptance criteria
- Add a
bootstrapattribute to theSimpleUpdateobject. - The implementation should be as simple as possible, without any fancy stuff (the code should be as readable as a children's book, we should choose readability over performance up to a reasonable extent).
- (Optional) add a test.