giacR

R interface to GIAC

https://github.com/stla/giacr

Science Score: 13.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
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.2%) to scientific vocabulary

Keywords

giac r
Last synced: 10 months ago · JSON representation

Repository

R interface to GIAC

Basic Info
  • Host: GitHub
  • Owner: stla
  • Language: R
  • Default Branch: main
  • Homepage:
  • Size: 6.3 MB
Statistics
  • Stars: 0
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
giac r
Created almost 3 years ago · Last pushed about 2 years ago
Metadata Files
Readme Changelog

README.Rmd

---
title: "The 'giacR' package"
output: github_document
---

*R interface to 'Giac'*


[![R-CMD-check](https://github.com/stla/giacR/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/stla/giacR/actions/workflows/R-CMD-check.yaml)


___

Giac is a general purpose symbolic algebra software. It powers the graphical 
interface Xcas. This package allows to execute Giac commands in R. You can 
find the [documentation of Giac here](https://www-fourier.ujf-grenoble.fr/~parisse/giac/doc/en/cascmd_en/cascmd_en.html).


## Installation

```r
remotes::install_github("rstudio/chromote")
remotes::install_github("stla/giacR")
```

```{r setup, include=FALSE}
knitr::opts_chunk$set(collapse = TRUE)
```


## Initialisation of a Giac session

The 'chromote' package is used to create a Giac session. If the `find_chrome()` 
function of 'chromote' returns `NULL`, you can set the path to the Chrome 
executable (or Chromium, Brave, etc) to the environment variable 
`CHROMOTE_CHROME`. Or you can pass it to the the `Giac$new` function. 
Since the Chrome executable is in my system path, I can use 
`Sys.which("chrome")`.

```{r giacNew}
library(giacR)
giac <- Giac$new(Sys.which("chrome"))
```


## Examples 

### Elementary calculus

```{r}
giac$execute("2 + 3/7")
```


### Gröbner basis

```{r}
giac$execute("gbasis([x^3 - 2*x*y, x^2*y - 2*y^2 + x], [x, y])")
```


### Antiderivative

```{r}
giac$execute("integrate(ln(x))")
```


### Infinite sum

```{r}
giac$execute("sum(1/(n^2), n, 1, +(infinity))")
```


### Exact rational roots of a polynomial

```{r}
giac$execute("crationalroot(2*x^3 - 3*x^2 + 8*x - 12)")
```


### Solve a system of equations (and simplify the solutions)

```{r}
giac$execute(
  "apply(simplify, solve([x^2+y+z=1, x+y^2+z=1, x+y+z^2=1], [x, y, z]))"
)
```


### Determinant of a matrix with symbolic entries

```{r}
giac$execute("det([[1, 2, 3], [3/4, a, b], [c, 4, 5]])")
```


### Check whether a variable occurs in an expression

```{r}
giac$execute("has(x*y + u^2*z, u)")
```

```{r}
giac$execute("has(x*y + u^2*z, w)")
```


## Close session

```{r}
giac$close()
```


## Blog posts

- [Gröbner implicitization and the 'giacR' package](https://laustep.github.io/stlahblog/posts/giacR01.html)

- [Using implicitization to split a ball](https://laustep.github.io/stlahblog/posts/giacR02.html)

Owner

  • Login: stla
  • Kind: user

GitHub Events

Total
Last Year

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 53
  • Total Committers: 1
  • Avg Commits per committer: 53.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 1
  • Committers: 1
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
stla l****p@y****r 53

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • cran 551 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 2
  • Total maintainers: 1
cran.r-project.org: giacR

Interface to the Computer Algebra System 'Giac'

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 551 Last month
Rankings
Forks count: 28.4%
Dependent packages count: 28.6%
Stargazers count: 35.1%
Dependent repos count: 36.9%
Average: 43.5%
Downloads: 88.3%
Maintainers (1)
Last synced: 11 months ago

Dependencies

DESCRIPTION cran
  • R6 * imports
  • chromote * imports
.github/workflows/R-CMD-check.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite