Searching here I found the following way of defining a lower triangular variable in JuMP:
using JuMP
import LinearAlgebra
model = Model()
@variable(model, A[1:3,1:3], Symmetric)
Al = LinearAlgebra.LowerTriangular(A)
julia> @expression(model, Al * [1, 2, 3])
3-element Vector{AffExpr}:
A[1,1]
A[1,2] + 2 A[2,2]
A[1,3] + 2 A[2,3] + 3 A[3,3]
I would like to know if there is any way to additionally eliminate the main diagonal elements (i.e., A_11,A_22,A_33, …) rather than setting them to zero. That is to define Strictly Lower Triangular Matrix