Orbiter 2022
Combinatorial Objects
orbiter::layer2_discreta::unipoly Class Reference

DISCRETA class for polynomials in one variable. More...

#include <discreta.h>

Inheritance diagram for orbiter::layer2_discreta::unipoly:
Collaboration diagram for orbiter::layer2_discreta::unipoly:

Public Member Functions

 unipoly ()
 
 unipoly (const discreta_base &x)
 
unipolyoperator= (const discreta_base &x)
 
void * operator new (size_t, void *p)
 
void settype_unipoly ()
 
kind s_virtual_kind ()
 
 ~unipoly ()
 
void freeself_unipoly ()
 
void copyobject_to (discreta_base &x)
 
std::ostream & print (std::ostream &)
 
std::ostream & print_as_vector (std::ostream &ost)
 
void m_l (int l)
 
int degree ()
 
void mult_to (discreta_base &x, discreta_base &y)
 
void add_to (discreta_base &x, discreta_base &y)
 
void negate_to (discreta_base &x)
 
void one ()
 
void zero ()
 
void x ()
 
void x_to_the_i (int i)
 
int is_one ()
 
int is_zero ()
 
int compare_with_euclidean (discreta_base &a)
 
void integral_division (discreta_base &x, discreta_base &q, discreta_base &r, int verbose_level)
 
void derive ()
 
int is_squarefree (int verbose_level)
 
int is_irreducible_GFp (int p, int verbose_level)
 
int is_irreducible (int q, int verbose_level)
 
int is_primitive (int m, int p, Vector &vp, int verbose_level)
 
void numeric_polynomial (int n, int q)
 
int polynomial_numeric (int q)
 
void singer_candidate (int p, int f, int b, int a)
 
void Singer (int p, int f, int verbose_level)
 
void get_an_irreducible_polynomial (int f, int verbose_level)
 
void evaluate_at (discreta_base &x, discreta_base &y)
 
void largest_divisor_prime_to (unipoly &q, unipoly &r)
 
void monic ()
 
void normal_base (int p, discreta_matrix &F, discreta_matrix &N, int verbose_level)
 
int first_irreducible_polynomial (int p, unipoly &m, discreta_matrix &F, discreta_matrix &N, Vector &v, int verbose_level)
 
int next_irreducible_polynomial (int p, unipoly &m, discreta_matrix &F, discreta_matrix &N, Vector &v, int verbose_level)
 
void normalize (discreta_base &p)
 
void Xnm1 (int n)
 
void Phi (int n, int f_v)
 
void weight_enumerator_MDS_code (int n, int k, int q, int verbose_level)
 
void charpoly (int q, int size, int *mtx, int verbose_level)
 
- Public Member Functions inherited from orbiter::layer2_discreta::Vector
 Vector ()
 
 Vector (const discreta_base &x)
 
Vectoroperator= (const discreta_base &x)
 
void * operator new (size_t, void *p)
 
void settype_vector ()
 
 ~Vector ()
 
void freeself_vector ()
 
kind s_virtual_kind ()
 
void copyobject_to (discreta_base &x)
 
std::ostream & Print (std::ostream &)
 
std::ostream & print (std::ostream &)
 
std::ostream & print_unformatted (std::ostream &ost)
 
std::ostream & print_intvec (std::ostream &ost)
 
discreta_bases_i (int i)
 
int & s_ii (int i)
 
void m_ii (int i, int a)
 
discreta_baseoperator[] (int i)
 
int s_l ()
 
void m_l (int l)
 
void m_l_n (int l)
 
void m_l_e (int l)
 
void m_l_x (int l, discreta_base &x)
 
Vectorrealloc (int l)
 
void mult_to (discreta_base &x, discreta_base &y)
 
void add_to (discreta_base &x, discreta_base &y)
 
void inc ()
 
void dec ()
 
int compare_with (discreta_base &a)
 
void append_vector (Vector &v)
 
Vectorappend_integer (int a)
 
Vectorappend (discreta_base &x)
 
Vectorinsert_element (int i, discreta_base &x)
 
Vectorget_and_delete_element (int i, discreta_base &x)
 
Vectordelete_element (int i)
 
void get_first_and_remove (discreta_base &x)
 
bool insert_sorted (discreta_base &x)
 
bool search (discreta_base &x, int *idx)
 
