Skip to main content

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.

Project details


Release history Release notifications | RSS feed

This version

1.1

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page