yacas_client(1) small and flexible general-purpose computer algebra system

Other Alias



yacas [options] [{filename}]


This manual page documents briefly the yacas and yacas_client commands.

Yacas (Yet Another Computer Algebra System) is a small and highly flexible general-purpose computer algebra language. The syntax uses a infix-operator grammar parser. The distribution contains a small library of mathematical functions, but its real strength is in the language in which you can easily write your own symbolic manipulation algorithms. The core engine supports arbitrary precision arithmetic, and is linked with the GNU arbitrary precision math library, and is able to execute symbolic manipulations on various mathematical objects by following user-defined rules.

This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page.


A summary of options is given below

Inhibit printing of prompts "In>" and "Out>". Useful for non-interactive sessions.
Reads standard input as one file, but executes only the first statement in it. (You may want to use a statement block to have several statements executed.)
Does not use terminal capabilities, no fancy editing on the command line and no escape sequences printed. Useful for non-interactive sessions.
Enable some extra history recall functionality in console mode: after executing a command from the history list, the next unmodified command from the history list will be automatically entered on the command line.
Reads and executes commands in the filename and exits. Equivalent to "Load()".
Prints version information and exits.
Prints the path to the Yacas library directory and exits

The default operation of Yacas is to run in the interactive console mode. Yacas accepts several options that modify its operation. Options can be combined.

In addition to the console mode, an experimental persistent session facility is provided through the script yacas_client. By means of this script, the user can configure third-party applications to pass commands to a constantly running "Yacas server" and get output. The "Yacas server" is automatically started by yacas_client. It may run on a remote computer; in that case the user should have a user account on the remote computer and privileges to execute yacas_client there, as well as rsh or ssh access. The purpose of yacas_client is to enable users to pass commands to Yacas within a persistent session while running another application such as a text editor.
  The script yacas_client reads yacas commands from the standard input and passes them to the running "Yacas server"; it then waits 2 seconds and prints whatever output yacas produced up to this time. Usage may looks like this:

8:20pm Unix>echo "x:=3" | yacas_client  
Starting server. 
[editvi] [gnuplot]  
To exit Yacas, enter  Exit(); or quit or Ctrl-c. Type ?? for help. 
Or type ?function for help on a function. 
Type 'restart' to restart Yacas. 
To see example commands, keep typing Example(); 
In> x:=3 
Out> 3; 
In> 8:21pm Unix>echo "x:=3+x" | yacas_client 
In> x:=3+x 
Out> 6; 
In> 8:23pm Unix>yacas_client -stop 
In> quit 
Server stopped. 
8:23pm Unix> 

Persistence of the session means that yacas remembered the value of "x" between invocations of yacas_client. If there is not enough time for Yacas to produce output within 2 seconds, the output will be displayed the next time you call yacas_client.

The "Yacas server" is started automatically when first used and can be stopped either by quitting yacas or by an explicit option yacas_client -stop, in which case yacas_client does not read standard input.

The script yacas_client reads standard input and writes to standard output, so it can be used via remote shell execution. For instance, if an account "user" on a remote computer "remote.host" is accessible through ssh, then yacas_client can be used remotely like this:

echo "x:=2;" | ssh [email protected] yacas_client 

On a given host computer running the "Yacas server", each user currently may have only one persistent Yacas session.


yacas was written by Ayal Pinkus ([email protected]). yacas is available at http://www.xs4all.nl/~apinkus/yacas.html (link to URL http://www.xs4all.nl/~apinkus/yacas.html) .

This manual page was written by Gopal Narayanan ([email protected]) for the Debian GNU/Linux system (but may be used by others).