Permutation group C18000 acting on a set of cardinality 18000
Order = 18000 = 2^4 * 3^2 * 5^3
Permutation group C15 acting on a set of cardinality 15
Order = 15 = 3 * 5
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
Abelian Group isomorphic to Z/15
Defined on 1 generator
Relations:
15*A15.1 = 0
true
Abelian Group isomorphic to Z/13
Defined on 1 generator
Relations:
13*A13.1 = 0
Permutation group C13 acting on a set of cardinality 13
Order = 13
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
true
true
可以从下面看自同构,陪集分解,分类关系,循环群生成元可映射到比群阶还大,从头再循环
C24:=CyclicGroup(24);
C24;
h := hom< C24 -> C24 | g :-> g^3 >;
forall{ <c, d> : c, d in C24 | h(c * d) eq h(c) * h(d) };
im := h(C24);
im;
h := hom< C24 -> C24 | g :-> g^4 >;
forall{ <c, d> : c, d in C24 | h(c * d) eq h(c) * h(d) };
im := h(C24);
im;
h := hom< C24 -> C24 | g :-> g^6 >;
forall{ <c, d> : c, d in C24 | h(c * d) eq h(c) * h(d) };
im := h(C24);
im;
h := hom< C24 -> C24 | g :-> g^12 >;
forall{ <c, d> : c, d in C24 | h(c * d) eq h(c) * h(d) };
im := h(C24);
im;
h := hom< C24 -> C24 | g :-> g^5 >;
forall{ <c, d> : c, d in C24 | h(c * d) eq h(c) * h(d) };
im := h(C24);
im;
h := hom< C24 -> C24 | g :-> g^7 >;
forall{ <c, d> : c, d in C24 | h(c * d) eq h(c) * h(d) };
im := h(C24);
im;
h := hom< C24 -> C24 | g :-> g^24 >;
forall{ <c, d> : c, d in C24 | h(c * d) eq h(c) * h(d) };
im := h(C24);
im;
h := hom< C24 -> C24 | g :-> g^29 >;
forall{ <c, d> : c, d in C24 | h(c * d) eq h(c) * h(d) };
im := h(C24);
im;
Permutation group C24 acting on a set of cardinality 24
Order = 24 = 2^3 * 3
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 23, 24)
true
Permutation group im acting on a set of cardinality 24
(1, 4, 7, 10, 13, 16, 19, 22)(2, 5, 8, 11, 14, 17, 20, 23)(3, 6, 9, 12, 15,
18, 21, 24)
true
Permutation group im acting on a set of cardinality 24
(1, 5, 9, 13, 17, 21)(2, 6, 10, 14, 18, 22)(3, 7, 11, 15, 19, 23)(4, 8, 12,
16, 20, 24)
true
Permutation group im acting on a set of cardinality 24
(1, 7, 13, 19)(2, 8, 14, 20)(3, 9, 15, 21)(4, 10, 16, 22)(5, 11, 17, 23)(6,
12, 18, 24)
true
Permutation group im acting on a set of cardinality 24
(1, 13)(2, 14)(3, 15)(4, 16)(5, 17)(6, 18)(7, 19)(8, 20)(9, 21)(10, 22)(11,
23)(12, 24)
true
Permutation group im acting on a set of cardinality 24
(1, 6, 11, 16, 21, 2, 7, 12, 17, 22, 3, 8, 13, 18, 23, 4, 9, 14, 19, 24, 5,
10, 15, 20)
true
Permutation group im acting on a set of cardinality 24
(1, 8, 15, 22, 5, 12, 19, 2, 9, 16, 23, 6, 13, 20, 3, 10, 17, 24, 7, 14, 21,
4, 11, 18)
true
Permutation group im acting on a set of cardinality 24
true
Permutation group im acting on a set of cardinality 24
(1, 6, 11, 16, 21, 2, 7, 12, 17, 22, 3, 8, 13, 18, 23, 4, 9, 14, 19, 24, 5,
10, 15, 20)
有六个生成元在的生成元之间有很怪限制阿群结构的Z群同构:几种限制方式
G := AbelianGroup< h, i, j, k ,m,n| 7*h*i*n*3*m, k*6*i*m, 2*j, k*h ,m*j*i>;
G;
Abelian Group isomorphic to Z/12 + Z
Defined on 2 generators
Relations:
12*G.1 = 0
GrpGPC : G2 of infinite order on 6 PC-generators
PC-Relations:
h^11 = s,
i^100 = s,
g^44 = s,
k^3 = s,
m^111 = s
Q<s,t,u,k,v,m>, h := Group< s, t, u, k,v,m|
> t^2, u^7, s^2 = t^s = t, u^s = u^16, u^t = u ,m^111=k^3=v^1000>;
> S := sub< Q | t*s^2, u^4, m^111,k^3,s,v>;
S;
Finitely presented group S on 6 generators
Generators as words in group Q
S.1 = t * s^2
S.2 = u^4
S.3 = m^111
S.4 = k^3
S.5 = s
S.6 = v
给定限制的子群结构:
G<[x]>, f := AbelianGroup< h, i, j, k ,m,n| 117*h*i*n*3*m, k*6*i*m, 19*j, k*h ,6*m*j*i>;
G;
> T, n := quo< G | x[1] + 2*x[1] + 24*x[2], 16*x[2] >;
> T;
n(x);
n(sub< G | x[1] + x[2] + 110*x[1] >);
Abelian Group isomorphic to Z/57 + Z
Defined on 2 generators
Relations:
57*x[1] = 0
Abelian Group isomorphic to Z/24
Defined on 1 generator
Relations:
24*T.1 = 0
[
8*T.1,
9*T.1
]
Abelian Group isomorphic to Z/8
Defined on 1 generator in supergroup T:
$.1 = 3*T.1
Relations:
8*$.1 = 0
Conjugacy classes of subgroups
------------------------------
[ 1] Order 1 Length 1
Permutation group acting on a set of cardinality 8
Order = 1
[ 2] Order 2 Length 1
Permutation group acting on a set of cardinality 8
Order = 2
(1, 5)(2, 6)(3, 7)(4, 8)
[ 3] Order 2 Length 4
Permutation group acting on a set of cardinality 8
Order = 2
(1, 2)(3, 8)(4, 7)(5, 6)
[ 4] Order 2 Length 4
Permutation group acting on a set of cardinality 8
Order = 2
(2, 8)(3, 7)(4, 6)
[ 5] Order 4 Length 1
Permutation group acting on a set of cardinality 8
Order = 4 = 2^2
(1, 7, 5, 3)(2, 8, 6, 4)
(1, 5)(2, 6)(3, 7)(4, 8)
[ 6] Order 4 Length 2
Permutation group acting on a set of cardinality 8
Order = 4 = 2^2
(2, 8)(3, 7)(4, 6)
(1, 5)(2, 6)(3, 7)(4, 8)
[ 7] Order 4 Length 2
Permutation group acting on a set of cardinality 8
Order = 4 = 2^2
(1, 2)(3, 8)(4, 7)(5, 6)
(1, 5)(2, 6)(3, 7)(4, 8)
[ 8] Order 8 Length 1
Permutation group acting on a set of cardinality 8
Order = 8 = 2^3
(2, 8)(3, 7)(4, 6)
(1, 7, 5, 3)(2, 8, 6, 4)
(1, 5)(2, 6)(3, 7)(4, 8)
[ 9] Order 8 Length 1
Permutation group acting on a set of cardinality 8
Order = 8 = 2^3
(1, 2)(3, 8)(4, 7)(5, 6)
(1, 7, 5, 3)(2, 8, 6, 4)
(1, 5)(2, 6)(3, 7)(4, 8)
[10] Order 8 Length 1
Permutation group acting on a set of cardinality 8
Order = 8 = 2^3
(1, 2, 3, 4, 5, 6, 7, 8)
(1, 7, 5, 3)(2, 8, 6, 4)
(1, 5)(2, 6)(3, 7)(4, 8)
[11] Order 16 Length 1
Permutation group acting on a set of cardinality 8
Order = 16 = 2^4
(2, 8)(3, 7)(4, 6)
(1, 2, 3, 4, 5, 6, 7, 8)
(1, 7, 5, 3)(2, 8, 6, 4)
(1, 5)(2, 6)(3, 7)(4, 8)
Permutation group S2 acting on a set of cardinality 7
Order = 14 = 2 * 7
(1, 2, 3, 4, 5, 6, 7)
(1, 7)(2, 6)(3, 5)
Conjugacy classes of subgroups
------------------------------
[1] Order 1 Length 1
Permutation group acting on a set of cardinality 7
Order = 1
[2] Order 2 Length 7
Permutation group acting on a set of cardinality 7
Order = 2
(1, 7)(2, 6)(3, 5)
[3] Order 7 Length 1
Permutation group acting on a set of cardinality 7
Order = 7
(1, 6, 4, 2, 7, 5, 3)
[4] Order 14 Length 1
Permutation group acting on a set of cardinality 7
Order = 14 = 2 * 7
(1, 7)(2, 6)(3, 5)
(1, 6, 4, 2, 7, 5, 3)
是那26个散单群吗?
G := AbelianGroup< h, i, j, k ,m,n| 7*h*i*n*3*m, k*6*i*m, 2*j, k*h ,m*j*i>;
G;
IsAbelian(G);
IsSimple(G);
Abelian Group isomorphic to Z/12 + Z
Defined on 2 generators
Relations:
12*G.1 = 0
true
false
生成西罗子群判断是否是单群或幂零群,可解群,导出群
G := AbelianGroup< h, i, j, k ,m,n| 7*h*i*n*3*m, k*6*i*m, 2*j, k*h ,m*j*i>;
G;
IsAbelian(G);
IsSimple(G);
S6 := SylowSubgroup(G, 11);
S6;
IsSimple(S6);
IsNilpotent(S6);
IsSoluble(S6);
DerivedGroup(G);
Abelian Group isomorphic to Z/12 + Z
Defined on 2 generators
Relations:
12*G.1 = 0
true
false
Abelian Group of order 1
false
true
true
Abelian Group of order 1
导出群列
D := DerivedSeries(G);
D1 := DerivedSeries(S6);
D;
D1;
Abelian Group of order 1
[
Abelian Group isomorphic to Z/12 + Z
Defined on 2 generators
Relations:
12*G.1 = 0,
Abelian Group of order 1
]
[
Abelian Group of order 1
[
Abelian Group isomorphic to Z/12 + Z
Defined on 2 generators
Relations:
12*G.1 = 0,
Abelian Group of order 1
]
>> S8 := SubnormalSeries(S6, G);
^
Runtime error in 'SubnormalSeries': Argument is not a subgroup
>> S8;
^
User error: Identifier 'S8' has not been declared or assigned
[ 12, 0 ]
26个散单群里的铃木群阶:
http://brauer.maths.qmul.ac.uk/Atlas/v3/spor/
Mathieu groups
F<w> := FiniteField(8);
> V := VectorSpace(F, 4);
> G := SuzukiGroup(V);
> G;
Order(G);
> CharacteristicSubgroups := function(G)
> local A, outers, NS, CS;
> A := AutomorphismGroup(G);
> outers := [ a : a in Generators(A) | not IsInner(a) ];
> NS := NormalSubgroups(G);
> CS := [n : n in NS | forall{a: a in outers| a(n`subgroup) eq n`subgroup }];
> return CS;
> end function;
> CS := CharacteristicSubgroups(DirectProduct(Alt(4),Alt(4)));
> [c`order: c in CS];
Symbol Description Category
--------------------------------------------------
Z ring of integers RngInt
Z/mZ ring of residue classes RngRes
R[x] univariate poly. ring RngUPol
F[x]/f(x) univ. poly. factor ring RngUPolRes
R[x_1,...,x_m] multivariate poly. ring RngMPol
R[[x]] power series ring RngSer
O order in a number field RngOrd
\Z_p p-adic ring RngPad
R_m local ring RngLoc
V valuation ring RngVal
--------------------------------------------------
Q rational field FldRat
F_q finite field FldFin
F(x_1,...,x_m) rational function field FldFun
F((x)) field of Laurent series FldPow
Q(sqrt(D)) quadratic number field FldQuad
Q(zeta_n) cyclotomic number field FldCyc
Q(alpha) number field FldNum
Q_p p-adic field FldPad
Q_p(alpha) local field FldLoc
R real field FldRe
C complex field FldCom
+ n : RngIntElt -> RngIntElt
- n : RngIntElt -> RngIntElt
m + n : RngIntElt, RngIntElt -> RngIntElt
m - n : RngIntElt, RngIntElt -> RngIntElt
m * n : RngIntElt, RngIntElt -> RngIntElt
n ^ k : RngIntElt, RngIntElt -> RngIntElt
m / n : RngIntElt, RngIntElt -> RngIntElt
m +:= n : RngIntElt, RngIntElt -> RngIntElt
m -:= n : RngIntElt, RngIntElt -> RngIntElt
m *:= n : RngIntElt, RngIntElt -> RngIntElt
m /:= n : RngIntElt, RngIntElt -> RngIntElt
m ^:= k : RngIntElt, RngIntElt -> RngIntElt
n div:= m : RngIntElt, RngIntElt -> RngIntElt
n mod:= m : RngIntElt, RngIntElt -> RngIntElt
n div m : RngIntElt, RngIntElt -> RngIntElt
AbsoluteValue(n) : RngIntElt -> RngIntElt
Abs(n) : RngIntElt -> RngIntElt
Absolute value of the integer n.
Ilog2(n) : RngIntElt -> RngIntElt
The integral part of the logarithm to the base two of the positive integer n.
Ilog(b, n) : RngIntElt, RngIntElt -> RngIntElt
The integral part of the logarithm to the base b of the positive integer n i.e., the largest integer k such that bk ≤n. The integer b must be greater than or equal to two.
Quotrem(m, n) : RngIntElt, RngIntElt -> RngIntElt, RngIntElt
Returns both the quotient q and remainder r obtained upon dividing the integer m by the integer n, that is, m = q.n + r, where 0 ≤r < n if n>0 and n<r≤0 if n<0.
Valuation(x, p) : RngIntElt, RngIntElt -> RngIntElt, RngIntElt
The valuation of the integer x at the prime p. This is the largest integer v for which pv divides x. If x = 0 then v = ∞. The optional second return value is the integer u such that x = pv u.
Iroot(a, n) : RngIntElt, RngIntElt -> RngIntElt
Given a positive integer a, return the integer b= ⌊root n of a⌋, i.e. the integral part of the n-th root of a. To obtain the actual root (as a real number), a must e coerced into a real field and the function Root applied.
Sign(n) : RngIntElt -> RngIntElt
Returns -1, 0 or 1 depending upon whether the integer n is negative, zero or positive, respectively.
Ceiling(n) : RngIntElt -> RngIntElt
The ceiling of the integer n, that is, n itself.
Floor(n) : RngIntElt -> RngIntElt
The floor of the integer n, that is, n itself.
Round(n) : RngIntElt -> RngIntElt
This function rounds the integer n to itself.
Truncate(n) : RngIntElt -> RngIntElt
This function returns the integer truncation of the integer n, that is, n itself.
SquarefreeFactorization(n) : RngIntElt -> RngIntElt, RngIntElt
Given a non-negative integer n, return a squarefree integer x as well as a positive integer y, such that n=xy2.
Isqrt(n) : RngIntElt -> RngIntElt
Lcm(s, t) : RngIntEltFact, RngIntEltFact -> RngIntEltFact
Gcd(s, t) : RngIntEltFact, RngIntEltFact -> RngIntEltFact
SquarefreeFactorization(f) : RngIntEltFact -> RngIntEltFact, RngIntEltFact
MoebiusMu(f) : RngIntEltFact -> RngIntElt
Divisors(f) : RngIntEltFact -> SeqEnum
PrimeDivisors(f) : RngIntEltFact -> SeqEnum
NumberOfDivisors(f) : RngIntEltFact -> RngIntElt
SumOfDivisors(f) : RngIntEltFact -> RngIntElt
IsOne(s) : RngIntEltFact -> BoolElt
IsOdd(s) : RngIntEltFact -> BoolElt
IsEven(s) : RngIntEltFact -> BoolElt
IsUnit(s) : RngIntEltFact -> BoolElt
IsPrime(s) : RngIntEltFact -> BoolElt
IsPrimePower(s) : RngIntEltFact -> BoolElt
IsSquare(s) : RngIntEltFact -> BoolElt
IsSquarefree(s) : RngIntEltFact -> BoolElt
Modexp(n, k, m) : RngIntElt, RngIntElt, RngIntElt -> RngIntElt
The modular power nk mod m, where n is an integer, k is an integer and m is an integer greater than one. If k is negative, n must have an inverse i modulo m, and the result is then i - k mod m. The result is always an integer r with 0≤r< m.
n mod m : RngIntElt, RngIntElt -> RngIntElt
Remainder upon dividing the integer n by the integer m. The result always has the same sign as m. An error results if m is zero.
Modinv(n, m) : RngIntElt, RngIntElt -> RngIntElt
InverseMod(n, m) : RngIntElt, RngIntElt -> RngIntElt
Given an integer n and a positive integer m, such that n and m are coprime, return an inverse u of n modulo m, that is, return an integer 1≤u<m such that u.n = 1 mod m.
Modsqrt(n, m) : RngIntElt, RngIntElt -> BoolElt, RngIntElt
Given an integer n and an integer m ≥2, this function returns an integer b such that 0 ≤b < m and b2 = n mod m if such b exists; an error results if no such root exists.
Modorder(n, m) : RngIntElt, RngIntElt -> RngIntElt
For integers n and m, m > 1, the function returns the least integer k ≥1 such that nk = 1 mod m, or zero if gcd(n, m) != 1.
IsPrimitive(n, m) : RngIntElt, RngIntElt -> BoolElt
Returns true if n is a primitive root for m, false otherwise (0 < n < m).
PrimitiveRoot(m) : RngIntElt -> RngIntElt
Given an integer m > 1, this function returns an integer value defined as follows: If Z/mZ has a primitive root and the function is successful in finding it, the root a is returned. If Z/mZ has a primitive root but the algorithm does not succeed in finding it, or Z/mZ does not possess a primitive root, then zero is returned.
The Solution of Modular Equations
The functions described here can be used if an occasional modular operation is required; the results are integers again. For more extensive modular arithmetic it is preferable to convert to residue class ring arithmetic. See section Residue Class Rings for details.
Solution(a, b, m) : RngIntElt, RngIntElt, RngIntElt -> RngIntElt, RngIntElt
If a solution exists to the linear congruence ax = b mod m, then returns x0, k such that x = x0 + i * k represents the complete set of solutions, where i can be any integer. Otherwise, returns -1.
ChineseRemainderTheorem(X, N) : [RngIntElt], [RngIntElt] -> RngIntElt
CRT(X, N) : [RngIntElt], [RngIntElt] -> RngIntElt
Apply the Chinese Remainder Theorem to the integer sequences X and N. The sequences must have the same length, k say. The function returns the unique integer x in the range 0 ≤x < LCM(N[1].... .N[k]) such that x = X[i] mod N[i]. The elements of N must all be positive integers greater than one. If there is no solution, then -1 is returned.
Solution(A, B, N) : [RngIntElt], [RngIntElt],[RngIntElt] -> RngIntElt
Return a solution x to the system of simultaneous linear congruences defined by the integer sequences A, B and N. Each of these sequences must have the same number of terms, k say. The elements of N must all be positive integers greater than one. The i-th congruence is A[i] .x = B[i] mod N[i]. The solution x will satisfy 0 ≤x < LCM(N[1].... .N[k]). If no solution exists, -1 is returned.
NormEquation(d, m) : RngIntElt, RngIntElt -> BoolElt, RngIntElt, RngIntElt
NormEquation(d, m: parameters)) : RngIntElt, RngIntElt -> BoolElt, RngIntElt, RngIntElt
Factorization: [<RngIntElt, RngIntElt>] Default: [ ]Given a positive integer d and a non-negative integer m, return true and two non-negative integers x and y, such that x2 + y2d = m, if such a solution exists. If such a solution does not exists only the value false is returned. If the factorization of m is known, it may be supplied as the value of the parameter Factorization to speed up the computation.
Z := IntegerRing();
n := 1234567890111112222211111111888888888888888888888888888888888888888888888888888888888888882222244444444444441122222222222222222222111111;
Z := IntegerRing();
n := 1234567890111112222222224555555555559999999999999999999999999999999999999999999999999999999999999999999999999999999994444444444441122222222222222222222111111777;
Z := IntegerRing();
n := 123456789011111222222222455555555555999999999999999999999999999999999999999999999999999999999999999999999999999999999;
time Factorization(n);
time PollardRho(n) ;
time Divisors(n);
time PartialFactorization([n]);
time CoprimeBasis(([ 1, 8961811, 170036731, 1523837046279841, 81017054489197218714231866471,
726059530108887015842608997490338981, 13775875100591969884460009750757346301,
123456789011111222222222444444444444411111111 ]
));
1.Sieving
2.Auxiliary data gathering
3.Linear algebra
4.Factorization
二次筛选法的工作原理
http://bbs.emath.ac.cn/thread-1439-1-1.html
用二次筛选法对一个数字 n 进行因数分解,就是要找到两个数字 x 和 y ,它们模 n 之后不相等,并且 x 和 -y 模 n 之后也不相等,但是 x 2 =y 2 (mod n) 。如果找到了这两个数字,那么就可以说 ( x+ y) ( x- y) = 0 (mod n) 。因此 x+ y 和 x- y 就一定与 n 具有相同的非平凡因数。
用二次筛选法进行因数分解有赖于是否能够找到一组数字,这组数的因数可以表示为一些预先选择的素数的乘积。然后用幂向量的形式将这些因数记录下来。一旦具备了足够多的向量,就可以构造一个包含线性依赖关系的集合。用这种线性依赖关系就可以找到两个平方后模 n 相等的数字。
为实现这一目标,二次筛选方法使用了一个素数集合,称作因数基( factor base)。然后,搜索出那些可以完全分解成这个因数基中的素数的数字。如果因数基中有 k 个素数,那么每一个可分解为因数基中素数的数字就存储为一个 k 维的向量,向量 y 中的第 i 个项表示因数基中第 i 个素数在 y 因数分解结果当中的幂。
最后进行筛选操作,找出 f( r) = r 2 - n 的那些值,而这些值因数分解的结果完全包含在这个因数基中。然后像 Dixon 因数分解法中那样应用高斯消除法,找出是某数的完全平方的一组 f( r) 。
SAGE好像还不能直接绘ECC 2进制域图,超ECC的也不能直接绘,得把点求出才行
E = EllipticCurve(GF(2^100,'a'),[1,2,3,4,5])
E
Elliptic Curve defined by y^2 + x*y + y = x^3 + 1 over Finite Field in a
of size 2^100Elliptic Curve defined by y^2 + x*y + y = x^3 + 1 over Finite Field in a of size 2^100
plot(E,rgbcolor=hue(0.7))
NotImplementedError
R.<t> = PolynomialRing(GF(7))
H = HyperellipticCurve(t^5 + t + 2)
HF:=H.frobenius_polynomial()
HF;
plot(H,rgbcolor=hue(0.7))
plot(HF,rgbcolor=hue(0.7))
H.points()
NotImplementedError: Plotting of curves over Finite Field of size 37 not
implemented yetTraceback (most recent call last):
raise NotImplementedError, "Plotting of curves over %s not implemented yet"%K
NotImplementedError: Plotting of curves over Finite Field of size 37 not implemented yet