## 11977 Reputation

7 years, 253 days

## 1,2,3...

@jud  Yes, it seems that in newer versions, DrawSubgroupLattice outputs numbers (1,2,...) instead of symbols (`1`,`2`,...); unfortunately I have not tested Carl's code before posting.
You will have to try my approach which works.

## document mode...

@jud Because you are using the document mode, create a prompt and paste the code there.

## sum, pochhammer...

@ecterrab Very nice, congratulations!

I was curious to see why Sum=add is needed (instead of value).
It seems that sum has problems with pochhammer. If we replace pochhammer with P,  (and then back), value works.
Here is an example:

```S:=Sum(pochhammer(2*k - n + 1, 2*n - 2*k)*pochhammer(3 - k, k)/((n - k)!), k = 0 .. n):
value(%); # ?
#                               0
seq( value(eval(S,n=N)), N=1..6 );
#                       2, 6, 12, 24, 0, 0

```

The result of value(S) should be  2*n*(n - 1)/GAMMA(-n + 5)  (instead of 0)
which is actually obtained using  assuming n::posint

In this case, the correct values can be obtained with limit insted of eval.

(The situation is similar to sum(k, k=1..n) where n is also "assumed" integer).

## @ecterrab In order to use this work...

@ecterrab In order to use this workaround I had to replace ex1 with allvalues(ex1) in ex2 due to the Sum(..., alpha=RootOf(...)).
BTW, in an older Maple version I have on a small laptop, your first workaround worked for the "assuming" example (applied blindly!); here ex1 contains a hypergeom function, and diff(...) is absent in ex1. It seems to be a better answer (at least in this case). Maple is interesting!

Best regards,
vv

Edit.

The answer of ex1 contains an inert sum and diff(u, y\$p), for p in 0..k.
But in this case (when diff is accepted) a much simpler symbolic answer is

ans := pochhammer(-j,j)*Diff((y^2)^j*(x*y^2+2)^(-1-j),y \$ k);
value(eval(ans,[j=2,k=4,x=0,y=0]));
6

This one is not fragile :-)

## CayleyTable...

```elem:=[Elements(g2)[]]:
c1:=CayleyTable(g1,elements=elem):
c2:=CayleyTable(g2,elements=elem):
```

## @jud It is possible, but is has not...

@jud It is possible, but is has not much sense. You may compare the Cayley tables. But you must be sure that the elements and their orders are the same, so, to be safe, the tables should be constracted by you.
C6, as a PermutationGroup, is generated by a 6-cycle in Symm(6). How could it be exactly equal to a subgroup in Symm(5)?

## fragile?, workaround?...

@ecterrab Thank you. However I consider the expression generated by D as very fragile and it needed your workaround.
The symbolic diff is mainly used for nonnegative integers j, k, so, why use GAMMA(-2*j) inside it?
Actually, the workaround does not work (division by 0) when j,k are assumed nonnegint.

```restart
f := (x, y) -> 1/(2 + x*y^2);
ex1 := D[1 \$ j, 2 \$ k](f)(x, y)  assuming j::nonnegint, k::nonnegint;
ex2:=simplify(eval(ex1, [k = 4, Sum = add]), GAMMA);
eval(ex2, [j=2,x=0]);
```

## AreIsomorphic...

@jud As I said, you must check for isomorphism, not "=".

```restart;
with(GroupTheory):
AreIsomorphic~(SubgroupLattice(Symm(5), output=list), CyclicGroup(6));
```

## infinity...

@ecterrab I don't understand how D[1\$j, 2\$k](f)(x,y); is correct

The denominator is infinity for j::nonnegint  and  produces an Error for our j=2. The GAMMA at numerator too.

## Bug in D...

@acer Unfortunately we have a bug in D (for symbolic orders) here:

```restart;
f := (x,y) -> 1/(2+x*y^2):
D[1\$j, 2\$k](f)(0,0):
eval(%,[j=2, k=4]):  value(%);    # 0  ???
D[1\$2,2\$4](f)(0,0);               # 6
```

## elementwise...

@jud   ~  is used to construct elementwise operators (see ?elementwise) which are applied for each element of a container (i.e. list, set, rtable).
f~([a,b,c], u)   ==>   [f(a,u), f(b,u), f(c,u)]

## permutation group...

@jud You are not right. G itself is a permutation group. You can see this by typing
lprint(G)

It has 5 generators. The same group can be defined with 3 generators:
GG := PermutationGroup(gen);
lprint(GG);

P.S. If you want to get rid of Perm, use convert:

convert(Perm([[1,2],[4,5,6]]), disjcyc);

[[1, 2], [4, 5, 6]]

So,

convert~(gen, disjcyc);

## SubgroupLattice, IdentifySmallGroup...

with(GroupTheory):
S5:=Symm(5):
L:=SubgroupLattice(S5, output=list):
map([IdentifySmallGroup],{L[]});

{[1, 1], [2, 1], [3, 1], [4, 1], [4, 2], [5, 1], [6, 1], [6, 2], [8, 3], [10, 1], [12, 3], [12, 4], [20, 3], [24, 12], [60, 5],   [120, 34]}

# [6,2] = C6, see: https://en.wikipedia.org/wiki/List_of_small_groups

## SubgroupLattice...

@jud This simply means that this Mathematica command identifies (isomorphically) the subgroups.
The SubgroupLattice in Maple is also able to detect the subgroups. See also DrawSubgroupLattice.

## typos...

@Carl Love  sys was copy-pasted from tomleslie's,  so he has typos too.

 4 5 6 7 8 9 10 Last Page 6 of 163
﻿