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

DISCRETA class for partitions of an integer. More...

#include <discreta.h>

Inheritance diagram for orbiter::layer2_discreta::number_partition:
Collaboration diagram for orbiter::layer2_discreta::number_partition:

Public Member Functions

 number_partition ()
 
 number_partition (int n)
 
void allocate_number_partition ()
 
 number_partition (const discreta_base &x)
 
number_partitionoperator= (const discreta_base &x)
 
void * operator new (size_t, void *p)
 
void settype_number_partition ()
 
kind s_virtual_kind ()
 
 ~number_partition ()
 
void freeself_number_partition ()
 
void copyobject_to (discreta_base &x)
 
std::ostream & print (std::ostream &)
 
int & s_type ()
 
Vectors_self ()
 
void m_l (int l)
 
int s_l ()
 
int & s_i (int i)
 
int & operator[] (int i)
 
void first (int n)
 
int next ()
 
int next_exponent ()
 
int next_vector ()
 
int first_into_k_parts (int n, int k)
 
int next_into_k_parts (int n, int k)
 
int first_into_at_most_k_parts (int n, int k)
 
int next_into_at_most_k_parts (int n, int k)
 
int nb_parts ()
 
void conjugate ()
 
void type (number_partition &q)
 
void multinomial (discreta_base &res, int f_v)
 
void multinomial_ordered (discreta_base &res, int f_v)
 
int sum_of_decreased_parts ()
 
- 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 partitions of an integer.

Definition at line 1309 of file discreta.h.

Constructor & Destructor Documentation

◆ number_partition() [1/3]

orbiter::layer2_discreta::number_partition::number_partition ( )

Definition at line 21 of file number_partition.cpp.

◆ number_partition() [2/3]

orbiter::layer2_discreta::number_partition::number_partition ( int  n)

Definition at line 27 of file number_partition.cpp.

◆ number_partition() [3/3]

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

Definition at line 45 of file number_partition.cpp.

◆ ~number_partition()

orbiter::layer2_discreta::number_partition::~number_partition ( )

Definition at line 70 of file number_partition.cpp.

Member Function Documentation

◆ allocate_number_partition()

void orbiter::layer2_discreta::number_partition::allocate_number_partition ( )

Definition at line 35 of file number_partition.cpp.

◆ conjugate()

void orbiter::layer2_discreta::number_partition::conjugate ( )

Definition at line 248 of file number_partition.cpp.

◆ copyobject_to()

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

Reimplemented from orbiter::layer2_discreta::Vector.

Definition at line 86 of file number_partition.cpp.

◆ first()

void orbiter::layer2_discreta::number_partition::first ( int  n)

Definition at line 139 of file number_partition.cpp.

◆ first_into_at_most_k_parts()

int orbiter::layer2_discreta::number_partition::first_into_at_most_k_parts ( int  n,
int  k 
)

Definition at line 211 of file number_partition.cpp.

◆ first_into_k_parts()

int orbiter::layer2_discreta::number_partition::first_into_k_parts ( int  n,
int  k 
)

Definition at line 186 of file number_partition.cpp.

◆ freeself_number_partition()

void orbiter::layer2_discreta::number_partition::freeself_number_partition ( )

Definition at line 75 of file number_partition.cpp.

◆ m_l()

void orbiter::layer2_discreta::number_partition::m_l ( int  l)
inline

Definition at line 1331 of file discreta.h.

◆ multinomial()

void orbiter::layer2_discreta::number_partition::multinomial ( discreta_base res,
int  f_v 
)

Definition at line 284 of file number_partition.cpp.

◆ multinomial_ordered()

void orbiter::layer2_discreta::number_partition::multinomial_ordered ( discreta_base res,
int  f_v 
)

Definition at line 311 of file number_partition.cpp.

◆ nb_parts()

int orbiter::layer2_discreta::number_partition::nb_parts ( )

Definition at line 236 of file number_partition.cpp.

◆ next()

int orbiter::layer2_discreta::number_partition::next ( )

Definition at line 148 of file number_partition.cpp.

◆ next_exponent()

int orbiter::layer2_discreta::number_partition::next_exponent ( )

Definition at line 157 of file number_partition.cpp.

◆ next_into_at_most_k_parts()

int orbiter::layer2_discreta::number_partition::next_into_at_most_k_parts ( int  n,
int  k 
)

Definition at line 224 of file number_partition.cpp.

◆ next_into_k_parts()

int orbiter::layer2_discreta::number_partition::next_into_k_parts ( int  n,
int  k 
)

Definition at line 199 of file number_partition.cpp.

◆ next_vector()

int orbiter::layer2_discreta::number_partition::next_vector ( )

Definition at line 180 of file number_partition.cpp.

◆ operator new()

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

Definition at line 1320 of file discreta.h.

◆ operator=()

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

Definition at line 52 of file number_partition.cpp.

◆ operator[]()

int & orbiter::layer2_discreta::number_partition::operator[] ( int  i)
inline

Definition at line 1334 of file discreta.h.

◆ print()

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

Reimplemented from orbiter::layer2_discreta::Vector.

Definition at line 99 of file number_partition.cpp.

◆ s_i()

int & orbiter::layer2_discreta::number_partition::s_i ( int  i)
inline

Definition at line 1333 of file discreta.h.

◆ s_l()

int orbiter::layer2_discreta::number_partition::s_l ( )
inline

Definition at line 1332 of file discreta.h.

◆ s_self()

Vector & orbiter::layer2_discreta::number_partition::s_self ( )
inline

Definition at line 1329 of file discreta.h.

◆ s_type()

int & orbiter::layer2_discreta::number_partition::s_type ( )
inline

Definition at line 1328 of file discreta.h.

◆ s_virtual_kind()

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

Reimplemented from orbiter::layer2_discreta::Vector.

Definition at line 81 of file number_partition.cpp.

◆ settype_number_partition()

void orbiter::layer2_discreta::number_partition::settype_number_partition ( )

Definition at line 60 of file number_partition.cpp.

◆ sum_of_decreased_parts()

int orbiter::layer2_discreta::number_partition::sum_of_decreased_parts ( )

Definition at line 326 of file number_partition.cpp.

◆ type()

void orbiter::layer2_discreta::number_partition::type ( number_partition q)

Definition at line 269 of file number_partition.cpp.


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