Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • Q qsymm
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 23
    • Issues 23
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 4
    • Merge requests 4
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
    • Model experiments
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Quantum TinkererQuantum Tinkerer
  • qsymm
  • Issues
  • #20

Add `positions` similar to `momenta` to `Model`

It would be useful for Hamiltonians with real space dependence (such as hopping terms in non-crystalline systems, or the continuum description of a quantum well) if we allowed definition of symbols that are positions. The only difference compared to momenta would be that they don't flip sign under antiunitary symmetry operations.

It could also be useful to allow multiple vectors that transform the same way, for example to treat interaction terms that have multiple momentum variables.

This is all possible in current qsymm in a hacky way: extend the real space dimension to the total number of transforming symbols, use momenta that is a single vector with all these vectors stacked, and make R in PointGroupElements block-diagonal with the appropriate transformation matrices in each block. The positions type transformation can be faked by using -R in antiunitary operators.

<TLDR> We could consider supporting other similar quantities, like angular_momenta which change sign under TR but do not change under spatial inversion (this really only makes sense in 3D, in lower dimensions it is ambiguous whether something is a rotation or an inversion). This would mostly be useful for classical dynamical variables, not for fixed external fields. For example one may ask, what is the symmetry of the electromagnetic term E⋅B, a product of a position and an angular_momentum type variable (it is invariant under anything that doesn't change space-time orientation). However, when examining the symmetries of the quantum Hamiltonian B⋅σ with fixed external field B, B should not be transformed. We should give this more thought, it is not clear to me how many types of such objects we need in general, whether the behaviour under PH and TR is independent.

Edited Dec 08, 2019 by Dániel Varjas
Assignee
Assign to
Time tracking