vv

13138 Reputation

20 Badges

9 years, 74 days

MaplePrimes Activity


These are answers submitted by vv

The simplest solution is to use

DrawSubgroupLattice(SymmetricGroup(4), labels=ids);

This way the labels will be `n/d` i.e. the full identifier of the (small) group, n being its order.
It is possible to manipulate the PLOT structure to eliminate `/d`, but I think `n/d` is better.
Edit
If you really want n only, use:

with(GroupTheory):
P:=DrawSubgroupLattice(SymmetricGroup(4), labels=ids):
subsindets(P, name,  proc(a) local t:=SearchText("/",a); `if`(t>0,substring(a,1..t-1),a) end proc); 

 

Why not use mtaylor?
Or, the next proc which is even faster:

T:=(x,y,x0,y0,N) -> eval(series(f(x0+t*x,y0+t*y),t,N),t=1);

 

with(GroupTheory):
G := SmallGroup(48, 8);

       G :=  < a permutation group on 48 letters with 5 generators > 

gen:=NonRedundantGenerators(G);
gen := [(1283)(4122218)(5112117)(614713)(9163120)(10153219)(2336

  4744)(24354843)(25344542)(26334641)(27402938)(28393037), (14721

  82265)(21114183171312)(923294531472725)(1024304632482826)(1533

  394319413735)(1634404420423836), (1910)(21516)(31920)(42324)(5

  2526)(62728)(72930)(83132)(113334)(123536)(133738)(143940)(1741

  42)(184344)(214546)(224748)]


lprint(gen);
[Perm([[1, 2, 8, 3], [4, 12, 22, 18], [5, 11, 21, 17], [6, 14, 7, 13], [9, 16,
31, 20], [10, 15, 32, 19], [23, 36, 47, 44], [24, 35, 48, 43], [25, 34, 45, 42]
, [26, 33, 46, 41], [27, 40, 29, 38], [28, 39, 30, 37]]), Perm([[1, 4, 7, 21, 8
, 22, 6, 5], [2, 11, 14, 18, 3, 17, 13, 12], [9, 23, 29, 45, 31, 47, 27, 25], [
10, 24, 30, 46, 32, 48, 28, 26], [15, 33, 39, 43, 19, 41, 37, 35], [16, 34, 40,
44, 20, 42, 38, 36]]), Perm([[1, 9, 10], [2, 15, 16], [3, 19, 20], [4, 23, 24],
[5, 25, 26], [6, 27, 28], [7, 29, 30], [8, 31, 32], [11, 33, 34], [12, 35, 36],
[13, 37, 38], [14, 39, 40], [17, 41, 42], [18, 43, 44], [21, 45, 46], [22, 47,
48]])]

nops(gen); # number of generators
        3

 

It is easy to find the soluble groups using the builtin database:

for n in [60, 120, 168, 180] do SearchSmallGroups( 'order' = n, soluble) od;

Finding a polynomial in Z[X]  for such groups is another problem; I don't think Maple or other CAS can do that efficiently.

C6 is a NOT a subgroup of S5. It is just isomorphic to a subgroup of S5.

 

1. use e.g.
radnormal((x^2 - 2)/(x - sqrt(2)));
# or
evala((x^2 - 2)/(x - sqrt(2)));

2. Example:
A := <124,12; "NA/101", ">2.6"; 1,2>:
AA :=map(u -> `if`(type(u,numeric),u,undefined),  A);

The assume facility is far from perfect. You can find many examples searching this site.
It is designed for simple conditions; it has evolved in time but with very small steps. At least here, the result (FAIL) is not wrong.

Note also, that the assume facility often ignores the endpoints in inequalities.
Example:
limit(a^n, n=infinity) assuming a>=1;
                            infinity

limit(a^n, n=infinity) assuming -1 <=a, a<1;
                               0

restart;
with(GroupTheory):
G:=Symm(4);
GroupOrder(G);
do
  H := Subgroup([RandomElement(G),RandomElement(G)], G);
  C := Core(H, G);
until is(GroupOrder(C) <> 1) and is(GroupOrder(C) <> GroupOrder(H)):
H;
C;
GroupOrder(C) <> GroupOrder(H);

restart;
with(LinearAlgebra): with(plots):
n:=3:
f:=-x^2 + 2*y^2 + 2*z^2 - 6*x + 4*x*y - 4*x*z - 8*y*z + 4*z - 12:
f:=eval(f, [x=x[1],y=x[2],z=x[3]]);
L:=10:
quad:=implicitplot3d(f, x[1]=-L..L, x[2]=-L..L, x[3]=-L..L, style=surface, scaling=constrained):
A:=VectorCalculus:-Hessian(1/2*f,[seq(x[i],i=1..n)]):
b:=eval(Vector( [ seq(diff(f,x[i]),i=1..n)]), [seq(x[i]=0,i=1..n)]):
c:=eval(f,[seq(x[i]=0,i=1..n)]):
X:=Vector([seq(x[i],i=1..n)]):
solve([ seq(diff(f,x[i]),i=1..n)],{seq(x[i],i=1..n)}); # the center
X0:= Vector[column]( eval([seq(x[i],i=1..n)],%) ):
J,Q:=Eigenvectors(A):
T:=Matrix(GramSchmidt([seq( Q[..,j],j=1..n)],normalized)): # T is orthogonal
fnew:=simplify( (T.X+X0)^+. A. (T.X+X0) + b.(T.X+X0) + c ); # ==> Hyperboloid of Two Sheets
col:=[red,yellow,blue]:
ax:=seq(arrow(X0, T[..,j], length=10, width=0.3, color=col[j]), j=1..n): 
display(quad, ax, orientation=[175,63,21], caption="Hyperboloid of Two Sheets");

restart;
f := (x,y)->(x^2+y^2)^x: f(0,0):=1:
'D[1]'(f)(0,0) = limit((f(x,0)-f(0,0))/x, x=0);
'D[2]'(f)(0,0) = limit((f(0,x)-f(0,0))/x, x=0);

G:=GroupTheory:-GaloisGroup(x^5 + 20*x + 32, x);
                Gal(x^5+20*x+32,x)
IdentifySmallGroup(G);
                             10, 1

G has been identified as [n,d] = [10,1],  see ?IdentifySmallGroup

To identify it as a human, just access the wiki page  List of small groups - Wikipedia

==> [10,1]  corresponds to the non-abelian group D10 (i.e. D5 with Maple notation).

 

arctan(x,y) = - arctan(-x,y)  implies for x=0 that arctan(0,y) = 0,  
but this is false for y<0.
[I have used your swapped notation x <--> y ]

 

Replace fn:=solve(...)  with

seq(['q'=q, 'x'=solve(V__out/120 = 1/sqrt((-m*x^2 + m + 1)^2 + (q*(x - 1/x))^2), x, useassumptions)], q in Q__s) assuming x::positive;

 

Correct syntax:

GroupOrder(ds[2]);

The result is of course 5, because it is generated by a cycle of length 5.

sum(-5*3^(-k-1)*(x-2)^k, k=0..infinity, formal);
                             
# or, say something about the domain
sum(-5*3^(-k-1)*(x-2)^k, k=0..infinity) assuming abs(x-2)<3;
                            
# Note that tha radius of convergence is R=3.

              5/(x - 5)

              5/(x - 5)

First 12 13 14 15 16 17 18 Last Page 14 of 116