NP ⊆ PCP(n
3
, 1) 121
f : V → F from a finite-dimensional vector space V over a field of scalars
F is linear if for all a, b ∈ F and u, v ∈ V , f(au + bv)=af(u)+bf(v). For
V = F
m
, the linear maps f : F
m
→ F are exactly the maps of the form
r → r
•
b for some b ∈ F
m
. This is because over the standard basis in F
m
,
any such linear map is represented by multiplication by a 1 × m matrix,
which is the same as the inner product with an m-vector. This is a good
start, although we still need to verify that b = p(a)forsomea.
If the scalar field F is Z
p
, linearity is equivalent to additivity: f(u+v)=
f(u)+f(v) for all u, v ∈ V .
1
Here is a proposal for a linearity test in this
case.
1. Pick u, v ∈ V uniformly at random. Query the prover for f(u), f (v),
and f (u + v).
2. If f(u)+f(v) = f(u+v), halt immediately and reject. If f(u)+f (v)=
f(u + v), keep going.
3. Repeat steps 1 and 2 k times. If we have not rejected after k trials,
accept.
Random Self-Correction
Note that the protocol above requires only a constant number (3k)of
queries. Unfortunately, this is not enough to verify with certainty, or even
with high probability, that the map f is linear. The function f could agree
with a linear function on all but one input, and if we did not query f on
that input, we would never find out that it is not linear, and the chances
of missing that one input are pretty high.
However, the protocol does convince the verifier that there is a linear
function g that agrees with f on a very large fraction of the inputs. We
argue this below (Lemma 19.1). This is good enough for our purposes. For
suppose there is such a g. When we are asking the prover for the value of
f(u), what we really want is the value of g(u). So instead of asking the
prover for the value of f(u) directly, we can spend two queries and ask the
prover for the values of f (u + v)andf(v) for some randomly chosen v.
Chances are pretty good that we will get g(u + v)andg(v), because f and
g agree on a very large fraction of the inputs, and g(u + v) − g(v)=g(u)
because g is linear. That way we can avoid errors in f with high probability.
This trick is known as random self-correction.
1
This is false for finite fields not of the form Z
p
.Forn ≥ 2, the map x → x
p
is a linear map of the
n-dimensional vector space GF
p
n
over GF
p
∼
=
Z
p
, therefore additive; but it is not a linear map of GF
p
n
as a
one-dimensional vector space over itself, because for x ∈ GF
p
2
− GF
p
, x
p
= x · 1
p
.