Learn R Programming

giacR (version 1.0.0)

Giac: R6 class to access to Giac

Description

Creates an object allowing to execute Giac commands.

Arguments

Methods


Method new()

Create a new Giac instance.

Usage

Giac$new(chromePath = find_chrome())

Arguments

chromePath

path to the Chrome executable (or Chromium, Brave, etc); if find_chrome() does not work, you can set the environment variable CHROMOTE_CHROME to the path and it will work

Returns

A Giac object.


Method execute()

Execute a Giac command.

Usage

Giac$execute(command, timeout = 10000)

Arguments

command

the command to be executed given as a character string

timeout

timeout in milliseconds

Returns

The result of the command in a character string.

Examples

\donttest{if(!is.null(chromote::find_chrome())) {
  giac <- Giac$new()
  giac$execute("2 + 3/7")
  giac$execute("integrate(ln(x))")
  giac$close()
}}


Method implicitization()

Gröbner implicitization (see examples)

Usage

Giac$implicitization(
  equations,
  relations = "",
  variables,
  constants = "",
  timeout = 10000
)

Arguments

equations

comma-separated equations

relations

comma-separated relations, or an empty string if there is no relation; the relations between the constants must placed first, followed by the relations between the variables

variables

comma-separated variables

constants

comma-separated constants, or an empty string if there is no constant

timeout

timeout in milliseconds

Returns

The implicitization of the equations.

Examples

library(giacR)
\donttest{if(!is.null(chromote::find_chrome())) {
  giac <- Giac$new()
  giac$implicitization(
    equations = "x = a*cost, y = b*sint",
    relations = "cost^2 + sint^2 = 1",
    variables = "cost, sint",
    constants = "a, b"
  )
  giac$close()
}}


Method close()

Close a Giac session

Usage

Giac$close()

Returns

TRUE or FALSE, whether the session has been closed.

Examples

Run this code

## ------------------------------------------------
## Method `Giac$execute`
## ------------------------------------------------

if(!is.null(chromote::find_chrome())) {
  giac <- Giac$new()
  giac$execute("2 + 3/7")
  giac$execute("integrate(ln(x))")
  giac$close()
}

## ------------------------------------------------
## Method `Giac$implicitization`
## ------------------------------------------------

library(giacR)
if(!is.null(chromote::find_chrome())) {
  giac <- Giac$new()
  giac$implicitization(
    equations = "x = a*cost, y = b*sint",
    relations = "cost^2 + sint^2 = 1",
    variables = "cost, sint",
    constants = "a, b"
  )
  giac$close()
}

Run the code above in your browser using DataLab