← LibraryThe Four Fundamental Subsets of a Matrix | KEVOS® MathematicsProject Delivery · Project ManagementLesson 161/189← PrevNext →
ArticlePublished 8 Aug 202624 min readBy Kevin Jogin
Skip to content

Engineering/Mathematics/Matrices

The Four Fundamental Subsets of a Matrix

Every matrix carries four subspaces: two in n describing its unknowns, two in m describing its equations. One reduction of the augmented array [AIm] produces two small matrices, C and L, from which all four follow with no further elimination.

  • Advanced level
  • Stream: subspaces
  • Reading time 16 min
  • Ref KVS-ENG-MATH-0054
Taxonomy
Engineering / Mathematics
Prerequisite
Extended echelon form, null space and row space bases
The four sets
N(A), R(A), C(A), L(A)
Dimensions
nr, r, r, mr
Computed from
C and L alone, both already reduced
Cost
One reduction of an m×(n+m) array

Overview

Four subspaces attach to every m×n matrix. The null space N(A) collects the vectors annihilated by A; the row space R(A) collects the linear combinations of its rows. Both live in n and describe the unknowns. The column space C(A) collects the achievable right-hand sides; the left null space L(A) collects the combinations of rows that vanish. Both live in m and describe the equations.

Computed separately, each requires its own reduction and its own bookkeeping: one for the null space, one for the row space, a transpose and another reduction for the column space, and a further one for the left null space. Four reductions of three different matrices, with four opportunities for the pivot patterns to disagree.

The organising result replaces all of that with one computation. Reduce [AIm] to extended echelon form and partition the result at row r. Then C — the non-zero rows of the reduced A — determines both subspaces in n, and L — the trailing rows of the appended block — determines both subspaces in m. The theorem is a striking symmetry: C gives a null space and a row space, and so does L, but the roles are exchanged.

Both C and L arrive already in reduced row-echelon form with no zero rows, which is exactly the state in which a null space basis and a row space basis are cheapest to extract. In practice the theorem is applied and then followed by two null space extractions and two row space extractions on small, clean matrices. The dimensions come out automatically: nr, r, r and mr, adding to n within n and to m within m.

Definition

The Four Subsets

FS

Let A be an m×n matrix whose reduced row-echelon form has r non-zero rows, and let N be its extended echelon form. Let C be the submatrix of N formed from the first r rows and first n columns, and L the submatrix formed from the last mr rows and last m columns. Then

  1. N(A)=N(C);
  2. R(A)=R(C);
  3. C(A)=N(L);
  4. L(A)=R(L).

The first two are near-immediate; the second two are the substantive content. Note the exchange of roles: C supplies a null space and a row space in n, and L supplies a null space and a row space in m.

Full Rank

FR

A matrix has full rank when r=m, that is, when its reduced row-echelon form has no zero rows. Then L has no rows at all, there are no consistency conditions, and C(A)=m with L(A)={0}. For a square matrix, full rank coincides with nonsingularity.

When L is empty, N(L) should be read as the solution set of a homogeneous system with no equations, which every vector satisfies — hence all of m.

Basis of a Null Space

BNS

For a matrix in reduced row-echelon form with pivot columns D and free columns F, setting one free variable to 1 and the remainder to 0, then solving for the pivot variables, produces one vector per free column. The resulting set is linearly independent and spans the null space.

Basis of a Row Space

BRS

For a matrix in reduced row-echelon form, the non-zero rows written as column vectors form a linearly independent set spanning the row space. When the matrix has no zero rows — as both C and L are guaranteed to be — every row is used.

Concepts

Why C captures both subspaces in n

The reduced form B is row-equivalent to A, so it has the same null space and the same row space. Removing the zero rows of B to obtain C changes neither: a zero row corresponds to the equation 0=0, whose removal cannot change a solution set, and it contributes the zero vector to a span, whose removal cannot change the span. Hence N(A)=N(C) and R(A)=R(C). These two conclusions are close to trivial, but they set the pattern that the harder half of the theorem mirrors.

Why the column space is the null space of L

Take yC(A), so Ax=y for some x. The extended form guarantees Bx=Jy, and the last mr rows of B are zero, so the last mr entries of Jy vanish. Those entries are exactly Ly, giving yN(L). Conversely, if Ly=0, then the system with coefficient matrix C and constants Ky is consistent — C is reduced with no zero rows, so no contradiction can arise — and any solution x satisfies Bx=Jy, hence Ax=y. The two inclusions give equality.

Why the left null space is the row space of L

The rows of J are the scalars expressing the rows of B as combinations of the rows of A, an identity recorded in JA=B. The rows of L are those of J aligned with the zero rows of B, so each is a set of scalars producing a vanishing combination of the rows of A — precisely the defining property of a left null space vector. That gives R(L)L(A). Equality follows by a dimension count, or directly: any yL(A) can be expressed through the nonsingular Jt, and the independence of the rows of C forces the leading part of that expression to vanish, leaving y in the span of the rows of L.

The dimension arithmetic

C is r×n in reduced form with no zero rows, so it has r pivot columns and nr free columns, giving dimR(A)=r and dimN(A)=nr. L is (mr)×m in reduced form with no zero rows, so it has mr pivot columns and r free columns, giving dimL(A)=mr and dimC(A)=r. The two pairs sum to n and to m respectively, and the equality dimR(A)=dimC(A)=r falls out as a by-product rather than requiring a separate argument.

The full-rank case

When r=m the reduced form of A has no zero rows, so L has no rows. The column space is then the null space of a homogeneous system with no equations, which every vector satisfies, so C(A)=m. The same conclusion is reached without the empty-matrix argument: reducing [Ab] with r=m produces no zero rows and therefore no pivot in the final column, so the system is consistent for every b. Correspondingly L(A)={0} — no combination of rows cancels.

Three descriptions of one column space

This theorem supplies the third route to a column space basis, alongside taking pivot columns of the original matrix and transposing before reducing. The three produce different-looking bases with different virtues. Pivot columns are actual columns of A and retain physical meaning. The transposed route places leading ones near the top of each vector. The route through N(L) places them near the bottom. All three have r elements and span the same subspace; which to ship is a presentation decision.

Extracting all four subsets from one reduction

Reduce [AIm]Bring the full m×(n+m) array to reduced row-echelon form, continuing until the appended block is also reduced so the result is canonical.
Partition at row rCount the non-zero rows of the reduced A to fix r. Take C as the top r rows of the first n columns, and L as the bottom mr rows of the last m columns.
Apply the null space extraction to C and to LThe free columns of C give a basis for N(A); the free columns of L give a basis for C(A).
Apply the row space extraction to C and to LThe rows of C give a basis for R(A); the rows of L give a basis for L(A). Neither has zero rows, so every row is used.
Check the dimensionsConfirm (nr)+r=n and r+(mr)=m. A mismatch means the partition boundary or an extraction was wrong.

Equations

The partition

EQ-FS-01
[AIm]RREFN=[CK0L]

C is r×n, L is (mr)×m, and both are in reduced row-echelon form with no zero rows.

The two subspaces in n

EQ-FS-02
N(A)=N(C),R(A)=R(C)

Both follow from row equivalence together with the harmlessness of deleting zero rows.

The two subspaces in m

EQ-FS-03
C(A)=N(L),L(A)=R(L)

Note the exchange of roles relative to C: the column space appears as a null space, and the left null space as a row space.

Dimensions of the four subsets

EQ-FS-04
dimN(A)=nr,dimR(A)=r,dimC(A)=r,dimL(A)=mr

All four follow from the pivot and free column counts of C and L, with no separate computation.

The two dimension identities

EQ-FS-05
dimN(A)+dimR(A)=n,dimC(A)+dimL(A)=m

One identity for each ambient space. The first is the rank-nullity relation; the second is its counterpart on the equation side.

Consistency stated through L

EQ-FS-06
Ax=bconsistentLb=0

A restatement of C(A)=N(L) using the equivalence between membership of the column space and solvability.

Full rank

EQ-FS-07
r=mC(A)=m,L(A)={0}

L has no rows, so there are no conditions to satisfy and no vanishing combination of rows. For a square matrix this is nonsingularity.

Variable Definitions

