clifford

Geometric Algebra for Python

https://github.com/pygae/clifford

Science Score: 64.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    2 of 12 committers (16.7%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.2%) to scientific vocabulary

Keywords

clifford-algebras geometric-algebra physics python quaternions

Keywords from Contributors

symbolic
Last synced: 6 months ago · JSON representation ·

Repository

Geometric Algebra for Python

Basic Info
  • Host: GitHub
  • Owner: pygae
  • License: bsd-3-clause
  • Language: Python
  • Default Branch: master
  • Homepage: http://clifford.rtfd.io
  • Size: 2.55 MB
Statistics
  • Stars: 826
  • Watchers: 22
  • Forks: 77
  • Open Issues: 89
  • Releases: 16
Topics
clifford-algebras geometric-algebra physics python quaternions
Created over 11 years ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation Zenodo

README.md

clifford: Geometric Algebra for Python

PyPI DOI Binder Documentation Status Build Status Build Status codecov

clifford is a numerical Geometric Algebra (a.k.a. Clifford algebra) package for python.

  • Documentation: http://clifford.readthedocs.org
  • Source code: https://github.com/pygae/clifford
  • Bug reports: https://github.com/pygae/clifford/issues

Geometric Algebra (GA) is a universal algebra which among several other independent mathematical systems, subsumes: * Complex numbers * Quaternions * Linear algebra

Scalars, vectors, and higher-grade entities can be mixed freely and consistently in the form of mixed-grade multivectors. Like this,

Visual explanation of blades

Quick Installation

Requires Python version >=3.5

Install using conda: conda install clifford -c conda-forge Install using pip: pip3 install clifford Detailed instructions

Quickstart

Try out a notebook in binder

Or have a go on your own pc: python from clifford.g3 import * # import GA for 3D space from math import e, pi a = e1 + 2*e2 + 3*e3 # vector R = e**(pi/4*e12) # rotor R*a*~R # rotate the vector

Syntax Summary

| Syntax | Operation | |:-:|:-:| | | | Symmetric inner product | | << | Left contraction | | ^ | Outer product | | * | Geometric product | | X(i) | Return the section of the multivector X of grade i | | X(ei) | Return the section of the multivector X for which ei is the pseudo scalar | | X[i] | Return the i'th coefficient from the multivector X | X.normal() | Return the normalised multivector so that X*~X is +- 1 |


For installation instructions, api documention, and tutorials, head over to our documentation!

Citing This Library

For citation information, see our CITATION.md file.

Owner

  • Name: pygae
  • Login: pygae
  • Kind: organization

Pythonic Geometric Algebra Enthusiasts

Citation (CITATION.md)

Citing This Library
-------------------

As linked at the top of this page, `clifford` is published to zenodo.
DOI [10.5281/zenodo.1453978](https://doi.org/10.5281/zenodo.1453978) refers to all versions of clifford.


To obtain BibTex citation information for a _specific_ release (recommended):

* Run `python -m pip show clifford` to determine which version you are using (or print `clifford.__version__` from python)
* Click on the corresponding version from [this list of versions](https://zenodo.org/search?page=1&size=20&q=conceptrecid:1453978&sort=-version&all_versions=True)
* Scroll down to the bottom of the page, and click the "BibTex" link in the "Export" sidebar

If you want to cite all releases, use:
```BibTeX
@software{python_clifford,
  author       = {Hugo Hadfield and
                  Eric Wieser and
                  Alex Arsenovic and
                  Robert Kern and
                  {The Pygae Team}},
  title        = {pygae/clifford},
  publisher    = {Zenodo},
  doi          = {10.5281/zenodo.1453978},
  url          = {https://doi.org/10.5281/zenodo.1453978}
}
```

GitHub Events

Total
  • Issues event: 3
  • Watch event: 55
  • Issue comment event: 25
  • Push event: 6
  • Pull request review comment event: 6
  • Pull request review event: 9
  • Pull request event: 15
  • Fork event: 7
Last Year
  • Issues event: 3
  • Watch event: 55
  • Issue comment event: 25
  • Push event: 6
  • Pull request review comment event: 6
  • Pull request review event: 9
  • Pull request event: 15
  • Fork event: 7

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 839
  • Total Committers: 12
  • Avg Commits per committer: 69.917
  • Development Distribution Score (DDS): 0.586
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Hugo Hadfield h****o@g****m 347
Eric Wieser w****c@g****m 317
Alex Arsenovic a****c@g****m 148
Jacopo Antonello j****o@d****k 12
Robert Kern r****n@g****m 5
sushachawal s****3@c****k 4
follower f****r@r****m 1
Ted Corcovilos c****d@g****m 1
Don Hatch d****h@g****m 1
Michael Boyle m****e@g****m 1
Pavlo O. Melnyk 3****k 1
Dan Rose r****u 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 49
  • Total pull requests: 74
  • Average time to close issues: 5 months
  • Average time to close pull requests: about 2 months
  • Total issue authors: 20
  • Total pull request authors: 11
  • Average comments per issue: 2.47
  • Average comments per pull request: 2.3
  • Merged pull requests: 62
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 3
  • Pull requests: 12
  • Average time to close issues: N/A
  • Average time to close pull requests: about 1 month
  • Issue authors: 2
  • Pull request authors: 3
  • Average comments per issue: 3.67
  • Average comments per pull request: 1.5
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • eric-wieser (15)
  • arsenovic (6)
  • hugohadfield (5)
  • esc (4)
  • kaluzaklein (3)
  • tBuLi (2)
  • davibarreira (1)
  • donhatch (1)
  • rmcgibbo (1)
  • keatsandyeats (1)
  • kosibakonrad (1)
  • nyle12345 (1)
  • corcoted (1)
  • joha2 (1)
  • juzun (1)
Pull Request Authors
  • eric-wieser (39)
  • hugohadfield (15)
  • trundev (10)
  • fchapoton (6)
  • arsenovic (2)
  • kliment (2)
  • tBuLi (2)
  • zevisert (2)
  • pavlo-melnyk (1)
  • corcoted (1)
  • follower (1)
Top Labels
Issue Labels
bug (6) enhancement (5) documentation (3) Deprecation (2) component: core (2) help wanted (1) performance (1) component: cga (1) question (1)
Pull Request Labels
enhancement (7) performance (6) documentation (4) Maintenance (4) testing (3) bug (3) component: arrays (2) component: cga (1) needs release note (1) Deprecation (1)

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 1,796 last-month
  • Total docker downloads: 19
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 3
    (may contain duplicates)
  • Total versions: 32
  • Total maintainers: 2
pypi.org: clifford

Numerical Geometric Algebra Module

  • Versions: 19
  • Dependent Packages: 0
  • Dependent Repositories: 3
  • Downloads: 1,796 Last month
  • Docker Downloads: 19
Rankings
Stargazers count: 2.4%
Docker downloads count: 3.7%
Forks count: 5.3%
Downloads: 5.4%
Average: 6.0%
Dependent repos count: 9.0%
Dependent packages count: 10.0%
Maintainers (2)
Last synced: 6 months ago
conda-forge.org: clifford

This module implements Geometric Algebras (a.k.a. Clifford algebras). Geometric Algebra (GA) is a universal algebra which subsumes complex algebra, quaternions, linear algebra and several other independent mathematical systems. Scalars, vectors, and higher-grade entities can be mixed freely and consistently in the form of mixed-grade multivectors.

  • Versions: 13
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Stargazers count: 14.1%
Forks count: 20.7%
Average: 30.0%
Dependent repos count: 34.0%
Dependent packages count: 51.2%
Last synced: 6 months ago

Dependencies

docs/requirements.txt pypi
  • ipykernel *
  • ipywidgets *
  • nbsphinx *
  • pandas *
  • pygments >=2.4.1
  • sphinx >=4.0.0,<4.1.0
  • sphinx_rtd_theme >=0.5.0
  • sphinxcontrib-bibtex >=2.3.0
requirements.txt pypi
  • ipython *
  • matplotlib *
  • mpl_toolkits.clifford >=0.0.3
  • pyganja *
setup.py pypi
  • h5py *
  • numba *
  • numpy *
  • scipy *
  • sparse *
.github/workflows/python-package.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • actions/upload-artifact v4 composite
  • codecov/codecov-action v5 composite
  • conda-incubator/setup-miniconda v3 composite
  • pypa/gh-action-pypi-publish release/v1 composite
  • rbialon/flake8-annotations v1 composite