Mescal
Loading...
Searching...
No Matches
monoid_orbits.h
Go to the documentation of this file.
1
6#ifndef MONOID_ORBITS_H
7#define MONOID_ORBITS_H
8
9#include "monoid.h"
10#include "monoid_ideals.h"
11#include "monoid_sub.h"
12#include "sep_group.h"
13
14 /* __ __ _ _ ___ _ _ _ */
15 /* | \/ | ___ _ __ ___ (_) __| |___ _ / _ \ _ __| |__ (_) |_ ___ */
16 /* | |\/| |/ _ \| '_ \ / _ \| |/ _` / __(_) | | | | '__| '_ \| | __/ __| */
17 /* | | | | (_) | | | | (_) | | (_| \__ \_ | |_| | | | |_) | | |_\__ \ */
18 /* |_| |_|\___/|_| |_|\___/|_|\__,_|___(_) \___/|_| |_.__/|_|\__|___/ */
19
20
21//#define DEBUG_ORBITS
22
31typedef struct {
35 sub_level level;
36} orbits;
37
38/*********************/
39/* General functions */
40/*********************/
41
50);
51
60);
61
62
63
64/*************/
65/* DD-orbits */
66/*************/
67
79 uint
80);
81
96);
97
98
99
100/*************/
101/* G⁺-orbits */
102/*************/
103
116 uint
117);
118
133);
134
135
136
137/********************************************/
138/* PT-orbits (which are also the AT-orbits) */
139/********************************************/
140
141
153 uint,
154 sub_level
155);
156
171 sub_level
172);
173
174
175
176/******************/
177/* BPol(G)-orbits */
178/******************/
179
180
181
198 dequeue*,
199 dequeue*
200);
201
216 dequeue*,
217 uint
218);
219
220
221
222
223
237 uint,
238 sub_level,
239 basis
240);
241
257 sub_level,
258 basis
259);
260
261
262
263/*******************/
264/* BPol(G⁺)-orbits */
265/*******************/
266
289 uint,
290 dequeue*,
291 bool**,
292 sub_level
293);
294
295
312 uint e,
313 sub_level level
314);
315
316
336 uint,
337 sub_level,
338 basis
339);
340
356 sub_level,
357 basis
358);
359
360
361#endif
Implementation of morphisms into finite monoids.
Computations of ideals in monoids.
subsemi * compute_one_bpddorb(morphism *M, uint e, sub_level level)
Computes the BPol(DD)-orbit associated to a given idempotent.
Definition monoid_orbits.c:616
orbits * compute_bpgplusorbits(morphism *, sub_level, basis)
Initialization of the BPol(G⁺)-orbits set.
Definition monoid_orbits.c:937
subsemi * compute_one_gplusorb(subsemi *, uint)
Computes the G⁺-orbit associated to a given idempotent for group class G. The G-kernel needs to be gi...
Definition monoid_orbits.c:106
uint ** compute_jmult(morphism *, dequeue *, dequeue *)
Given a monoid, computes the partial multiplication table between all elements within a subset and al...
orbits * compute_gplusorbits(subsemi *)
Initialization of the G⁺-orbits set.
Definition monoid_orbits.c:163
void delete_orbits(orbits *)
Release of an orbits set.
Definition monoid_orbits.c:16
subsemi * compute_one_bpgplusorb(morphism *, uint, sub_level, basis)
Computes the BPol(G⁺)-orbit associated to a given idempotent for group class G.
Definition monoid_orbits.c:792
bool ** compute_polgpairs(subsemi *, dequeue *, uint)
Computes a subset of the Pol(G)-pairs associated to a given morphism. The comutation depends on the G...
subsemi * compute_one_ddorb(morphism *, uint)
Computation of the DD-orbit associated to a given idempotent (local monoid).
Definition monoid_orbits.c:36
orbits * init_orbits(morphism *)
Initialization of an orbits set.
Definition monoid_orbits.c:6
orbits * compute_bpgorbits(morphism *M, sub_level, basis)
Initialization of the BPol(G)-orbits set.
Definition monoid_orbits.c:491
subsemi * compute_one_ptorb(morphism *, uint, sub_level)
Computes the PT-orbit associated to a given idempotent.
Definition monoid_orbits.c:185
orbits * compute_ddorbits(morphism *)
Initialization of the DD-orbits set.
Definition monoid_orbits.c:87
subsemi * compute_one_orbit_from_pairs(morphism *, uint, dequeue *, bool **, sub_level)
Given an idempotent e, computes the associated BPol(C)-orbit from a relevant subset of the Pol(C)-pai...
Definition monoid_orbits.c:516
orbits * compute_ptorbits(morphism *, sub_level)
Initialization of the PT-orbits set.
Definition monoid_orbits.c:280
subsemi * compute_one_bpgorb(morphism *M, uint, sub_level, basis)
Computes the BPol(G)-orbit associated to a given idempotent for group class G. The G-kernel needs to ...
Definition monoid_orbits.c:353
Separation by group languages.
Type used to represent a dequeue of unsigned integers.
Definition type_dequeue.h:26
The type used to represent a morphism into a finite monoid.
Definition monoid.h:91
Type used to represent C-orbits of a morphism.
Definition monoid_orbits.h:31
morphism * original
The original morphism.
Definition monoid_orbits.h:32
sub_level level
The computation level used for the orbits.
Definition monoid_orbits.h:35
subsemi ** orbits
Array of orbits indexed by the regular J-classes. A cell has the NULL value if the orbit of the corre...
Definition monoid_orbits.h:33
uint nb_computed
The number of computed orbits (only those required for tests are computed, this depends on the class ...
Definition monoid_orbits.h:34
Type used to represent a subsemigroup and its Green relations.
Definition monoid_sub.h:35