From 3a939eaa3fa9a021f1c6adee2a8e63bb5eca15f7 Mon Sep 17 00:00:00 2001 From: Chris Coey Date: Mon, 6 Jan 2020 16:27:14 +1000 Subject: [PATCH] add possible definition for LMI cone --- src/sets.jl | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/sets.jl b/src/sets.jl index 7489bb4df7..b90a7ac598 100644 --- a/src/sets.jl +++ b/src/sets.jl @@ -287,6 +287,17 @@ function Base.:(==)(set1::S, set2::S) where S <: Union{PowerCone, DualPowerCone} return set1.exponent == set2.exponent end +""" + LinearMatrixInequalityCone{T <: Real}(component::Vector{Symmetric(T, Matrix{T})}) + +The linear matrix inequality (LMI) cone ``\\{ x \\in \\mathbb{R}^n : sum_i x_i component_i \\succeq 0 \\}`` with `n`-dimensional parameter vector `component` of symmetric matrices of equal dimensions. +""" +struct LinearMatrixInequalityCone{T <: Real} <: AbstractVectorSet + component::Vector{Symmetric(T, Matrix{T})} +end + +dimension(s::LinearMatrixInequalityCone) = length(component) + """ abstract type AbstractSymmetricMatrixSetTriangle <: AbstractVectorSet end