Abstract nonsense. Universal Framework for Science and Engineering

Published on 21 September 2006 10:00 AM
This post thumbnail

Diagram of categories

Project CategoryTheory homepage


Life becomes too trivial. Now, General relativity and Quantum mechanics are not extraordinary things. These theories are rather an everyday engineering tool. For example, the usage of Computational chemistry enables us construct molecules like puzzles. However, very interesting physical theories are being developed now. Modern Superstring theory and M-theory are very exciting and complicated. Even scientists have no hope of practical applications for them now. Rather, they would like to understand the sense of these theories. This article is devoted to software that would be of help to advanced scientists.


Modern physics uses lots of kinds of objects from different branches of math (see picture above). The Category theory provides interoperability between them. It is very abstract, and not all mathematicians recognize it. It is even called as Abstract nonsense. But it is no longer too abstract when my software uses its theorems. Moreover, I've found that any software devoted to advanced math should be based on the Category theory. It is clear that I've not included all branches of math into my software. It is a business for the whole of my life. Now, my software includes braches of math that are applicable for Abstract algebra and Algebraic topology. These brunches are being more and more used in advanced physics. Here is a short review. Full documentation of the software is sited on the Project Category Theory homepage. Here, I'll exhibit some samples.

Objects and morphisms

The key notions of Category Theory are objects and morphisms. At the framework, they are represented by squares and arrows. It is shown below:

Objects and morphisms

This picture represents three objects A, B, and C, and two morphisms r and x. Another key notion is the composition of morphisms. If we Shift + Left Click on r and x , then they shall be selected. Then, the Composition option of the main menu creates a composition of r and x:


Another feature of the Category theory is commutative diagrams. You can check commutativity by selecting Wizards/Commutative checking option of the main menu. The result looks like:

Commutative checking

This diagram is not commutative. So this software implements the base ingredients of the Category theory: object, morphism, composition, and commutative diagram.

Implemented kinds of objects

This software now implements objects of the following categories:

  • Finite sets;
  • Finitely generated Abel groups (Z - modules);
  • Finite dimension vector spaces over simple fields Q and Fp;
  • Finitely generated algebra over these fields.

Properties of these objects and morphisms may be edited by right clicking on the corresponding square. Contents of these editors is clear. For example, the editor of properties of Abel groups is presented in the following picture:

Abel group

It is defined by a number of generators and relations between them. The editor of morphsisms between Q - vector spaces looks like:

Linear map


The notion of category is indeed an auxiliary one. Essential properties of the Category Theory are related to functors. This software implements the following kinds of functors:

Finite sets;

  • HomA(M, -);
  • HomA(-, M);
  • ExtA(M, -);
  • ExtA(-, M);
  • TorA(M, -);
  • Tensor product;

where A is Z or Q or Fp, and F is a simple field. Let us consider a user interface for the construction of functors. It is is presented in the following picture:

Calculation of functror

We would like to calculate the functor Tensor product of the following diagram there M is an Abel group Z + Z/12Z. We link this group with the Tensor product functor component. Then, we open a property editor and click the Perform functor from selected button. This action results in the calculation of the functor:

Calculation of functror result

Limits and colimits

Limits and colimits is an essential part of the Category theory. I've used some theorems about limits and colimits during the development of this software. Finite limits and colimits may be created using the Diagram component. We put this component to the desktop and select a diagram.

Selected diagram

The property editor of Dgm is presented in the following picture:

Diagram property editor

Click the Create limit button, and it results in the creation of a limit:

Diagram property editor

Selection of arrows from objects of the diagram and a Create arrow to limit click results in the creation of a unique arrow to limit:

Arrow to limit

Operations with colimits are similar to the limit ones.

Formula editor of objects

Another powerful tool is a formula editor of objects. It is presented in the following picture:

Editor of objects

This editor enables us to create new objects from old ones using formulas. To use it, you should select the Wizards/Editor of objects main menu option. If you have entered a formula, click Accept. Then link the variables of the formula with objects of desktop (right combo boxes). Click Accept, and it results in the creation of an undef object that corresponds to the formula.

Other features

This software contains lots of other features that are reflected in the documentation. Here is a list of them:

Points of interest

The scale and number of stars are impressive. However, the calculation of Herzsprung-Rassel Diagram (Part 2) of 100,000,000 or more stars takes a few of seconds. I had had an attempt at calculating the tensor product of two commutative algebras with four generators and two relations. This operation took 71 hours. Indeed, the scale of stars is negligibly small if it is compared with the scale of Human Mind.