hypercomplex-engine 0.4.2.6__py3-none-any.whl → 0.4.2.7__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {hypercomplex-engine → hypercomplex_engine}/printer/cd_table_printer.py +1 -2
- {hypercomplex_engine-0.4.2.6.dist-info → hypercomplex_engine-0.4.2.7.dist-info}/METADATA +20 -19
- hypercomplex_engine-0.4.2.7.dist-info/RECORD +29 -0
- hypercomplex_engine-0.4.2.7.dist-info/top_level.txt +1 -0
- hypercomplex_engine-0.4.2.6.dist-info/RECORD +0 -29
- hypercomplex_engine-0.4.2.6.dist-info/top_level.txt +0 -1
- {hypercomplex-engine → hypercomplex_engine}/__init__.py +0 -0
- {hypercomplex-engine → hypercomplex_engine}/core/__init__.py +0 -0
- {hypercomplex-engine → hypercomplex_engine}/core/basis_element.py +0 -0
- {hypercomplex-engine → hypercomplex_engine}/core/basis_notation.py +0 -0
- {hypercomplex-engine → hypercomplex_engine}/core/fast/__init__.py +0 -0
- {hypercomplex-engine → hypercomplex_engine}/core/fast/bit_utils.py +0 -0
- {hypercomplex-engine → hypercomplex_engine}/core/fast/fast_dual.py +0 -0
- {hypercomplex-engine → hypercomplex_engine}/core/fast/fast_split.py +0 -0
- {hypercomplex-engine → hypercomplex_engine}/core/fast/fast_standard.py +0 -0
- {hypercomplex-engine → hypercomplex_engine}/core/holographic/__init__.py +0 -0
- {hypercomplex-engine → hypercomplex_engine}/core/holographic/dual.py +0 -0
- {hypercomplex-engine → hypercomplex_engine}/core/holographic/split.py +0 -0
- {hypercomplex-engine → hypercomplex_engine}/core/holographic/standard.py +0 -0
- {hypercomplex-engine → hypercomplex_engine}/core/table_builder/__init__.py +0 -0
- {hypercomplex-engine → hypercomplex_engine}/core/table_builder/common.py +0 -0
- {hypercomplex-engine → hypercomplex_engine}/core/table_builder/dual.py +0 -0
- {hypercomplex-engine → hypercomplex_engine}/core/table_builder/split.py +0 -0
- {hypercomplex-engine → hypercomplex_engine}/core/table_builder/standard.py +0 -0
- {hypercomplex-engine → hypercomplex_engine}/core/validation.py +0 -0
- {hypercomplex-engine → hypercomplex_engine}/facade.py +0 -0
- {hypercomplex-engine → hypercomplex_engine}/printer/__init__.py +0 -0
- {hypercomplex-engine → hypercomplex_engine}/printer/cd_format.py +0 -0
- {hypercomplex_engine-0.4.2.6.dist-info → hypercomplex_engine-0.4.2.7.dist-info}/WHEEL +0 -0
- {hypercomplex_engine-0.4.2.6.dist-info → hypercomplex_engine-0.4.2.7.dist-info}/licenses/LICENSE +0 -0
- {hypercomplex_engine-0.4.2.6.dist-info → hypercomplex_engine-0.4.2.7.dist-info}/licenses/NOTICE +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hypercomplex-engine
|
|
3
|
-
Version: 0.4.2.
|
|
3
|
+
Version: 0.4.2.7
|
|
4
4
|
Summary: Fast O(1)/O(n) multiplication engine for arbitrary dimensions and table generator for ordinary, split, and dual Cayley-Dickson algebras.
|
|
5
5
|
Author-email: Maher Ben Abdessalem <ba.maher94@gmail.com>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
7
7
|
Project-URL: Homepage, https://github.com/maher1719/hypercomplex-engine
|
|
8
8
|
Project-URL: Repository, https://github.com/maher1719/hypercomplex-engine
|
|
9
9
|
Project-URL: Preprint: Sign Structure, https://doi.org/10.6084/m9.figshare.33705022
|
|
10
|
-
Keywords: hypercomplex,cayley-dickson,quaternions,octonions,split-algebra,math,physics,geometry
|
|
10
|
+
Keywords: hypercomplex,cayley-dickson,quaternions,octonions,split-algebra,math,physics,geometry,sedenions
|
|
11
11
|
Classifier: Development Status :: 4 - Beta
|
|
12
12
|
Classifier: Intended Audience :: Developers
|
|
13
13
|
Classifier: Intended Audience :: Science/Research
|
|
@@ -111,7 +111,7 @@ pytest -v
|
|
|
111
111
|
The simplest way to use the library is through the top-level facade API.
|
|
112
112
|
|
|
113
113
|
```python
|
|
114
|
-
from
|
|
114
|
+
from hypercomplex_engine import (
|
|
115
115
|
build_table,
|
|
116
116
|
multiply,
|
|
117
117
|
format_element,
|
|
@@ -324,7 +324,7 @@ multiply(kind, a, b, dim=None, engine="fast")
|
|
|
324
324
|
Example:
|
|
325
325
|
|
|
326
326
|
```python
|
|
327
|
-
from
|
|
327
|
+
from hypercomplex_engine import multiply
|
|
328
328
|
|
|
329
329
|
a = (1, 3)
|
|
330
330
|
b = (1, 5)
|
|
@@ -355,7 +355,7 @@ For `split`, `dual` and `dual_split`, `dim` is required.
|
|
|
355
355
|
## Table builders directly
|
|
356
356
|
|
|
357
357
|
```python
|
|
358
|
-
from
|
|
358
|
+
from hypercomplex_engine import (
|
|
359
359
|
StandardTableBuilder,
|
|
360
360
|
SplitTableBuilder,
|
|
361
361
|
DualTableBuilder,
|
|
@@ -394,7 +394,7 @@ For dual tables:
|
|
|
394
394
|
## Multipliers directly
|
|
395
395
|
|
|
396
396
|
```python
|
|
397
|
-
from
|
|
397
|
+
from hypercomplex_engine import (
|
|
398
398
|
StandardHolographic,
|
|
399
399
|
SplitHolographic,
|
|
400
400
|
DualHolographic,
|
|
@@ -433,7 +433,7 @@ print(result)
|
|
|
433
433
|
## Fast O(1) multipliers directly
|
|
434
434
|
|
|
435
435
|
```python
|
|
436
|
-
from
|
|
436
|
+
from hypercomplex_engine import (
|
|
437
437
|
FastStandard,
|
|
438
438
|
FastSplit,
|
|
439
439
|
FastDual,
|
|
@@ -484,7 +484,7 @@ print(result)
|
|
|
484
484
|
Example:
|
|
485
485
|
|
|
486
486
|
```python
|
|
487
|
-
from
|
|
487
|
+
from hypercomplex_engine import format_element
|
|
488
488
|
|
|
489
489
|
element = (-1, 5)
|
|
490
490
|
|
|
@@ -517,25 +517,25 @@ This section is for contributors, benchmarking, physics engines, and symbolic pi
|
|
|
517
517
|
If you prefer explicit imports:
|
|
518
518
|
|
|
519
519
|
```python
|
|
520
|
-
from
|
|
520
|
+
from hypercomplex_engine.core.table_builder import (
|
|
521
521
|
StandardTableBuilder,
|
|
522
522
|
SplitTableBuilder,
|
|
523
523
|
DualTableBuilder,
|
|
524
524
|
)
|
|
525
525
|
|
|
526
|
-
from
|
|
526
|
+
from hypercomplex_engine.core.holographic import (
|
|
527
527
|
StandardHolographic,
|
|
528
528
|
SplitHolographic,
|
|
529
529
|
DualHolographic,
|
|
530
530
|
)
|
|
531
531
|
|
|
532
|
-
from
|
|
532
|
+
from hypercomplex_engine.core.fast import (
|
|
533
533
|
FastStandard,
|
|
534
534
|
FastSplit,
|
|
535
535
|
FastDual,
|
|
536
536
|
)
|
|
537
537
|
|
|
538
|
-
from
|
|
538
|
+
from hypercomplex_engine.printer import (
|
|
539
539
|
CDFormat,
|
|
540
540
|
CDTablePrinter,
|
|
541
541
|
)
|
|
@@ -546,7 +546,7 @@ from hypercomplex.printer import (
|
|
|
546
546
|
## Cross-validating O(1) against the full table
|
|
547
547
|
|
|
548
548
|
```python
|
|
549
|
-
from
|
|
549
|
+
from hypercomplex_engine import StandardTableBuilder, FastStandard
|
|
550
550
|
|
|
551
551
|
builder = StandardTableBuilder()
|
|
552
552
|
fast = FastStandard()
|
|
@@ -571,7 +571,7 @@ This proves that the O(1) evaluator agrees with the O(4^n) table builder.
|
|
|
571
571
|
## Cross-validating split O(1) against the split table
|
|
572
572
|
|
|
573
573
|
```python
|
|
574
|
-
from
|
|
574
|
+
from hypercomplex_engine import SplitTableBuilder, FastSplit
|
|
575
575
|
|
|
576
576
|
builder = SplitTableBuilder()
|
|
577
577
|
fast = FastSplit()
|
|
@@ -629,7 +629,7 @@ The output convention is:
|
|
|
629
629
|
This makes formatting easy:
|
|
630
630
|
|
|
631
631
|
```python
|
|
632
|
-
from
|
|
632
|
+
from hypercomplex_engine import format_element
|
|
633
633
|
|
|
634
634
|
result = (1, 0, 1)
|
|
635
635
|
|
|
@@ -647,7 +647,7 @@ print(format_element(result, mode="latex"))
|
|
|
647
647
|
For simulations, avoid building large tables. Use the fast engine directly.
|
|
648
648
|
|
|
649
649
|
```python
|
|
650
|
-
from
|
|
650
|
+
from hypercomplex_engine import FastStandard
|
|
651
651
|
|
|
652
652
|
fast = FastStandard()
|
|
653
653
|
|
|
@@ -1114,18 +1114,19 @@ If you use this engine in your research, physics simulations, or geometric deep
|
|
|
1114
1114
|
```bibtex
|
|
1115
1115
|
@article{ben abdessalem2026,
|
|
1116
1116
|
author = "maher ben abdessalem",
|
|
1117
|
-
title = "{
|
|
1117
|
+
title = "{An O(1) Bitwise Evaluator for Cayley--Dickson Sign Structure: Ordinary, Split, Dual, and Tensor Constructions}",
|
|
1118
1118
|
year = "2026",
|
|
1119
1119
|
month = "9",
|
|
1120
1120
|
url = "https://figshare.com/articles/preprint/A_Proven_Sign_Law_for_Cayley-Dickson_Algebras_Ordinary_and_Split_Constructions/33705022",
|
|
1121
|
-
doi = "10.6084/m9.figshare.33705022.
|
|
1121
|
+
doi = "10.6084/m9.figshare.33705022.v8"
|
|
1122
1122
|
}
|
|
1123
1123
|
|
|
1124
1124
|
```
|
|
1125
1125
|
|
|
1126
1126
|
### Acknowledgments
|
|
1127
1127
|
|
|
1128
|
-
The author gratefully acknowledges **Greg Wilmot** for his work on the structure of Cayley-Dickson algebras and for acknowledging the author's contribution to his paper *"Structure of the Cayley-Dickson algebras"* ([arXiv:2505.11747](https://arxiv.org
|
|
1128
|
+
The author gratefully acknowledges **Prof. Derek Abbott**, **Dr. James M. Chappell**, and PhD candidate **Greg P. Wilmot** from the University of Adelaide, Australia, for the opportunity of collaboration and a deeper study of hypercomplex numbers. Special thanks go to **Greg P. Wilmot** for his work on the structure of Cayley-Dickson algebras and for acknowledging the author's contribution to his paper, *"Structure of the Cayley-Dickson algebras"* ([arXiv:2505.11747](https://arxiv.org)).
|
|
1129
|
+
|
|
1129
1130
|
|
|
1130
1131
|
---
|
|
1131
1132
|
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
hypercomplex_engine/__init__.py,sha256=pwDbzzCLFaSqD_rsNVmgdZhylolIcEkDBJFEVstLMYE,1247
|
|
2
|
+
hypercomplex_engine/facade.py,sha256=-5mjJP2OGQC0m2_ZaGrkt5Zzty-Qvdz1FOsHMY4ctdE,9706
|
|
3
|
+
hypercomplex_engine/core/__init__.py,sha256=7cD5SJFbAewuVMIvKnQ6tb7JwcmpGQktSvGbN5n8dIM,668
|
|
4
|
+
hypercomplex_engine/core/basis_element.py,sha256=TnPb1xLICv0TK0AfTW_I8_8T2TavktKTq4MEPLWnyU8,1402
|
|
5
|
+
hypercomplex_engine/core/basis_notation.py,sha256=K17IUXEio7KmY3pvpFdDFI2MsLs11-E5Z5Cp10CS84Y,4887
|
|
6
|
+
hypercomplex_engine/core/validation.py,sha256=1ehTiV2fuV9ahGaGcDswWqUJMBzmGcYQ-3wY8lbrd7k,3174
|
|
7
|
+
hypercomplex_engine/core/fast/__init__.py,sha256=6KsWo1dhNlT69jT_Bi8-khOrNFX9cDs98987TGTXo4w,173
|
|
8
|
+
hypercomplex_engine/core/fast/bit_utils.py,sha256=aqBjPX2srWym6AjxZqTzt998-in_-5VAxNUiQXUFAVw,385
|
|
9
|
+
hypercomplex_engine/core/fast/fast_dual.py,sha256=Y5JFtGunb9p9qezogqPBWJfjNdiijtXV1LsKJXEENqY,5540
|
|
10
|
+
hypercomplex_engine/core/fast/fast_split.py,sha256=Wdr9pd9zXA_mFzlMxVv8LpPwDZJFP-XPVa0uQIEs3jA,3037
|
|
11
|
+
hypercomplex_engine/core/fast/fast_standard.py,sha256=JQ7Mxb4qQTH6EuWQjpTtbxwb4rVI0Iu-jggHiwmEj1I,3250
|
|
12
|
+
hypercomplex_engine/core/holographic/__init__.py,sha256=TGMyPs6dyeaQ9I--rFooBOrKzkex73IbwzQtL7Q0i04,200
|
|
13
|
+
hypercomplex_engine/core/holographic/dual.py,sha256=1JdYDPpFk7u0yMswDOxRhhEUcg4CDxCu3Rk-a1rDImA,2898
|
|
14
|
+
hypercomplex_engine/core/holographic/split.py,sha256=kJXPXvw3rT8YieENor0hNTko4qBoXaKKb9n07UWhfQY,2864
|
|
15
|
+
hypercomplex_engine/core/holographic/standard.py,sha256=nNgM0QxvWXVMlTenHdxKd63RvLOkF_xu1cB0f00EumA,3935
|
|
16
|
+
hypercomplex_engine/core/table_builder/__init__.py,sha256=qkKJQ1S44hlSeNdW-Cc9REvbCeU2K646pkCalV9Sft4,206
|
|
17
|
+
hypercomplex_engine/core/table_builder/common.py,sha256=PEY_Vd0_tYrDJt5IOqEvrex35aFeLn56w1FjN8wBj0A,482
|
|
18
|
+
hypercomplex_engine/core/table_builder/dual.py,sha256=9flbYGsCnZeKMirS3JlDg__EqSv_LBA1M_JhWPQEWxw,2888
|
|
19
|
+
hypercomplex_engine/core/table_builder/split.py,sha256=OUBNKT_-L6BMlCxiSYWzAOGSOdYGJZzLOR0Zo6R5Ubw,2923
|
|
20
|
+
hypercomplex_engine/core/table_builder/standard.py,sha256=3kyg4TLCG_LKhC8lT95hZBFmOee0Wg39T7CDIhayVUs,2820
|
|
21
|
+
hypercomplex_engine/printer/__init__.py,sha256=6EZOUBYb9TDgfqrFpnIfPS1bbPFZ0dMX6RCPDZepL6M,129
|
|
22
|
+
hypercomplex_engine/printer/cd_format.py,sha256=X_cotGumJlRMuJO5cbsnI8FA9Py12TGYftPlUdx-9xg,5731
|
|
23
|
+
hypercomplex_engine/printer/cd_table_printer.py,sha256=Ny1g5osDwttI5I8-KV4DzhVhWp_7fP-R5lYyC9sEhKE,4973
|
|
24
|
+
hypercomplex_engine-0.4.2.7.dist-info/licenses/LICENSE,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
|
|
25
|
+
hypercomplex_engine-0.4.2.7.dist-info/licenses/NOTICE,sha256=WRgJ9Hv74Vke3ByFbvR6sqdlinPx4rCWDc0-7Iyh9VI,745
|
|
26
|
+
hypercomplex_engine-0.4.2.7.dist-info/METADATA,sha256=CPCm_GBbVCX8Xwr5y4YSal-zF4p7M-5aCGeHZESo6HA,26239
|
|
27
|
+
hypercomplex_engine-0.4.2.7.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
|
|
28
|
+
hypercomplex_engine-0.4.2.7.dist-info/top_level.txt,sha256=654ACRoo9vk38vKW7kVBfgD-IjIADgVmh75smmXBZ88,20
|
|
29
|
+
hypercomplex_engine-0.4.2.7.dist-info/RECORD,,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
hypercomplex_engine
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
hypercomplex-engine/__init__.py,sha256=pwDbzzCLFaSqD_rsNVmgdZhylolIcEkDBJFEVstLMYE,1247
|
|
2
|
-
hypercomplex-engine/facade.py,sha256=-5mjJP2OGQC0m2_ZaGrkt5Zzty-Qvdz1FOsHMY4ctdE,9706
|
|
3
|
-
hypercomplex-engine/core/__init__.py,sha256=7cD5SJFbAewuVMIvKnQ6tb7JwcmpGQktSvGbN5n8dIM,668
|
|
4
|
-
hypercomplex-engine/core/basis_element.py,sha256=TnPb1xLICv0TK0AfTW_I8_8T2TavktKTq4MEPLWnyU8,1402
|
|
5
|
-
hypercomplex-engine/core/basis_notation.py,sha256=K17IUXEio7KmY3pvpFdDFI2MsLs11-E5Z5Cp10CS84Y,4887
|
|
6
|
-
hypercomplex-engine/core/validation.py,sha256=1ehTiV2fuV9ahGaGcDswWqUJMBzmGcYQ-3wY8lbrd7k,3174
|
|
7
|
-
hypercomplex-engine/core/fast/__init__.py,sha256=6KsWo1dhNlT69jT_Bi8-khOrNFX9cDs98987TGTXo4w,173
|
|
8
|
-
hypercomplex-engine/core/fast/bit_utils.py,sha256=aqBjPX2srWym6AjxZqTzt998-in_-5VAxNUiQXUFAVw,385
|
|
9
|
-
hypercomplex-engine/core/fast/fast_dual.py,sha256=Y5JFtGunb9p9qezogqPBWJfjNdiijtXV1LsKJXEENqY,5540
|
|
10
|
-
hypercomplex-engine/core/fast/fast_split.py,sha256=Wdr9pd9zXA_mFzlMxVv8LpPwDZJFP-XPVa0uQIEs3jA,3037
|
|
11
|
-
hypercomplex-engine/core/fast/fast_standard.py,sha256=JQ7Mxb4qQTH6EuWQjpTtbxwb4rVI0Iu-jggHiwmEj1I,3250
|
|
12
|
-
hypercomplex-engine/core/holographic/__init__.py,sha256=TGMyPs6dyeaQ9I--rFooBOrKzkex73IbwzQtL7Q0i04,200
|
|
13
|
-
hypercomplex-engine/core/holographic/dual.py,sha256=1JdYDPpFk7u0yMswDOxRhhEUcg4CDxCu3Rk-a1rDImA,2898
|
|
14
|
-
hypercomplex-engine/core/holographic/split.py,sha256=kJXPXvw3rT8YieENor0hNTko4qBoXaKKb9n07UWhfQY,2864
|
|
15
|
-
hypercomplex-engine/core/holographic/standard.py,sha256=nNgM0QxvWXVMlTenHdxKd63RvLOkF_xu1cB0f00EumA,3935
|
|
16
|
-
hypercomplex-engine/core/table_builder/__init__.py,sha256=qkKJQ1S44hlSeNdW-Cc9REvbCeU2K646pkCalV9Sft4,206
|
|
17
|
-
hypercomplex-engine/core/table_builder/common.py,sha256=PEY_Vd0_tYrDJt5IOqEvrex35aFeLn56w1FjN8wBj0A,482
|
|
18
|
-
hypercomplex-engine/core/table_builder/dual.py,sha256=9flbYGsCnZeKMirS3JlDg__EqSv_LBA1M_JhWPQEWxw,2888
|
|
19
|
-
hypercomplex-engine/core/table_builder/split.py,sha256=OUBNKT_-L6BMlCxiSYWzAOGSOdYGJZzLOR0Zo6R5Ubw,2923
|
|
20
|
-
hypercomplex-engine/core/table_builder/standard.py,sha256=3kyg4TLCG_LKhC8lT95hZBFmOee0Wg39T7CDIhayVUs,2820
|
|
21
|
-
hypercomplex-engine/printer/__init__.py,sha256=6EZOUBYb9TDgfqrFpnIfPS1bbPFZ0dMX6RCPDZepL6M,129
|
|
22
|
-
hypercomplex-engine/printer/cd_format.py,sha256=X_cotGumJlRMuJO5cbsnI8FA9Py12TGYftPlUdx-9xg,5731
|
|
23
|
-
hypercomplex-engine/printer/cd_table_printer.py,sha256=u5NAWsfOBpjdMyxtXJ9sxmRZRrUvsFnhZk5GJk9b8LM,4985
|
|
24
|
-
hypercomplex_engine-0.4.2.6.dist-info/licenses/LICENSE,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
|
|
25
|
-
hypercomplex_engine-0.4.2.6.dist-info/licenses/NOTICE,sha256=WRgJ9Hv74Vke3ByFbvR6sqdlinPx4rCWDc0-7Iyh9VI,745
|
|
26
|
-
hypercomplex_engine-0.4.2.6.dist-info/METADATA,sha256=TQPq-H0ZeOEkxgTd0kRsGNESMw172CKy6TwumYkeRmg,25931
|
|
27
|
-
hypercomplex_engine-0.4.2.6.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
|
|
28
|
-
hypercomplex_engine-0.4.2.6.dist-info/top_level.txt,sha256=lRYHNR3e9IBzjx5P72nevCB3eZHBzDWmaeU-pWOUFo8,20
|
|
29
|
-
hypercomplex_engine-0.4.2.6.dist-info/RECORD,,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
hypercomplex-engine
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hypercomplex_engine-0.4.2.6.dist-info → hypercomplex_engine-0.4.2.7.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
{hypercomplex_engine-0.4.2.6.dist-info → hypercomplex_engine-0.4.2.7.dist-info}/licenses/NOTICE
RENAMED
|
File without changes
|