Sicyon 3.0

by Teodor Krastev


(printable edition; no hyperlinks)


1. Overview

Sicyon is an all-in-one tool for physicists, engineers and chemists; students, professors and scientists. Sicyon is easy-to-use and has everything you need to calculate or analyze your expression.

The principal features could be sketched as:

- calculate the value of a formula using variables, user-defined functions and over 50 built-in functions (including special ones).

- easy access to user-defined functions (Pascal syntax) by buttons organized in function boards.

- plot / tabulate a formula.

- find real roots, minimums, maximums and definite integral of an expression in a given interval.

- curve fit on data (non-linear regression)

- use a sophisticated unit of measurement converter.

- search in tables with various physical and chemical constants arranged in data boards.

- "plug-in" additional little applications (ActiveX controls) called tool boards. 

- organize the boards in groups (usually by subject).

- contest information for each level of organization - function/ board/group.

Advanced users can also:

- easily access (ASCII) to configuration and boards' files.

- easily create their own data boards with DataBoard Utility in dBase III format.

- add new units of measurement and their conversion rules from, and to SI.

- personalize Sicyon using their own configuration file as a parameter in a command line, which runs Sicyon.

The interface of Sicyon is friendly enough to work with it, when you know even a few principal outlines. If you have a little experience with Windows applications, just browse within and try to do simple tasks. The context sensitive help is always at your service.


Sicyon is written on Borland Delphi(tm) - the greatest instrument for programs creating I know.

"The temple of Delphi was the seat in ancient Greece of the oracle of Apollo...One of the buildings in sacred precinct was the treasury of Sicyon, in foundation of which were found quaint sculptures from archaic predecessor..."

I dedicate my program "Sicyon" to "Delphi" and its creators.

2. Workplace

The workplace is what you see, when you run Sicyon. It contains of grouped in panels visual components - e.g. buttons, editable fields etc. The workplace window is resizable only horizontally with an exception when data board is expanded (then it is resizable in both directions). After resizing you can retrieve the original window size by pressing F5.  

When you type your expression or your variables, you see that different parts of what you type are colorized in different colors - color coding. The colors are: blue for functions, brown for numbers, gray for special symbols and green for variables. That will help you to keep track of number parenthesis you have opened or wrong function/variable syntax, everything wrong you type is red. The color-coding is not a complete expression interpretation, but still will help you a lot – for example, if you type “1/0” Sicyon won’t mark “0” in red.

2.1 Visual components

The workplace is divided (from top to bottom) functionally and visually by:

- the menu bar is just bellow the application title bar.

- speed panel (SpeedBar) with speed-buttons for direct access to some menu commands and modes.

- formula panel, including formula implementation field and result field.

- variable panel with up to 8 variables. Each one is presented as a variable name field and variable value field.

- board panel with up to 4 groups with up to 10 boards each. Boards look like tabbed notepad or sheets of spread-sheet.

- status panel (status bar), shows status line (hint) for buttons, boards, groups and all other visual components.

Each panel can be hidden (except formula one) independently. All these panels can be hidden at once, using Reduce menu command.

If board panel is visible and non-empty, there is always one active group, title of which is marked with the same color as your application title. The active board is the top one of active group.

2.2 Navigating

The active field pair is a pair of formula-result fields or variable name-value fields, where a blinking text cursor is situated. With "Tab" and "Shift Tab" you can move the text cursor forward and backward from field to field and in function board from button to button. If the focus is in a particular  board, the last active field pair becomes the target pair and it’s marked with a gray frame. When you press a function button the action made will be on the active or target field.

If you click on the board name, you set active board and change active group at once. If the board names list is longer than the width of the board, a pair of arrows appears on the side of the board names and you can scroll the name list using the arrows. If you click on a group name you change the active group and active board becomes the one on the top (visible) in this group. The "activity" of the board or group concerns only the file operations load, save and close.

You can set the active board in active group by "Alt 0".."Alt 9", "Alt 1" corresponding to a first board, etc. and "Alt 0" - to the tenth one. Using "Alt -" and "Alt +" you can turn on one board backward/forward. When you click right mouse button aside of board list (but within the gray background around the list), a local menu appears and all the boards arranger by type are accessible from there.

By "Shift Alt 1".."Shift Alt 4" you can set active group.

You can exchange the position of the groups using the drag-and-drop technique.

3. Menu

All the menu and submenu items can be divided, by responding, into five types:

- direct commands, as Calculate, Analyze, etc.

- commands activated some additional dialog, marked with '...'.

- checkable items (Boolean type) are marked with check bullets representing some kind of a mode.

- radio items are grouped in sets are marked with round bullets. Only one item in the set can be selected.

- Edit Properties and MiniHelp, marked with '–›', which changes the cursor shape and waits for clicking on some object.

You have access to the main menu items by pressing either "Alt" or F10 and (Underlined letter in Item name) or "Alt (Underlined letter in Item name)" - standard Windows actions. More usable menu items are accessible by shortcut keys and speed-buttons from SpeedBar.

3.1. File

Submenu with file management commands - creation, seeking, opening, saving, closing.

3.1.1. New...

You can choose to define a new function board in the active group or a new group by checking one of the radio buttons. You are obliged to fill the Name field with a valid file name (without an extension). Filling the MiniHelp box and Hyperlink fields is optional.

If you choose a new group and there is empty place for it, Sicyon places it there, otherwise the active group is replaced. The dialog boxes for creating a new board or group are the same as for editing them.

3.1.2. Open ... (Ctrl O)

Sicyon opens a multi-page dialog box and you can choose to open a group, with the file extension .GRP or any kind of board. Sicyon works with three kinds of boards: function boards, with file extension .FBD; data boards - .DBD and tool boards - .TBD. For the first two kinds, the default directory is the directory of the active group; for the last one – the default directory is available by Options dialog/Directory page.

First page (Common) is purposed mainly for choosing the directory you open the group or board from. If you know the name of the group or board, you can open it directly from the Common page.

If you want to browse for the short descriptions of the groups or any type of boards, you have to select directory from the Common page and switch to the desired type (Group, Function, Data or Tool pages). There is an exception from that rule, if the 'Auto Tool Change' option is checked, when you select Tool page, the active directory is automatically changed to the Default Tool Directory (set by Options dialog/Directory page). There are three buttons, which help you to set: Active Group Directory, Default Group Directory or Default Tool Directory, by one click.

In the right bottom corner two buttons will help you to find your group or board. The right one will show an additional box on the bottom which will show the MiniHelp and sub-items of the selected item and with the help of the left one you can find a word in the MiniHelp of the active list of boards or groups.

The boards should be organized thematically in-groups. If you have more than a couple of groups on a certain subject or if there are too many groups in one directory, you should separate some of them in their own directory.

When you turn to Group, Function, Data or Tool page, you can see a table with file names of desired type and brief description of each one (if it exists). To open the file you have to select it and click on the 'OK' button or double click on the file name.

By clicking on the Cancel button you can leave that dialog window.

3.1.3. Close

Sicyon closes a board or a group. If the closed one has been changed, depending on Save board ... option in Options dialog/Directory page, the save operation is proposed. Board (Ctrl W)

Sicyon closes the active board (the top board of the active group). Group

Sicyon closes the active group.

3.1.4. Save Board (Ctrl S)

By this command you can save the active function board in directory of origin. If it is a newly created function board, it is saved in active group directory.

3.1.5. Save Board As...

By this command you can save the active function board under a new name and/or in new directory. If it is a newly created board, its default directory is active group one, otherwise - directory of origin.

3.1.6. Save Group...

Sicyon saves the active group and you can change its name and/or directory.

3.1.7.Save All

Sicyon saves all the changes you have made among all the open groups and boards (it does not save the options).

3.1.8. Find Function... (Ctrl F)

Sicyon opens a spreadsheet-like dialog box. You can see all the currently loaded and built-in functions, presented in columns as: Board Name, Function Name, Function Implementation and Status Line Text. If a built-in function is not attached to a button, the Board Name field is empty.

- If you choose the Done button command, Sicyon will enter the selected function in the same way as it would be from relevant function button.

- By Search menu, you can choose the order of functions in table: Natural order - by order of loading; by Board Name - sorted alphabetically by board name and by Function Name - sorted alphabetically by function name. Alternatively you can double click on any column header and the table will be sorted by that column. By Find in comments menu item you can find a specific word in comments text using the standard dialog box. The Find in MiniHelp menu item does the same as previous but for the MiniHelps.

