Thursday, January 3, 2013

File structure of my computer algebra system

I now have ten files in my computer algebra system. The organization of my computer algebra system is bound to change as 2013 goes on. places.clj defines place forms which are a partially ordered system, bidirectional variant of functional lenses based upon historical Lisp places such as car and cdr. enums.clj defines enumeration of sets, multisets, integers, rational numbers, and other mathematical structures. adj.clj implements graph theory functions using adjacency matrices and graph canonization.

Abstract algebra:
monoids.clj defines iteration types, monoids, and groups which lays the foundation for lattices.clj and rings.clj. lattices.clj defines partitions with respect to an arbitrary lattice and rings.clj defines polynomials with respect to an arbitrary ring.

Linear algebra:
lin.clj defines linear transformations and gaussian elimination and lodes.clj defines linear ordinary differential operators and other differential equations.

Data structures:
Well enum.clj allows us to define enumerated data structures such as rational numbers and strings, lists.clj allows us to define dynamic lists which associate values with a set of places enumerated by nth. ds.clj defines hashes which associate any set of values with any other set of values without an enumeration for the keys or values.

No comments:

Post a Comment