Symbols used on this page
SymbolNameMeaningDomain / type
AMatrixThe m×n matrix whose four subsets are soughtm x n matrix over C
rRankNumber of non-zero rows of the reduced form of A; sets every dimension on this page0 to min(m,n)
CTop-left blockThe r non-zero rows of the reduced A; governs the two subspaces in nr x n matrix
LBottom-right blockThe trailing mr rows of the appended block; governs the two subspaces in m(m-r) x m matrix
N(A)Null spaceVectors annihilated by A; the ambiguity in the unknownssubspace of C^n, dimension n-r
R(A)Row spaceLinear combinations of the rows; the estimable directionssubspace of C^n, dimension r
C(A)Column spaceAchievable right-hand sides; the reachable outputssubspace of C^m, dimension r
L(A)Left null spaceVanishing combinations of rows; the redundancy in the equationssubspace of C^m, dimension m-r
JTransforming matrixThe reduced appended block, nonsingular with JA=B; L is its trailing rowsm x m nonsingular matrix

Worked Numerical Example

Problem statement

A four-node supply network is driven by three settings, giving a 4 by 3 map from settings to nodal demands. Determine all four fundamental subsets from a single reduction, and interpret each one in operational terms.

  1. Reduce the augmented array

    With m=4 and n=3, adjoin I4 and reduce the whole 4×7 array, continuing until the appended block is also in reduced form.

    A=[121231352583]N=[1010085011005300010210000111]
  2. Read off C and L

    The reduced A has two non-zero rows, so r=2. Take the top r=2 rows of the first three columns as C, and the bottom mr=2 rows of the last four columns as L. Everything below follows from these two matrices alone.

    C=[101011],L=[10210111]
  3. Null space from C

    C has pivot columns 1 and 2 and one free column, 3. Setting x3=1 gives x1=1 and x2=1. Checking against the original matrix: (1)(1)+(1)(2)+(1)(1)=0 on the first row, and similarly on the other three.

    N(A)=N(C)=span({[111]}),dim=nr=1
  4. Row space from C

    C has no zero rows, so both rows transpose directly into a basis. Each is a combination of the original rows: the first equals 3r1+2r2 and the second equals 2r1r2.

    R(A)=R(C)=span({[101],[011]}),dim=r=2
  5. Column space from L

    L has pivot columns 1 and 2 and free columns 3 and 4. Setting each free variable to 1 in turn gives two basis vectors, with the identity pattern sitting in the trailing coordinates.

    C(A)=N(L)=span({[2110],[1101]}),dim=r=2
  6. Left null space from L

    L has no zero rows, so both rows transpose into a basis. The first asserts r12r3+r4=0, which checks: (1,2,1)(6,10,4)+(5,8,3)=(0,0,0). The second asserts r2+r3r4=0, which also checks.

    L(A)=R(L)=span({[1021],[0111]}),dim=mr=2
  7. Verify the dimension identities

    In 3: dimN(A)+dimR(A)=1+2=3=n. In 4: dimC(A)+dimL(A)=2+2=4=m. Both identities hold, confirming the partition boundary and all four extractions.

  8. Cross-check the column space against the columns

    Every column of A must satisfy LAj=0. For the first column, (1)2(3)+(5)=0 and (2)+(3)(5)=0; for the second, 210+8=0 and 3+58=0; for the third, 14+3=0 and 1+23=0. All three pass.

Result

The network reaches a two-dimensional family of nodal demands out of four possible dimensions, using only two of its three settings independently: the null space vector (1,1,1) is the setting combination that produces no demand at all, and the two rows of L are the conservation relations that every achievable demand must satisfy. Rank 2 appears simultaneously as the number of independent settings, the number of independent equations and the dimension of the reachable demand space — one reduction, four answers.

Applications & Industry Use

Structural engineering

Static and kinematic indeterminacy together

For an equilibrium matrix relating member forces to nodal loads, the null space holds the self-stress states (static indeterminacy), the column space holds the loads that can be equilibrated, and the left null space holds the mechanisms — nodal motions that no member restrains. Extracting all of them from one reduction gives a complete structural classification in a single pass.

Control systems

Reachability and unobservable directions

For a controllability matrix, the column space is the reachable subspace and the left null space identifies the state directions no input can influence. For an observability matrix the roles transfer to the row space and null space. Presenting all four simultaneously makes the duality between the two properties explicit rather than a separate theorem.

Chemical process engineering

Reaction invariants and conservation laws

With a stoichiometric matrix, the column space is the set of composition changes any reaction sequence can produce, and the left null space is the set of conserved quantities — elemental balances and moieties preserved by every reaction. The null space identifies reaction combinations that produce no net change, useful for detecting futile cycles.

Geodesy and survey adjustment

