diff --git a/src/IPM/HSD/HSD.jl b/src/IPM/HSD/HSD.jl index f08dd90..45a16a6 100644 --- a/src/IPM/HSD/HSD.jl +++ b/src/IPM/HSD/HSD.jl @@ -112,8 +112,8 @@ function compute_residuals!(hsd::HSD{T} ( (dat.c, pt.x), (dat.b, pt.y), - (dat.l .* dat.lflag, pt.zl), - (dat.u .* dat.uflag, pt.zu), + (dat.l[dat.lflag], pt.zl[dat.lflag]), + (dat.u[dat.uflag], pt.zu[dat.uflag]), ), ( 1, -1, -1, 1, @@ -133,8 +133,8 @@ function compute_residuals!(hsd::HSD{T} dot_buf, ( (dat.b, pt.y), - (dat.l .* dat.lflag, pt.zl), - (dat.u .* dat.uflag, pt.zu), + (dat.l[dat.lflag], pt.zl[dat.lflag]), + (dat.u[dat.uflag], pt.zu[dat.uflag]), ), ( 1, 1, -1, @@ -209,8 +209,8 @@ function update_solver_status!(hsd::HSD{T}, ϵp::T, ϵd::T, ϵg::T, ϵi::T) wher dot_buf, ( (dat.b, pt.y), - (dat.l .* dat.lflag, pt.zl), - (dat.u .* dat.uflag, pt.zu), + (dat.l[dat.lflag], pt.zl[dat.lflag]), + (dat.u[dat.uflag], pt.zu[dat.uflag]), ), ( 1, 1, -1, diff --git a/src/IPM/HSD/step.jl b/src/IPM/HSD/step.jl index f37ee2e..5649f7e 100644 --- a/src/IPM/HSD/step.jl +++ b/src/IPM/HSD/step.jl @@ -69,8 +69,8 @@ function compute_step!(hsd::HSD{T, Tv}, params::IPMOptions{T}) where{T, Tv<:Abst h0 = buffered_dot_weighted_sum!!( dot_buf, ( - (dat.l .* dat.lflag, (dat.l .* θl) .* dat.lflag), - (dat.u .* dat.uflag, (dat.u .* θu) .* dat.uflag), + (dat.l[dat.lflag], (dat.l .* θl)[dat.lflag]), + (dat.u[dat.uflag], (dat.u .* θu)[dat.uflag]), ((@. (c + (θl * dat.l) * dat.lflag + (θu * dat.u) * dat.uflag)), hx), (b, hy), ), @@ -225,10 +225,10 @@ function solve_newton_system!(Δ::Point{T, Tv}, buffered_dot_weighted_sum!!( dot_buf, ( - ((ξxzl ./ pt.xl) .* dat.lflag, dat.l .* dat.lflag), # l'(Xl)^-1 * ξxzl - ((ξxzu ./ pt.xu) .* dat.uflag, dat.u .* dat.uflag), - (((pt.zl ./ pt.xl) .* ξl) .* dat.lflag, dat.l .* dat.lflag), - (((pt.zu ./ pt.xu) .* ξu) .* dat.uflag, dat.u .* dat.uflag), + ((ξxzl ./ pt.xl)[dat.lflag], dat.l[dat.lflag]), # l'(Xl)^-1 * ξxzl + ((ξxzu ./ pt.xu)[dat.uflag], dat.u[dat.uflag]), + (((pt.zl ./ pt.xl) .* ξl)[dat.lflag], dat.l[dat.lflag]), + (((pt.zu ./ pt.xu) .* ξu)[dat.uflag], dat.u[dat.uflag]), ), ( -1, 1, -1, -1,