MINOS: Steps Towards a Syntax-free Computer Algebra Program

Kyril Tintarev


The underlying idea of MINOS is to take full advantage of object oriented programming and populate the screen with visual mathematical objects with robust behavior that matches the way a mathematician relates to a mathematical object. MINOS employs Microsoft's metaphor of a file system (the technical name is ListView ActiveX control), but it uses the standard 32x32 icons with a name box underneath, not for handling files, but for representation of mathematical variables, vectors, matrices, sequences and whatever else might be beneficial for a mathematician to see as a conceptional unit. Figure 1 shows a screenshot of MINOS (draft 009) with function f(x,y) = sin(x*y) and its two partial derivatives, calculated by pressing the differentiation button; one of the derivatives is plotted. Operations with visual objects (we tentatively call a MINOS object eidolon) are performed with a mouse, for example by highlighting the icons of arguments or by dragging one of them onto another. Each object type has its own context menu with the main operations specific to this object (a matrix should have a determinant on its menu) as well as a few common ones (delete, copy and paste). Plotting is one of the easiest accessible features of MINOS: marking a check-box near an eidolon results in an automatic plotting, whenever the eidolon has a graphic representation. Plot types can be changed and the range of arguments readjusted by self-explanatory buttons and boxes on the graphics window. Figure 2 shows an overlay of graphs for a function f(x) = x sin(x) and its derivative. Several functions dependent on the same variable can be graphed in the same axes merely by marking the check boxes.

Full Text: