MCPcopy Index your code
hub / github.com/brendanzab/algebra

github.com/brendanzab/algebra @v0.1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.1.0 ↗ · + Follow
137 symbols 207 edges 18 files 77 documented · 56%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Abstract algebra for Rust

Build Status

|(• ◡•)|ノ〵(❍ᴥ❍⋃)     - "ALGEBRAIC!!!"

Abstract algebra organises organises a wide range of structures into a logically consistent framework. These classifications can be incredibly useful for creating composable libraries and APIs.

Examples of types that could be included under the algebraic framework:

  • Integers, reals and rationals numbers
  • Complex numbers
  • Polynomials
  • Boolean values
  • Matrices and vectors
  • Quaternions and octonians
  • Strings under concatenation

Research

Interesting papers

Inspiring Libraries

Extension points exported contracts — how you extend this code

IdentityAdditive (Interface)
Identities for binary operators A type that is equipped with an additive identity. [12 implementers]
src/structure/ident.rs
ApproxDistributiveMulAdd (Interface)
A type that is equipped with a multiplication and addition operator where multiplication approximately distributes over [10 …
src/old_stuff/distributive.rs
Recip (Interface)
The multiplicative inverse operation [2 implementers]
src/ops.rs
ApproxEq (Interface)
A type with an approximate equivalence relation.
src/cmp.rs
IdentityMultiplicative (Interface)
A type that is equipped with a multiplicative identity. [12 implementers]
src/structure/ident.rs
DistributiveMulAdd (Interface)
A type that is equipped with a multiplication and addition operator where multiplication distributes over addition. ~~~ [10 …
src/old_stuff/distributive.rs
MonoidAdditiveApprox (Interface)
A type that is equipped with an approximately associative addition operator and a corresponding identity. This should sa [10 …
src/structure/monoid.rs
ApproxAssociativeAdd (Interface)
A type that is equipped with an approximately associative adiition operator. ~~~notrust (a + b) + c ≈ a + (b + c) [10 …
src/old_stuff/associative.rs

Core symbols most depended-on inside this repo

recip
called by 4
src/ops.rs
not
called by 4
src/old_stuff/algebra.rs
unit
called by 3
src/structure/ident.rs
top
called by 3
src/old_stuff/algebra.rs
bottom
called by 2
src/old_stuff/algebra.rs
and
called by 2
src/old_stuff/algebra.rs
or
called by 2
src/old_stuff/algebra.rs
zero
called by 1
src/structure/ident.rs

Shape

Interface 63
Method 47
Function 26
Enum 1

Languages

Rust100%

Modules by API surface

src/old_stuff/algebra.rs50 symbols
src/old_stuff/num.rs13 symbols
src/structure/semigroup.rs8 symbols
src/structure/quasigroup.rs8 symbols
src/structure/monoid.rs8 symbols
src/structure/abelian.rs8 symbols
src/old_stuff/commutative.rs8 symbols
src/old_stuff/associative.rs8 symbols
src/structure/ident.rs6 symbols
src/structure/magma.rs4 symbols
src/structure/loop_.rs4 symbols
src/structure/group.rs4 symbols

For agents

$ claude mcp add algebra \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact