Author: Matan Prasma PDF: can be found here Content is also from online lectures

Naive Set Theory (Elliptic Curve Script)

  • Ordered pair:
  • Cartesian product:
  • Function: A function is a subset s.t.:
    • is the domain, is the range
  • Function composition:
  • Function properties:
    • Injective, Monomorphism, “one-to-one”:
    • Surjective, Epimorphism, “onto”:
    • Bijective, Isomorphism, “invertible”: Injective + Surjective
    • Each of these properties still hold for if they do for and
  • Equivalence relations: A relation on is a subset
    • means that \mathbb{Z}_b
    • An equivalence relation is a relation with the properties:
      • Reflexivity:
      • Symmetry:
      • Transitivity:
    • Equivalence class:
    • Quotient set:
      • The quotient map maps an element to its equivalence class
    • Example: Projective Line:
      • On some field , define the punctured plane as
      • Equivalence relation:
      • The quotient set is the projective line and denoted
      • Elements of this set are denoted as
      • The number of elements is : One element for each possible slope, plus the “point at infinity” ()

Elementary Number Theory

  • Bezout’s lemma: For any positive integers , there exist such that:
    • These numbers can be found using the Extended Euclidean Algroithm
    • One application: If and is prime, we have , so is the multiplicative inverse of in
  • Chinese Remainder Theorem:
    • Let be such that and denote .
    • Then for all , the system of equationshas a unique solution in .

Groups

  • Group: A group consists of a set , containing a neutral element , and a group operation under the following conditions:
    • Unitary:
    • Associativity:
    • Invertibility:
  • Common notation:
    • Additive: is denoted as ; is denoted as
    • Multiplicative: is denoted as ; is denoted as
  • Fermat’s little theorem: If is prime,
  • This implies that is a group with multiplication modulo
  • Subgroup: If a for subset is a group, it is called a subgroup of (denoted )
  • Coset: Given a subgroup and an element , the (left) -coset is defined as:
    • The set of cosets forms a partition of
  • Lagrange’s Theorem: For a finite group and subgroup , divides
    • (Because each coset has elements and the set of cosets is a partition of )
  • Group Homomorphism: For two groups and , a function is called a group homomorphism if for any ,
    • The kernel is defined as
    • The image is defined as
  • If is bijective, it is called a group isomorphism and we denote
  • The quotient group with is a group and the quotient map given by is a group homomorphism
  • Cyclic groups:
    • For a group and element , the order of is the minimal natural number such that . If no such number exists, we set .
    • Cauchy’s theorem: For a finite abelian group and prime , if , there exists an element with
      • (partial converse of Lagrange’s theorem)
    • A group is called cyclic if there exists an element such that *the group generated by , , equals
    • Any cyclic group is abelian and isomorphic to (because any element can be expressed uniquely as for )
    • Euler totient function:
    • An element in is a generator if , and gives the number of generators of
    • Fundamental Theorem of Cyclic Groups: For a cyclic group
      • Any subgroup is cyclic
      • For any , is the unique subgroup of size
    • Lagrange’s theorem implies that any prime-order group is cyclic!

Fields

  • A field is a set with binary operations and and elements such that:
    • Both and are abelian groups
    • For every
  • The field characteristic is the minimal number such that added to itself times is (or , if no such number exists)
  • A subfield needs to contain and and be closed under the two operations.
  • Polynomials over a field:
    • Polynomial in one variable: a formal expression of the form where are the coefficients, the terms are called monomials, is the degree and the set of all polynomials is denoted as .
    • Polynomials can be added, subtracted, multiplied and divided. Division example:
    • Polynomials form a ring: It’s like a field, but not all polynomials have multiplicative inverses
    • A polynomial as a root iff. it is divisible by
      • a polynomial can have at most roots
    • A prime (or irreducible) polynomial is one that cannot be expressed as a product of two non-constant polynomials.
    • Monic polynomial: Leading coefficient is 1.
  • Modulo algorithmic of polynomials: For a prime polynomial over a field , we can define a field does not have a root in , but in it has a root:
  • A splitting field for a polynomial is one where can be expressed as a product of linear factors which is minimal, i.e., there is no subfield with the same property.
    • It always exists: we can just repeat extending the field by non-linear prime polynomials until we have none left.
    • If is a finite field of size (for a prime and some natural number ), it is a splitting field of
  • Galois fields: For any prime and natural number , there exists a finite field of size . Conversely, any finite field has a size of the form , and all fields of the same size are isomorphic. Therefore, all finite fields can be denoted as .
  • Algebraic Closure: For a finite field for , the algebraic closure is a infinite-size field with characteristic where all polynomials split.
    • To add or multiply two elements from and , embed them into and do the operation there
  • The th roots of unity on a prime field is the sets of roots of in
    • If does not divide , is a cyclic group
  • Lagrange interpolation: Given points , the ith Lagrange polynomial is and the Lagrange interpolation of the points is
  • Fast Fourier Transform (FFT):
    • Polynomials can be represented in evaluation form (“sampling”) and coefficient form (“vector”)
    • The FFT is an efficient algorithm to compute the Discrete Fourier Transform (DFT), which is a matrix-vector product of the Vandermonde matrix with the polynomial’s coefficients performs evaluation:
    • For efficiency, we choose , where is an th root of unity
    • Algorithm below
    • The inverse of is FFT Algorithm:
def fft(f, omega):
    # Base case
    n = len(f)
    if n == 1:
        return f  # Nothing to transform if there's only 1 data point
 
    # Separate even and odd-indexed elements
    f_E = [f[2*i] for i in range(n//2)]
    f_O = [f[2*i + 1] for i in range(n//2)]
 
    # Recursively compute FFT on halves, using omega^2 as (n/2)-th root of unity
    F_E = fft(f_E, omega * omega)
    F_O = fft(f_O, omega * omega)
 
    # Combine step: allocate output and perform the butterfly merges
    F = [0] * n
    for j in range(n//2):
        t = (omega ** j) * F_O[j]
        F[j] = F_E[j] + t
        F[j + n//2] = F_E[j] - t
 
    return F

More resources:

Vector Spaces

  • A vector space over a field is a set with a distinguished element and binary operations and such that:
    • is an abelian group
    • Scalar multiplication is associative and distributive
  • A subspace is a subset of a vector space that is closed under the two operations
  • A linear map between to vector spaces (over the same field) is a function such that:
  • A basis of a finite vector space is an ordered set of linearly independent vector space elements which span the entire vector space. All bases have the same number of elements which is called the dimension of the vector space.
    • Any finite vector space for dimension is isomorphic to , representing each element as a linear combination of its basis vectors.

Projective Coordinates

  • The projective line over a field is the quotient set of the punctured affine plane by the equivalence relation
  • The projective plane is defined as
  • The equivalence class of a point is denoted by

Reed-Solomon error-correcting codes

  • Alphabet: Finite set of size
  • Hamming distance of two strings :
  • code: Functions such that for all with , we have
    • Rate:
    • Relative distance:
  • Singleton bound: For any code,
  • Maximum distance separable (MDS) code: A code that meets the singleton bound with equality
  • A linear code is a code that is a -dimensional subspace of
    • satisfies the triangle equality

Errors?

  • Example 5.15: How can 2 times 2 be 0? Then would not be a group?
  • Example 5.60: The factor should be ?
  • Misspelling of “Fanu plane”