rim-package {rim}R Documentation

rim

Description

Provides an interface to Maxima, a computer algebra system.

Usage

maxima.start(restart = FALSE)

maxima.stop(engine = FALSE)

maxima.get(command)

maxima.load(module)

maxima.apropos(keystring)

maxima.version()

maxima.isInstalled()

iprint(x)

## S3 method for class 'maxima'
print(x, ...)

maxima.eval(x, code = FALSE, envir = globalenv())

Arguments

restart

if FALSE (default), then Maxima is started provided it is not running already. If TRUE starts or restarts Maxima.

engine

if FALSE (default), quits the (running) maxima instance and closes the connection, otherwise quits and closes the (running) maxima instance used for the knitr engine.

command

character string containing the Maxima command.

module

character vector naming the Maxima module (typically a *.mac or *.lisp file) to be loaded.

keystring

character vector containing a search term.

x

Either a character vector of length 1L or an S3 object of class "maxima"

...

other arguments (ignored).

code

A logical vector of length 1L, whether to attach the original expression (TRUE) or not (FALSE, default)

envir

A environment object. globalenv() (default), is passed to eval().

Details

Note: You need to install the Maxima software separately in order to make use of this package.

Maxima is set up automatically on attachment via library(rim) and automatically started when a command is send (if it isn't running already) using maxima.get(). If environment variable RIM_MAXIMA_PATH is not set, rim will search for the Maxima executable, or use the former otherwise. Using maxima.start() and maxima.stop(), one can stop and (re-)start the current Maxima session if needed, e.g. to clear Maxima command and output history.

To send a single command to Maxima and receive the corresponding output use maxima.get(). This function returns a S3 object of class "maxima". The output is printed by printing the object and will be printed in a format currently set by maxima.options(format). The output format can be changed by setting it, e.g. maxima.options(format = "ascii"). Output labels are printed according to option maxima.options(label).

Value

invisibly returns NULL.

Character vector of length 1 of the input command. Depending on whether option "label" is set to TRUE, the corresponding input reference label is printed preceding the input command.

The evaluated R-object

Functions

Author(s)

Maintainer: Eric Stemmler stemmler.eric@gmail.com

Authors:

See Also

Useful links:

maxima.engine, maxima.options

Examples

if(maxima.isInstalled()) maxima.start(restart = TRUE)
if(maxima.isInstalled()) {
  maxima.start(restart = TRUE)
  maxima.stop()
}
if(maxima.isInstalled()) maxima.get("2+2;")
if(maxima.isInstalled()) maxima.load("abs_integrate")
if(maxima.isInstalled()) maxima.apropos("integrate")
maxima.version()
maxima.isInstalled()
if(maxima.isInstalled()) {
  a <- maxima.get("2+2;")
  iprint(a)
}
if(maxima.isInstalled()) {
  a <- maxima.get("2+2;")
  print(a)
}
if(maxima.isInstalled()) {
  a <- maxima.get("2+2;")
  maxima.eval(a)
  # same
  maxima.eval("2+2;")
  # evaluate with data.frame
  df <- data.frame(x = seq(0, 1, by = 0.1))
  maxima.eval("integrate(1 / (1 + x^4), x);", code = TRUE, envir = df)
  maxima.stop()
}

[Package rim version 0.6.4 Index]