m2_call {m2r}R Documentation

Call and reset a Macaulay2 process

Description

Call and reset a Macaulay2 process

Usage

m2r_version_number()

m2r_cloud_url()

has_m2_connection()

start_m2(
  port = 27436L,
  timeout = 10,
  attempts = 10,
  cloud = FALSE,
  hostname = m2r_cloud_url()
)

stop_m2()

reset_m2(
  port = 27436L,
  timeout = 10,
  attempts = 10,
  hostname = "ec2-52-10-66-241.us-west-2.compute.amazonaws.com"
)

m2(code, timeout = -1)

m2.(code, timeout = -1)

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

Arguments

port

port for Macaulay2 socket

timeout

number of seconds before aborting

attempts

numer of times to try to make connection

cloud

use a cloud?

hostname

the remote host to connect to; defaults to the Amazon EC2 instance

code

Macaulay2 code

x

formal argument for print method

...

...

Value

m2 return value

Examples


## Not run:  requires Macaulay2

m2("1 + 1")
m2.("1 + 1")

m2("factor 32004")

# run a chunk of m2 code, only pulling the end value back into R
m2("
  R = QQ[a..d]
  I = ideal(a^3-b^2*c, b*c^2-c*d^2, c^3)
  G = gens gb I
")

# illustrate the persistent connection
m2("a = 1 + 1")
m2("a")
reset_m2()
m2("a")


# forcing a cloud start
if(has_m2_connection()) stop_m2()
start_m2(cloud = TRUE)
m2("1 + 1")
stop_m2()



m2.("peek(QQ[x,y,z])")
m2("peek(QQ[x,y,z])")

# m2 returns in its ext_str position the result of running
# toExternalString on the return value of the chunk of code
# you run. in principle, toExternalString provides the code
# needed to recreate the m2 object of interest. however,
# does not work for all objects representable in the m2 language.
# in particular, mutable objects are not supported.
# this is what happens when you look at those:
m2.("new MutableList from {1,2,3}")
m2("new MutableList from {1,2,3}")


## End(Not run)

[Package m2r version 1.0.2 Index]