Orbiter 2022
Combinatorial Objects
orbiter::layer1_foundations Namespace Reference

algebra, combinatorics and graph theory, geometry, linear algebra, number theory, data structures, solvers, graphics; no group actions More...

Namespaces

namespace  algebra
 Algebraic algorithms, generators for certain classes of groups, conjugacy classes in the general linear group.
 
namespace  algebraic_geometry
 Cubic surfaces, quartic curves, Schlaefli labelings, Eckardt points, Del Pezzo surfaces, Clebsch maps.
 
namespace  coding_theory
 Coding theory, MacWilliams, weight enumerators, cyclic codes, BCH codes, Reed-Muller codes, etc.
 
namespace  combinatorics
 Combinatorics: boolean functions, combinatorial objects, classification, tactical decompositions, various puzzles.
 
namespace  cryptography
 Cryptography: Vigenere, Ceasar, RSA, primality tests, elliptic curve, NTRU, square roots modulo n.
 
namespace  data_structures
 Basic data structures used throughout the project.
 
namespace  expression_parser
 Expression parser, used to create an abstract syntax tree (AST) of a well-formed algebraic expression.
 
namespace  field_theory
 Finite fields, n-th roots, subfields, trace and norm.
 
namespace  geometry
 Projective geometry over a finite field and related topics.
 
namespace  geometry_builder
 Construction and classification of configurations, linear spaces, and designs.
 
namespace  graph_theory
 graph theory: constructions, clique finding, drawing
 
namespace  graphics
 graphical output interfaces: 2D graphics (BMP, TikZ, Metapost) and 3D graphics (povray)
 
namespace  linear_algebra
 Linear algebra and representation theory.
 
namespace  number_theory
 Number theory, cyclotomic sets, elliptic curves, number theoretic transform (NTT)
 
namespace  orbiter_kernel_system
 The Orbiter kernel. It contains functions related to memory management, os-interface, file-io etc.
 
namespace  orthogonal_geometry
 orthogonal geometry: quadrics, BLT sets
 
namespace  ring_theory
 Ring theory, including polynomial rings and longinteger arithmetic.
 
namespace  solvers
 Diophantine systems of equations. Solvers Possolve and Dancing Links.
 

Classes

class  function_command
 an individual command which is part of a function expressed in reverse polish notation More...
 
class  function_polish
 a set of functions in reverse polish notation More...
 
class  function_polish_description
 description of a function in reverse polish notation from the command line More...
 
class  knowledge_base
 provides access to pre-computed combinatorial data in encoded form More...
 
class  numerics
 numerical functions, mostly concerned with double More...
 

Typedefs

typedef enum monomial_ordering_type monomial_ordering_type
 
typedef enum diophant_equation_type diophant_equation_type
 
typedef enum symbol_table_object_type symbol_table_object_type
 

Enumerations

enum  monomial_ordering_type { t_LEX , t_PART }
 
enum  object_with_canonical_form_type {
  t_PTS , t_LNS , t_PNL , t_PAC ,
  t_INC , t_LS
}
 
enum  diophant_equation_type { t_EQ , t_LE , t_INT , t_ZOR }
 
enum  symbol_table_object_type {
  t_nothing_object , t_finite_field , t_any_group , t_linear_group ,
  t_permutation_group , t_modified_group , t_projective_space , t_orthogonal_space ,
  t_formula , t_cubic_surface , t_quartic_curve , t_classification_of_cubic_surfaces_with_double_sixes ,
  t_collection , t_geometric_object , t_graph , t_spread_table ,
  t_packing_was , t_packing_was_choose_fixed_points , t_packing_long_orbits , t_graph_classify ,
  t_diophant , t_design , t_design_table , t_large_set_was ,
  t_set , t_vector , t_combinatorial_objects , t_geometry_builder ,
  t_action , t_poset , t_poset_classification
}
 
enum  TokenType {
  NONE , NAME , NUMBER , END ,
  PLUS ='+' , MINUS ='-' , MULTIPLY ='*' , DIVIDE ='/' ,
  ASSIGN ='=' , LHPAREN ='(' , RHPAREN =')' , COMMA =',' ,
  NOT ='!' , LT ='<' , GT ='>' , LE ,
  GE , EQ , NE , AND ,
  OR , ASSIGN_ADD , ASSIGN_SUB , ASSIGN_MUL ,
  ASSIGN_DIV
}
 
