OnWorks favicon

yacas - Online in the Cloud

Run yacas in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command yacas that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



yacas, yacas_client — small and flexible general-purpose computer algebra system


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

-c Inhibit printing of prompts "In>" and "Out>". Useful for non-interactive

-f 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.)

-p Does not use terminal capabilities, no fancy editing on the command line and no
escape sequences printed. Useful for non-interactive sessions.

-t 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()".

-v Prints version information and exits.

-d 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 user@remote.host yacas_client

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

Use yacas online using onworks.net services