# The &cantor; Handbook

## Introduction

&cantor; is an application to allow you to you use your favorite mathematical applications from within an elegant &kde;-integrated Worksheet Interface. It provides dialogs to assist with common tasks and allows you to share your worksheets with others.

## Using &cantor;

Screenshot: Here is a screenshot of &cantor; Screenshot

### &cantor; features

- Intuitive worksheet view for evaluating expressions.

- Results of graph plotting shown inside the worksheet.

- Easy plugin-based structure to allow different backends to be added.

- GetHotNewStuff integration to allow example worksheets to be downloaded (or uploaded.)

- Mathematical formula typesetting using &latex;.

- Backend-aware syntax highlighting.

- Plugin-based assistant dialogs to help with common tasks, such as integrating a function, or entering a matrix.

### The &cantor; backends

&cantor; offers you several choices for the backends you wish to use with it. The choice to make depends on what you want to achieve.

Currently the following backends are available:

Sage:

- Sage is a free open-source mathematics software system licensed under the GPL. It combines the power of many existing open-source packages, within a common Python-based interface. See https://sagemath.org for more information.

Maxima:

- Maxima is a system for the manipulation of symbolic and numeric expressions, including differentiation, integration, Taylor series, Laplace transforms, ordinary differential equations, systems of linear equations, polynomials, sets, lists, vectors, matrices, and tensors. Maxima yields high-precision numeric results by using exact fractions, arbitrary precision integers, and variable precision floating point numbers. Maxima can plot functions and data in two and three dimensions. See http://maxima.sourceforge.net for more information.

R:

- R is a language and environment for statistical computing and graphics, similar to the S language and environment. It provides a wide variety of statistical (linear and nonlinear modelling, classical statistical tests, time-series analysis, classification, clustering, ...) and graphical techniques, and is highly extensible. The S language is often the vehicle of choice for research in statistical methodology, and R provides an open-source route to this. See https://www.r-project.org for more information.

Julia:

- Julia is a high-level, high-performance dynamic programming language for technical computing, with syntax that is familiar to users of other technical computing environments. It provides a sophisticated compiler, distributed parallel execution, numerical accuracy, and an extensive mathematical function library. See Julia documentation for more information.

&kalgebra;:

- &kalgebra; is a MathML-based graph calculator, that ships with &kde; Education project. See https://edu.kde.org/kalgebra/ for more information.

Qalculate!:

- Qalculate! is not your regular software replication of the cheapest available calculator. Qalculate! aims to make full use of the superior interface, power and flexibility of modern computers. The center of attention in Qalculate! is the expression entry. Instead of entering each number in a mathematical expression separately, you can directly write the whole expression and later modify it. The interpretation of expressions is flexible and fault tolerant, and if you nevertheless do something wrong, Qalculate! will tell you so. Not fully solvable expressions are however not errors. Qalculate! will simplify as far as it can and answer with an expression. In addition to numbers and arithmetic operators, an expression may contain any combination of variables, units, and functions. See https://qalculate.github.io/ for more information.

Python2 and Python3:

- Python is a remarkably powerful dynamic programming language that is used in a wide variety of application domains. There are several Python packages to scientific programming.

  Python is distributed under Python Software Foundation license (GPL compatible). See the official website for more information.

  This backend adds an additional item to the &cantor;'s main menu, Package. The only item of this menu is Package Import Package. This item can be used to import Python packages to the worksheet.

Scilab:

- Scilab is an free software, cross-platform numerical computational package and a high-level, numerically oriented programming language.

  Scilab is distributed under CeCILL license (GPL compatible). See https://www.scilab.org/ for more information.

  You need Scilab version 5.5 or higher to be installed in your system to make this backend usable.

Octave:

- &GNU; Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with MATLAB. See https://www.gnu.org/software/octave/ for more information.

Lua:

- Lua is a fast and lightweight scripting language, with a simple procedural syntax. There are several libraries in Lua aimed at math and science.

  See https://www.lua.org/ for more information.

  This backend supports luajit 2.

### The &cantor; Workspace

Screenshot of the &cantor; Workspace Screenshot of the &cantor; Workspace

The Worksheet interface of &cantor; consists of three parts:

1. The tab bar, where you can switch through the open worksheets.

2. A help panel, where help for a specific command is displayed if you enter `?? `command``, `describe(`command`)` or `example(`command`)` (Maxima backend).

3. A Variable Manager panel where you can see the list of all available variables on the current worksheet. The Help and Variable Manager panels are shown as tabs on a sidebar of a &cantor; window. Variable manager can be used for Maxima (if enabled on Settings Configure &cantor;... Maxima page), &kalgebra;, Octave, Python2, Python3, Qalculate, and Scilab backends only.