enum  syntax_tree_node_operation_type { operation_type_nothing , operation_type_mult , operation_type_add }
 
enum  data_input_stream_type {
  t_data_input_stream_unknown , t_data_input_stream_set_of_points , t_data_input_stream_set_of_lines , t_data_input_stream_set_of_points_and_lines ,
  t_data_input_stream_set_of_packing , t_data_input_stream_file_of_points , t_data_input_stream_file_of_lines , t_data_input_stream_file_of_packings ,
  t_data_input_stream_file_of_packings_through_spread_table , t_data_input_stream_file_of_point_set , t_data_input_stream_file_of_designs , t_data_input_stream_file_of_incidence_geometries ,
  t_data_input_stream_file_of_incidence_geometries_by_row_ranks , t_data_input_stream_incidence_geometry , t_data_input_stream_incidence_geometry_by_row_ranks , t_data_input_stream_from_parallel_search
}
 

Detailed Description

algebra, combinatorics and graph theory, geometry, linear algebra, number theory, data structures, solvers, graphics; no group actions

Typedef Documentation

◆ diophant_equation_type

◆ monomial_ordering_type

◆ symbol_table_object_type

Enumeration Type Documentation

◆ data_input_stream_type

Enumerator
t_data_input_stream_unknown 
t_data_input_stream_set_of_points 
t_data_input_stream_set_of_lines 
t_data_input_stream_set_of_points_and_lines 
t_data_input_stream_set_of_packing 
t_data_input_stream_file_of_points 
t_data_input_stream_file_of_lines 
t_data_input_stream_file_of_packings 
t_data_input_stream_file_of_packings_through_spread_table 
t_data_input_stream_file_of_point_set 
t_data_input_stream_file_of_designs 
t_data_input_stream_file_of_incidence_geometries 
t_data_input_stream_file_of_incidence_geometries_by_row_ranks 
t_data_input_stream_incidence_geometry 
t_data_input_stream_incidence_geometry_by_row_ranks 
t_data_input_stream_from_parallel_search 

Definition at line 834 of file foundations.h.

◆ diophant_equation_type

Enumerator
t_EQ 
t_LE 
t_INT 
t_ZOR 

Definition at line 743 of file foundations.h.

◆ monomial_ordering_type

Enumerator
t_LEX 
t_PART 

Definition at line 728 of file foundations.h.

◆ object_with_canonical_form_type

Enumerator
t_PTS 
t_LNS 
t_PNL 
t_PAC 
t_INC 
t_LS 

Definition at line 734 of file foundations.h.

◆ symbol_table_object_type

Enumerator
t_nothing_object 
t_finite_field 
t_any_group 
t_linear_group 
t_permutation_group 
t_modified_group 
t_projective_space 
t_orthogonal_space 
t_formula 
t_cubic_surface 
t_quartic_curve 
t_classification_of_cubic_surfaces_with_double_sixes 
t_collection 
t_geometric_object 
t_graph 
t_spread_table 
t_packing_was 
t_packing_was_choose_fixed_points 
t_packing_long_orbits 
t_graph_classify 
t_diophant 
t_design 
t_design_table 
t_large_set_was 
t_set 
t_vector 
t_combinatorial_objects 
t_geometry_builder 
t_action 
t_poset 
t_poset_classification 

Definition at line 750 of file foundations.h.

◆ syntax_tree_node_operation_type

Enumerator
operation_type_nothing 
operation_type_mult 
operation_type_add 

Definition at line 826 of file foundations.h.

◆ TokenType

Enumerator
NONE 
NAME 
NUMBER 
END 
PLUS 
MINUS 
MULTIPLY 
DIVIDE 
ASSIGN 
LHPAREN 
RHPAREN 
COMMA 
NOT 
LT 
GT 
LE 
GE 
EQ 
NE 
AND 
OR 
ASSIGN_ADD 
ASSIGN_SUB 
ASSIGN_MUL 
ASSIGN_DIV 

Definition at line 791 of file foundations.h.