Message Boards Message Boards

0
|
2736 Views
|
10 Replies
|
0 Total Likes
View groups...
Share
Share this post:

Create spacegroups with Wolfram language?

Posted 2 years ago

It's well known that SpaceGroups play a key role in crystallography, solid state physics and quantum mechanics. But It seems that they are not built in Wolfram language. So, I want to know the trick to build them with Wolfram language from scratch.

Regards, HZ

POSTED BY: Hongyi Zhao
10 Replies
Posted 2 years ago

The author of the above referred post is a friend of mine. The group theory data used there is based on the famous BC book, rather than being generated entirely from scratch.

POSTED BY: Hongyi Zhao
Posted 2 years ago

Thank you for your tip. But I still can't figure out how to do the corresponding group operations based on the retrieved entity type results:

  1. For space group, the entity type should be "CrystallographicSpaceGroup".

  2. I tried with the following:

    In[66]:= Entity["CrystallographicSpaceGroup", \
    {"CrystallographicSpaceGroup", 186}]
    
    Out[66]= Entity["CrystallographicSpaceGroup", \
    {"CrystallographicSpaceGroup", 186}]
    
    As you can see, the output is identical to the input.
  3. The Magnetic space group is the most comprehensive types of space group, which can't be found in any entity type.
POSTED BY: Hongyi Zhao
Posted 2 years ago

I know nothing about Space Groups, but I did find this post. Not sure if it helps you.

POSTED BY: Rohit Namjoshi

I tried with the following:

In[66]:= Entity["CrystallographicSpaceGroup", \ {"CrystallographicSpaceGroup", 186}]

Out[66]= Entity["CrystallographicSpaceGroup", \ {"CrystallographicSpaceGroup", 186}]

As you can see, the output is identical to the input.

What did you want it to do? If you have an Entity then you need to look at its "Properties" to see if it has something useful.

It's very unclear to me what you want to do, or what you mean by building the space group by scratch.

POSTED BY: Jason Biggs
Posted 2 years ago

If you have an Entity then you need to look at its "Properties" to see if it has something useful.

According to your above comment, I tried the following:

EntityProperties["CrystallographicSpaceGroup"]

{EntityProperty["CrystallographicSpaceGroup", "BravaisLattice"], 
 EntityProperty["CrystallographicSpaceGroup", "CrystalFamily"], 
 EntityProperty["CrystallographicSpaceGroup", 
  "CrystallographicPointGroup"], 
 EntityProperty["CrystallographicSpaceGroup", "CrystalSystems"], 
 EntityProperty["CrystallographicSpaceGroup", "EntityClasses"], 
 EntityProperty["CrystallographicSpaceGroup", 
  "HermannMauguinNotation"], 
 EntityProperty["CrystallographicSpaceGroup", "LatticeSystem"], 
 EntityProperty["CrystallographicSpaceGroup", "Name"]}

But I still don't know how to make further use of it.

It's very unclear to me what you want to do,

Many things can be done if I have the specific representation of a space group, such as computing the multiplication table, character table, and irreducible representation, etc.

or what you mean by building the space group by scratch.

I say this because I didn't know of any such entities at the time of posting this issue.

POSTED BY: Hongyi Zhao
Posted 2 years ago

You can get the values for those properties like this

Entity["CrystallographicSpaceGroup", {"CrystallographicSpaceGroup", 186}]["PropertyAssociation"]
POSTED BY: Rohit Namjoshi
Posted 2 years ago

How to get the specific group elements that allow further manipulation of the group. For example, as shown below, given by the SpaceGroupIrep package:

enter image description here

POSTED BY: Hongyi Zhao

I am still confused by your question. You ask how to get the specific group elements, and then show a screenshot where you do exactly that.

Clearly you already know how to get the group elements in a computational form using the package you linked to, a package which github lists you as a contributor to. Why not use just use the package? Is there some way in which that package is insufficient for your needs?

POSTED BY: Jason Biggs
Posted 2 years ago

Although the SpaceGroupIrep package has great application value for many problems in quantum mechanics and condensed matter physics. It is essentially a database-based tool, that is to say, it has not implemented the low-level group theory related algorithm. The space group information implemented in this package has its own definition format. As a result, it can not directly use the relevant group theory manipulation commands provided by wolfram language to facilitate the related study.

POSTED BY: Hongyi Zhao

You could start with EntityList["FiniteGroup"] and go from there.

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

Group Abstract Group Abstract