Vectorsort ()
 
void sort_with_fellow (Vector &fellow)
 
Vectorsort_with_logging (permutation &p)
 
void sum_of_all_entries (discreta_base &x)
 
void n_choose_k_first (int n, int k)
 
int n_choose_k_next (int n, int k)
 
void first_lehmercode (int n)
 
int next_lehmercode ()
 
void lehmercode2perm (permutation &p)
 
void q_adic (int n, int q)
 
int q_adic_as_int (int q)
 
void mult_scalar (discreta_base &a)
 
void first_word (int n, int q)
 
int next_word (int q)
 
void first_regular_word (int n, int q)
 
int next_regular_word (int q)
 
int is_regular_word ()
 
void apply_permutation (permutation &p)
 
void apply_permutation_to_elements (permutation &p)
 
void content (Vector &c, Vector &where)
 
void content_multiplicities_only (Vector &c, Vector &mult)
 
int hip ()
 
int hip1 ()
 
void write_mem (memory &m, int debug_depth)
 
void read_mem (memory &m, int debug_depth)
 
int csf ()
 
void conjugate (discreta_base &a)
 
void conjugate_with_inverse (discreta_base &a)
 
void replace (Vector &v)
 
void vector_of_vectors_replace (Vector &v)
 
void extract_subvector (Vector &v, int first, int len)
 
void PG_element_normalize ()
 
void PG_element_rank (int &a)
 
void PG_element_rank_modified (int &a)
 
void PG_element_unrank (int a)
 
void PG_element_unrank_modified (int a)
 
void AG_element_rank (int &a)
 
void AG_element_unrank (int a)
 
int hamming_weight ()
 
void scalar_product (Vector &w, discreta_base &a)
 
void hadamard_product (Vector &w)
 
void intersect (Vector &b, Vector &c)
 
int vector_of_vectors_overall_length ()
 
void first_divisor (Vector &exponents)
 
int next_divisor (Vector &exponents)
 
int next_non_trivial_divisor (Vector &exponents)
 
void multiply_out (Vector &primes, discreta_base &x)
 
int hash (int hash0)
 
int is_subset_of (Vector &w)
 
void concatenation (Vector &v1, Vector &v2)
 
void print_word_nicely (std::ostream &ost, int f_generator_labels, Vector &generator_labels)
 
void print_word_nicely2 (std::ostream &ost)
 
void print_word_nicely_with_generator_labels (std::ostream &ost, Vector &generator_labels)
 
void vector_of_vectors_lengths (Vector &lengths)
 
void get_element_orders (Vector &vec_of_orders)
 
- Public Member Functions inherited from orbiter::layer2_discreta::discreta_base
 discreta_base ()
 
 discreta_base (const discreta_base &x)
 
discreta_baseoperator= (const discreta_base &x)
 
virtual ~discreta_base ()
 
void freeself_discreta_base ()
 
void freeself ()
 
void freeself_kind (kind k)
 
void clearself ()
 
integeras_integer ()
 
longintegeras_longinteger ()
 
Vectoras_vector ()
 
permutationas_permutation ()
 
number_partitionas_number_partition ()
 
discreta_matrixas_matrix ()
 
unipolyas_unipoly ()
 
memoryas_memory ()
 
hollerithas_hollerith ()
 
bt_keyas_bt_key ()
 
databaseas_database ()
 
btreeas_btree ()
 
design_parameter_sourceas_design_parameter_source ()
 
design_parameteras_design_parameter ()
 
integerchange_to_integer ()
 
longintegerchange_to_longinteger ()
 
Vectorchange_to_vector ()
 
permutationchange_to_permutation ()
 
number_partitionchange_to_number_partition ()
 
discreta_matrixchange_to_matrix ()
 
unipolychange_to_unipoly ()
 
memorychange_to_memory ()
 
hollerithchange_to_hollerith ()
 
bt_keychange_to_bt_key ()
 
databasechange_to_database ()
 
btreechange_to_btree ()
 
design_parameter_sourcechange_to_design_parameter_source ()
 
design_parameterchange_to_design_parameter ()
 
void * operator new (size_t, void *p)
 
void settype_base ()
 
kind s_kind ()
 
virtual kind s_virtual_kind ()
 
void c_kind (kind k)
 
void swap (discreta_base &a)
 
void copyobject (discreta_base &x)
 
