Mr.CAS—A minimalistic (pure) Ruby CAS for fast prototyping and code generation. Ragni, M. SoftwareX, 6:128–134, 2017. Code: https://github.com/ElsevierSoftwareX/SOFTX-D-17-00013
Mr.CAS—A minimalistic (pure) Ruby CAS for fast prototyping and code generation [link]Paper  doi  abstract   bibtex   
There are Computer Algebra System (CAS) systems on the market with complete solutions for manipulation of analytical models. But exporting a model that implements specific algorithms on specific platforms, for target languages or for particular numerical library, is often a rigid procedure that requires manual post-processing. This work presents a Ruby library that exposes core CAS capabilities, i.e. simplification, substitution, evaluation, etc. The library aims at programmers that need to rapidly prototype and generate numerical code for different target languages, while keeping separated mathematical expression from the code generation rules, where best practices for numerical conditioning are implemented. The library is written in pure Ruby language and is compatible with most Ruby interpreters.
@article{ragni_mr.casminimalistic_2017,
	title = {Mr.{CAS}—{A} minimalistic (pure) {Ruby} {CAS} for fast prototyping and code generation},
	volume = {6},
	url = {http://www.sciencedirect.com/science/article/pii/S2352711017300146},
	doi = {10.1016/j.softx.2017.05.002},
	abstract = {There are Computer Algebra System (CAS) systems on the market with complete solutions for manipulation of analytical models. But exporting a model that implements specific algorithms on specific platforms, for target languages or for particular numerical library, is often a rigid procedure that requires manual post-processing. This work presents a Ruby library that exposes core CAS capabilities, i.e. simplification, substitution, evaluation, etc. The library aims at programmers that need to rapidly prototype and generate numerical code for different target languages, while keeping separated mathematical expression from the code generation rules, where best practices for numerical conditioning are implemented. The library is written in pure Ruby language and is compatible with most Ruby interpreters.},
	language = {en},
	journal = {SoftwareX},
	author = {Ragni, Matteo},
	year = {2017},
	note = {Code: https://github.com/ElsevierSoftwareX/SOFTX-D-17-00013},
	keywords = {CAS, Code generation, Ruby, uses sympy},
	pages = {128--134},
}

Downloads: 0