Datum defect and estimable functions

In a levelling or geodetic network, the null space of the design matrix is the datum defect — the coordinate shifts that no observation can detect. The row space is the set of estimable functions, and the left null space gives the loop closures used to assess the observations. Isolating all four clarifies whether an ill-posed adjustment is a datum problem or a data problem.

Electrical networks

Loops, cutsets and Kirchhoff structure

For a node-arc incidence matrix, the null space is the cycle space, the row space is the cutset space, the column space is the set of realisable nodal injections, and the left null space encodes global conservation. The four subsets reproduce the classical Kirchhoff decomposition of a network directly from the matrix.

Machine learning

Identifiability of a linear model

For a design matrix, the null space is the set of parameter changes invisible to the data, so it is exactly the non-identifiable directions. The row space is what the data can determine, the column space is what the model can fit, and the left null space is the residual structure no parameter setting can explain. Reporting all four converts a vague complaint about collinearity into a precise statement.

Design Considerations

Keep the ambient spaces straight

The null space and row space are subspaces of n; the column space and left null space are subspaces of m. For a rectangular matrix a vector from one pair cannot even be compared with one from the other. Recording the sizes alongside the bases prevents an entire class of errors, and a shape check is the cheapest available verification.

The theorem locates the subspaces; it does not compute the bases

The conclusion expresses each subset as a null space or row space of C or L. Turning that into an explicit basis still requires the standard extractions. The saving is that those extractions run on small matrices already in reduced form, so no further elimination is needed — not that the bases appear for free.

Choose a column space description deliberately

This route puts the identity pattern in the trailing coordinates of each basis vector; the transpose route puts it in the leading coordinates; the pivot-column route uses actual columns of A. All three are correct and all three have r elements. Pick according to whether physical interpretability, compact presentation or trailing-coordinate structure serves the deliverable.

Interpret the empty L correctly

When A has full row rank, L has no rows. This is not an error state and it does not mean the column space is trivial — it means the opposite. A homogeneous system with no equations is satisfied by everything, so C(A)=m. Code that iterates over the rows of L must handle the zero-row case explicitly rather than failing or returning an empty span.

Cost is justified only when several subsets are wanted

The extended reduction roughly doubles the arithmetic of an ordinary reduction for a square matrix. If only a null space is needed, reduce A and extract; if only a rank is needed, reduce and count. The construction earns its cost when two or more of the four subsets are required, or when the transforming matrix J is itself of interest.

For measured data, use the SVD analogue

Every dimension on this page depends on an exact value of r, which floating-point data cannot supply. The numerically robust counterpart is the singular value decomposition: leading right singular vectors span the row space, trailing right singular vectors span the null space, leading left singular vectors span the column space and trailing left singular vectors span the left null space — all orthonormal, with the singular-value gap justifying the split.

Standards & Codes

Notation, interchange and numerical standards that govern how this material is written down, stored and computed in production systems.

Applicable standards, conventions and reference implementations
ReferenceTitleRelevance to this topic
ISO 80000-2Quantities and units — Part 2: MathematicsFixes the calligraphic notation distinguishing the four subsets and the partitioned-matrix conventions used to present the block decomposition.
LAPACK / BLAS referenceLinear Algebra PACKage reference implementationProvides the production route to all four subspaces through xGESVD, whose left and right singular vector blocks partition into exactly these four orthonormal bases.
IEEE 754-2019IEEE Standard for Floating-Point ArithmeticDetermines the rounding behaviour that makes the rank r — and therefore all four dimensions on this page — a tolerance-dependent quantity for measured data.
ISO 17123Optics and optical instruments — Field procedures for testing geodetic and surveying instrumentsUnderpins network adjustment practice, where the null space appears as datum defect and the left null space as the loop misclosures used to qualify observations.
ISO/IEC 40314Mathematical Markup Language (MathML) Version 3.0Encodes the set-valued conclusions and partitioned arrays semantically so that the distinction between N, R, C and L survives into assistive technology.

Material Selection

For a mathematical topic, "material" is the numeric representation: the scalar field, storage format and precision the computation is built from.

