Ryacas

Ryacas: A computer algebra system in R - Published in JOSS (2019)

https://github.com/r-cas/ryacas

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: joss.theoj.org, zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (18.7%) to scientific vocabulary

Scientific Fields

Sociology Social Sciences - 87% confidence
Last synced: 4 months ago · JSON representation

Repository

Ryacas: R Interface to the Yacas Computer Algebra System

Basic Info
  • Host: GitHub
  • Owner: r-cas
  • License: gpl-2.0
  • Language: C++
  • Default Branch: master
  • Homepage:
  • Size: 6.76 MB
Statistics
  • Stars: 42
  • Watchers: 9
  • Forks: 8
  • Open Issues: 16
  • Releases: 10
Created over 10 years ago · Last pushed over 2 years ago
Metadata Files
Readme License

README.Rmd

---
output: github_document
---



```{r, echo = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  message = FALSE
)
```

```{r, echo = FALSE}
library(Ryacas)
```


# Ryacas #

[![Build Status](https://travis-ci.org/r-cas/ryacas.svg?branch=master)](https://travis-ci.org/r-cas/ryacas)
[![Build status](https://ci.appveyor.com/api/projects/status/c8fsb1dvj5gmh703/branch/master?svg=true)](https://ci.appveyor.com/project/r-cas/ryacas/branch/master)
[![JOSS status](https://joss.theoj.org/papers/69b3947f8900504a25aa36f65d14500b/status.svg)](https://joss.theoj.org/papers/69b3947f8900504a25aa36f65d14500b)
[![DOI](https://zenodo.org/badge/36067045.svg)](https://zenodo.org/badge/latestdoi/36067045)

Ryacas is an [R](https://www.r-project.org/) interface to
the free [yacas](http://www.yacas.org) Computer Algebra
System.  Ryacas allows one to send unprocessed yacas strings and 
certain other R objects to
yacas process from R and get back the result. It also has
facilities for manipulating yacas strings and R expressions
destined for yacas processing.

It can be used for arbitrary-precision arithmetic, symbolic math, ASCII
pretty printing and translating R to TeX. 

## Install from GitHub ##

To build and install from Github using R 3.3.0 (or later) and the R `devtools` package 1.11.0 (or later) run this command from within `R`:

```
devtools::install_github("r-cas/ryacas", 
                         build_opts = c("--no-resave-data", "--no-manual"))
```

You can also install the package without vignettes if needed as follows:

```
devtools::install_github("r-cas/ryacas")
```


## Online info ##

For vignettes, overview, pointers to additional information, installation
instructions and a sample session see . 

Yacas documentation can be found at http://yacas.readthedocs.org/.

## Contribute, issues, and support ##

Please use the issue tracker at  
if you want to notify us of an issue or need support.
If you want to contribute, please either create an issue or make a pull request.

## Brief examples ##

Below we show a few examples. 
We highly recommend reading the "[Getting started](http://r-cas.github.io/ryacas/articles/getting-started.html)" vignette (and the other vignettes) for a more thorough introduction to the package.

There are two interfaces: a high-level interface that 
makes `yacas` objects work similar to `R` objects, 
and a low-level interface where the user can write `yacas` code 
and get results as strings or as `R` expressions. Below, we demonstrate both.

### High-level interface

A brief example with a polynomial is:
```{r}
x <- ysym("x")
p <- x^2+x-6
p
y_fn(p, "Factor")
p %>% y_fn("Factor")
p %>% as_r()
```

A small matrix example follows:

```{r}
A <- outer(0:3, 1:4, "-") + diag(2:5)
a <- 1:4
B <- ysym(A)
B
solve(B)
B[2, 3] <- "x"
B
b <- ysym(a)
b[1] <- "x"
b
B %*% b
t(B)
B[, 2:3]
```


### Low-level interface

Returning strings with `yac_str()`:

```{r}
yac_str("x+x+x+x")
yac_str("Factor(x^2+x-6)")
yac_str("D(x) x^2+x-6")
```

Returning `R` expressions with `yac_expr()`:

```{r}
yac_expr("x+x+x+x")
eval(yac_expr("x+x+x+x"), list(x = 4))
yac_expr("Factor(x^2+x-6)")
yac_expr("D(x) x^2+x-6")
```

Using functions easier (using [`magrittr`](https://cran.r-project.org/package=magrittr)'s pipe, `%>%`):

```{r}
"x^2+x-6" %>% y_fn("Factor") %>% yac_str()
"x^2+x-6" %>% y_fn("D(x)") %>% yac_expr()
```

Solving equations (removes the `x==` from `yacas` with the `y_rmvars()` function):

```{r}
sol <- yac_str("Solve(x^2+x-6 == 0, x)")
sol
sol %>% y_rmvars() %>% yac_str()
sol %>% y_rmvars() %>% yac_expr()
sol %>% y_rmvars() %>% yac_expr() %>% eval()
```

And output in TeX:

```{r}
"3/4 + Pi/8" %>% y_fn("Simplify") %>% y_fn("TeXForm") %>% yac_str()
```

And arbitrary precision (see also the "[Arbitrary-precision arithmetic
](http://r-cas.github.io/ryacas/articles/arbitrary-precision.html)" vignette):

```{r}
yac_str("N(Pi, 50)")
```



## Yacas ##

The package contains the yacas distribution. The development of the yacas source code is available at  . For more information on yacas see  or the documention directly at .

---

Mikkel Meyer Andersen, mikl at math dot aau dot dk  
Rob Goedman, goedman at mac dot com  
Gabor Grothendieck, ggrothendieck at gmail dot com  
Søren Højsgaard, sorenh at math dot aau dot dk  
Ayal Pinkus, apinkus at xs4all dot nl  
Grzegorz Mazur, teoretyk at gmail dot com  

Owner

  • Name: Computer algebra systems in R
  • Login: r-cas
  • Kind: organization

GitHub Events

Total
  • Issues event: 1
  • Watch event: 3
  • Issue comment event: 2
Last Year
  • Issues event: 1
  • Watch event: 3
  • Issue comment event: 2

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 389
  • Total Committers: 7
  • Avg Commits per committer: 55.571
  • Development Distribution Score (DDS): 0.488
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Mikkel Meyer Andersen m****l@m****k 199
ggrothendieck g****k@d****e 93
Grzegorz Mazur t****k@g****m 44
Ivan Jacob Agaloos Pesigan j****b 35
sorenh s****h@m****k 8
Paolo Bosetti p****i@u****t 7
ggrothendieck g****k@g****m 3
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 59
  • Total pull requests: 14
  • Average time to close issues: 5 months
  • Average time to close pull requests: 7 months
  • Total issue authors: 22
  • Total pull request authors: 5
  • Average comments per issue: 2.2
  • Average comments per pull request: 3.5
  • Merged pull requests: 11
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 2
  • Pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • mikldk (22)
  • ggrothendieck (7)
  • HaoLi111 (4)
  • hojsgaard (3)
  • wdkrnls (3)
  • jeksterslab (2)
  • esther1262 (2)
  • bnicenboim (2)
  • XiangyunHuang (1)
  • a-kramer (1)
  • Quiigi (1)
  • jiperezga (1)
  • piiskop (1)
  • jj5 (1)
  • pedritomelenas (1)
Pull Request Authors
  • mikldk (5)
  • grzegorzmazur (4)
  • HaoLi111 (2)
  • jeksterslab (2)
  • pbosetti (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • cran 1,878 last-month
  • Total docker downloads: 45,639
  • Total dependent packages: 15
  • Total dependent repositories: 17
  • Total versions: 18
  • Total maintainers: 1
cran.r-project.org: Ryacas

R Interface to the 'Yacas' Computer Algebra System

  • Versions: 18
  • Dependent Packages: 15
  • Dependent Repositories: 17
  • Downloads: 1,878 Last month
  • Docker Downloads: 45,639
Rankings
Docker downloads count: 0.6%
Dependent packages count: 4.2%
Average: 6.1%
Dependent repos count: 6.9%
Downloads: 7.2%
Forks count: 8.7%
Stargazers count: 9.2%
Maintainers (1)
Last synced: 4 months ago

Dependencies

DESCRIPTION cran
  • R >= 3.3.0 depends
  • Rcpp >= 0.12.0 imports
  • magrittr * imports
  • methods * imports
  • stats * imports
  • Matrix * suggests
  • Rmpfr * suggests
  • devtools * suggests
  • exams * suggests
  • igraph * suggests
  • knitr * suggests
  • pkgload * suggests
  • rmarkdown * suggests
  • testthat >= 2.1.0 suggests
  • unix * suggests