virtual void copyobject_to (discreta_base &x)
 
virtual std::ostream & print (std::ostream &)
 
void print_to_hollerith (hollerith &h)
 
std::ostream & println (std::ostream &)
 
std::ostream & printobjectkind (std::ostream &)
 
std::ostream & printobjectkindln (std::ostream &)
 
int & s_i_i ()
 
void m_i_i (int i)
 
virtual int compare_with (discreta_base &a)
 
int eq (discreta_base &a)
 
int neq (discreta_base &a)
 
int le (discreta_base &a)
 
int lt (discreta_base &a)
 
int ge (discreta_base &a)
 
int gt (discreta_base &a)
 
int is_even ()
 
int is_odd ()
 
void mult (discreta_base &x, discreta_base &y)
 
void mult_mod (discreta_base &x, discreta_base &y, discreta_base &p)
 
virtual void mult_to (discreta_base &x, discreta_base &y)
 
int invert ()
 
int invert_mod (discreta_base &p)
 
virtual int invert_to (discreta_base &x)
 
void mult_apply (discreta_base &x)
 
discreta_baseoperator*= (discreta_base &y)
 
discreta_basepower_int (int l)
 
discreta_basepower_int_mod (int l, discreta_base &p)
 
discreta_basepower_longinteger (longinteger &l)
 
discreta_basepower_longinteger_mod (longinteger &l, discreta_base &p)
 
discreta_basecommutator (discreta_base &x, discreta_base &y)
 
discreta_baseconjugate (discreta_base &x, discreta_base &y)
 
discreta_basedivide_by (discreta_base &x)
 
discreta_basedivide_by_exact (discreta_base &x)
 
int order ()
 
int order_mod (discreta_base &p)
 
void add (discreta_base &x, discreta_base &y)
 
void add_mod (discreta_base &x, discreta_base &y, discreta_base &p)
 
virtual void add_to (discreta_base &x, discreta_base &y)
 
void negate ()
 
virtual void negate_to (discreta_base &x)
 
void add_apply (discreta_base &x)
 
discreta_baseoperator+= (discreta_base &y)
 
virtual void normalize (discreta_base &p)
 
virtual void zero ()
 
virtual void one ()
 
virtual void m_one ()
 
virtual void homo_z (int z)
 
virtual void inc ()
 
virtual void dec ()
 
virtual int is_zero ()
 
virtual int is_one ()
 
virtual int is_m_one ()
 
discreta_basefactorial (int z)
 
discreta_basei_power_j (int i, int j)
 
virtual int compare_with_euclidean (discreta_base &a)
 
virtual void integral_division (discreta_base &x, discreta_base &q, discreta_base &r, int verbose_level)
 
void integral_division_exact (discreta_base &x, discreta_base &q)
 
void integral_division_by_integer (int x, discreta_base &q, discreta_base &r)
 
void integral_division_by_integer_exact (int x, discreta_base &q)
 
void integral_division_by_integer_exact_apply (int x)
 
int is_divisor (discreta_base &y)
 
void modulo (discreta_base &p)
 
void extended_gcd (discreta_base &n, discreta_base &u, discreta_base &v, discreta_base &g, int verbose_level)
 
void write_memory (memory &m, int debug_depth)
 
void read_memory (memory &m, int debug_depth)
 
int calc_size_on_file ()
 
void pack (memory &M, int verbose_level, int debug_depth)
 
void unpack (memory &M, int verbose_level, int debug_depth)
 
void save_ascii (std::ostream &f)
 
void load_ascii (std::istream &f)
 
void save_file (const char *fname)
 
void load_file (const char *fname)
 

Additional Inherited Members

- Public Attributes inherited from orbiter::layer2_discreta::discreta_base
kind k
 
OBJECTSELF self
 

Detailed Description

DISCRETA class for polynomials in one variable.

Definition at line 1235 of file discreta.h.

Constructor & Destructor Documentation

◆ unipoly() [1/2]

orbiter::layer2_discreta::unipoly::unipoly ( )

Definition at line 22 of file unipoly.cpp.

◆ unipoly() [2/2]

orbiter::layer2_discreta::unipoly::unipoly ( const discreta_base x)

Definition at line 27 of file unipoly.cpp.

◆ ~unipoly()

orbiter::layer2_discreta::unipoly::~unipoly ( )

