CryptoBook
Search…
Mathematical Notation

Introduction

Throughout CryptoBook, discussions are made more concise by using various mathematical symbols. For some of you, all of these will feel familiar, while for others, it will feel new and confusing. This chapter is devoted to helping new readers gain insight into the notation used.
If you're reading a page and something is new to you, come here and add the symbol, someone else who understands it can explain its meaning

Mathematical Objects

Special Sets

    C\mathbb{C}
    : denotes the set of complex numbers
    R\mathbb{R}
    : denotes the set of real numbers
    Z\mathbb{Z}
    : denotes the set of integers
    Q\mathbb{Q}
    : denotes the set of rational numbers
    N\mathbb{N}
    : denotes the set of natural numbers (non-negative integers)
    Z/nZ\mathbb{Z}/n\mathbb Z
    : denotes the set of integers mod
    nn
1
"""
2
We can call each of these sets with Sage using the
3
following commands. Comments are the result of the
4
input.
5
"""
6
CC
7
# Complex Field with 53 bits of precision
8
RR
9
# Real Field with 53 bits of precision
10
ZZ
11
# Integer Ring
12
QQ
13
# Rational Field
14
NN
15
# Non negative integer semiring
16
Zmod(11) # or `Integers(11)` or `IntegerModRing(11)`
17
# Ring of integers modulo 11
Copied!
    We refer to unit groups by
    R×R^\times
    or
    RR^*
    . Example:
    (Z/nZ)×(\mathbb Z/n \mathbb Z)^\times
    We refer to finite fields with
    qq
    elements by
    Fq\mathbb{F}_q
    We refer to a general field by
    kk
    We refer to the algebraic closure of this field by
    kˉ\bar{k}
1
"""
2
Example of defining a field and then its
3
algebraic closure
4
"""
5
GF(3)
6
# Finite Field of size 3 , where GF stands for Galois Field
7
GF(3).algebraic_closure()
8
# Algebraic closure of Finite Field of size 3
Copied!
1
"""
2
If you want to find which field an element belongs to you can use the
3
`.parent()` function
4
"""
5
6
x = 7
7
print(x.parent())
8
# Integer Ring
9
10
y = 3.5
11
print(y.parent())
12
# Real Field with 53 bits of precision
Copied!
1
"""
2
If you want to "lift" an element from a quotient ring R/I to the ring R
3
use the `.lift()` function
4
"""
5
R = ZZ
6
RI = Zmod(11)
7
x = RI(5)
8
9
print(x.parent())
10
# Ring of integers modulo 11
11
12
y = x.lift()
13
print(y.parent())
14
# Integer Ring
15
16
print(y in R)
17
# True
Copied!

Relation operators

    \in
    means is an element of (belongs to)

Logical Notation

    \forall
    means for all
    \exists
    means there exists.
    !\exists!
    means uniquely exists

Operators

    Pr(A)Pr(A)
    means the probability of an event
    AA
    to happen. Sometimes denoted as
    Pr[A]Pr[A]
    or as
    P(A)P(A)
Last modified 5mo ago