Representation and precision selection
RepresentationSelect whenTrade-off
Exact rational arithmeticStructural classification of a small model where the four dimensions are the deliverable and must be certain.Gives an unambiguous rank and integer bases that read as physical relations, but entries in the appended block can grow and memory use is unbounded.
Arbitrary-precision integersIncidence, stoichiometric or equilibrium matrices where bases should be reported with integer entries.Preserves interpretability of conservation relations and self-stress states; needs a normalisation convention for sign and scale of each basis vector.
IEEE 754 binary64 with SVDMeasured design matrices, identifiability analysis and any case where the rank is uncertain.Yields four orthonormal bases with a quantified rank gap and excellent conditioning, at roughly an order of magnitude more arithmetic than elimination.
IEEE 754 binary64 with pivoted QRLarge dense matrices where an SVD is too costly but numerically sound bases are still needed.Gives the column space and left null space cheaply and reliably; the null space and row space require a second factorisation of the transpose.
Finite field arithmeticCoding theory, where C becomes a generator matrix and L a parity-check matrix for the same code.Exact and fast with no coefficient growth, and the four subsets map directly onto code, dual code and their descriptions; restricted to the algebraic setting.
Sparse factorisation with implicit basesVery large sparse network or finite-element models where explicit bases cannot be stored.Keeps memory tractable by representing subspaces through operators rather than explicit vectors, at the cost of losing direct inspection of the basis entries.

Manufacturing Notes

Implementation notes — how the result is actually produced by hand, by algorithm and by library, including cost and numerical behaviour.

What the theorem costs and what it saves

One extended reduction of an m×(n+m) array replaces up to four separate reductions of three different matrices. For a square input the single reduction costs roughly twice an ordinary one, so the break-even point is two subsets. Beyond the saving in arithmetic, deriving everything from one partition guarantees the four results are mutually consistent, which independent computations do not.

Doing it by hand

Reduce the full array, then write C and L out separately before extracting anything. Attempting to read null spaces and row spaces directly off the large array is where errors enter, because the pivot indices of L are numbered within its own m columns, not within the n+m columns of N. Two small clean matrices on a fresh line are worth the extra transcription.

Verification technique

Four independent checks cover the result. Confirm Ax=0 for each null space basis vector. Confirm each row space basis vector is a combination of the rows of A. Confirm LAj=0 for every column of A. Confirm ytA=0t for each left null space basis vector. Then check that the dimensions sum to n and to m.

Library behaviour

SymPy exposes nullspace(), rowspace() and columnspace() individually, with the left null space obtained as A.T.nullspace(); there is no combined routine. In SciPy the standard approach is a single scipy.linalg.svd with full_matrices=True, after which all four bases are slices of U and V at the index determined by the rank tolerance — the numerical counterpart of this theorem.

Numerical fragility of the partition

Every dimension here hinges on the single integer r. An error of one moves a basis vector between the row space and the null space, or between the column space and the left null space, and both errors are silent. Any production use must report the evidence for the chosen rank — a singular-value gap, a pivot magnitude ratio — alongside the bases themselves.

Failure Modes & Common Mistakes

Failure modes, root causes and prevention
Failure mode / mistakeImpactRoot causePrevention & detection
Mixing vectors from the two ambient spaceshighTreating a null space vector and a column space vector as comparable, when one has n entries and the other m.Label every basis with its ambient space and check lengths. For rectangular matrices the mismatch is caught by shape; for square ones it is not.
Reading L as the top rows of JhighConfusing K with L when partitioning the appended block.L aligns with the zero rows of the reduced A. Verify with LAj=0 for every column; K fails this test.
Treating an empty L as a trivial column spacehighFull row rank leaves L with no rows, and code or reasoning that iterates over its rows concludes the column space is empty or trivial.A homogeneous system with no equations is satisfied by every vector, so C(A)=m. Handle the zero-row case explicitly.
Numbering the pivot columns of L within NmediumUsing column indices from the full extended array when extracting the null space of L, so the free-variable assignments are misplaced.Write L out as a standalone (mr)×m matrix and index its columns from 1 before any extraction.
Assuming the row space and column space are equalmediumInferring set equality from the shared dimension r.They are subspaces of different spaces unless m=n, and even then they are usually distinct. Equal dimension is a theorem; equal sets is a coincidence.
Skipping the standardising reductionmediumHalting once the left block is reduced, so L is not canonical and results cannot be reproduced or compared.Continue the reduction into the appended block until the whole array satisfies the reduced row-echelon conditions.
Exact rank assumption on measured datahighPartitioning at a rank determined by exact-zero pivot tests on floating-point entries.Use an SVD with a documented tolerance and report the singular-value gap that justifies the partition boundary.
Omitting the zero vector from a trivial subspacelowReporting an empty basis as an empty set and then treating the subspace as containing nothing.An empty basis spans {0}, not the empty set. Every subspace contains the zero vector by definition.

FAQs

Why are these four subsets the natural ones to single out?

Each answers a distinct structural question. The null space measures ambiguity in the unknowns; the row space measures what the equations can determine; the column space measures what right-hand sides are achievable; the left null space measures redundancy among the equations. Together they account for both ambient spaces completely, since their dimensions sum to n and to m.

Why does C give a null space and a row space, and L do the same thing again?

Because both are matrices in reduced row-echelon form with no zero rows, so both admit the same two standard extractions. The symmetry is genuine, but the meanings are exchanged: for C the null space is N(A) and the row space is R(A), whereas for L the null space is the column space of A and the row space is the left null space.

Do I have to use the extended echelon form?

No. Each subset can be computed separately with its own reduction — reduce A for the null space and row space, transpose and reduce for the column space and left null space. The extended form is a consolidation: one reduction rather than several, and four mutually consistent results rather than four independent ones.

What happens when the matrix has full row rank?

L has no rows. There are no consistency conditions, so every right-hand side is achievable and C(A)=m; correspondingly no combination of rows cancels, so L(A)={0}. For a square matrix this coincides with nonsingularity.

Why do the row space and column space always have the same dimension?

On this route it emerges from the pivot counts: C has r rows and therefore r pivot columns, giving dimR(A)=r, while L has mr pivot columns and hence r free columns, giving dimN(L)=dimC(A)=r. The equality is a consequence of the partition rather than a separate theorem.

Does this give me the best possible basis for each subset?

It gives a correct and linearly independent basis for each, with a convenient zero-one pattern. It is not orthonormal, not well-conditioned for floating-point work, and not made of original columns. For numerical work an SVD produces orthonormal bases for all four; for physical interpretation, the pivot columns of A give a column space basis of real columns.

How do I check that my four bases are right?

Verify each one against the original matrix: null space vectors must satisfy Ax=0; row space vectors must be combinations of the rows; column space vectors must satisfy Ly=0 and be reachable as Ax; left null space vectors must satisfy ytA=0t. Then confirm the dimensions sum to n and to m.

References

  1. Beezer, R. A. A First Course in Linear Algebra, Version 0.70. University of Puget Sound, 2006. Section FS, Subsection FS. Licensed under the GNU Free Documentation License v1.2.
  2. ISO 80000-2:2019, Quantities and units — Part 2: Mathematics. International Organization for Standardization.
  3. Strang, G. Linear Algebra and Its Applications, 4th edition. Cengage Learning, 2006.
  4. Golub, G. H. and Van Loan, C. F. Matrix Computations, 4th edition. Johns Hopkins University Press, 2013.
  5. Trefethen, L. N. and Bau, D. Numerical Linear Algebra. Society for Industrial and Applied Mathematics, 1997.
  6. Anderson, E. et al. LAPACK Users' Guide, 3rd edition. Society for Industrial and Applied Mathematics, 1999.

AI Suggested Questions

  • Take a 5x4 matrix of rank 3 and compute all four fundamental subsets from one extended reduction, checking every dimension identity.
  • Map the four subsets of a singular value decomposition onto the four subsets described here, and explain what changes when the rank is uncertain.
  • For a node-arc incidence matrix of a small graph, identify the cycle space and cutset space among the four subsets and explain the correspondence.
  • Why does the column space appear as a null space in this theorem rather than as a span, and what does that buy computationally?
  • Show what happens to C and L when the matrix has full column rank rather than full row rank, and describe each of the four subsets in that case.
  • Explain how the four subsets diagnose non-identifiability in a linear regression design matrix, with a concrete collinear example.

Related Calculators

Continue learning

Algebraic and Geometric Multiplicities of Eigenvalues | KEVOS® MathematicsArticle · Project ManagementAmitsur’s Theorem on the Radical of a Polynomial Ring | KEVOS®Article · Project ManagementAmitsur’s Theorem on the Radical of an Algebra of Small Dimension | KEVOS®Article · Project ManagementArchetypes: Reference Catalogue of Worked Systems | KEVOS® MathematicsArticle · Project Management