Definition at line 53 of file unipoly.cpp.

Member Function Documentation

◆ add_to()

void orbiter::layer2_discreta::unipoly::add_to ( discreta_base x,
discreta_base y 
)
virtual

Reimplemented from orbiter::layer2_discreta::Vector.

Definition at line 231 of file unipoly.cpp.

◆ charpoly()

void orbiter::layer2_discreta::unipoly::charpoly ( int  q,
int  size,
int *  mtx,
int  verbose_level 
)

Definition at line 1005 of file unipoly.cpp.

◆ compare_with_euclidean()

int orbiter::layer2_discreta::unipoly::compare_with_euclidean ( discreta_base a)
virtual

Reimplemented from orbiter::layer2_discreta::discreta_base.

Definition at line 332 of file unipoly.cpp.

◆ copyobject_to()

void orbiter::layer2_discreta::unipoly::copyobject_to ( discreta_base x)
virtual

Reimplemented from orbiter::layer2_discreta::Vector.

Definition at line 69 of file unipoly.cpp.

◆ degree()

int orbiter::layer2_discreta::unipoly::degree ( )

Definition at line 184 of file unipoly.cpp.

◆ derive()

void orbiter::layer2_discreta::unipoly::derive ( )

Definition at line 434 of file unipoly.cpp.

◆ evaluate_at()

void orbiter::layer2_discreta::unipoly::evaluate_at ( discreta_base x,
discreta_base y 
)

Definition at line 662 of file unipoly.cpp.

◆ first_irreducible_polynomial()

int orbiter::layer2_discreta::unipoly::first_irreducible_polynomial ( int  p,
unipoly m,
discreta_matrix F,
discreta_matrix N,
Vector v,
int  verbose_level 
)

Definition at line 797 of file unipoly.cpp.

◆ freeself_unipoly()

void orbiter::layer2_discreta::unipoly::freeself_unipoly ( )

Definition at line 58 of file unipoly.cpp.

◆ get_an_irreducible_polynomial()

void orbiter::layer2_discreta::unipoly::get_an_irreducible_polynomial ( int  f,
int  verbose_level 
)

Definition at line 618 of file unipoly.cpp.

◆ integral_division()

void orbiter::layer2_discreta::unipoly::integral_division ( discreta_base x,
discreta_base q,
discreta_base r,
int  verbose_level 
)
virtual

Reimplemented from orbiter::layer2_discreta::discreta_base.

Definition at line 346 of file unipoly.cpp.

◆ is_irreducible()

int orbiter::layer2_discreta::unipoly::is_irreducible ( int  q,
int  verbose_level 
)

Definition at line 493 of file unipoly.cpp.

◆ is_irreducible_GFp()

int orbiter::layer2_discreta::unipoly::is_irreducible_GFp ( int  p,
int  verbose_level 
)

Definition at line 471 of file unipoly.cpp.

◆ is_one()

int orbiter::layer2_discreta::unipoly::is_one ( )
virtual

Reimplemented from orbiter::layer2_discreta::discreta_base.

Definition at line 312 of file unipoly.cpp.

◆ is_primitive()

int orbiter::layer2_discreta::unipoly::is_primitive ( int  m,
int  p,
Vector vp,
int  verbose_level 
)

Definition at line 513 of file unipoly.cpp.

◆ is_squarefree()

int orbiter::layer2_discreta::unipoly::is_squarefree ( int  verbose_level)

Definition at line 449 of file unipoly.cpp.

◆ is_zero()

int orbiter::layer2_discreta::unipoly::is_zero ( )
virtual

Reimplemented from orbiter::layer2_discreta::discreta_base.

Definition at line 322 of file unipoly.cpp.

◆ largest_divisor_prime_to()

void orbiter::layer2_discreta::unipoly::largest_divisor_prime_to ( unipoly q,
unipoly r 
)

Definition at line 676 of file unipoly.cpp.

◆ m_l()

void orbiter::layer2_discreta::unipoly::m_l ( int  l)

Definition at line 177 of file unipoly.cpp.

◆ monic()

void orbiter::layer2_discreta::unipoly::monic ( )

Definition at line 703 of file unipoly.cpp.

◆ mult_to()

void orbiter::layer2_discreta::unipoly::mult_to ( discreta_base x,
discreta_base y 
)
virtual

