Skip to content

Commit 87b34e4

Browse files
committed
Expand some of the set definitions
1 parent a31a45c commit 87b34e4

File tree

1 file changed

+151
-15
lines changed

1 file changed

+151
-15
lines changed

mof.schema.json

Lines changed: 151 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -432,11 +432,11 @@
432432
}
433433
}
434434
}, {
435-
"description": "Interval: the set `[lower, upper]`\nSemiinteger: the set `{0} ∪ {lower, lower + 1, ..., upper}`\nSemicontinuous: the set `{0} ∪ [lower, upper]`.",
435+
"description": "The set `[lower, upper]`.",
436436
"required": ["lower", "upper"],
437437
"properties": {
438438
"head": {
439-
"enum": ["Interval", "Semiinteger", "Semicontinuous"]
439+
"const": "Interval"
440440
},
441441
"lower": {
442442
"type": "number"
@@ -446,10 +446,45 @@
446446
}
447447
}
448448
}, {
449-
"description": "ZeroOne: the set `{0, 1}`\nInteger: the set `ℤ`.",
449+
"description": "The set `{0} ∪ {lower, lower + 1, ..., upper}`.",
450+
"required": ["lower", "upper"],
451+
"properties": {
452+
"head": {
453+
"const": "Semiinteger"
454+
},
455+
"lower": {
456+
"type": "number"
457+
},
458+
"upper": {
459+
"type": "number"
460+
}
461+
}
462+
}, {
463+
"description": "The set `{0} ∪ [lower, upper]`.",
464+
"required": ["lower", "upper"],
465+
"properties": {
466+
"head": {
467+
"const": "Semicontinuous"
468+
},
469+
"lower": {
470+
"type": "number"
471+
},
472+
"upper": {
473+
"type": "number"
474+
}
475+
}
476+
}, {
477+
"description": "The set `{0, 1}`.",
450478
"properties": {
451479
"head": {
452-
"enum": ["ZeroOne", "Integer"]
480+
"const": "ZeroOne"
481+
}
482+
}
483+
}, {
484+
"description": "The set `ℤ`.",
485+
"properties": {
486+
"head": {
487+
"const": "Integer"
453488
}
454489
}
455490
}]
@@ -459,17 +494,25 @@
459494
"type": "object",
460495
"required": ["head"],
461496
"oneOf": [{
462-
"description": "ExponentialCone: the cone `[x, y, z] ∈ {R³: y * exp(x / y) ≤ z, y ≥ 0}`\nDualExponentialCone: the cone `[u, v, w] ∈ {R³: -u * exp(v / u) ≤ exp(1) * w, u < 0}`.",
497+
"description": "The cone `[x, y, z] ∈ {R³: y * exp(x / y) ≤ z, y ≥ 0}`.",
463498
"properties": {
464499
"head": {
465-
"enum": ["ExponentialCone", "DualExponentialCone"]
500+
"const": "ExponentialCone"
466501
}
467502
}
468503
}, {
504+
"description": "The cone `[u, v, w] ∈ {R³: -u * exp(v / u) ≤ exp(1) * w, u < 0}`.",
505+
"properties": {
506+
"head": {
507+
"const": "DualExponentialCone"
508+
}
509+
}
510+
}, {
511+
"description": "A special ordered set of type I.",
469512
"required": ["weights"],
470513
"properties": {
471514
"head": {
472-
"enum": ["SOS1", "SOS2"]
515+
"const": "SOS1"
473516
},
474517
"weights": {
475518
"type": "array",
@@ -479,15 +522,97 @@
479522
}
480523
}
481524
}, {
482-
"description": "Zeros: the set `{0}^{dimension}`\nReals: the set `R^{dimension}`\nNonpositives: the set `R-^{dimension}`\nNonnegatives: the set `R+^{dimension}`\nSecondOrderCone: the cone `[t, x] ∈ {R^{dimension} : t ≥ ||x||₂`\nRotatedSecondOrderCone: the cone `[t, u, x] ∈ {R^{dimension} : 2tu ≥ (||x||₂)²; t, u ≥ 0}\nGeometricMeanCone: the cone `[t, x] ∈ {R^{dimension}: t ≤ (Πxᵢ)^{1 / (dimension-1)}}`.",
525+
"description": "A special ordered set of type II.",
526+
"required": ["weights"],
527+
"properties": {
528+
"head": {
529+
"const": "SOS2"
530+
},
531+
"weights": {
532+
"type": "array",
533+
"items": {
534+
"type": "number"
535+
}
536+
}
537+
}
538+
}, {
539+
"description": "The cone `[t, x] ∈ {R^{dimension}: t ≤ (Πxᵢ)^{1 / (dimension-1)}}`.",
483540
"required": ["dimension"],
484541
"properties": {
485542
"head": {
486-
"enum": [
487-
"Zeros", "Reals", "Nonpositives", "Nonnegatives",
488-
"SecondOrderCone", "RotatedSecondOrderCone",
489-
"GeometricMeanCone"
490-
]
543+
"const": "GeometricMeanCone"
544+
},
545+
"dimension": {
546+
"type": "integer",
547+
"minimum": 1
548+
}
549+
}
550+
}, {
551+
"description": "The cone `[t, x] ∈ {R^{dimension} : t ≥ ||x||₂.",
552+
"required": ["dimension"],
553+
"properties": {
554+
"head": {
555+
"const": "SecondOrderCone"
556+
},
557+
"dimension": {
558+
"type": "integer",
559+
"minimum": 1
560+
}
561+
}
562+
}, {
563+
"description": "The cone `[t, u, x] ∈ {R^{dimension} : 2tu ≥ (||x||₂)²; t, u ≥ 0}.",
564+
"required": ["dimension"],
565+
"properties": {
566+
"head": {
567+
"const": "RotatedSecondOrderCone"
568+
},
569+
"dimension": {
570+
"type": "integer",
571+
"minimum": 1
572+
}
573+
}
574+
}, {
575+
"description": "The set `{0}^{dimension}`.",
576+
"required": ["dimension"],
577+
"properties": {
578+
"head": {
579+
"const": "Zeros"
580+
},
581+
"dimension": {
582+
"type": "integer",
583+
"minimum": 1
584+
}
585+
}
586+
}, {
587+
"description": "The set `R^{dimension}`.",
588+
"required": ["dimension"],
589+
"properties": {
590+
"head": {
591+
"const": "Reals"
592+
},
593+
"dimension": {
594+
"type": "integer",
595+
"minimum": 1
596+
}
597+
}
598+
}, {
599+
"description": "The set `R₋^{dimension}`.",
600+
"required": ["dimension"],
601+
"properties": {
602+
"head": {
603+
"const": "Nonpositives"
604+
},
605+
"dimension": {
606+
"type": "integer",
607+
"minimum": 1
608+
}
609+
}
610+
}, {
611+
"description": "The set `R₊^{dimension}`.",
612+
"required": ["dimension"],
613+
"properties": {
614+
"head": {
615+
"const": "Nonnegatives"
491616
},
492617
"dimension": {
493618
"type": "integer",
@@ -511,11 +636,22 @@
511636
}
512637
}
513638
}, {
514-
"description": "PowerCone: the cone `[x, y, z] ∈ {R³: x^{exponent} y^{1-exponent} ≥ |z|; x, y ≥ 0}`\nDualPowerCone: the cone `[u, v, w] ∈ {R³: (u / exponent)^{exponent} (v / (1-exponent))^{1-exponent} ≥ |w|; u, v ≥ 0}`.",
639+
"description": "The cone `[x, y, z] ∈ {R³: x^{exponent} y^{1-exponent} ≥ |z|; x, y ≥ 0}`.",
640+
"required": ["exponent"],
641+
"properties": {
642+
"head": {
643+
"const": "PowerCone"
644+
},
645+
"exponent": {
646+
"type": "number"
647+
}
648+
}
649+
}, {
650+
"description": "The cone `[u, v, w] ∈ {R³: (u / exponent)^{exponent} (v / (1-exponent))^{1-exponent} ≥ |w|; u, v ≥ 0}`.",
515651
"required": ["exponent"],
516652
"properties": {
517653
"head": {
518-
"enum": ["PowerCone", "DualPowerCone"]
654+
"const": "DualPowerCone"
519655
},
520656
"exponent": {
521657
"type": "number"

0 commit comments

Comments
 (0)