|
1 | | -function leading_boundary(state::InfiniteMPS, H::DenseMPO, alg::GradientGrassmann, |
2 | | - envs=environments(state, H)) |
3 | | - (multi, envs, err) = leading_boundary(convert(MultilineMPS, state), |
4 | | - convert(MultilineMPO, H), alg, envs) |
5 | | - state = convert(InfiniteMPS, multi) |
6 | | - return (state, envs, err) |
7 | | -end |
8 | | - |
9 | | -function leading_boundary(state::MultilineMPS, H, alg::GradientGrassmann, |
10 | | - envs=environments(state, H)) |
11 | | - fg(x) = GrassmannMPS.fg(x, H, envs) |
| 1 | +function leading_boundary(state::MultilineMPS, |
| 2 | + operator::MultilineMPO, |
| 3 | + alg::GradientGrassmann, |
| 4 | + envs::MultilineEnvironments=environments(state, H)) |
| 5 | + fg(x) = GrassmannMPS.fg(x, operator, envs) |
12 | 6 | x, _, _, _, normgradhistory = optimize(fg, state, |
13 | 7 | alg.method; |
14 | 8 | (transport!)=GrassmannMPS.transport!, |
|
0 commit comments