Determine the complexity of a self-dual normal basis
Project description
This library aims at calculating the complexity of a basis that is a candidate for the lowest complexity basis for Fp^d/Fp, where p and d are prime numbers (Pickett and Vinatier, 2017). It enables also to determine the points multiplicities distribution in Fd^2 of the associated minimal Besicovitch arrangement.
It could be installed using pip:
pip install Comp_lib
Usage:
>>> from Comp_lib import Complexity, IncMatComp, P, axes, E
List of the functions:
- E(j,k,d)Create a matrix containing d^2-1 zeros and a single
one at the (j+1)^th row and (k+1)^th column of the matrix
- Example:
>>> E(0,4,7)
- axes(d)Create a matrix containing d^2-3d+2 zeros and 3d-2
one at the first row, first column and diagonal of the matrix
- Example:
>>> axes(7)
- P(x,d)The polynomial that determines lines equations of
the minimal Besicovitch arrangment associated with the basis whose complexity is wanted; x is in Fd
- Example:
>>> P(2,7)
- IncMatComp(d)Part of the matrix necessary for the calculation of
the complexity of the considered basis; it contains the multiplicities of the points in Fd^2 determined by the associated minimal Besicovitch arrangement column of the matrix
- Example:
>>> IncMatComp(7)
- IncMat(d)The matrix containing the multiplicities of the points
in Fd^2 determined by the minimal Besicovitch arrangement associated with the basis whose complexity is wanted column of the matrix
- Example:
>>> IncMat(7)
- Complexity(d)The value of the complexity i.e. the number of simple
points in the matrix containing the multiplicities of the points in Fd^2 determined by a well-chosen Besicovitch arrangement (Pickett and Vinatier, 2017)
- Example:
>>> Complexity(7)
- MulDist(d,n)The distribution of multiplicities in the matrix
containing the multiplicities of the points in Fd^2 determined by a well-chosen Besicovitch arrangement (Pickett and Vinatier, 2017) The first value of the vector stands for the points of multiplicity zero, the second value stands for the simple points, etc. n is lenght of the vector returned; if this value is not large enought (hight multiplicity(ies) not yet counted) the following message is returned: IndexError: list index out of range column of the matrix
- Example:
>>> MulDist(7,6)
- MulDistT(d,n)The distribution of multiplicities in the T zone of the
matrix containing the multiplicities of the points in Fd^2 determined by a well-chosen Besicovitch arrangement (Pickett and Vinatier, 2017) The first value of the vector stands for the points of multiplicity zero, the second value stands for the simple points, etc. n is lenght of the vector returned; if this value is not large enought (hight multiplicity(ies) not yet counted) the following message is returned: IndexError: list index out of range column of the matrix
- Example:
>>> MulDistT(7,3)
- MulDistDiag(d,n)The distribution of multiplicities on the diagonal of the
matrix containing the multiplicities of the points in Fd^2 determined by a well-chosen Besicovitch arrangement (Pickett and Vinatier, 2017) The first value of the vector stands for the points of multiplicity zero, the second value stands for the simple points, etc. n is lenght of the vector returned; if this value is not large enought (hight multiplicity(ies) not yet counted) the following message is returned: IndexError: list index out of range column of the matrix
- Example:
>>> MulDistDiag(7,6)
Licence: GPLv3.