Reimplemented from orbiter::layer2_discreta::Vector.

Definition at line 196 of file unipoly.cpp.

◆ negate_to()

void orbiter::layer2_discreta::unipoly::negate_to ( discreta_base x)
virtual

Reimplemented from orbiter::layer2_discreta::discreta_base.

Definition at line 265 of file unipoly.cpp.

◆ next_irreducible_polynomial()

int orbiter::layer2_discreta::unipoly::next_irreducible_polynomial ( int  p,
unipoly m,
discreta_matrix F,
discreta_matrix N,
Vector v,
int  verbose_level 
)

Definition at line 824 of file unipoly.cpp.

◆ normal_base()

void orbiter::layer2_discreta::unipoly::normal_base ( int  p,
discreta_matrix F,
discreta_matrix N,
int  verbose_level 
)

Definition at line 718 of file unipoly.cpp.

◆ normalize()

void orbiter::layer2_discreta::unipoly::normalize ( discreta_base p)
virtual

Reimplemented from orbiter::layer2_discreta::discreta_base.

Definition at line 850 of file unipoly.cpp.

◆ numeric_polynomial()

void orbiter::layer2_discreta::unipoly::numeric_polynomial ( int  n,
int  q 
)

Definition at line 537 of file unipoly.cpp.

◆ one()

void orbiter::layer2_discreta::unipoly::one ( )
virtual

Reimplemented from orbiter::layer2_discreta::discreta_base.

Definition at line 282 of file unipoly.cpp.

◆ operator new()

void * orbiter::layer2_discreta::unipoly::operator new ( size_t  ,
void *  p 
)
inline

Definition at line 1244 of file discreta.h.

◆ operator=()

unipoly & orbiter::layer2_discreta::unipoly::operator= ( const discreta_base x)

Definition at line 35 of file unipoly.cpp.

◆ Phi()

void orbiter::layer2_discreta::unipoly::Phi ( int  n,
int  f_v 
)

Definition at line 875 of file unipoly.cpp.

◆ polynomial_numeric()

int orbiter::layer2_discreta::unipoly::polynomial_numeric ( int  q)

Definition at line 550 of file unipoly.cpp.

◆ print()

ostream & orbiter::layer2_discreta::unipoly::print ( std::ostream &  )
virtual

Reimplemented from orbiter::layer2_discreta::Vector.

Definition at line 87 of file unipoly.cpp.

◆ print_as_vector()

ostream & orbiter::layer2_discreta::unipoly::print_as_vector ( std::ostream &  ost)

Definition at line 171 of file unipoly.cpp.

◆ s_virtual_kind()

kind orbiter::layer2_discreta::unipoly::s_virtual_kind ( )
virtual

Reimplemented from orbiter::layer2_discreta::Vector.

Definition at line 64 of file unipoly.cpp.

◆ settype_unipoly()

void orbiter::layer2_discreta::unipoly::settype_unipoly ( )

Definition at line 43 of file unipoly.cpp.

◆ Singer()

void orbiter::layer2_discreta::unipoly::Singer ( int  p,
int  f,
int  verbose_level 
)

Definition at line 564 of file unipoly.cpp.

◆ singer_candidate()

void orbiter::layer2_discreta::unipoly::singer_candidate ( int  p,
int  f,
int  b,
int  a 
)

Definition at line 555 of file unipoly.cpp.

◆ weight_enumerator_MDS_code()

void orbiter::layer2_discreta::unipoly::weight_enumerator_MDS_code ( int  n,
int  k,
int  q,
int  verbose_level 
)

Definition at line 938 of file unipoly.cpp.

◆ x()

void orbiter::layer2_discreta::unipoly::x ( )

Definition at line 294 of file unipoly.cpp.

◆ x_to_the_i()

void orbiter::layer2_discreta::unipoly::x_to_the_i ( int  i)

Definition at line 301 of file unipoly.cpp.

◆ Xnm1()

void orbiter::layer2_discreta::unipoly::Xnm1 ( int  n)

Definition at line 864 of file unipoly.cpp.

◆ zero()

void orbiter::layer2_discreta::unipoly::zero ( )
virtual

Reimplemented from orbiter::layer2_discreta::discreta_base.

Definition at line 288 of file unipoly.cpp.


The documentation for this class was generated from the following files: