Orbiter 2022
Combinatorial Objects
action_by_right_multiplication.cpp
Go to the documentation of this file.
1// action_by_right_multiplication.cpp
2//
3// Anton Betten
4// January 10, 2009
5
7#include "group_actions.h"
8
9using namespace std;
10
11
12namespace orbiter {
13namespace layer3_group_actions {
14namespace induced_actions {
15
16
18{
19 null();
20}
21
23{
24 free();
25}
26
28{
29 Base_group = NULL;
30 Elt1 = NULL;
31 Elt2 = NULL;
32}
33
35{
36
37 if (Base_group && f_ownership) {
38 delete Base_group;
39 }
40 if (Elt1) {
42 }
43 if (Elt2) {
45 }
46 null();
47}
48
49
50void action_by_right_multiplication::init(groups::sims *Base_group, int f_ownership, int verbose_level)
51{
52 int f_v = (verbose_level >= 1);
55
56 if (f_v) {
57 cout << "action_by_right_multiplication::init" << endl;
58 }
61 A = Base_group->A;
63 goi = go.as_int();
64 if (f_v) {
65 cout << "action_by_right_multiplication::init we are acting on a group of order " << goi << endl;
66 }
69}
70
72 actions::action *A, int *Elt, long int i, int verbose_level)
73{
74 int f_v = (verbose_level >= 1);
75 long int j;
76
77 if (f_v) {
78 cout << "action_by_right_multiplication::compute_image i = " << i << endl;
79 }
80 if (i < 0 || i >= goi) {
81 cout << "action_by_right_multiplication::compute_image i = " << i << " out of range" << endl;
82 exit(1);
83 }
85 A->mult(Elt1, Elt, Elt2);
87 if (f_v) {
88 cout << "action_by_right_multiplication::compute_image image is " << j << endl;
89 }
90 return j;
91}
92
93}}}
94
95
a class to represent arbitrary precision integers
Definition: ring_theory.h:366
a permutation group in a fixed action.
Definition: actions.h:99
void mult(void *a, void *b, void *ab)
Definition: action_cb.cpp:81
a permutation group represented via a stabilizer chain
Definition: groups.h:1273
void group_order(ring_theory::longinteger_object &go)
Definition: sims.cpp:951
void element_unrank_lint(long int rk, int *Elt, int verbose_level)
Definition: sims.cpp:1326
void init(groups::sims *Base_group, int f_ownership, int verbose_level)
long int compute_image(actions::action *A, int *Elt, long int i, int verbose_level)
#define FREE_int(p)
Definition: foundations.h:640
#define NEW_int(n)
Definition: foundations.h:625
the orbiter library for the classification of combinatorial objects