- By Show menu, you can include and exclude certain groups or disable and enable built-in function and user-defined ones from the list. As well as show/hide a box for MiniHelp of selected function.

- By Cancel button command the dialog box is closed.

If the workplace is in reduce view mode, Find Function is the only way to browse the available functions.

If you care only about active board functions, press the right mouse button (instead the left one) when you open Find Function from the speedbar button.

3.1.9. Exit (Alt F4)

If Autosave option from Options dialog is checked, Sicyon saves the current state of workplace and the current options as default. Before exit Sicyon close all the groups.

When you close some board or group, its name appears after Exit menu item, so you can reload it from there.

3.2. Edit

Submenu with Undo, clipboard and field clear commands. You can edit object or program options and change the dimension of the variable as well.

3.2.1. Undo (Ctrl Z)

When you use the Calculate command (=) instead of Return key, all the non-empty fields are saved in their attached lists and whole the fields' state is saved. With the Undo command you can retrieve the last saved (pushed down by “=”) state. Content of all the combo-box type fields can be retrieved separately from the their lists. You can retrieve with Undo even after close and restart Sicyon - Undo list is saved in a file (undo.log).

Retrieve from Report

You can load back a saved beforehand report and Sicyon will retrieve its state at the moment the report was created.
Do not remove the tabs in front of the expression and variables, because Sicyon uses them for the field’s recognition.

3.2.2. Cut (Ctrl X)

Removes selected text and puts it on the clipboard. This command is available only when you select text.

3.2.3. Copy (Ctrl C)

Copies selected text to the clipboard. This command is available only when you select text.

3.2.4. Paste (Ctrl V)

Inserts a copy of the clipboard contents at the insertion point, replacing the selection with the text on the Clipboard. This command is not available, if the clipboard is empty or the selected text field is protected.

3.2.5. Delete (Ctrl D)

The content of the active pair of fields is deleted. The pair could be formula/result fields or any variable name/variable value fields.

3.2.6. Clear all (Alt backspace)

Sicyon cleans all accessible fields - variable, formula and result ones.

3.2.7. Edit Properties –› (Ctrl E)

When you activate Edit Properties mode, the cursor shape is changed (an arrow with attached 'E') and Edit Properties menu item is checked. You can cancel Edit Properties mode by clicking a second time on its menu item. The edited object can be a function button (its attached user function), board or group and you have to click on the chosen one.

It is the way to create a new user-defined function, you have to click on empty button when Edit Properties mode is active.

3.2.8. Unit converter ... (Ctrl U)

