Every section of this page has answered a version of the same question — when is a given subset of a vector space a subspace? The two-condition test fixes the criterion, but in practice the answer follows almost mechanically from a small catalog of cases: the trivial subspaces; subspaces of ℝⁿ as flats through the origin; the matrix-derived null, column, and row spaces; affine sets that fail because they miss the origin; and asymmetric sets like the first quadrant that fail under negative scaling. The table below collects the recognition card across the candidates the page has discussed, with the verdict and a one-line reason.
A list of examples answers whether each one is a subspace. Sorting them by which clause of the test decides answers something more useful: what to check first, and what a near-miss looks like. The three groups below are the candidates that pass by definition, those that pass because linearity forces them to, and those that fail — with the failing clause named in each case.
Vector spaces · recognition
Subspace or not, and which clause decides
The test has three clauses — contains 0, closed under addition, closed under scaling — and a candidate fails by failing one of them. Sorting by which clause is what turns a list of examples into a diagnostic.
8candidates
Passes — by definition or trivially3
1Closure holds because V is a vector space to begin with. Worth stating so that "subspace" is understood as at most V rather than strictly smaller — proper subspaces are the special case, not the definition. 2dim=0; the smallest All three clauses hold vacuously: 0+0=0 and c0=0. Its dimension is zero, not one — the empty set is its basis, since 0 is dependent on its own and cannot belong to one. 3Span{v1,…,vk} A combination of combinations is a combination, so closure is immediate. This is the cheapest way to prove something is a subspace — exhibit it as a span and the test is already passed. Lines and planes through the origin are the k=1 and k=2 cases. Passes — because linearity forces it2
4subspace of Rn Null(A)={x:Ax=0} If Au=0 and Av=0 then A(cu+dv)=0 — one line, both closure clauses. The homogeneous right-hand side is what makes it work, which is exactly why Ax=b below fails. 5spans of the columns and rows
Col(A), Row(A) Both are spans, so they inherit the result above without further argument. Together with the null space and left null space these are the four fundamental subspaces. Fails — and which clause3
6fails clause 1 — no 0 {x0+tv}, x0∈/Span{v} Affine rather than linear. The origin test is the cheapest of the three and should be run first — it disqualifies this immediately, with no closure argument needed.
7fails clause 1 — A0=0=b xp+Null(A), b=0 The null space translated off the origin. Not a subspace, but a coset of one — which is why the general solution has the shape it does and why its dimension still comes from the null space.
8{(x,y):x≥0,y≥0} Contains the origin and is closed under addition — two clauses out of three. Multiplying by −1 leaves the set, and that alone disqualifies it. The instructive case: passing most of the test is not passing it. In practice the origin test comes first because it is nearly free. Two of the three failures below are settled by it alone — an affine line and the solution set of Ax=b both miss 0, and neither needs a closure argument. Running the clauses in the order cheap-to-expensive means most non-subspaces are disqualified before any real work. The first quadrant is the case worth dwelling on, because it passes two clauses out of three. It contains the origin, and the sum of two vectors with non-negative components has non-negative components — everything looks right until scaling by −1 leaves the set entirely. Passing most of the test is not passing it, and the clauses fail independently: nothing about closure under addition implies closure under scaling.