--- title: "Getting started" author: "Mikkel Meyer Andersen and Søren Højsgaard" date: "`r Sys.Date()`" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Getting started} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r setup, include=FALSE} knitr::opts_chunk$set(echo = TRUE) ``` ```{r, message=FALSE} library(Ryacas0) ``` # Introduction `Ryacas` makes the `yacas` computer algebra system available from within `R`. The name `yacas` is short for "Yet Another Computer Algebra System". The `yacas` program is developed by Ayal Pinkhuis (who is also the maintainer) and others, and is available at for various platforms. There is a comprehensive documentation (300+ pages) of `yacas` (also available at ) and the documentation contains many examples. # Example 1: using character vectors ```{r} eq <- "x^2 + 4 + 2*x + 2*x" yacas(eq) yacas(paste0("Simplify(", eq, ")")) yacas(paste0("Factor(", eq, ")")) ``` Or by using the corresponding `R` functions directly: ```{r} Simplify(yacas(eq)) Factor(yacas(eq)) ``` Or course the result can be saved before calling the helper `R` functions: ```{r} yeq <- yacas(eq) Simplify(yeq) Factor(yeq) ``` And getting results out: ```{r} res <- Factor(yeq) as.character(res) TeXForm(res) ``` To include inline, e.g. $`r TeXForm(yeq)` = `r TeXForm(res)`$. # Example 2: using `Sym()` ```{r} xs <- Sym("x") eqs <- xs^2 + 4 + 2*xs + 2*xs Simplify(eqs) Factor(eqs) res <- Factor(eqs) as.character(res) TeXForm(res) ``` # Example 3: using Yacas variables and `Sym()` ```{r} yacas("p := x^2 + 4 + 2*x + 2*x") ps <- Sym("p") ps TeXForm(Simplify(ps)) ```