With this menu item you can enter in the dialog box. The unit converter is an incorporated utility for units of measurement conversion, but you can use it to choose a dimension for variable, as well. For your convenience when you type ‘[‘ in a variable value field, a pair of brackets ‘[]’ will appear.

The converter offers simple and complex unit conversion. Simple units are the ones for which transformation from respective SI unit is only a coefficient (factor), e.g. m ‹-› inch, km, cm. All others are complex (e.g. temperature). When you enter in the converter and if there is a dimension part in your variable value field, the converter tries first to find Simple units. If there is at least one, Sicyon opens the first page of the converter. If there aren't any, then All Units page is opened.

If there are units raised on exponent or division the converter takes them into account. In dimension syntax you have to use abbreviation of units from File page. Simple units have to be separated by '.' (point) or '*' (multiply) - for multiplication and '/' - slash for division. You can use only one division. You can use exponent - '^', but only positive. Superscript ² (Ctrl 2) is treated as ^2 and ³ (Ctrl 3)- as ^3.

For temperature degree you can use degC, degK and degF or their equivalents °C, °K and °F (° is Ctrl 0).

Example: From a variable with dimension [W.cm/ns^2], you can change any of the three units W, cm and ns separately into new ones.

You can convert simple units in main Sicyon window even without entering in unit converter window. Just select the unit you wish to change (or place the text cursor inside or next to it) and press right mouse button. A list in popup menu with possible conversions will appear, then pick the target unit and you’ll see the result from conversion immediately.  

·        Simple page

In the Simple page you can see on the top left side the original (current) value and dimension part as they are in your variable value field. On the top right side you see the new value and dimension, as they will return in the workplace. For the identified simple units, the converter proposes a conversion unit by unit in the combo boxes and you can see the result automatically. For all the chosen units as well for all the visual components of the dialog window you will find hints at the status line when the mouse is over the component.

·        All Units page

In the All Units page, you can choose a new (simple or complex) dimension of your variable. You can see on the right side, the types of the units organized by pages the first of which includes all of them. When you choose the type, on the left side of the page in combo boxes, you can see and choose entry and target dimensions. You can find quickly SI unit of chosen type by SI button on the right side of combo box. When you turn to this page, the current dimension is ignored, because you have to choose a new original dimension. If there are some simple ones in a new dimension, you can go back to Simple units’ page and change some of them. Some of the dimensions in the list are in bold some not. The bold ones are simple and complex ones and others are derivative ones, for the later ones there aren’t direct conversion rules (e.g. Surface tension -> [N/m]).

·        Base page

The conversions in the base page are based on the rules of unit’s equivalency. All SI units can be expressed by 'm','kg','s','A','K','mol','cd' units known as base units. For example, from the first law of mechanics F=m.a follows that [N]=[kg.m/s^2].

When you select that page two actions are executed: first all units are converted into SI units, second – all simple SI non-base units are transformed into base units. The later one does not change the variable value.

Then you can include non-base unit as nominator or denominator in dimension part and unit converter will “compensate” by multiplying to 1/(the equivalent in base units) to keep the dimension (and the value) unchanged.

·        File page

You can always browse the units - their types, names, abbreviations and conversion by File page. It's called File, because in your Sicyon directory there is really a file named DimUnit.Tre, which contains all the conventions. If you want to edit complete or translate it, see Files' format - Dimensions' File chapter.

For some of the errors in (e.g. contradicted abbreviations) the unit converter will tell you when it interpret the file. 

Because of the high user interest, unit converter is included in Sicyon package as independent application (EXE file) as well, so you can use it separately from Sicyon. 

Ever more, if you are programmer you can use it remotely (along with small expression parser) thru its COM interface as out-of-process server. Everything a programmer needs to connect his application to SicyonUC is in http://www.sicyon.com/developer/SicyonUC.zip . That use is free of charge, but registration is required (see the included license.txt).

3.2.9. Options...

Sicyon opens an additional dialog box and you can choose among four pages to set Sicyon options.

When you have made the changes, you can exit, accepting the changes by pressing the OK button. To make current options default check the “Default” check box. When you accept the changes, but some parameter is not in the allowed range, a warning message is displayed.

When Sicyon saves the options, it saves also the view state (adjustable by View menu). View page

You can change the number of significant digits representing Result and Variable values. That is only a displayed precision, all the calculations are executed with double precision (15 significant digits; 8 bytes internal length). Nevertheless, be careful: Sicyon uses the same format for presentation results from Roots, Min/Max and Integral procedures.

The User Level helps you to avoid some errors warning you for any changes you is about to make (beginners level). Advanced level  (only error warnings) will speed up the work of more experienced users.

With the Stay On Top option checked Sicyon will stay on the top of all open applications, this mode becomes active after restarting Sicyon.

Minimized On offers you to choose what kind of minimized state you prefer – standard or as small icon in your system tray (left button of your Windows desktop).

You can define the Status line hint content for buttons - Title of MiniHelp section, function implementation, or both of them.

You can save (if Default is checked) the current position of Sicyon in your setting so next time you open it will appear on the same position. Directory page

If you close function board or group and if the closed one has been changed, Sicyon looks at the state of the first option from this page and operates depending on it. When you are in an active period of testing, the better choice is 'No', second one ('Prompt') is for normal use and if you are an advanced user and you want to speed up your work, you can use the third possibility ('Yes').

You can change the default directories for groups and tool boards, typing it or browsing the directory tree. If you use browsing for finding target directory, you have to open it (double click) and press 'Done' button to accept it. When you open a function or data board, the default directory is the active group one.

The last option “Always Save Options On Program Close” speaks for itself. Tab&Graph page

From that page you can set the number of steps for one- or two-dimensional charts/tables for Graph/Tab procedure.

You can choose either a line or point graph, by checking (or not checking) the respective option. When the last option is checked a grid of points appears on the graph. Solve page

On this page you can see table-like ordered parameters which you can adjust.

By columns - precision of the results, number of parts by which the interval is divided and number of iterations.

By rows - which procedure it concerns: Roots, Min/Max, Integral and Fitting.

For more details - see description of respective procedure.

3.3. View

By view set of commands you can adjust the way of appearance of the panels. This workplace state is saved when you save the options by Options dialog or when you close Sicyon and Autosave option is checked.

3.3.1. Reduce (Ctrl R)

By this command you can reduce the appearance of Sicyon workplace so that only formula panel and menu are visible. Nevertheless, you can use all the loaded functions by typing them manually in formula field or by Find Function dialog box. Some of menu items are disabled in this mode.

3.3.2. Wide

You can use this checkable menu item to narrow or wide Sicyon workplace.

Narrow view is useful when you want to work, side by side, with another application, but you want to have more access than reduce view offers. In narrow view mode, only a part of the speed-buttons is accessible, but you can minimize the board panel to one group and use the power of boards within a minimum of screen place.

3.3.3. SpeedBar

You can use this checkable menu item to hide or show the SpeedBar.

When you hide SpeedBar, an additional submenu of main one (Modes) appears to replace speed-buttons' access to Degree/Radian; Function Presentation and Calculation Mode sets.

3.3.4. Variables

By this command you can enter in submenu and you can set a number of visible variables. When you choose Auto, only the necessary number of variables appears. Sicyon changes number of them, so there is always at least one empty place for variable.

3.3.5. Groups

By this command you can enter in submenu, where you can set a number of visible groups. When you decrease the number of visible groups, Sicyon proposes that you close the groups, which are left out of view (hidden groups). If you refuse to close hidden groups, their functions will be still available and you can use them manually (by typing their names) or by Find Function dialog box. The hidden groups will became visible again, if you increase the number of visible groups.

3.3.6. Status Bar

You can use this checkable menu item to hide or show the status bar. It is not recommended to hide Status Bar, at least until you are beginner using Sicyon.

3.4. Run

By this set of commands you can calculate formula value; analyze formula syntax for variables; create a short report; execute some mathematical procedures and tabulate or plot a formula.

3.4.1. Calculate (=  or  F9)

With the Calculate command, the formula result is calculated. When the cursor is in the formula field and you press Return, Sicyon calculates the formula result as well. When the cursor is in the variable value field and you press Return, Sicyon calculates the variable value, if you entered the expression before that.

When the Automatic mode is set, after every change of the formula or variable fields, the result is calculated.

In Automatic and Semiautomatic modes Sicyon Analyzes the formula and suggests variables (if any) when you press Return or Calculate menu (=) command.

Use the Calculate command instead of Return, if you want to remember in a stack (both global and local) the current state of the fields. You can revert the global state with the Undo command or the local field state from the local list with the down-pointed arrow beside the field.

3.4.2. Analyze (Ctrl A)

Sicyon analyzes the formula and extracts the variables, placing them into variable name fields. Analyze command treats as variable all the identifiers which are not function or board names. Therefore, if you want to use some function, but you do not load it or misspell its name, Analyze will put that identifier in variable name field.

By this command you can also make a link between function parameter and the variable (see Edit Button and Local Menus)

3.4.3. Report... (F7)

A small report, including formula implementation, result, and variables (names and values) is produced. You can edit or complete the text and finally save it as file or copy it to clipboard.

The same possibility you have from Roots, Min, Max  Integral and Fitting dialog boxes, but the report contains information respective to executed procedure.

You can add some comments to the report or you can use this dialog box to take a little note aside: just delete initial content of the report, type your note and save it.

3.4.4. Solve

With this submenu you can solve simple mathematical problems, but first you have to choose the interval of interest (#..#) for one of the variables. You can set all the parameters described below through the Options dialog/ Solve page. If the Show changes option (in Options dialog/Solve page) is checked , you can see a chart presentation of the procedure. You can still show the chart after procedure execution by pressing the Chart button.

The results are tabulated and you can choose from among the following:

- the Done command copies the selected calculated value to a variable value field. You will have the same result, if you double click on chosen root or min./max.

- Report, which you can save as file or copy to clipboard.

- with the Copy menu you can copy to the clipboard, selected from the table item, entire table or the chart as a Windows Meta File (WMF)

- the Options command activates the Options dialog/ Solve page and re-executes the procedure

- the Cancel menu command (or Esc from the keyboard) closes this window.

For finding roots, minima and maxima, the Brent's method is used, for definite integral - Simpson's method. Some command buttons are disabled in Integral dialog.

It is unadvisable that the analyzed formula contains 'random' functions.

Whenever you want, you can interrupt the procedure by pressing Break/Pause from the keyboard. Root(s) (Ctrl Y)

Sicyon finds the real roots in the defining variable interval with the desired precision.

Sicyon can find as many roots as parts you have specified in the Options dialog/Solve page. As a matter of fact, Sicyon divides the definite variable interval into equal parts and seeks by one root into each part.

For each part the procedure executes two steps:

First, Sicyon seeks a sub-interval, which contains a root. If Sicyon finds it, the second step is executed, else Sicyon turns on the next sub-interval.

Second, if a sub-interval contains a root Sicyon specifies the root value until: either the desired precision is reached, i.e. the difference of results between two consecutive iterations becomes less than the precision value; or the number of iterations is exceeded. If the time of the procedure seems too long to you, you can limit the time of calculation either by changing maximum number of iterations or the precision from Options dialog/Solve page (or interrupt by Esc). 

You can take a closer look to the chart where roots are marked with arrows. The arrow for the root selected from the table is colored in red and you can change the selected root by clicking on it. You will have the same result if you click on the arrow base (opposite side of the arrow head). If for some reason a root is out of charts frame Sicyon does not draw its arrow.

You can delete the selected root by clicking on the button below the table or recalculating all again by pressing the Recalculate button.

  N.B. Root finding algorithm is purposed for smooth functions. The program tries to guess "suspicious" roots (in singularity) and marks them with "(?)" in result table. Minimum

The same as Root procedure. The procedure is looking for local minima. The difference from the root procedure is: the minimum procedure seeks initially three points, middle one must be lower than another two. Maximum

The same as the Root procedure. The difference from the root procedure is: the maximum procedure seeks initially three points, middle one must be higher than another two.

Both procedures seek for local extrema excluding the edges of the interval.

N.B. Extremum finding algorithm is purposed for smooth functions. The program tries to guess "suspicious" extrema (in a singularity) and marks them with "(?)" in the result table. Integral

Sicyon calculates the definite integral on a given interval with the required precision. The number of parts in the Options dialog/ Solve pagecsSolvePage corresponds to the initial number of steps in the Simpson's algorithm. The integral procedure calculates first the estimation with the initial number of steps, then it doubles the number of steps and calculates the second estimation and so on, if the difference between the results from two consecutive estimations become less than the demanded precision, the procedure stops and Sicyon displays the result. By changing the maximum number of iterations you can limit the time of calculation as well.

On the chart you can see “positive” integral area colored in red and “negative” one – in blue.

3.4.5. Graph (Ctrl G)

You can see the graphic presentation of the formula in a given interval (one of the variables has to be of a range type). You can specify all the options by Options dialog/Tab&Graph page. On the right side of the menu bar you can see the mouse cursor position calculated in user units. If you want to choose some variable value from graph, as in Solve procedures, you have to place the mouse cursor on the desired position and double click or press "Alt D". You can zoom a part of the graph - you have to press left mouse button on one corner of the desire-for-zooming area and drag it to an opposite corner, then you release mouse button. Zoom graph window shows your field of interest and has same area as original one and user demanding proportion. You can repeat zoom and revert the original scale and size using menu command Unzoom.

3.4.6. Fitting 

The mathematical procedure behind is a “classical” Levenberg-Marquart minimization method.

After entering in the fitting window for the first time you have to supply the procedure with data (most left button) either from file or from clipboard. The file format is simple XY ASCII format with columns separator Tab (ASCII 9) or comma. Semi-column (;) as a first character in a row makes Sicyon skip that line. Sicyon knows how to use point errors if you specify them. So the file could have two or three columns (without or with errors). The fitting procedure would give more weight in chi-square of the points with less error and vice verse.

The chart presents the data, as points and the fitted curve, as a line (initially using initial values). The table page gives you more precise (and less visual) information about the same, including the difference between the data and the fitted curve Y-values. The second column of this table is of particular interest. Double click on the symbol @ and you can make certain points be excluded (or included) from the calculations. The data points from the chart will follow, making themselves hollow. You will have the same result double clicking on the data points.

On the right you will see a variable table here again you can include or exclude certain variables from variation (fix or vary). You can edit the values in the Init.Val. column as well. The next column will give you fitted values and the last one – the precision of their calculation.

Below the variable table you can specify the criterion by which the fitting will proceed, it could be either chi-square or sum of absolute distances between fitted and data points. The later is less sensitive to the points, which are “way out of line”. Under it is the most important button, it makes the whole thing run – the Fit button. After you press it, a stop button appears so you can stop any time you consider that.

On the very bottom of this window there are two helpful charts: one for residuals (difference between data and fitted points) and histogram of them. The first one will give you a clue if you have to include or exclude certain points or change the expression. Finally, if you have data which can be model with expression you suggest with some random noise on the top of it you should have close to normal distribution of the histogram of residuals. If that distribution is not normal-like, that means that your noise is not quite random so there may be something in it (an additional term in your expression for example).

3.5. Modes

That sub-menu is available, if the SpeedBar is hidden. It offers three sets of modes. You can choose one mode in each proposed set by clicking on its menu item. Sicyon saves the state of these modes together with view state. More details about combination of Function Presentation Mode and Calculate Mode you can see in Formula Panel and Function Board.

3.5.1. Degree/Radian Mode set

- Degree

- Radian

You can choose the dimension for trigonometric functions.

3.5.2. Function Presentation Mode set

- Implicit. When you press on function button, the parametric form, i.e. name and parameters in parenthesis, of function appears in formula field.

- Explicit. When you press on function button, whole function implementation appears.

3.5.3. Calculate Mode set

- Manual

- Semiautomatic

- Automatic

In Automatic mode Sicyon tries to estimate the formula every time, you change it. In Semiautomatic or Manual it waits for Return or Calculate menu (=) command.

In Automatic and Semiautomatic modes Sicyon Analyzes the formula and suggests variables (if any) when you press Return or Calculate menu (=) command.

Automatic mode is useful when you use simple (quick) functions. If there are functions in the formula, calculating of which take more time, the other two modes are recommended, otherwise, after each typed digit (for example) the Sicyon will recalculate the result.

If you think you formula is correct but there is nothing else than '?' in result field. You would need to set Manual mode to see all the messages from the calculating engine.

3.6. Help

Sicyon offers context sensitive help. When you press F1 and some menu is selected, the help information about it appears, otherwise you can see the contents page of the help. The dialog boxes offer context sensitive help, also.

3.6.1 Contents

Sicyon displays the contents of the Sicyon Help system.

As you look through Help, you can return to the Contents screen by clicking the Contents button in the Help window.

3.6.2. Topic Search

You can search in Help system for information related to topics on which you want more information. To use the Topic Search command, type the topic or select it from the list in the Search dialog box, and then choose the Show Topics button to see related topics. To display a particular topic from the list of topics, select it and then choose the Go To button.

3.6.3. MiniHelp –› (Ctrl F1)

When you choose this menu item, the cursor shape is changed (arrow with attached ?) and you can choose the object, whose MiniHelp you are looking for. The object can be function button (its attached function), board or group. The MiniHelp box shows whole the MiniHelp section. You will notice, that Sicyon uses for title of MiniHelp, as Status line text. You can cancel MiniHelp regime by clicking second time on its menu item.

3.6.4. About

This command displays information about your copy of Sicyon, including version number, the copyright and e-mail contact point and Sicyon web site address.

3.6.5. Register

Dialog box, where you have to enter your name and registration number, appears.

Sicyon is copyrighted freeware. You will find information about how you can register and what you will acquire by that in "readme.txt" file.

4. Panels

4.1. SpeedBar

By set of speed-buttons you have quick access to some frequently used commands and modes. In wide view you can use all of them, in narrow view - only some ones. Some of speed-buttons become disabled according to the state of the workplace and your actions. For example - Graph, Root and Minimum speed-buttons are disabled, if there is not a variable of range type. You can guess the purpose of the speed-buttons following the button images and hints appear bellow the buttons, when your mouse cursor stays more the half of a second on the button, as well as by status line text.

Anyway here they are (from left to right in SpeedBar, wide view mode):

- as Open command, show Function page of Open dialog and using active group directory.

- as Open command, show Data page of Open dialog and using active group directory.

- as Open command, show Tool page of Open dialog and using Default Tool Dir.

- as Find Function command.

- as Cut command.

- as Copy command.

- as Paste command.

- as Calculate or Tabulate commands, if there is some variable(s) of a range type. You can follow the change by button hint.

- as Graph command.

- as Root command.

- as Minimum command, mouse click in combination with "Ctrl" - Maximum command.

- as Delete command, mouse click in combination with "Ctrl" - Clear All command.

- as Degree/Radian Mode menu item set, changes mode from Degree to Radian dimension for trigonometric functions and backwards.

- as Presentation Mode menu item set, changes mode from Implicit to Explicit and backwards.

- as Calculate Mode menu item set, change mode (Automatic, Semiautomatic and Manual) in a circular order. When you press and hold Ctrl from keyboard, the mode is changed temporally (still you hold Ctrl) to manual.

- as Reduce command.

- as MiniHelp menu item.

4.3. Formula Panel

On formula panel you can see formula field and result field. This panel is always visible. You can type function name and its parameters directly in formula field or press function button. If there is more than one function with the same names, you have to type its name as board name, point and function name (for example - tBoard.tFunc). When you press a button, Sicyon uses this extended syntax, if the function name is duplicated. The result field shows result according to the rules of Calculation mode. The result precision you can set in Options dialog/View page. When you are in Automatic or Semiautomatic mode and you press Return (or Calculate - F9) Sicyon executes Analyze command first.

4.4. Variable Panel

Each variable is presented by two fields: variable name and variable value.

Variable name has to be a valid identifier (starting with letter) with up to 5 characters' length. Sicyon has case insensitive interpreter, hence the variable names can be in different cases (upper or lower) in variable name field and formula field.

Variable value can be either of scalar type or range type. The scalar type can be real number or expression using built-in or user-def. functions and other variables. The format of a range type is a real number, point, point, real number (e.g. 23.4..2.6E3). At the end of the variable value field you can add a dimension of the variable in brackets (e.g. [m.s]). Sicyon interpreter ignores this part of the field. This dimension is used from unit converter, as well as when the report is created.

4.4.1. Board Panel

There can be from one to four groups in board panel and there can be up to 10 boards in a group. The boards can be function (with buttons), data (table) or tool ones. You can replace a board within a group or make a copy of it in another group by drag and drop technique (activated by Shift). For navigating - see Workplace... chapter.

4.4.2. Function Board

There are twenty buttons in a function board and you can link one user-defined function to each button. You can load maximum 200 user-defined functions per group (20 buttons x 10 boards) and you can use maximum 850 functions simultaneously (20 buttons x 10 boards x 4 groups + 50 built-in functions). You can define new or edit existing user-defined function using Edit object menu command. You can replace a user function within board or make a copy of it in another board by drag and drop technique (activated by Shift). The names of built-in function are underlined and you cannot edit its implementation.

Of course, you can type the name of the chosen function manually on the formula field or you can use function buttons for greater convenience.

When you press function button the following cases can occur:

If Function Presentation mode is set to explicit, the function in explicit form (full implementation) is inserted in formula field at the point of text cursor. If you select portion of the formula line, this portion is replaced by the function in explicit form.

In implicit mode, the function in implicit form - FuncName(Param1,..) is used.

Single-parametric function in the same mode:

- If Calc. Mode is manual, the chosen function is inserted at the cursor place or if you select portion of the formula line, this portion is replaced by the function..

- If Calc. Mode is semiautomatic or automatic, the action depends on text cursor position.

There are four cases:

A. If the cursor is at the beginning of the formula line, the whole line enters, as parameter, between parenthesis of the chosen function.

B. If the cursor is at the end of the line, the function is added as a term.

C. If the cursor is in the middle of the formula text, the nearest left-sided term enters between parenthesis of the function as parameter.

D. If you select portion of the formula text, this portion enters between parenthesis, as parameter.

If you choose multi-parametric function, the part that is taken place as a single parameter in above cases "acts" as first parameter.

4.4.2. Data Board

Data board is a table of data, usually various physical and chemical constants. You can create data boards using "Sicyon Data board Utility" - file SdBUtil.exe in your Sicyon directory.

You can navigate within the table using scroll bars, as well as shortcut keys:

(for using them the data board has to be active)

Keys Go to
¬ ­ ¯ ® One cell in chosen direction
PgUp/PgDown Scroll one "screen" up/down
Home Beginning to the current row (record)
End End to the current row (record)
Ctrl PgUp Beginning to the current column (field)
Ctrl PgDown End to the current column (field)
Ctrl Home Top left cell of table
Ctrl End Bottom right cell of table
Ctrl < , > Decrease / Increase font size of table

In the right-hand bottom corner of the data board you can see a star-like button with hint Expand. When you click on it, the data board is expanded to the size of the whole board panel. Expanded view of data board allows you to see more cells at once. If you set the number of groups to four, you will see the largest part of the table. Expanded view gives you two searching possibilities: Sort by and Find. By the first one you can reorder (sort) the table by selected field. The field can be selected from combo box list of Sort by. By second one you can find a cell nearest to entered value within cells of selected field. After selecting a string field, you can search by Find. After each typing letter Sicyon will find and point a string with the same or nearest beginning. If you want to search within strings in selected field column you have to start the searching mask with two points (dBase III format search). In that case a spin button (ô ) is appeared and if you can use it to find next cell downward/upward. The end of searching mask could be two points also (for saving compatibility with dBase III format), but Sicyon ignores them. If you select a numerical field the process is similar, but Sicyon points the nearest less value to the searching one, if there is not an exact value. You can set case sensitivity of the search by checking Match Case check box

You can move a column by drag-and-drop technique the title of the column at new position.

The width of the column is fitted either by column title or by visible column content depending on Fit Col. check box state. You can resize the width of a column manually by drag-and-drop the boundary between column titles, when Fit Col. check box is off.

You can shrink the expanded data board by Shrink button or resizing workplace.

When you find desired datum you have three ways to put it in the place of your choice:

- copy it as variable: set Calc. mode to Auto or Semi, place cursor in desired variable field pair and double click on the datum;

- insert in variable value field: set Calc. mode to Manl, place cursor in desired variable value field and double click on the datum;

- insert in formula field: place the cursor wherever in formula field and double click on the datum or column title.

4.4.3. Tool Board

Tool board is "plug-in" little application, general purposed or specialized. The instructions, how to work with loaded tool you will find in its MiniHelp.

When you operate with a certain tool and the focus is within, only Ctrl ­ ¯ (panel up/down) and clipboard commands from Sicyon shortcut keys are enabled. To make all the shortcut keys enabled again, move the focus out of the tool. Of course, the tool can have its own set of shortcut keys - e.g. if in the button title has underlined letter, Alt + that letter simulate button pressing.

4.5. Status Bar

Status bar displays one line hint about the object, which is under mouse cursor.

For user defined object, you can define or edit that hint, when you create or edit respective object. When you create user-defined function, you can attach to each function parameter a little comment. When you use that function and execute Analyze command (or Calculate command in Auto or Semi Calc. mode) for parameters recognition, the parameter comments become variable field hints. The case of data boards is analogous - when you fill a variable fields by double click on the value in data board, the attached to that datum comment, becomes variable hint.

For all other visual object: menu items, speed buttons, etc. the hints are built-in.

5. Example Simple Tasks

Before each example, make sure that variable panel is visible, choose Clear All command (Alt BkSp) to clear all the fields' content and set modes to: rad impl auto.

5.1. Calculate formula

Task: calculate sin(x)+0.2, where x=0.5

Longer way (safer and independent from the modes):

A. Type formula including variables in the formula field -› sin(x)+0.2.

B. Choose Analyze command from Run menu, then variable x appear in a first variable name field.

C. Type in first variable value field -› 0.5.

D. Choose Calculate command from Run menu.

Quicker way (not fewer steps, but more effective):

A. From 'Basis' group choose 'Trigon' board and click on sin button, then type +0.2.

B. Press Calculate speed-button, then variable x appear in a first variable name field.

C. Type in first variable value field -› 0.5.

D. Press Calculate speed-button if you are in manual mode.

The result should be 0.679426.

5.2. Find function

Task: find a function in case you know (or guess):

- Function name (the board containing the function has to be loaded).

A. Choose Find Function command from File menu, dialog box appears.

B. Choose by Func. Name command from Sort menu.

C. Browse function names looking for your function name.

D. Double click on your function name (if you've found it), then respective button is selected.

- What is the function about:

A. Choose Open command from File menu

B. Select Function page.

C. Browse function board status lines for seeing function context.

D. When you find nearest to the sought context, load the function board.

E. Browse function buttons with mouse pointer to see each function status line.

5.3. Find datum

Task: Find first ionization potential of Holmium (rare earth element):

A. Load Ptable data board - Open command from File submenu, Data page.

B. Expand the data board by Expand button.

C. Choose 'Name' field from Sort by combo-box.

D. Type 'Ho' in Find, then Holmium is selected.

E. Scroll right following Holmium row, till IonP1 column (field) become visible.

F. Place text cursor in a variable field.

G. Double click on the value and variable name become IonP1 and variable value - 6.018 [eV].

5.4. Plot formula

Task: Plot sin(x)+0.2, where x=0..5 (range)

A. Execute first two steps from Calculate formula example.

B. Type in first variable value field -› 0..5 (zero point point five) and Graph speed-button became enabled.

C. Choose Graph command from Run submenu. (or click on Graph speed-button)

In graph window you will see the plot of the formula.

5.5. Find root of formula

Task: Find roots of sin(x)+0.2, where x=0..5

A. Execute first two steps from Calculate formula example.

B. Type in first variable value field -› 0..5 (zero point point five) and Graph speed-button became enabled.

C. Choose Root command from Solve submenu, Run menu.(or click on Root speed-button)

The result should be 3.34295.

5.6 Fitting curve to data set - example

Task: Find the variables value which provides the best fit of the curve a*x^2+b*x+c to data set, 

where x=-27..27, a=2, b=3, c=1

1. Type a*x^2+b*x+c in the formula field and press Return.

2. Fill in the variable value fields with x=-27..27, a=2, b=3, c=1

3. Graph the expression and save the data set into a file or the clipboard.

4. Change a, b and c however you like.

5. Choose the Fitting command from the Solve submenu, open the saved data set and hit Fit.

The result should be a=2, b=3, c=1.


5.7. Change dimension of variable

Task: Change dimension of variable from 10 [m/s2] to [km/h2].

A. Set some variable value field to 10 [m/s2], for superscript of 2 use Ctrl 2.

B. Choose Unit converter command from Edit submenu, meanwhile the text cursor has to be in value field of the variable. (the same command is available from local menu also)

C. From first page of the converter you change target combo-box contents from m to km and from s to h, then you see the target value with new dimension.

D. Press OK button to accept the conversion.

The result should be 129600 [km/h2].

6. Manipulating objects

The object can be function button, board or group. The ways, you can manipulate them are: create, open, close, move and edit. The focus of our attention here will be editing objects and some techniques to manipulate them which have not been discussed yet - local menus and drag-and-drop technique.

6.1. Edit Object

You can edit object either by Edit mode (Edit Object menu item) or using local (pop-up) menu, clicking with right mouse button on the object name.

When Edit mode is settled and you click on chosen object, an additional dialog menu is opened and you can change all the proposed fields.

To accept the changes you have to finish by clicking on OK or you can exit without consequences by clicking on Cancel.

Edit dialog boxes are the same as these for creating objects.

6.1.1. Edit Board or Group

For function board and group, the name corresponds to a file name of the object and has to be valid file name. You cannot create or edit data or tool boards within Sicyon.

Only Name field is obligatory to fill, Status line and MiniHelp fields are optional, but very useful.

Status line is a hint you see in status bar when mouse cursor is on object name. The purpose of MiniHelp is to describe in details all you have to know about this object.

6.1.2. Edit User-def. Function

The Edit user-def. function dialog box proposes the same fields and buttons as above, plus:

- Formula field - implementation of user defined function. You can use the built-in functions, formal parameters and all the functions defined above in the same board (so be careful choosing function and parameters names).

- Parameters fields - names, default value, dimension and status line, which appears in status bar, after you make a link between function parameter and variable. The default value is the most typical value of that parameter (if any exists). The dimension is used, if parameter represent some kind of physical variable. The default value and dimension are accessible afterwards from local variable menu.

- Copy button will copy Sicyon state into the new function definition.

- Verify button - Check correct syntax of the formula implementation. If there are unknown identifiers, Sicyon proposes that you use them as parameters.

Other difference between editing board or group from one side and function button from another, is that you can edit empty button (New button dialog box is opened).

6.2. Local Menus

When you click with right mouse button on chosen object or variable name field a local (pop-up) menu appears. The local menus for objects (button, board and group) are similar. Using local MiniHelp menu item is the same as when you click in MiniHelp mode on the object, the Edit... menu item - as Edit Object. The last pop-up menu item is slightly different - for boards and groups is Close and for function buttons is Delete. For empty button only Define... item appears in local menu.

Local menu of variable includes:

- Default value - Sicyon assigns default value (set from Edit user-def. function dialog box) to variable value. Usually it is the most typical value (if any) for that parameter;

- Dimension - Sicyon add dimension part (set from Edit user-def. function dialog box) to variable value field;

Protect - after checking it, you cannot change manually the content of the fields and the background of variable field is changed to dark gray.

To make a link between function parameter and the variable you have to use Analyze menu command (or Calculate in Auto or Semi Calc. mode). If there is not a link or you didn't set Def. Val. or Dim., the correspondent menu items are disabled.

When variable is protected, it is protected only for manual user access (typing) and you can disable protection choosing second time that menu item. If variable type is a range and you checked Show Variable on Change in Options dialog/Solve page, you see that variation of the protected variable, e.g. when Sicyon looks for roots. If you choose a root from the list, you can replace protected variable value. You can change protected variable value also by choosing an already used variable value from local stack.

6.3. Drag and Drop Techniques

You can copy result value or variable value to variable value field either by copy and paste technique or by drag and drop. For using the last one you have to press the left mouse button over desired source field and keep pressing it, drag the value over the destination and then release the button.

For applying drag and drop technique on object (button, board or group), you have to press Shift key before dragging the object. When you drag and drop button or board between different groups, a copy of respective object is created. When you do this within one group, you move dragged button or board.

There is only one internal presentation of each function board. When you make a copy of a function board from one group to another, you make only visual copy and all the changes you will make on one function board automatically will reflect to its copy.

7. Files' Format (for advanced users)

You can create or edit all the following files, because they are plain ASCII files. You can edit them with any editor, which supports ASCII format (Notepad is simplest). During normal using of Sicyon you would not need to edit these files manually, all necessary manipulations you can make by menus and dialog boxes of Sicyon (except creation or editing data or tool boards). Nevertheless, if you need to edit the files in some cases, you can do it.

7.1. Configuration File

By default configuration (INI) file has the same name as your application file with extension .INI. You can edit it manually, but for all incorrect or missing parameters Sicyon assigns default values, warning in advance.

You can have more than one personalized instances (icons in Program Manager group) of Sicyon, each one with own configuration file for each particular user. For this aim you can run Sicyon with different configuration files as parameter in command line. Follow the procedure as described below:

- make a copy of SICYON.INI in the same directory under new name

(i.e. from DOS prompt - copy SICYON.INI UserName.INI).

- create one more program item (icon), where Sicyon is, with the command line: SICYON.EXE UserName.INI. After that, when you start Sicyon by this icon, Sicyon will load the configuration parameters from UserName.INI and all the changes you make will be saved in the same file.

The meaning of the sections and options in configuration file are more or less obvious by their names. Boolean values are presented as '0' - false and '1' - true. You have to follow some restrictions as well (see Some Restrictions chapter).

7.2. Group File

Group file uses near to Windows INI file format and has .GRP file name extension.

The structure of the group file is:


That title line appears as status line

This is the body of MiniHelp, 1st row

This is the body of MiniHelp, 2nd row







There are two sections:

The first section is [MiniHelp]. It is an exclusion of Windows INI format and contains the title (status line) and the body of MiniHelp of the board as plain text.

The second [Boards] section gives the names of the boards included in this group. If the boards are in the same directory as group file, the board path of file name is omitted, otherwise the board path complementary to Sicyon path is added. If group and boards' files are in the same directory and you move only the group file, Sicyon could not to be able to find its boards. In that case you have either to move group file and its boards together or reload the boards or add new directory in GRP file manually.

Function board file name has extension .FBD; data board - .DBD and tool board - .TBD. If the file name has no extension, .FBD is assumed.

The board section is indispensable.

7.3. Function Board File

Function board file is a plain ASCII file with extension .FBD. Sicyon uses Pascal format to implement an user defined function. A look at including in the current package boards, will gives you a primary idea.

Function definition format for two-parametric function named Name is:

function Name(x,y: real): real;

{%H That title line appears as status line

The body of MiniHelp, 1st row

The body of MiniHelp, 2nd row



Name:= <function implementation>;

SetParam(x,'<Default value> [<Dimension>] < Status line text>');


Bold style marks obligatory key words, italic - optional ones and text in < > gives the meaning. More details about function implementation and parameter set syntax you can see in Edit user-def. function.

You can enter wherever your comments in {} brackets, which interpreter ignores. If '{' is followed by "%H", the Sicyon interpreter treats it as MiniHelp section. The first line (title) of MiniHelp section is treated as Status line text and the lines below as MiniHelp body. If MiniHelp section is within "function" "end" key words, it is treated as function MiniHelp. If MiniHelp is in the beginning of the board file, it is considered as board MiniHelp.

Sicyon interpreter is case insensitive. Nevertheless you can use uppercase or lowercase letters of the function name and parameters after function key word and Sicyon will use that case in the function boards.

If you want to order visually used buttons by order different from natural one, you have to include empty definition:

function Name: real;



Sicyon interpreter is not new line sensitive, except in [MiniHelp] section to recognize the title. From functions entitled as built-in ones the interpreter takes only MiniHelp section.

You can use all function boards, as they are in your Pascal programs! For this aim you have to make small changes:

- in your program code: define ErrorFlag: boolean; include {$I SICYON.INC} in your Pascal program. This piece of program includes SetParam empty definition and all the built-in function implementations, which standard Pascal does not support. Sicyon.inc could be obtain by request from the author (see About box).

- in function boards you intend to use: delete, if there are, user-def. functions implemented Pascal built-in ones (e.g. user-def. functions sin, cos, ln); replace, if there are, power operations (x^y) with power function (Power(x,y)).

7.4. Data Board File

You can create data boards using "Sicyon Data board Utility" - file SdBUtil.exe in your Sicyon directory.

Data board uses two files:

- the first is a plain ASCII file with extension .DBD and it contains only the description (heading) information about the data base file in dBase III format , which have to be in the same directory as .DBD file and has the same name as .DBD file with extension .DBF.

DBD file uses near to standard INI file format with following structure:


That title line appears as status line

The body of MiniHelp, 1 row

The body of MiniHelp, 2 row






FirstRow=This is the status line of FirstRow[Dim_FR]

FirstCol=This is the status line of FirstCol[Dim_FC]


Field_1=This is the status line of Field_1[Dim_1]

Field_2=This is the status line of Field_2[Dim_2]


The first section is [MiniHelp]. It is an exception from Windows INI format, which contains the title (status line) and the body of MiniHelp of the board as plain text, as in Group file.

In the second section [General] a Type parameter defines the type of data board. When you double click on a chosen datum from the table Sicyon copy datum together with dimension of the constant and optionally with its name . How to assign dimension and name to the data depends of the data board type.

Three data board types are possible:

- Misc type - Defines miscellaneous data base, in which each row (record) represents a different constant. A typical case is the table of fundamental constants - each one has different dimension and name. First field (column) is a short description of constant, second - constant name, third - constant value, fourth - dimension of constant and the last one (optional) - status line text. This type needs only Type=Misc declaration in [General] section.

- Column type - Defines table of constants, in which each column represents a different type of constant and each row (usually) different object. In that case the name of the constant is the field name, the description is defined in [Fields] section and dimension is after description.

This type require only Type=Column in [General] section and [Fields] section.

One typical example is the Periodic Table of Elements, each row is a different element and each column is an element characteristic (property). The field for first ionization limit looks like this: IonP1= First ionization limit [eV].

- Uni type - all the constants in the table have the same name and dimension. (e.g. table of dependence of a certain property on two parameters). In that case Dim parameter in General section determines dimension of all the constants. If ShowFieldNames parameter is true, the names of the field are displayed as in Column type, otherwise (default) the field names are hidden and the first row of the table is used for non-scrolling row. In that case (ShowFieldNames=0) you can use a numbers as a field title, in the usual case of data base table the field titles (names) cannot be a numbers. Status lines with dimension part for first row and first column is set by FirstRow and FirstCol parameters. The matter of fact, all but first parameters in General section are used only in the case of Uni type.

The second section [Fields] contains, in case of Column type, a constant description and dimension. If you can define different descriptions of the fields in case of Uni type, they will work as well, but dimension is taken from General section.

The status line string appears in status line panel, when your mouse cursor is on the cell of this field.

Refer to Unit Converter for the "legal" (in Sicyon terms) abbreviation of the units .

The Type parameter in [General] section is indispensable.

If you want to present kind of table other than constants (e.g. name-phone table), use Column type, without [Dim] part.

- second file is data base file itself in dBase III format with extension .DBF. Creating your dBase file, you can use only character and number types of field, according to the type (e.g. Uni type allows only number type).

Another way to browse constants is "Struct" tool, which offers you access to structured (tree-like) data. In this package you have a file with some fundamental constants. You can easily extent this file of constants or create your own following the instructions in its MiniHelp.

7.5. Tool Board File

Each tool board uses two (or more) files: a plain ASCII file with extension .TBD as configuration (heading) file and ActiveX control (OCX) file, which includes the tool implementation through established standard. The .OCX file has to be in the same directory as the .TBD file and must not be moved once it’s installed. One .OCX file can consists more than one tool using different .TBD files for each of them.

The TBD file uses near to standard INI file format. The [MiniHelp] section is the same as in the group and data board files. The second section is [ActiveX]. First parameter is Filename (of the ActiveX file).  Second parameter is Class, which is identifier for this ActiveX in the Windows register. Both these parameters are indispensable.  
The tool can use all further sections and parameters as its configuration (.INI) file.

If you wish to create your own tools, take a look in the Developer page of the Sicyon site (http://www.sicyon.com/developer) for instructions and examples, how you can do this from Borland Delphi.

  7.6. Dimensions File

An ASCII file named 'DimUnit.Tre' containing all the conversions is used by the unit converter. The first level corresponds to the type (class) of unit following the SI principal unit name and abbreviation in '[ ]' brackets. The lines of the second level are delimited with Tab and contain the names, abbreviation and conversion rule of the derivative units. If there is only one value in parenthesis, then it's a simple unit and value is the conversion coefficient. Otherwise in parenthesis you will find the formulae of conversion forward and backward, from and to SI principal unit. The two formulae are separated by ‘:’ (in Sicyon1.7 the separator was ‘;’). At the end of the line optionally you can write a comment (separated by ‘;’) which will appear as a hint for this unit in status line of the dialog box.

You can make the converter omit certain lines (comment) in the file by ";" symbol, as first symbol in the line.

7.7. Some restrictions

Characteristic Min Value Max Value
Number of variables 0 8
Number of char. for variable name 1 5
Undo depth (global stack)   10
Number of loaded groups 0 4
Number of boards per group 0 10
Number of user defined functions per function board 0 20
Number of characters for function name 1 8
Size of function board file (.FBD) 1k (empty board) 30k
Number of rows (fields) for table of data board 1 25
Size of MiniHelp section for group, data & tool boards 0 63k
Size of MiniHelp section for function board 0 9k
Row number for tabulating 1 100
Point number for plotting 3 900
Precision for root, minimum, maximum and integral 1E-6 1
Number of parts for root, minimum and maximum 2 200
Number of parts for integral 2 1000
Maximum iterations for root, minimum and maximum 2 1000
Maximum iterations for integral 1 16
Number of simple units of measurement for converter 0 5


8. Built-in constants, operators and functions


Ee= 2.718281828459045 (Base of the Naperian Logarithm)

Pi= 3.141592653589793

Always use point "." for decimal symbol (symbol separating integer and fractal part of real number).


+ Addition.
- Subtraction.
* Multiplication.
/ Real division.
** or ^ Exponential. (see Power function)
Div Integer division. (x div y)
Mod Integer Mod function. (x mod y)

Mod, Div: Result is always an integer. Both operands must be integers.

Precedence Levels (1 highest, 3 lowest): 1. **

2. *, /, Mod, Div

3. +, -

Within a precedence level evaluation is always left-to-right.

Built-in functions (* - standard Pascal functions)

Syntax Description Restrictions
Abs(x) returns the absolute value of the argument.*  
Min(x, y) returns the less of the arguments.  
Max(x, y) returns the bigger of the arguments.  
Trunc(x) truncates a real value to an integer value.* (toward zero)  
Round(x) rounds a real value to an integer value.*  
Frac(x) returns fractional part.*  
Sin(x) returns the sine of the argument.*  
Cos(x) returns the cosine of the argument.*  
Tan(x) returns the tangent of the argument.  
Cot(x) returns the cotangent of the argument.  
Sec(x) returns the secant of the argument.  
Csc(x) returns the cosecant of the argument.  
Asin(x) returns the arc sine of the argument. -1 <= x <= 1
Acos(x) returns the arc cosine of the argument. -1 <= x <= 1
Atan(x) returns the arc tangent of the argument.  
Acot(x) returns the arc cotangent of the argument.  
Asec(x) returns the arc secant of the argument.  
Acsc(x) returns the arc cosecant of the argument.  
Atan2(y,x) returns the inverse tangent of y/x. x <> 0
Power(x, y) return x raised by y. (duplicate '^'operation) not( (x<0) and (y<1))
Exp(x) returns the exponent of the argument.  
Ln(x) returns the natural logarithm of the argument.* x <> 0
Log10(x) returns the decimal logarithm of the argument. x <> 0
Log(b, x) returns the logarithm of on base b of the argument. x <> 0
Sqrt(x) returns the square root of the argument.* x > 0
Iff(x, a, b, c) returns a if x>0; b if x=0 and c if x>0  
Sign(x) returns -1 if x>0; 0 if x=0 and 1 if x>0  
Deg2Rad(d) convert d (in degrees) to radians  
Rad2Deg(r) convert r (in radians) to degrees  
Sinh(x) returns hyperbolic sine  
Cosh(x) returns hyperbolic cosine  
GCDiv(x, y) returns the greatest common divisor of arguments

(the largest integer that both numbers can be divided by without a remainder;

it's also called the greatest common denominator).

x, y- positive integers
LCDiv(x, y) returns the least common divisor of arguments

(the smallest integer that both numbers can be divided by without a remainder).

x, y- positive integers
LCMult(x, y) returns the least common multiple of arguments

(the smallest positive integer into which both numbers can divide without leaving a remainder).

x, y- positive integers
Fibon(n) returns n term of a Fibonacci sequence (1, 1, 2, 3, 5...), in which each number, after the first two, is the sum of the two numbers immediately preceding it.

Fibon(0) is defined to be 0.

integer n >= 0
Fact(n) returns factorial of a number, n!, defined as follows:

if n > 0, n! = n*(n-1)*(n-2)*(n-3)...(2)*(1)

Fact(0) returns 1.

integer n >= 0
GaussRnd(m,s) returns Gaussian distributed random variable with mean m and standard deviation s.  
Gammln(x) returns ln(Gamma(x)), used instead of Gamma(xx), because of overflow problem.

definition: Gamma(z)= Integral(0,inf.,t^(z-1).exp(-t),t)

recurrence relation: Gamma(z+1)=z.Gamma(z)

x <> 0, -1, -2, ...
Beta(z, w) returns the beta function

definition: Beta(z,w)= Integral(0,1,t^(z-1).(1-t)^(w-1),t)

related to Gamma function as:

Beta(z,w)= Gamma(z).Gamma(w)/Gamma(z+w)

see Gammln and

formula here

Betai(a, b, x) returns the incomplete beta function

definition: BetaI(a,b,x)=


(a > 0) and (b > 0)

0 <= x <= 1

Gammp(a, x) returns the Incomplete gamma function P(a,x)

definition:P(a,x)= (1/Gamma(a)).Integral(0,x,exp(-t).t^(a-1),t)

a > 0
Gammq(a, x) returns the Incomplete gamma function Q(a,x)

definition: Q(a,x)=1-P(a,x)

a > 0
Erf(x) returns the Error function

definition: Erf(x)= (2/sqrt(PI)).Integral(0,x,exp(-t^2),t)

related to Gamma func. as: Erf(x)=P(1/2,x^2)

x >= 0
Erfc(x) returns the Complementary error function

definition: Erfc(x)= 1-Erf(x)

related to Gamma func. as: Erfc(x)=Q(1/2,x^2)

x >= 0
Bessj(n, x) returns Bessel function J(n,z)

definition: J(n,z)=


integer n >= 0
Bessy(n, x) returns Bessel function Y(n,z)

definition: Y(n,z)= (J(n,z).cos(n.PI)-J(-n,z))/sin(n.PI)

integer n >= 0
Bessi(n, x) returns modified Bessel function I(n,z), equivalent to the usual Bessel function J(n,z) evaluated for purely imaginary argument.

definition: I(n,z)= (-i)^n.J(i.z)

integer n >= 0
Bessk(n, x) returns modified Bessel function K(n,z), equivalent to the usual Bessel function Y(n,z) evaluated for purely imaginary argument.

definition: K(n,z)= (PI/2).i^(n+1).(J(n,i.z)+i.Y(n,i.z))

integer n >= 0
Plgndr(l, m, x) returns associated Legender polynomial P(l,m,x)

definition in terms of ordinary Legender polynomials - P(l,x): P(l,m,x)= (-1)^m.(1-x^2)^(m/2).Dif(P(l,x),x^m)

0 <= m <= 1 and

-1 <= x <= 1

El2(x, q, a, b) Return general elliptic integral of second kind El2(x,q,a,b)

definition: El2(x,q,a,b)= Integral(0,x,(a+b.z^2)/


q <> 0
Cel(q, p, a, b) Return general complete elliptic integral Cel(kc,p,a,b)

definition: Cel(q,p,a,b)= Integral(0,inf,(a+b.x^2)/


q <> 0


9. Shortcut keys

Key Menu Command Explanation
Ctrl A Analyze Analyze formula and find unknown variables
Ctrl C Copy Copy selected text into clipboard
Ctrl D Delete Delete active field pair
Ctrl E Edit Object Enter in Edit mode for function button, board or group
Ctrl F Find Function Find function by name, implementation or status line text
Ctrl G Graph Graphic presentation (plot) of formula
Ctrl O Open Open board or group
Ctrl P Protect (local) Protect variable from active field pair
Ctrl R Reduce Hide all panels except formula one
Ctrl S Save Func.Board Save active function board
Ctrl U Unit converter Open Unit converter dialog box
Ctrl V Paste Insert clipboard content
Ctrl W Close Board Close active board
Ctrl X Cut Cut selected text into clipboard
Ctrl Y Root Find real roots in interval
Ctrl Z Undo Retrieve last saved (by F9) state
F7 Report Send a report to clipboard or file
=  or  F9 Calculate Calculate formula value and save current state (for Undo)
Alt F1 MiniHelp Enter in MiniHelp mode for button, board or group
Alt BkSp Clear All Clear all the accessible fields
Alt 1..9, 0   Set active board in active group

(1-first...9-nineth, 0-tenth)

Alt + -   Turn on one board in active group

+ forward; - backward

Shift Alt 1..4   Change active group
Ctrl 0, 2, 3   Superscript (upper index) of 0, 2 and 3 - only for dimension
Tab/Shift Tab   Move text cursor field forward/ backward
Pause/Break   Breaks execution of whatever math. procedure is running


10. Glossary

Workplace - What you see, when you start Sicyon. You can change it by View menu. Workplace (view) state are saved together with customized options.

Panel - Visually and functionally separated part of workplace.

SpeedBar - The panel situated bellow the menu, gives access to the speed-buttons.

Speed-button - Iconized buttons situated in SpeedBar. Using them you have speed access to modes and some more usable menu commands.

Field - The place you can enter the text or value, depends on the field type.

Focus - For the text fields - where the blinking text cursor is situated, for the buttons or tables - where the selected element is (usually surrounded by gray or dotted rectangle).

Variable - An identificator, you can use in the formula and is presented as variable name and variable value in variable panel.

Combo box - Combo box is also called drop-down list box. It consists of an edit field, a down arrow button, and a list box (which only appears when you click the down arrow). The value of the combo box is the value of its edit field.

Field pair - The pair of Formula/Result fields or Variable name/Variable value fields.

Active field pair - Field pair, which has the focus (the blinking text cursor).

Target field pair - Field pair marked with gray frame and standing (non-blinking) cursor

Board - Object, you see as tabbed window and you can open as file. To access certain board, make it active. Sicyon works with three kinds of boards - function, data and tool.

Active board - The top (visible) one of active group. To make certain board active click on its tab. All the board file operations (create, open, save and close) are executed on active board

Function button - Button in function board with attached user-defined function.

Function board - Set of twenty buttons ordered as table with one file implementation. Filename extension - FBD.

Data board - Table of constants you can search within. Filename extension - DBD.

Tool board - Little "add-in" application. Filename extension - TBD.

Group - The way of boards' organized as tabbed windows. Filename extension - GRP.

Active group - . Marked with highlighting (selecting) of the group name. To make certain group active click on its title. All the group file operations (create, open, save and close) are executed on active group

Object - Function button, board or group. Edited by Edit Object menu item or local menus.

Status bar - Text bar on the workplace bottom. Shows a hint of menu item or visual component, which is under mouse cursor. For user defined object you can edit status line text.

Dialog box - A window that displays the available options when you choose a command. You can cancel each opened dialog either by Alt-F4 or Esc.

MiniHelp - Similar to Help, but simpler (only plain text) and editable. All the user defined objects can have MiniHelp.


11. Future development

The speed of improvement of the Sicyon depends on your (user) interest - how many of you will be registered.

The next version will be improved in the following way:

- fix reported and found bugs.

- Graph procedure improvement - real 3D plot.

- data errors included in fitting procedure.

- interface enhancements (e.g. font and color control)

- two-dimensional Minimum, Maximum and Integral procedures.

Enhancements in future versions, some of them in next revision, some later:

- connect bi-directional Sicyon with HTML files. For example, when you are reading a textbook on electrodynamics in HTML format, you will have the possibility to call Sicyon, which automatically loads boards of context and you can test formulae of interest. In another direction, when you are working with Sicyon, you will be able to call a textbook (in HTML format) about subject of current interest.

- add instrumentation for extracting information from Internet.




Table of Contents

1. Overview

2. Workplace

2.1. Visual components

2.2. Navigating

3. Menu

3.1. File

3.1.1. New...

3.1.2. Open ... (Ctrl O)

3.1.3. Close Board (Ctrl W) Group

3.1.4. Save Board (Ctrl S)

3.1.5. Save Board As...

3.1.6. Save Group...

3.1.7. Find Function... (Ctrl F)

3.1.8. Exit (Alt F4)

3.2. Edit

3.2.1. Undo (Ctrl Z)

3.2.2. Cut (Ctrl X)

3.2.3. Copy (Ctrl C)

3.2.4. Paste (Ctrl V)

3.2.5. Delete (Ctrl D)

3.2.6. Clear all (Alt backspace)

3.2.7. Edit Object –› (Ctrl E)

3.2.8. Unit converter ... (Ctrl U)

3.2.9. Options... View page Directory page Tab&Graph page Solve page

3.3. View

3.3.1. Reduce (Ctrl R)

3.3.2. Wide

3.3.3. SpeedBar

3.3.4. Variables

3.3.5. Groups

3.3.6. Status Bar

3.4. Run

3.4.1. Calculate (F9)

3.4.2. Analyze (Ctrl A)

3.4.3. Report... (F7)

3.4.4. Solve Root(s) (Ctrl Y) Minimum Maximum Integral

3.4.5. Graph (Ctrl G)

3.4.6. Fitting

3.5. Modes

3.5.1. Degree/Radian Mode set

3.5.2. Function Presentation Mode set

3.5.3. Calculate Mode set

3.6. Help

3.6.1. Contents

3.6.2. Topic Search

3.6.3. MiniHelp –› (Ctrl F1)

3.6.4. About

3.6.5. Register

4. Panels

4.1. SpeedBar

4.2. Formula Panel

4.3. Variable Panel

4.4. Board Panel

4.4.1. Function Board

4.4.2. Data Board

4.4.3. Tool Board

4.5. Status Bar

5. Example Simple Tasks

5.1. Calculate formula

5.2. Find function

5.3. Find datum

5.4. Plot formula

5.5. Find root of formula

5.6. Change dimension of variable

6. Manipulating objects

6.1. Edit Object

6.1.1. Edit Board or Group

6.1.2. Edit User-def. Function

6.2. Local Menus

6.3. Drag and Drop Techniques

7. Files' Format (for advanced users)

7.1. Configuration File

7.2. Group File

7.3. Function Board File

7.4. Data Board File

7.5. Tool Board File

7.6. Dimensions File

7.7. Some restrictions

8. Built-in constants, operators and functions

9. Shortcut keys

10. Glossary

11. Future development


              Home Presentation Manual Download WebCollection