xy or VectorLess[{x,y}]
yields True for vectors of length n if xi<yi for all components
.
xκy or VectorLess[{x,y},κ]
yields True for x and y if
, where κ is a proper convex cone.
VectorLess 
xy or VectorLess[{x,y}]
yields True for vectors of length n if xi<yi for all components
.
xκy or VectorLess[{x,y},κ]
yields True for x and y if
, where κ is a proper convex cone.
Details
- VectorLess gives a partial ordering of vectors, matrices and arrays that is compatible with vector space operations, so that
and
imply
for all
. - VectorLess is typically used to specify vector inequalities for constrained optimization, inequality solving and integration.
- When x and y are
-vectors, xy is equivalent to
. That is, each part of x is less than the corresponding part of y for the relation to be true. - When x and y are dimension
arrays, xy is equivalent to
. That is, each part of x is less than the corresponding part of y for the relation to be true. - xy remains unevaluated if x or y has non-numeric elements, typically gives True or False otherwise.
- When x is an n-vector and y is a scalar, xy yields True if xi<y for all components
. - By using the character , entered as
v<
or \[VectorLess], with subscripts vector inequalities can be entered as follows: -

VectorLess[{x,y}] the standard vector inequality 
VectorLess[{x,y},κ] vector inequality defined by a cone κ - In general, one can use a proper convex cone κ to specify a vector inequality. The set
is the same as κ. - Possible cone specifications κ in
for vectors x include: -
{"NonNegativeCone", n} ![TemplateBox[{n}, NonNegativeConeList] TemplateBox[{n}, NonNegativeConeList]](Files/VectorLess.en/22.png)
such that 
{"NormCone", n} ![TemplateBox[{n}, NormConeList] TemplateBox[{n}, NormConeList]](Files/VectorLess.en/25.png)
such that Norm[{x1,…,xn-1}]<xn"ExponentialCone" ![TemplateBox[{}, ExponentialConeString] TemplateBox[{}, ExponentialConeString]](Files/VectorLess.en/27.png)
such that 
"DualExponentialCone" ![TemplateBox[{}, DualExponentialConeString] TemplateBox[{}, DualExponentialConeString]](Files/VectorLess.en/30.png)
such that 
{"PowerCone",α} ![TemplateBox[{alpha}, PowerConeList] TemplateBox[{alpha}, PowerConeList]](Files/VectorLess.en/33.png)
such that 
{"DualPowerCone",α} ![TemplateBox[{alpha}, DualPowerConeList] TemplateBox[{alpha}, DualPowerConeList]](Files/VectorLess.en/36.png)
such that 
- Possible cone specifications κ in
for matrices x include: -
"NonNegativeCone" ![TemplateBox[{}, NonNegativeConeString] TemplateBox[{}, NonNegativeConeString]](Files/VectorLess.en/40.png)
such that 
{"SemidefiniteCone", n} ![TemplateBox[{n}, SemidefiniteConeList] TemplateBox[{n}, SemidefiniteConeList]](Files/VectorLess.en/43.png)
symmetric positive definite matrices 
- Possible cone specifications κ in
for arrays x include: -
"NonNegativeCone" ![TemplateBox[{}, NonNegativeConeString] TemplateBox[{}, NonNegativeConeString]](Files/VectorLess.en/46.png)
such that 
- For exact numeric quantities, VectorLess internally uses numerical approximations to establish numerical ordering. This process can be affected by the setting of the global variable $MaxExtraPrecision.
Examples
open all close allBasic Examples (3)
x<y yields True when xi < yi is True for all i=1,…,n:
{1, 2, 3}{2, 3, 4}x<y yields False when xi ≥ yi for any i=1,…,n:
{1, 2, 3}{2, 3, 3}Represent a vector inequality:
vi = {1, 2, 3}vWhen v is replaced by numerical vector space elements, the inequality gives True or False:
vi /. v -> 3vi /. v -> {2, 4, 5}RegionPlot[{-2, -3}{Subscript[x, 1], Subscript[x, 2]}, ...]RegionPlot[{Subscript[x, 1], Subscript[x, 2]}{3, 2}, ...]RegionPlot[{-2, -3}{Subscript[x, 1], Subscript[x, 2]}{3, 2}, ...]Scope (7)
Determine if all of the elements in a vector are strictly positive:
v = RandomReal[1, 10];0vDetermine if all components are strictly less than 1:
v1x = {1, 0};
y = {0, 1};!xyxyFor each component, !xi<yi does imply xi≥yi:
TableForm[{Not /@ Thread[x < y], Thread[x ≥ y]}, TableHeadings -> {{HoldForm[!Subscript[x, i] < Subscript[y, i]], HoldForm[Subscript[x, i] ≥ Subscript[y, i]]}, {1, 2}}]Compare the components of two matrices:
m1 = RandomReal[{0, 1.01}, {4, 4}];
m2 = RandomReal[{.99, 2}, {4, 4}];m1m2x = IdentityMatrix[3];y = DiagonalMatrix[{4, 5, 6}]; z = Dot[#, Transpose[#]]&[RandomReal[1, {3, 3}]];xSubscript[, {"SemidefiniteCone", 3}]yPositiveDefiniteMatrixQ[y - x]xSubscript[, {"SemidefiniteCone", 3}]zPositiveDefiniteMatrixQ[z - x]Represent the condition that Norm[{x,y}]<1:
0Subscript[, {"NormCone", 3}]{x, y, 1}% /. {x -> .5, y -> .6}Represent the condition that
:
0Subscript[, "ExponentialCone"]{x, 1, z}% /. {x -> 1, z -> 3}Show the boundary where
for non-negative x,y with α between 0 and 1:
Manipulate[RegionPlot3D[0Subscript[, {"PowerCone", α}]{x, y, z}, {x, 0, 2}, {y, 0, 2}, {z, -2, 2}], {{α, .5}, 0.01, .99}]Applications (1)
VectorLess is a fast way to compare many elements:
v1 = RandomReal[{-1, 0}, 10 ^ 7];
v2 = RandomReal[{1, 0}, 10 ^ 7];AbsoluteTiming[v1v2]AbsoluteTiming[AllTrue[v2 - v1, Positive]]Properties & Relations (3)
VectorLess is compatible with a vector space operation:
{a, b} = {{1, 1}, {2, 3}};Adding vectors to both sides of
for any vector
:
c = {2, 1};{ab, a + cb + c}Resolve[ForAll[{a, b, c}, (a | b | c)∈Vectors[2, ℝ], aba + cb + c]]Multiplying by positive constants
for any
:
α = 1 / 2;{ab, α aα b}Resolve[ForAll[{a, b, α}, (a | b)∈Vectors[2, ℝ]∧α∈PositiveReals, abα aα b], ℝ]xy is a (strict) partial order, i.e. irreflexive, asymmetric and transitive:
{a, b, c} = {{0, 0}, {1, 2}, {2, 3}};Irreflexive, i.e.
for all elements
so no element is related to itself:
aaResolve[ForAll[a, a∈Vectors[2, ℝ], ¬aa], Reals]{ab, Not[ba]}Resolve[ForAll[{a, b}, (a | b)∈Vectors[2, ℝ], ab¬ba], Reals]Transitive, i.e. if
and
then
:
{ab, bc, ac}Resolve[ForAll[{a, b, c}, (a | b | c)∈Vectors[2, ℝ], ab∧bcac], Reals]xκy are partial orders but not total orders, so there are incomparable elements:
{a, b} = {{1, 1}, {2, 0}};Neither
nor
is true, because
and
are incomparable elements:
{ab, ba}The set of vectors
and
. These are the comparable elements to
:
RegionPlot[{{0, 0}{Subscript[x, 1], Subscript[x, 2]}, {Subscript[x, 1], Subscript[x, 2]}{0, 0}}, ...]Related Guides
History
Text
Wolfram Research (2019), VectorLess, Wolfram Language function, https://reference.wolfram.com/language/ref/VectorLess.html.
CMS
Wolfram Language. 2019. "VectorLess." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/VectorLess.html.
APA
Wolfram Language. (2019). VectorLess. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/VectorLess.html
BibTeX
@misc{reference.wolfram_2026_vectorless, author="Wolfram Research", title="{VectorLess}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/VectorLess.html}", note=[Accessed: 15-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_vectorless, organization={Wolfram Research}, title={VectorLess}, year={2019}, url={https://reference.wolfram.com/language/ref/VectorLess.html}, note=[Accessed: 15-June-2026]}