diff --git a/src/MOI_wrapper.jl b/src/MOI_wrapper.jl index 3ac4f57..0c187bf 100644 --- a/src/MOI_wrapper.jl +++ b/src/MOI_wrapper.jl @@ -231,7 +231,9 @@ function _add!( end vectorized = set.vectors[row]::TriangleVectorization matrix = vectorized.matrix - @assert isone(coef) # TODO multiply scaling + if !isone(coef) + matrix = mul_scaling(matrix, coef) + end _add!(A, matrix) end end diff --git a/src/factorization.jl b/src/factorization.jl index a0884b0..27a4a52 100644 --- a/src/factorization.jl +++ b/src/factorization.jl @@ -83,6 +83,8 @@ function Factorization(factor::AbstractVector{T}, scaling::T) where {T} return Factorization(factor, fill(scaling, tuple())) end +mul_scaling(m::Factorization, coef) = Factorization(m.factor, m.scaling * coef) + left_factor(m::Factorization) = m.factor right_factor(m::Factorization) = m.factor