splitoct

Split octonion algebra in python with SymPy

https://github.com/equinox24/splitoct

Science Score: 44.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
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.7%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Split octonion algebra in python with SymPy

Basic Info
  • Host: GitHub
  • Owner: EQUINOX24
  • License: gpl-3.0
  • Language: Jupyter Notebook
  • Default Branch: master
  • Size: 445 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created almost 3 years ago · Last pushed over 2 years ago
Metadata Files
Readme License Citation

README.md

SplitOct

SplitOct is a Python library that provides an implementation of the algebra of split octonions. Split octonions are a variant of octonions, which are an eight-dimensional analog of complex numbers. You can read more about it on Wikipedia. This library allows you to perform various operations on split octonions, including addition, multiplication, inverse and conjugation for both numeric and symbolic expressions.

Installation

To use SplitOct, you need to have SymPy installed as a dependency. SymPy is a Python library for symbolic mathematics. You can install SymPy using pip:

pip install sympy

After installing SymPy, you can clone the SplitOct repository or download the SplitOct.py file from this repository.

Usage

It is highly recommended to use SplitOct with JupyterLab for an optimal user experience, particularly because JupyterLab can render TeX equations beautifully while displaying them. To use SplitOct in your Python code, you need to import the SplitOct class from the SplitOct.py module. Here's an example of how to import the class:

python from SplitOct import *

Once you have imported the class, you can create split octonion objects and perform various operations on them. Here are some examples:

```python

Create split octonion objects

x = SplitOctonion( [1, 2, 3, 4, 5, 6, 7, 8] ) # one way to create a split octonionic number y = 1 + 10*j1 - 4 *j3 - 5 * oI + J2 # another way

Addition

w = x + y print(w) # Output: 2 + 12 j{1} + 3 j{2} + 6 J{1} + 8 J{2} + 8 J_{3}

"Division"

z = x * y.inv() print(z) # Output: \frac{23}{91} + \frac{6 j{1}}{13} - \frac{5 j{2}}{91} + \frac{72 j{3}}{91} - \frac{15 I}{91} + \frac{34 J{1}}{91} + \frac{125 J{2}}{91} - \frac{60 J{3}}{91} ```

You can also perform arithmetic operations between split octonions and other numeric types.

```python

Scaling

c = 2 * x print(c) # Output: 2 + 4 j{1} + 6 j{2} + 8 j{3} + 10 I + 12 J{1} + 14 J{2} + 16 J{3} ```

To view more examples see the jupyter notebook about split octonionic identities.

Contributing

If you want to contribute to SplitOct, you can fork the repository, make your changes, and submit a pull request. Contributions such as bug fixes, new features, or improvements are welcome.

License

SplitOct is released under the GNU General Public License v3.0 (GPL-3.0). You are free to use, modify, and distribute this library in accordance with the terms and conditions of the GPL-3.0 license.

Owner

  • Name: EQUINOX24
  • Login: EQUINOX24
  • Kind: user

Alexandre Gurchumelia

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: Gurchumelia
    given-names: Alexandre
title: "SplitOct"
date-released: 2023-03-19
url: "https://github.com/EQUINOX24/SplitOct"

GitHub Events

Total
Last Year