Skip to content

Topos is a library for implementations of mathematical concepts for .NET environment. Based on Zermelo–Fraenkel set theory (ZFC).

License

Notifications You must be signed in to change notification settings

muratcankilic96/topos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Topos Math Library

Topos is a library for implementations of mathematical concepts for .NET Standard 2.0 environment. Based on Zermelo–Fraenkel set theory (ZFC). Currently only supports finite sets.

A Set is an unordered container of mathematical objects, including nested definitions such as Set of Sets. My implementation takes .NET HashSet as basis. However, Sets are not generic types, and can only hold objects of MathObject class.

ZFC ensures that there are no atomic elements, however, to increase comprehension, I included atomic elements where Element is its base class.

Currently supported classes are:

Topos.Core

  • MathObject (abstract),
    • Element
      • Indeterminate
      • Number (abstract)
        • Real
          • Integer
            • Natural
          • Rational
        • Complex
      • Exponential
    • Set
      • GeneratedSet
      • OrderedTuple
      • BinaryRelation
        • Function

Topos.Core.Generic

  • MathObject (from Topos.Core)
    • GenericSet

Topos.Core.Exceptions

  • Exception (.NET)
    • ToposException
      • ArgumentCountException
      • DimensionMismatchException
      • IndeterminateException
      • UndefinedDomainException
        • ComplexDomainException

Topos.NumberTheory

  • ICongruence (interface)
  • MathObject (from Topos.Core)
    • IntegerCongruence
  • Division (static)
  • Fibonacci (static)
  • NumberTheoreticFunctions (static)
  • Primality (static)

TO-DO:

Topos.Core:

  • Exponentials will be represented as numbers, including complex number operations (will not support Indeterminates)
  • Infinite sets (Countably - Uncountably)

Topos.NumberTheory:

  • Modular arithmetic over integers
    • Finding solutions of x^2 ≡ a (mod n)
  • Linear Diophantine equations
  • Aliquot sums, perfect numbers and other related concepts
  • Sums of squares
  • Continued fractions

ISSUES:

  • Complex number operations between ordered tuples are not supported.
  • Complex number operations over exponential representations are not supported.

About

Topos is a library for implementations of mathematical concepts for .NET environment. Based on Zermelo–Fraenkel set theory (ZFC).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages