Git Product home page Git Product logo

Comments (3)

LVeefkind avatar LVeefkind commented on May 30, 2024

Another thing which might be nice is to have a property for each group denoting whether it contains reflections or not.

from escnn.

Gabri95 avatar Gabri95 commented on May 30, 2024

Hi @LVeefkind

I've included the rotation_order attribute for the cyclic group and for the so(2) group.

Your idea about the list of available grids is nice! I need to think a bit about how to implement it, though.
Indeed, different groups have different kind of grids and some require additional parameters (e.g. SO(3) has a few fixed grids like 'ico', 'cube' or 'tetra' but also some parameterized grids like 'thomson' which requires an additional parameter N).

I also noticed that certain groups, such as the octahedral and the Directproduct groups do not have the bl_irreps method

This is also something hard to build over general groups, since the concept of "band limitation" implies at least a certain ordering of the irreps, such that we can pick only the irreps below a certain maximum frequency. This makes sense for most rotation groups, but it is not really well defined for all irreps of all groups (e.g. for the last irreps of the icosahedral group or the octahedral group).

Once could also combine two groups via a DirectProduct. (approximatively) The resulting group will have an irrep for each pair of irreps of the two initial groups, i.e. the resulting irreps will have 2 separate frequency indexes. As a result, there is some ambiguity on the choice of the frequency index to use to bandlimit (this is worse when one takes the direct product of more than 2 groups).

Another thing which might be nice is to have a property for each group denoting whether it contains reflections or not.
I think this kind of question is better answered via the GSpace abstraction rather than the Group abstraction, since the concept of reflection only makes sense when we think of the group acting on the Euclidean space.

In this case, for example, if you have an instance gs of GSpace3D, you can check if gs.fibergroup contains reflections by looking at gs.sg_id, which tells us which subgroup of O(3) the group gs.fibergroup is.
Check the subgroup table of O(3) here: the subgtroup contains reflections if sg_id[0] == True or sg_id[0] == "fulltetra" or sg_id[0] == "cone"

Hope this helps!
Gabriele

from escnn.

LVeefkind avatar LVeefkind commented on May 30, 2024

Yes that definitely helps, thanks!

from escnn.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.