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
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
Metadata Files
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
- Repositories: 2
- Profile: https://github.com/EQUINOX24
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"