Welcome to MathMorphs

MathMorphs is a new project where we combine Mathematics and Smalltalk. Our goal is to explore and promote the use of Smalltalk as a major tool in the mathematical work. "Work" includes studying, teaching and research; three forms of the same activity of understanding.

While all implementations of Smalltalk are equivalent for doing Math in a pure object environment, the spirit of Squeak as an open project is close to our own idiosyncrasy. Also, as the name of our project suggests, the Morphic interface to Squeak plays an important role in our work and the way we like to think in Math.

MathMorphs mailing list

To subscribe to our mailing list, send a mail to majordomo@dm.uba.ar with the text

subscribe mathmorphs

in the body (not the subject).

MorphicWrappers and Books

[NEW VERSION Last updated: 24/11/1998]
In the classroom and in our daily work we use MorphicWrappers, CodeStringMorphs, RequestBoxMorphs, ClassMorphicWrappers, BitmappedMorphicWrappers and more. With MorphicWrappers you can put any object in a MorphicWorld. Simply clic on the world an write a Smalltalk expression, once you press enter the resulting object will be included in your world. Clic here to downoload MorphicWrappers package

Linear Algebra project

Clic here to visit our Linear Algebra project.

Tutorials
If you are new to Squeak or Smalltalk, here you have a Squeak Smalltalk Dictionary (zip format). Before reading it as a morph from the file list (world menu ->open -> file list -> load as morph), fileIn the MorphicWrappers and the change set in the zip file.

Classroom notes
We, at the University of Buenos Aires, are developing the MathMorph project in classroom. Download the MorphicWrappers and this Permutations.zip. The fileIn the change set and read the Permutations Book. To become a good pupil '-) you should work on the exercises of [section 5.1.1, The Art of Computer Programming, Volume 3, Sorting and Searching, Second Edition, by D.E.Knuth]. Try, for example, exercises 6, 7, 8, 9, 10, 11, 12 and 28.
[Last updated 20/11/1998]

This is the first book about Linear Algebra.

The current Linear Algebra project has its own page...

This is the ModularInteger.zip. It contains a book and a change set where ModularInteger are implemented.

Projects (Downloads)

Please, send us your project. We will include it here.

Graphs and Turing Machines. Create a graph in a Morphic World and observe how the nodes accommodate themselves trying to find the equilibrium. Form graphs for collections, hierarchies and Turing programs. Write a Turing machine program and let it run on a Morphic World. Clic on to download TuringMachines.13Oct600pm.cs and Graph.9Octo736pm.cs.
Finite Groups. A first approach about Finite Groups by Luciano. Here you will find the following classes:
  • Subgroup
  • Homomorphism
  • TranslatedSubgroup (i.e., cosets)
  • GSpace
  • GSpaceByConjugation
  • GSpaceByTranslation
  • TowerOfSubgroups
and beautiful examples including: Quaternions, Roots of unity, Permutations, Alternating Gruop, Symmetric Group, and more!
Tarski Geometry. Here you will find an implementation of the Cylindrical Algebraic Decomposition algorithm used to decide the truth of Tarski sentences. This project includes Polynomials, Algebraic Numbers, Semialgebraic Sets, etc. The picture shows the category Mathematics-Tarski as implemented by Luciano.
SturmPlotter. A graphic representation of the zeros in a Sturm chain. The Sturm theorem is essential for the implementation of Algebraic Numbers (as we will see soon here). Follow this guided tour.
VibratingStringMorphs An interesting example on how to numerically solve a wave differential equation using Squeak and Morphic.
Algebraic Geometry (Implicitation Problem). This project has its own page.
Probabilities Random Variables, Statistics, Random Processes, (spec. Markov Chain Solvers and ap. in communications), Discrete Simulation, etc. (The picture shows the category Math-Random Variables in the browser). The project includes demonstrations in Morphic.

More projects, coming soon...