From 9f65049c4d5a9ee023ef7d4acd2f2a51096978d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Legat?= Date: Tue, 5 Aug 2025 21:48:33 +0200 Subject: [PATCH] Add support for non-one coefficient in front of factor --- src/MOI_wrapper.jl | 4 +++- src/factorization.jl | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) 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