{"id":21036694,"url":"https://github.com/maksasj/hypercomplex","last_synced_at":"2025-05-15T14:31:59.536Z","repository":{"id":41130757,"uuid":"499895008","full_name":"Maksasj/hypercomplex","owner":"Maksasj","description":"Simmple single-header library written in C++, intended for simple way to interact with hypercomplex numbers","archived":true,"fork":false,"pushed_at":"2022-06-28T19:49:49.000Z","size":18,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-13T20:30:09.213Z","etag":null,"topics":["hypercomplex","hypercomplex-algebra","library","math","single-header-library"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Maksasj.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-06-04T17:35:52.000Z","updated_at":"2024-09-12T04:57:19.000Z","dependencies_parsed_at":"2022-09-07T20:21:00.783Z","dependency_job_id":null,"html_url":"https://github.com/Maksasj/hypercomplex","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Maksasj%2Fhypercomplex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Maksasj%2Fhypercomplex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Maksasj%2Fhypercomplex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Maksasj%2Fhypercomplex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Maksasj","download_url":"https://codeload.github.com/Maksasj/hypercomplex/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254358853,"owners_count":22057999,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hypercomplex","hypercomplex-algebra","library","math","single-header-library"],"created_at":"2024-11-19T13:21:38.603Z","updated_at":"2025-05-15T14:31:59.153Z","avatar_url":"https://github.com/Maksasj.png","language":"C++","readme":"# Hypercomplex\nSimmple single-header library written in C++, intended for simple way to interact with hypercomplex numbers;\n\nIn mathematics, hypercomplex number is a traditional term for an element of a finite-dimensional unital algebra over the field of real numbers.\n\n### Provides simple way to interact with:\n- Hypercomplex number multiplication and arithmetic\n- ∞ dimension numbers\n\n### **Complex**\nIn mathematics, a complex number is an element of a number system that contains the real numbers and a specific element denoted i, called the imaginary unit, and satisfying the equation i^2 = −1. Moreover, every complex number can be expressed in the form a + bi, where a and b are real numbers. Because no real number satisfies the above equation, i was called an imaginary number by René Descartes. For the complex number a + bi, a is called the real part and b is called the imaginary part. The set of complex numbers is denoted by either of the symbols **C** or C. Despite the historical nomenclature \"imaginary\", complex numbers are regarded in the mathematical sciences as just as \"real\" as the real numbers and are fundamental in many aspects of the scientific description of the natural world. [Wikipedia](https://en.wikipedia.org/wiki/Complex_number)\n\n```c++\ncomplex z1 = {3, 1};\ncomplex z2 = {5, -3};\n\ncomplex z3 = z1*z2;\n\nstd::cout \u003c\u003c z3;\n\n/* Result:\n+18e1-4e2\n*/\n```\n\n### **Quaternion**\nIn mathematics, the quaternion number system extends the complex numbers. Quaternions were first described by Irish mathematician [William Rowan Hamilton](https://en.wikipedia.org/wiki/William_Rowan_Hamilton) in 1843 and applied to mechanics in three-dimensional space. Hamilton defined a quaternion as the quotient of two directed lines in a three-dimensional space, or equivalently, as the quotient of two vectors. Multiplication of quaternions is [noncommutative](https://en.wikipedia.org/wiki/Noncommutative).\n\nQuaternions are generally represented in the form\n\n**a +bi + cj + dk**\n\nwhere a, b, c, and d are real numbers; and i, j, and k are the basic quaternions. [Wikipedia](https://en.wikipedia.org/wiki/Quaternion)\n\n```c++\nquaternion q1 = {3, 1, 4, 6};\nquaternion q2 = {5, -3, -4, 3};\n\nquaternion q3 = q1*q2;\n\nstd::cout \u003c\u003c q3;\n\n/* Result:\n+16e1+32e2-13e3+47e4\n*/\n```\n\n### **Octonions**\nOctonions are not as well known as the quaternions and complex numbers, which are much more widely studied and used. Octonions are related to exceptional structures in mathematics, among them the exceptional Lie groups. Octonions have applications in fields such as string theory, special relativity and quantum logic. Applying the Cayley–Dickson construction to the octonions produces the sedenions. [Wikipedia](https://en.wikipedia.org/wiki/Octonion)\n\n```c++\noctonion o1 = {7, 3, 5, -6, 8, 2, 9, 1};\noctonion o2 = {1, -6, 4, 3, 8, 8, 9, 9};\n\noctonion o3 = o1*o2;\n\nstd::cout \u003c\u003c o3;\n\n/* Result:\n-147e1-24e2+70e3+175e4+76e5+8e6+167e7-57e8\n*/\n```","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaksasj%2Fhypercomplex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaksasj%2Fhypercomplex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaksasj%2Fhypercomplex/lists"}