Here is one more question. I have 2 vectors: r
, c
and one asymmetric matrix X
.
r
is a 101-element SparseArrays.SparseVector{Float64, Int64} with 101 stored entries:
c
is a 170-element SparseArrays.SparseVector{Float64, Int64} with 3 stored entries:
X
is a 101×170 Matrix{JuMP.AffExpr}:
I now need to write the constraint @constraint(model, r' * X * c >= 0)
,
Which style should I choose, to maximize the performance (assume I need to add 1 million of this type of constraint, assume 101
and 170
both increase)
@constraint(model, transpose(r) * X * c >= 0)
@constraint(model, transpose(r) * (X * c) >= 0)
@constraint(model, dot(r, X, c) >= 0)
@constraint(model, tr(c * transpose(r) * X) >= 0)
@constraint(model, sm(r * transpose(c), X) >= 0)
, wheresm
is here.- should I use
transpose()
or'
(adjoint)?
And this list can be enlarged because there are many equivalent forms.