4. The worksheet itself.

#### The Worksheet

The worksheet is the basic area for working with &cantor;. Using it, you can enter expressions, allow the backend to perform calculations, and look at the results. The commands the worksheets accept depend on the chosen backend, so you should learn the appropriate backend syntax (the Show Help button takes you there directly). If you know the command, but you need additional information, you can type "? `command`", and contextual help will appear on the right of the worksheet. If you want to see some example worksheets, you can go to File Download Example Worksheets menu item, and download worksheets other users have published.

To control each command entry of the worksheet you can use control buttons shown at the right part of the worksheet when hovering the entry field with a mouse cursor. There are three basic actions for each entry: Evaluate Entry to update the result of calculations for the entry, Drag Entry to move the entry at the other place of the current worksheet and Remove Entry to remove the entry from the current worksheet.

Font settings and alignment of worksheet entries can be changed using a toolbar above the worksheet.

##### Settings

The Settings menu allows you to change some settings of the appearance of your current worksheet.

Typeset using LaTeX

- This setting changes the way results are presented to you. If enabled, it passes the result through the &latex; system, to produce visually appealing formulas. For example, 3*x^2*sqrt(2)*x+2/3 becomes 3*x^2*sqrt(2)*x+2/3

Syntax Highlighting

- Syntax Highlighting increases the readability of code, by highlighting keywords, or matching brackets in different colors.

Completion

- When this is enabled, &cantor; will show you possible completions for the command you are currently typing when you press the Tab-key. If there is only one choice remaining, it will insert the rest of the command for you.

Line Numbers

- This setting controls whether the different expressions should have a number in front. This allows you to recall older results - in Maxima, for instance, this is done with the %O1 command.

Animate Worksheet

- This setting controls whether the different animations will be used to highlight changes on a worksheet.

Embedded Math

- This setting controls whether rendering math expressions inside `$$..$$` in Text and &Markdown; entries is enabled by default (needs pdflatex installed).

### The assistant dialogs

There are several assistant dialogs implemented in &cantor; to alleviate some basic operations.

These dialogs can be accessed using the main menu items. Each backend has its own assistant dialogs.

#### The Create Matrix dialog

Screenshot of the &cantor; matrix creation dialog Screenshot of the &cantor; matrix creation dialog

This dialog can be used to input matrices. You can define matrix dimensions and its elements.

It is possible to navigate between cells quickly during input using the key.

#### Matrix operation dialog

Screenshot of the &cantor; matrix input dialog Screenshot of the &cantor; matrix input dialog

This dialog allows entering name of the matrix to compute its eigenvectors, eigenvalues or invert matrix. The default value (`%`) is used to refer to the previous result of calculation or input.

#### Differentiation dialog

Screenshot of the &cantor; differentiation dialog Screenshot of the &cantor; differentiation dialog

This dialog allows entering expression of the function to differentiate, the name of the variable and the order of derivative.

#### Integration dialog

Screenshot of the &cantor; integration dialog Screenshot of the &cantor; integration dialog

This dialog allows entering expression of the function to integrate, the name of the variable and the limits of integration (for the definite integral).

#### Solve equations dialog

Screenshot of the &cantor; solve equation dialog Screenshot of the &cantor; solve equation dialog

This dialog allows entering equations to solve (each equation in a separate line) and the variables to determine (separated by the comma).

#### Package import dialog

Screenshot of the &cantor; package import dialog Screenshot of the &cantor; package import dialog

This dialog allows entering name of the package to import (⪚ `numpy` for Python).

#### Plot dialog

Screenshot of the &cantor; plot dialog (Functions tab) Screenshot of the &cantor; plot dialog (Functions tab)

The options of this dialog are separated into two groups using tabs. The Functions tab allows entering functions to plot.

To enter new function click on the Add. Double-click on the Title cell and enter the title, then double-click on the Expression cell and enter the function expression.

Screenshot of the &cantor; plot dialog (Options tab) Screenshot of the &cantor; plot dialog (Options tab)

The Options tab is used to define plot and legend options. You can fine-tune almost every plot option to obtain the pleasant look of your figure.

#### Plot 2D dialog

Screenshot of the &cantor; plot 2D dialog Screenshot of the &cantor; plot 2D dialog

This dialog allows entering expression of the function, its variable and the limits for this variable.

#### Plot 3D dialog

Screenshot of the &cantor; plot 3D dialog Screenshot of the &cantor; plot 3D dialog

This dialog allows entering expression of the function, its variables and the limits for each variable.

## Command Reference

### The main &cantor; window

&cantor; has the common &kde; menu items, for more information read the Menu chapter of the &kde; Fundamentals.

