Group Abstract Group Abstract

Message Boards Message Boards

0
|
1.8K Views
|
2 Replies
|
0 Total Likes
View groups...
Share
Share this post:

Replacing Table[ ] with pure function?

Posted 3 years ago

I have the following code snippet:

In[10]:= << SpaceGroupIrep`

In[11]:= generateGroup[{"C3+", "C21p", "\[Sigma]h"}, "E", RotTimes];
Table[seteq[RotTimes[#, i] & /@ %, %], {i, %}]

Out[12]= {True, True, True, True, True, True, True, True, True, True, \
True, True}

In the last command above, I want to use the pure function instead of the Table command to execute the loop. Any tips for rewriting the logic?

Regards, HZ

POSTED BY: Hongyi Zhao
2 Replies
Posted 3 years ago

It works. Thank you for your tip. I further verified the relevant logic as follows:

In[5]:= << SpaceGroupIrep`

In[38]:= eles = 
 generateGroup[{"C3+", "C21p", "\[Sigma]h"}, "E", RotTimes]
Table[seteq[RotTimes[#, i] & /@ eles, eles], {i, eles}] 
Map[seteq[#, eles] &, Outer[RotTimes, eles, eles]]
Map[seteq[#, eles] &, Transpose@Outer[RotTimes, eles, eles]]
seteq[#, eles] & /@ Transpose@Outer[RotTimes, eles, eles]

Out[38]= {"C21p", "C22p", "C23p", "C3-", "C3+", "E", "S3-", "S3+", "\
\[Sigma]h", "\[Sigma]v1", "\[Sigma]v2", "\[Sigma]v3"}

Out[39]= {True, True, True, True, True, True, True, True, True, True, \
True, True}

Out[40]= {True, True, True, True, True, True, True, True, True, True, \
True, True}

Out[41]= {True, True, True, True, True, True, True, True, True, True, \
True, True}

Out[42]= {True, True, True, True, True, True, True, True, True, True, \
True, True}
POSTED BY: Hongyi Zhao

There is nothing wrong with Table, I think, but here is an attempt not to use indices:

Map[seteq[#, %] &, Transpose@Outer[RotTimes, %, %]]

I am assuming that % is a list.

POSTED BY: Gianluca Gorni
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard