diff --git a/src/IPM/HSD/HSD.jl b/src/IPM/HSD/HSD.jl index 3eb7cfd..ef05785 100644 --- a/src/IPM/HSD/HSD.jl +++ b/src/IPM/HSD/HSD.jl @@ -203,8 +203,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)) ) @@ -222,8 +222,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)) / pt.τ + dat.c0 @@ -295,8 +295,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)) * ϵi diff --git a/src/IPM/HSD/step.jl b/src/IPM/HSD/step.jl index c75e348..cc72573 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)), ( @@ -224,10 +224,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))