Skip to content

lecopivo/mathpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Math++

A library to provide basic mathematical notions to C++. The main purpose is to establish a fixed interface of each mathematical construct with a C++ concept. The defined concepts strictly follow definitions on Wikipedia hopefully to the extend that no additional documentation is needed.

Things to consider implementing

Forgetful functor via class inheritance structure

There should be inheritance structure `Vec : Set : Cat` `Vec::Object : Set::Object : Cat::Object` `Vec::Morphism : Set::Morphism : Cat::Morphism` which would give us automatically forgetful functors `Vec -> Set -> Cat`

More general for any category `A` and `B` if we implement inheritance structure `B : A` `B::Object : A::Object` `B::Morphism : B::Morphism` then we get forgetful functor `B -> A` for free

LaTeX symbols for categories, objects and morphisms

Potentially automatically generate diagrams

Thorough tests of objects, morphisms and their implementations

There should be a thorough check of an object or morphism implementation. Are all the necessary functions implemented? Are they properly marked as const? Do they follow correct inheritance structure?

About

Right now, this is an attempt to implement some abstract nonsense in C++

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages