From 82f6d75d3e29cd4fdfd1f0645cd78465ce77eeb1 Mon Sep 17 00:00:00 2001 From: AFeuerpfeil Date: Sat, 28 Feb 2026 08:46:55 -0500 Subject: [PATCH 1/6] generalize calc_galerkin to AbstractMPS --- src/algorithms/toolbox.jl | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/src/algorithms/toolbox.jl b/src/algorithms/toolbox.jl index 4f548dada..319e3145d 100644 --- a/src/algorithms/toolbox.jl +++ b/src/algorithms/toolbox.jl @@ -56,7 +56,7 @@ Concretely, this is the overlap of the current state with the single-site deriva ``` """ function calc_galerkin( - pos::Int, below::Union{InfiniteMPS, FiniteMPS, WindowMPS}, operator, above, envs + pos, below::AbstractMPS, operator, above, envs ) AC´ = AC_hamiltonian(pos, below, operator, above, envs) * above.AC[pos] normalize!(AC´) @@ -71,16 +71,10 @@ function calc_galerkin( return calc_galerkin(col, below[row + 1], operator[row], above[row], envs[row]) end function calc_galerkin( - below::Union{InfiniteMPS, FiniteMPS, WindowMPS}, operator, above, envs - ) - return maximum(pos -> calc_galerkin(pos, below, operator, above, envs), 1:length(above)) -end -function calc_galerkin( - below::MultilineMPS, operator::MultilineMPO, above::MultilineMPS, - envs::MultilineEnvironments + below::AbstractMPS, operator, above, envs ) return maximum( - pos -> calc_galerkin(pos, below, operator, above, envs), + pos -> calc_galerkin(pos, below, operator, above, envs), CartesianIndices(size(above)) ) end From 1d5c812bda036cbd615f12dc7104a3038de10676 Mon Sep 17 00:00:00 2001 From: AFeuerpfeil Date: Sat, 28 Feb 2026 08:56:25 -0500 Subject: [PATCH 2/6] fix formatting --- src/algorithms/toolbox.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/algorithms/toolbox.jl b/src/algorithms/toolbox.jl index 319e3145d..ed196196d 100644 --- a/src/algorithms/toolbox.jl +++ b/src/algorithms/toolbox.jl @@ -74,7 +74,7 @@ function calc_galerkin( below::AbstractMPS, operator, above, envs ) return maximum( - pos -> calc_galerkin(pos, below, operator, above, envs), + pos -> calc_galerkin(pos, below, operator, above, envs), CartesianIndices(size(above)) ) end From 676d72ca74c7c3c377a308cd15998f46dd0fd932 Mon Sep 17 00:00:00 2001 From: Andreas Feuerpfeil Date: Mon, 2 Mar 2026 09:03:42 -0500 Subject: [PATCH 3/6] Update function signature for calc_galerkin to also support MultilineMPS --- src/algorithms/toolbox.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/algorithms/toolbox.jl b/src/algorithms/toolbox.jl index ed196196d..9cc7be2ee 100644 --- a/src/algorithms/toolbox.jl +++ b/src/algorithms/toolbox.jl @@ -71,7 +71,7 @@ function calc_galerkin( return calc_galerkin(col, below[row + 1], operator[row], above[row], envs[row]) end function calc_galerkin( - below::AbstractMPS, operator, above, envs + below::Union{AbstractMPS, MultilineMPS}, operator, above, envs ) return maximum( pos -> calc_galerkin(pos, below, operator, above, envs), From c467b4ac041c1f987c45ffde2900f402c8bb6160 Mon Sep 17 00:00:00 2001 From: AFeuerpfeil Date: Wed, 4 Mar 2026 11:40:58 -0500 Subject: [PATCH 4/6] fix AC_hamiltonian function call --- src/algorithms/toolbox.jl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/algorithms/toolbox.jl b/src/algorithms/toolbox.jl index ed196196d..68cb2d68b 100644 --- a/src/algorithms/toolbox.jl +++ b/src/algorithms/toolbox.jl @@ -73,6 +73,12 @@ end function calc_galerkin( below::AbstractMPS, operator, above, envs ) + return maximum(pos -> calc_galerkin(pos, below, operator, above, envs), 1:length(above)) +end +function calc_galerkin( + below::MultilineMPS, operator::MultilineMPO, above::MultilineMPS,Expand commentComment on line L79Resolved + envs::MultilineEnvironments + ) return maximum( pos -> calc_galerkin(pos, below, operator, above, envs), CartesianIndices(size(above)) From f38a686867a3545495eb81450ce2976ce82885b8 Mon Sep 17 00:00:00 2001 From: AFeuerpfeil Date: Wed, 4 Mar 2026 11:46:48 -0500 Subject: [PATCH 5/6] fix --- src/algorithms/toolbox.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/algorithms/toolbox.jl b/src/algorithms/toolbox.jl index eda0928e9..9372b5dfb 100644 --- a/src/algorithms/toolbox.jl +++ b/src/algorithms/toolbox.jl @@ -76,7 +76,7 @@ function calc_galerkin( return maximum(pos -> calc_galerkin(pos, below, operator, above, envs), 1:length(above)) end function calc_galerkin( - below::MultilineMPS, operator::MultilineMPO, above::MultilineMPS,Expand commentComment on line L79Resolved + below::MultilineMPS, operator::MultilineMPO, above::MultilineMPS, envs::MultilineEnvironments ) return maximum( From b4bd9f39ce250d436b4ac415c2dc7326c86797d8 Mon Sep 17 00:00:00 2001 From: AFeuerpfeil Date: Wed, 4 Mar 2026 11:47:16 -0500 Subject: [PATCH 6/6] fix --- src/algorithms/toolbox.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/algorithms/toolbox.jl b/src/algorithms/toolbox.jl index 9372b5dfb..86fcf64d7 100644 --- a/src/algorithms/toolbox.jl +++ b/src/algorithms/toolbox.jl @@ -71,7 +71,7 @@ function calc_galerkin( return calc_galerkin(col, below[row + 1], operator[row], above[row], envs[row]) end function calc_galerkin( - below::Union{AbstractMPS, MultilineMPS}, operator, above, envs + below::AbstractMPS, operator, above, envs ) return maximum(pos -> calc_galerkin(pos, below, operator, above, envs), 1:length(above)) end