Below is the list of the additional or special menu items in &cantor;. Please note that some menus are only shown for backends that have corresponding implementation.

#### The File Menu

&Ctrl;N File New

- Creates a new worksheet with the default backend.

File New `Backend`

- Creates a new worksheet with the chosen backend.

&Ctrl;O File Open...

- Open a supported new worksheet with the file dialog.

File Open Recent

- Choose a worksheet from a list of recently used files.

File Download Example Worksheets

- Opens the dialog to download examples uploaded by other &cantor; users with GetHotNewStuff.

File Open Example

- Opens the dialog to choose an example to load. The examples should be downloaded with File Download Example Worksheets beforehand.

File Save Plain Text

- Allows saving the current worksheet as a plain text document.

File Export to LaTeX

- Allows saving the current worksheet as a &latex; document.

File Publish Worksheet

- Opens the dialog to publish your current worksheet and make it available to other &cantor; users through GetHotNewStuff.

File Run Script

- Allows to load and run the batch scripts for the current backend.

#### The View Menu

View Panels

- Allows you to toggle the visibility of some tabs in the sidebar. Choices are:

  File Browser

- Toggles the visibility of the File Browser tab in the sidebar.

Help

- Toggles the visibility of the Help tab in the sidebar.

Variable Manager

- Toggles the visibility of the Variable Manager tab in the sidebar.

&Ctrl;+ View Zoom In

- Zoom in the current worksheet by 10%.

&Ctrl;- View Zoom Out

- Zoom out the current worksheet by 10%.

View Show Script Editor

- Opens the batch script editor window for the current backend.

#### The Worksheet Menu

&Ctrl;E Worksheet Evaluate Worksheet

- Triggers the evaluation of the whole worksheet.

&Shift;&Enter; Worksheet Evaluate Entry

- Triggers the current entry evaluation.

&Ctrl;&Enter; Worksheet Insert Command Entry

- Inserts a new command entry below the current cursor position.

Worksheet Insert Text Entry

- Inserts a new text entry below the current cursor position.

Worksheet Insert Markdown Entry

- Inserts a &Markdown; entry below the current cursor position..

Worksheet Insert LaTeX Entry

- Inserts a &latex; entry below the current cursor position..

Worksheet Insert Image

- Inserts an image below the current cursor position.

Worksheet Insert Page Break

- Inserts the page break below the current cursor position.

Worksheet Collapse All Results

- Collapse all results of the command entry.

Worksheet Expand All Results

- Expand all results of the command entry.

Worksheet Remove All Results

- Remove all results of the command entry.

&Shift;∇ Worksheet Remove current Entry

- Removes current entry from the worksheet.

#### The Linear Algebra Menu

Linear Algebra Create Matrix

- Opens the matrix creation assistant dialog.

Linear Algebra Compute Eigenvalues

- Opens the matrix name input assistant dialog to compute its eigenvalues and dimensions of the multiplicities of the eigenvalues in the corresponding order.

Linear Algebra Compute Eigenvectors

- Opens the matrix name input assistant dialog to compute its eigenvalues, dimensions of the multiplicities of the eigenvalues and eigenvectors in the corresponding order.

Linear Algebra Invert Matrix

- Opens the matrix name input assistant dialog to find the inverse of the matrix.

#### The Calculate Menu

Calculate Differentiate

- Opens the differentiation parameters dialog.

Calculate Integrate

- Opens the integration parameters dialog.

Calculate Solve equations

- Opens the parameters input dialog to solve linear and non-linear equations.

#### The Package Menu

Package Import Package

- Opens the package import dialog.

#### The Plot Menu

Plot Plot

- Opens the plot parameters dialog.

Plot Plot 2D

- Opens the plot parameters dialog.

Plot Plot 3D

- Opens the plot parameters dialog.

#### The Settings and Help Menu

&cantor; has the common &kde; Settings and Help menu items, for more information read the sections about the Settings Menu and Help Menu of the &kde; Fundamentals.

## Questions and Answers

The Menu Item Typeset using LaTeX is not available

Not every backend supports every option. Current version supports &latex; output for Maxima, Qalculate! and Sage backends.

I have installed Sage/Maxima or other supported CAS, but the appropriate backend does not appear.

One possible explanation is that &cantor; did not correctly detect the location. Go to the Settings Configure &cantor;... dialog and change the Path to the appropriate application on the backend's page.

What a peculiar name - what does it have to do with mathematics?

&cantor; is named after the German mathematician Georg Cantor, the creator of set theory.

## Credits and License

&cantor;

Program copyright 2009-2011 Alexander Rieder alexanderrieder@gmail.com

Documentation Copyright © 2009-2011 Alexander Rieder alexanderrieder@gmail.com

&underFDL; &underGPL;
&documentation.index;