Ket (software)
   HOME

TheInfoList



OR:

Ket is an open source algebra editor. It is distinct from editors like
Mathematica Wolfram (previously known as Mathematica and Wolfram Mathematica) is a software system with built-in libraries for several areas of technical computing that allows machine learning, statistics, symbolic computation, data manipulation, network ...
and
Maple ''Acer'' is a genus of trees and shrubs commonly known as maples. The genus is placed in the soapberry family Sapindaceae.Stevens, P. F. (2001 onwards). Angiosperm Phylogeny Website. Version 9, June 2008 nd more or less continuously updated si ...
and from typesetting systems like
LaTeX Latex is an emulsion (stable dispersion) of polymer microparticles in water. Latices are found in nature, but synthetic latices are common as well. In nature, latex is found as a wikt:milky, milky fluid, which is present in 10% of all floweri ...
in that its focus is primarily on interactivity, providing various features to allow for easy manipulation of algebraic equations, with the goal of providing a convenience comparable to
text editor A text editor is a type of computer program that edits plain text. An example of such program is "notepad" software (e.g. Windows Notepad). Text editors are provided with operating systems and software development packages, and can be used to c ...
s or
handwriting Handwriting in Italian schools (XXth - XXIst century) Handwriting is the personal and unique style of writing with a writing instrument, such as a pen or pencil in the hand. Handwriting includes both block and cursive styles and is separa ...
.


Overview

Ket breaks the process of equation editing into a series of small edits performed either with the keyboard or with mouse gestures. Commands exist to delete, reorganize and combine existing expressions as well as to add new symbols or expressions. Equations often contain a great deal of repetition which can make it faster to reuse existing expressions than re-write them. Commands provide instantaneous updates enabling the user to view an equation in conventional mathematical notation while interacting with it as a series of small fragments.


Representations

Ket maintains three distinct representations of an equation. First, equations are displayed to the user and may be exported in images in conventional mathematical notation. Second, internally it is more efficient to represent the equation as a
Tree structure A tree structure, tree diagram, or tree model is a way of representing the hierarchical nature of a structure in a graphical form. It is named a "tree structure" because the classic representation resembles a tree, although the chart is gen ...
which standardizes direction commands. Third, when writing equation fragments or saving them to file, a custom markdown language is used which merges
markdown Markdown is a lightweight markup language for creating formatted text using a plain-text editor. John Gruber created Markdown in 2004 as an easy-to-read markup language. Markdown is widely used for blogging and instant messaging, and also used ...
, LaTeX and plain text mathematical notations as applicable. Conventional mathematical notation is represented by a series of boxes within boxes each containing letters and lines to denote what function, operation, variable or value they represent. After each edit, equations are converted to this form and rendered. However, edit commands represent the equation differently and keyboard direction commands reflect this. Analogous to a filesystem hierarchy of files and folders within folders, each equation is represented as a
Tree structure A tree structure, tree diagram, or tree model is a way of representing the hierarchical nature of a structure in a graphical form. It is named a "tree structure" because the classic representation resembles a tree, although the chart is gen ...
. Each equation in Ket is a tree of operations and functions (tree branches) and
variables Variable may refer to: Computer science * Variable (computer science), a symbolic name associated with a value and whose associated value may be changed Mathematics * Variable (mathematics), a symbol that represents a quantity in a mathemat ...
and
values In ethics and social sciences, value denotes the degree of importance of some thing or action, with the aim of determining which actions are best to do or what way is best to live ( normative ethics), or to describe the significance of different a ...
(tree leaves). The file format consists of its own, non-standard markdown language. Also, when editing, any equation fragments are typed in plain text and converted to the tree. The equation is represented in memory and converted to a tree map in order to display it to the user. The file format is plain text which is converted to and from a tree when files are loaded and saved.


Interaction

Various forms of interaction are possible. These include reorganizing the tree structure and performing simple algebraic operations. Mouse drags allow the user to change the order of arguments to a function. They can also add and remove fragments of an expression into another equation including substituting for a variable. While a plain text representation of pages of equations can quickly become unwieldy, working with small fragments of plain text are a quick way to replace, identify or update an existing selection. If good writing is rewriting then good algebra is reorganizing existing expressions.


Editing

The quickest form of editing is by mouse gestures to substitute one equation into another. Additionally, either through the right click menu or right-dragging in the menu items direction, arguments may be deleted, copied or added. Ket is a modal editor which means that it changes how it displays information and how the user interacts with it depending on the mode it's in. By default, keyboard commands perform specific selection or transformation commands such as to delete the current selection, 'x'. Some commands must be followed with a direction, for example paste, 'p'. Other commands require a block of text such as to replace the selection with an equation fragment, 'r'. Editing lines of text The editor displays a list of lines of either text, equations, images or plots. In order to edit text, starts editing text while or stops. Here takes a new line and continues editing text. All editing takes place relative to the current selection so a variety of commands to change the selection are provided. In order to move around, it is possible to use arrow keys, however it is quicker to keep your hands in the touch typing position so various keys signify directions. In addition to moving up, 'k', and down, 'j', between equations, it is possible to move in and out of each equation. That is, to select different parts of the tree. 'h' and 'l' select the previous and next expression while 'i' and 'o' select the left and right arguments of the tree. Lastly, moves back out. After pressing a command that requires an equation fragment, the program changes mode. Here a plain text representation of an equation fragment may be typed. This mode also allows
Readline GNU Readline is a software library that provides in-line editing and history capabilities for interactive programs with a command-line interface, such as Bash. It is currently maintained by Chet Ramey as part of the GNU Project. It allows users ...
commands familiar to Bash and Emacs users. This is then converted to an equation fragment by pressing (or cancelled with ). Transformation commands Editing can take place at different levels of meaning. Editing need not preserve the original meaning of an expression. So for example, a polynomial pattern could be reused by copying it and replacing all of the variables with new ones. Various syntactic and semantic transformations are also possible. Some are trivial such as replacing the current selection, 'r', with a new fragment. Others may be cycled through such as the
Distributive property In mathematics, the distributive property of binary operations is a generalization of the distributive law, which asserts that the equality x \cdot (y + z) = x \cdot y + x \cdot z is always true in elementary algebra. For example, in elementary ...
:a (b+c) = a b+a c using and . Commands such as replace require fragments of an equation to be represented in plain text. Often a text fragment has already been typed and may be referred to. If the fragment exists in the current equation then use "\address" (a backslash followed by an address without quotes). Here successive digits of an address refer to the nth argument. Similarly, existing equations may be referred to as "#1" for equation 1 etc. And an address within another equation referred to as "1#234" for the 2nd argument's 3rd argument's 4th argument within equation 1.


References

{{Reflist


External links


Ket Sourceforge project page
Formula editors