Begin with the engineering problem that shapes the whole section. A prover holds a list of secret numbers—the intermediate values of some large computation, the wire values of an arithmetic circuit in the vocabulary of later volumes, with in the millions, say—and must hand a verifier a receipt for the list: a single short object that pins the list down, to be opened or argued about later. Two demands make the problem interesting. The receipt must be one element of some fixed algebraic structure, however large grows; and receipts must add—whoever holds the receipts for two lists, together with two scaling factors, must be able to compute the receipt for the scaled sum of the lists without ever seeing the lists themselves. The construction that meets both demands is disarmingly brief: fix public elements of a suitable group, and issue for the list the single group element . Whether this can possibly work—what “receipts add” should mean exactly, how one group element can absorb secrets, and what price in ambiguity the compression exacts—are questions of linear algebra, and answering them is the business of this section.
Linear algebra is the study of vector spaces—collections of objects that can be added together and scaled by elements of a field—together with the structure-preserving maps between them. It is the computational backbone of the cryptography this monograph serves: commitments to vectors, the linear constraints that encode arithmetic circuits, the polynomial-evaluation arguments at the heart of the inner-product argument, and the Pedersen-style multiscalar multiplications of Halo 2 and Orchard are all, at bottom, statements about linear maps and (bi)linear forms over a finite field. The section develops the theory from the ground up, assuming only the notion of a field (4), and then specialises to the two settings that matter here: the coordinate space , in practice taken over a finite field , and the “mixed” pairing between vectors of scalars and vectors of group elements.
The section also settles two debts contracted below it. Remark 5.5 promised that the linear structure of —closure under addition and scaling, with the monomials as an infinite coordinate system—would be studied systematically in due course; the study happens here. And the proof of Theorem 6.9 borrowed, against a promissory note, exactly two facts about vector spaces: that a space with a finite spanning set has a basis, and that coordinates with respect to a basis are unique. The first is proved in Theorem 8.17; the second follows from linear independence, as recorded in Definition 8.14. These arguments use nothing from the theory of finite fields, so the note is honoured without circularity. Throughout, denotes an arbitrary field with identities and ; the field axioms of Definition 4.24 are used freely and without citation.
Let be a field. A vector space over (an -vector space) is a set equipped with two operations, vector addition and scalar multiplication , such that for all and all :
is an abelian group: addition is associative and commutative, there is a zero vector with , and every has an additive inverse with ;
scalar multiplication is compatible with the multiplication of : ;
the identity of acts as the identity: ;
scalar multiplication distributes over vector addition: ;
scalar multiplication distributes over scalar addition: .
The elements of are called vectors, the elements of scalars. We write for , and we allow the scalar and the vector to share a symbol whenever context distinguishes them.
A few consequences of the axioms recur so often that we record them once and, thereafter, use them without comment.
Let be an -vector space, , and . Then:
;
;
;
if , then or .
(1) By distributivity over scalar addition, ; adding to both sides leaves .
(2) Likewise , and cancelling in the abelian group gives .
(3) Using the identity axiom, distributivity, and (1),
so is the additive inverse of ; by uniqueness of inverses in a group, .
(4) Suppose and . Since is a field, exists, and by the identity and compatibility axioms
the last step by (2). □
The single most important example is the coordinate space
the set of -tuples of scalars, under componentwise operations:
The zero vector is , and every axiom of 8.1 follows from the corresponding field axiom applied in each coordinate. The degenerate case is the trivial (or zero) vector space , consisting of the empty tuple alone. As a standing convention we write vectors of in boldface and think of them as columns, .
Polynomials. The polynomials form an -vector space under addition and the scalar multiplication of Remark 5.5. So does the subset
of polynomials of degree less than : sums and scalar multiples of such polynomials again have degree less than (or are zero), by Proposition 5.7, so the operations restrict and the axioms are inherited. This space is exactly the setting in which polynomial commitment schemes operate.
Functions. For any set , the set of all functions is an -vector space under pointwise operations: and . Example 8.3 is the special case , a tuple being a function of its index.
Matrices. The set of arrays of scalars is an -vector space under entrywise addition and scaling—the case of (2) in which is the grid of index pairs .
Field extensions. If is a subfield of a larger field (§4), then is an -vector space: vector addition is the addition of , and scalar multiplication is the multiplication of restricted to pairs in , so the axioms are instances of the field axioms of . The dimension of this vector space—in the sense of 8.17 below—is called the degree of the extension, written . For instance is an -vector space of dimension , with basis , so ; and the finite field with is a -dimensional -vector space, : this is precisely the structure on which the proof of Theorem 6.9 rested.
A vector space often contains smaller vector spaces sitting inside it, sharing its operations; the solution sets of homogeneous linear equations, the spans of the next subsection, and the kernels and images of linear maps are all of this kind.
A subset of an -vector space is a (linear) subspace if is itself a vector space under the operations inherited from ; equivalently—as the next proposition makes precise—if and only if is nonempty and closed under the vector-space operations.
A subset is a subspace if and only if
;
is closed under addition: implies ; and
is closed under scalar multiplication: and imply .
Equivalently, is a subspace if and only if and for all and .
If is a subspace, then (1)–(3) hold: closure (2) and (3) is what it means for the inherited operations to be operations on , and the zero vector of is the zero vector of , since a zero vector of satisfies , and cancelling in gives .
Conversely, suppose (1)–(3) hold. Closure makes the two operations well defined on . The additive inverse of any is , by (3) and Proposition 8.2(3). Every remaining axiom of 8.1 is a universally quantified identity—associativity, commutativity, compatibility, the two distributive laws, the action of —and each holds for all elements of , in particular for all elements of . Hence is a vector space.
For the two-scalar form: if is a subspace, then by (2) and (3) combined, and is nonempty. Conversely, choosing recovers (2), choosing recovers (3) (using Proposition 8.2(1) to identify ), and for any in the nonempty , which is (1). □
In the set is a subspace: it contains , and if the coordinates of and each sum to , then those of sum to . By contrast is not a subspace: it does not contain . The same computation shows that the solution set of any single homogeneous linear equation (the fixed scalars) is a subspace of , and the solution set of a finite system of such equations, being an intersection of subspaces, is a subspace by the next proposition. These solution sets return shortly in structural guise, as the kernels of linear maps (8.18).
Let be an -vector space.
The intersection of an arbitrary family of subspaces of is a subspace.
The sum of finitely many subspaces is a subspace, and it is the smallest subspace of containing every .
The union of two subspaces is in general not a subspace.
(1) Each contains , so the intersection does. If lie in every and , then for every by Proposition 8.6, hence lies in the intersection, which is therefore a subspace by the same criterion.
(2) The sum contains , and it contains each (take every other summand ). For closure, take two elements and with , and scalars ; regrouping,
and since is a subspace, so the combination lies in the sum. Finally, any subspace containing every contains each summand of any element of the sum, hence contains the element itself by closure under addition; so the sum is contained in , and is the smallest such subspace.
For the union, take (any field has , since ) and the two axes and —subspaces by the criterion. Their union contains and but not the sum , since lies on neither axis; closure under addition fails. □
The subspaces met so far were carved out by equations. The complementary way to produce a subspace is to build one up from chosen vectors, taking everything their repeated addition and scaling can reach.
Let . A linear combination of vectors in is any finite sum
The span of , written or , is the set of all linear combinations of finitely many vectors of ; by convention . The set spans (or generates) if , and is finitely generated (synonymously, finite-dimensional) if some finite set spans it.
For any , the span is the smallest subspace of containing : it is a subspace, it contains , and it is contained in every subspace of that contains .
The zero vector is the empty linear combination (or, for nonempty , the combination ), and a sum of two linear combinations of vectors in , or a scalar multiple of one, is again such a linear combination—concatenate the lists and rescale the coefficients. By Proposition 8.6, is a subspace, and it contains each as the combination . If is any subspace containing , then closure under addition and scaling forces every linear combination of elements of into , by induction on the number of summands; hence . □
A finite list of vectors is linearly independent if the only way to express the zero vector as a linear combination of the list is with all coefficients zero:
Otherwise the list is linearly dependent, and a relation with some is called a dependence relation. An arbitrary—possibly infinite—set is linearly independent if every finite list of distinct vectors from is linearly independent.
Linear independence captures non-redundancy: no vector of an independent list contributes anything the others already provide. In the smallest cases the definition unwinds to familiar statements. A single vector is independent if and only if (Proposition 8.2(4)). Two vectors are dependent if and only if one is a scalar multiple of the other. In general, a list is dependent exactly when some vector in it lies in the span of the others—the content of the next lemma.
A list with is linearly dependent if and only if some is a linear combination of the others. Moreover, if is independent but is dependent, then , and the coefficients expressing are unique.
Suppose first that . Then
is a dependence relation, its coefficient on being nonzero (as in a field). Conversely, given a dependence relation with , the field supplies , and solving for gives , a linear combination of the others.
For the second statement, take a dependence relation for the extended list. The coefficient cannot be : otherwise the relation would be a nontrivial relation among alone, contradicting their independence. Hence . For uniqueness, suppose ; subtracting, , and independence forces for every . □
Spanning says a list reaches everything; independence says it carries no dead weight. A list with both properties is a coordinate system.
A basis of is a linearly independent set that spans . Every is then a unique finite linear combination of elements of : existence because spans, uniqueness because two expressions subtract to a relation among finitely many distinct elements of the independent set (as in Lemma 8.13). For a finite basis , write
and call the scalars the coordinates of in .
The standard basis of is , where has a in position and elsewhere. Both properties reduce to reading off coordinates: the combination is the tuple , so every vector is such a combination (spanning) and only the zero combination gives (independence). The monomial basis of is : a polynomial of degree less than is, by construction, a linear combination of these monomials, and independence is the fact that polynomials are equal exactly when their coefficient sequences agree (Definition 5.1).
That all bases of a given space have the same length is not obvious; it rests on the following exchange principle, which lets an independent list consume a spanning list one slot at a time.
If are linearly independent in and span , then .
We prove by induction on that, after a suitable renumbering of the , the hybrid list
spans . The case is the hypothesis on the .
For the induction step, suppose the hybrid list at stage spans . In particular it expresses :
Some coefficient with must be nonzero: were they all zero, would be a linear combination of , and Lemma 8.13 would make the list dependent, contradicting the independence of the . (This step silently requires a slot to exist, i.e. ; if instead , the hybrid list is and the displayed equation already yields the same contradiction.) Renumber so that , and solve for the displaced vector:
Every vector of the stage- list therefore lies in the span of the stage- list —the and the remaining trivially, by the display—so by Proposition 8.10 the stage- list spans , completing the induction.
Each step trades one for one , so the process can run to only if there are at least slots to trade: . □
Let be a finitely generated -vector space. Then has a basis, and any two bases of have the same number of elements. This common number is the dimension (written when the field is clear). In particular and .
Existence. Let be a finite spanning list. While the list is dependent, Lemma 8.13 exhibits some in the span of the others; discarding it leaves the span unchanged, since any combination using can be rewritten without it (substitute and regroup, Proposition 8.10). Each discard shortens the list, so after at most discards the process halts at an independent spanning list—a basis. (If is the zero space, the process discards everything and halts at the empty list, a basis of with ; the dimension is .)
Invariance. Every basis is finite: if a basis contained more than the elements of a finite spanning list, any of its elements would contradict Lemma 8.16. Let and be bases. Applying Lemma 8.16 with the first list as the independent one and the second as the spanning one gives ; exchanging the roles gives . Hence .
The two named spaces have the explicit bases of Example 8.15, each of length . □
With coordinates in hand, the maps that respect the linear structure come next; they are the section’s real subject, for the Pedersen-style commitments developed in the series are such maps.
A function between -vector spaces is linear (an -linear map) if
Its kernel and image are
A bijective linear map is an isomorphism.
Three basic facts follow at once from the subspace criterion and linearity, and we verify them here once. First, taking gives , so and . Second, both kernel and image are subspaces: if then , and if then ; Proposition 8.6 applies to each. Third, is injective if and only if : if , then by linearity, so a trivial kernel forces ; conversely an injective sends only to . We also note that for fixed and the set of all linear maps is itself an -vector space under the pointwise operations of Example 8.4(2)—a sum or scalar multiple of linear maps is linear, so is a subspace of the space of all functions .
Let be a linear map with finite-dimensional. Then
The kernel is a subspace of the finite-dimensional , and is itself finite-dimensional: an independent list in has length at most by Lemma 8.16 (tested against a basis of , which spans), so a longest independent list in exists, and it spans —any outside its span would extend it to a longer independent list by Lemma 8.13. Thus is a basis of .
Extend it to a basis of : while the current independent list fails to span , adjoin any vector outside its span—independence is preserved by Lemma 8.13—and the process terminates, again because independent lists cannot exceed in length (Lemma 8.16 against any basis of ). Write the resulting basis as , so that .
We claim is a basis of ; the theorem follows, since then and .
Spanning. Any element of is for some , and linearity with gives .
Independence. Suppose . By linearity , so , and expressing this kernel element in the kernel basis gives for some scalars . Rearranged, is a linear relation among the combined basis of , whose independence forces every coefficient—in particular every —to vanish. □
Rank–nullity is the dimension-counting engine of the section. It shows at once that a linear map from a higher-dimensional space into a lower-dimensional one must have a nontrivial kernel—the image cannot have dimension exceeding the target’s, so the kernel absorbs the difference—and distinct inputs must therefore collide. That forced collision is exactly what makes vector commitments compressing and only computationally binding (Remark 8.29).
The maps considered so far are linear in a single argument. Commitment and proof systems are pervaded by expressions linear in each of two arguments—above all the inner product between two vectors. Over such products come wrapped in geometry: lengths, angles, positivity. Over the finite fields of cryptographic interest there is no ordering, hence no “positive” and no length; what survives, and what the applications actually use, is the bare algebra. The appropriate level of generality is therefore the bilinear form.
A bilinear form on an -vector space is a function that is linear in each argument separately:
for all and . The form is symmetric if for all , and nondegenerate if for all implies .
Relative to a fixed basis of , a bilinear form is captured by finitely many scalars: expanding both arguments in the basis and applying bilinearity termwise, , so is determined by—and represented by—the unique array with entries , via in matrix shorthand. We record the representation for orientation but make no further use of it; only the special case with the identity array matters below.
The standard inner product (or dot product) on is
Bilinearity holds because each term is linear in each factor, and symmetry because multiplication in commutes; the representing array in the standard basis is the identity ( is if and otherwise). The form is nondegenerate: if for every , then in particular for each , so .
Over the standard inner product is positive definite: , with equality only at . Positivity is what yields the Euclidean norm and the Cauchy–Schwarz inequality —the geometric superstructure of real inner products. Over a finite field there is no ordering compatible with the arithmetic, so “” is meaningless, and the superstructure collapses: there exist nonzero isotropic vectors with . Over , for instance, the vector has
in . What survives the collapse are the algebraically robust properties: bilinearity, symmetry, and nondegeneracy. These are all that the arguments in proof systems rely on, which is why the loss of positivity costs the applications nothing.
Nondegeneracy is not a consolation prize; it powers a dictionary between vectors and the scalar-valued linear maps on them.
For each , the map is a linear map (a linear functional). The assignment
is an isomorphism of -vector spaces onto the dual space of all linear functionals on . In particular both spaces have dimension .
Each is linear in by bilinearity, and the assignment itself is linear in for the same reason, mapping into the vector space of 8.18. It is injective: if is the zero functional, then for every , and nondegeneracy (8.21) gives , so the kernel is trivial. It is surjective: given a linear functional , set and ; then for every , linearity of gives
so . A bijective linear map is an isomorphism, and follows since an isomorphism carries a basis to a basis (its inverse is linear, and both directions preserve spanning and independence). □
Proposition 8.23 says that “a linear functional on ” and “a vector in ” are interchangeable: every linear way of producing one scalar from a vector is an inner product against a fixed vector, and conversely. The instance to keep in mind is polynomial evaluation. Fix a point ; the map sending a polynomial to its value at is linear in the coefficients, so it must be an inner product against some fixed vector—and indeed, for with coefficient vector ,
Evaluating a committed polynomial at a challenge point is therefore an inner-product claim about the committed coefficient vector; this is precisely the shape of statement an inner-product argument proves (8.32).
The commitments used in Halo 2 and Orchard pair a vector of scalars with a vector of group elements. We isolate the algebra here, working over an abstract group; the group of actual cryptographic interest—the points of an elliptic curve—is constructed in the elliptic-curve section later in the volume, and only its abelian-group structure is needed for everything proved below, so the results transfer verbatim.
Let be a finite abelian group of prime order , written additively with identity . For an integer and , write for the -fold multiple of —the additive reading of the powers of §3: , with summands for , and . The brackets keep the scalar visually separate from the group element. The multiple depends only on the residue of modulo : the order of divides (Corollary 3.30), and whenever (Proposition 3.12(2), read additively), so congruence modulo suffices. The operation therefore descends to scalars in the field (4.26): for and , define using any integer representative of . It is this descended operation—group elements scaled by elements of a field—that the rest of the section uses.
Let be an abelian group of prime order , with the scalar multiplication of 8.25. Then is an -vector space of dimension ; any element is a basis, and every element of is for a unique .
The vector-space axioms are the standard laws of multiples. For integers , the identities and are the exponent laws of §3 in additive notation, is the definition, and holds in any abelian group: for it is the rearrangement of summands into summands followed by summands , legitimate by commutativity and associativity (formally, induction on ), and the cases follow by negating. Each law respects reduction modulo by 8.25, so the four scalar axioms of 8.1 hold with scalars in , and is an abelian group by hypothesis: is an -vector space.
Now let . By Lagrange’s theorem (Theorem 3.29, via Corollary 3.30) the order of divides the prime , and it exceeds since is not the identity; hence . The multiples are then pairwise distinct (Proposition 3.12(2), additively: forces ), and has exactly elements, so the multiples exhaust . Thus spans; and it is independent, since forces in , again because . A one-element basis gives , and the uniqueness of in is the uniqueness of coordinates in a basis (8.14). □
Let be a fixed tuple of group elements and a vector of scalars. Their mixed inner product—in computational contexts a multiscalar multiplication (MSM), in cryptographic ones a Pedersen-style inner product—is the group element
We reuse the angle-bracket notation of 8.21 deliberately; the type of the second argument—scalar vector or vector of group elements—determines which product is meant.
Fix . The map is -linear from to :
Symmetrically, for fixed the map is a group homomorphism , and is -linear when is viewed as an -vector space (componentwise, as in Example 8.3 with in place of ). Thus is bilinear over .
Both statements are the vector-space laws of (Proposition 8.26) applied componentwise. For the first,
using and in each component and then regrouping the sum in the abelian group . For the second, linearity in follows by the symmetric computation on the other slot of the defining sum, using componentwise. □
Read as a commitment to the scalar vector under the public “basis” —the receipt of the section’s opening problem. Proposition 8.28 is then exactly the homomorphic property that the problem demanded: the commitment to is the -, -scaled combination of the individual commitments, computable by anyone holding those commitments and the scalars , without knowledge of or . Provided the are chosen so that no party can exhibit a nontrivial relation —a computational hypothesis, the discrete-logarithm hardness assumption, made precise in later volumes of this series—the commitment is binding: the map is computationally injective, in the sense that no feasible computation produces two vectors with the same image. Genuinely injective it cannot be once : the map is linear from the -dimensional into the one-dimensional (Proposition 8.26), so by rank–nullity (Theorem 8.19) its kernel has dimension at least . Collisions exist in abundance; binding is the claim that they cannot be found, a computational rather than information-theoretic statement. The classical Pedersen commitment to a single value with randomness is the special case , with ,
which is moreover perfectly hiding: for fixed , as ranges uniformly over the term ranges uniformly over (it is a bijection of , by unique representation in the basis ), so the commitment’s distribution is uniform and carries no information about .
We close by drawing the threads together. Each point below is developed rigorously in later volumes of this series; the remarks here are descriptive, but the linear-algebraic content behind them is already proved in full.
An arithmetic circuit over becomes, after arithmetisation—the encoding of a computation as a system of polynomial constraints on the wire values—a collection of equations that the vector of all wire values must satisfy. The linear part of such a system—the wiring (or “copy”) constraints of the PLONK family, which assert that certain wires carry equal values—consists of homogeneous linear equations in the entries of , organised in practice as arrays of coefficients (one row per equation) acting on the assignment vector. Satisfying the linear constraints confines to a subspace of (Example 8.7), or, when public inputs fix some entries, to a translate of one—an affine subspace. The multiplicative constraints are handled separately, by the polynomial machinery of the surrounding sections. Rank–nullity (Theorem 8.19) quantifies the degrees of freedom that remain after the linear constraints are imposed: the dimension of the witness space.
A Pedersen vector commitment is a linear map (Proposition 8.28), and its linearity is the source of every algebraic manipulation a verifier performs: taking known linear combinations of commitments, folding two commitment keys into under a challenge , and checking claimed openings by re-evaluating the same linear map. A polynomial commitment is the identical map applied to a coefficient vector, and an evaluation of the committed polynomial at a point is the scalar inner product (Remark 8.24).
The core statement an inner-product argument proves has the shape: “I know vectors such that
for public and .” Three of this section’s constructions meet in the one equation: two mixed inner products and , committing to the witness vectors; one scalar inner product , the value being argued; and the bilinearity of all three, which is what permits prover and verifier to fold a length- instance into a length- one and recurse. The argument’s soundness ultimately reduces to the nondegeneracy of these forms together with the hardness of finding kernel elements of the commitment map—exactly the linear-algebraic and computational facts assembled above.
The cheque drawn at the head of the section is now cashed. The receipt for a list of secrets is the mixed inner product : one group element, whatever the size of . “Receipts add” means precisely that the receipt map is linear, and that is the payoff theorem, Proposition 8.28. One element can absorb secrets only because the map compresses an -dimensional space into a one-dimensional one, and rank–nullity prices the compression exactly: a kernel of dimension at least , an unavoidable reservoir of collisions that Remark 8.29 tames computationally rather than absolutely.
In summary: vector spaces, bases and dimension, linear maps with their kernels and images governed by rank–nullity, bilinear forms, and the two flavours of inner product—scalar with scalar, scalar with group—constitute the linear-algebraic vocabulary for the cryptography ahead. Pedersen-style commitments are linear maps, and their polynomial evaluation openings assert inner products; nondegeneracy and dimension counting supply the relevant algebra. Other commitment constructions, such as hash-based commitments, need not be linear. The next section applies the machinery to the polynomial spaces over structured evaluation domains, and the section on elliptic curves constructs the group that the mixed inner product has so far taken as abstract.