Skip to main content
Top
Published in: Programming and Computer Software 2/2020

01-03-2020

A Modular Extension for a Computer Algebra System

Authors: M. N. Gevorkyan, A. V. Korolkova, D. S. Kulyabov, L. A. Sevast’yanov

Published in: Programming and Computer Software | Issue 2/2020

Log in

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

Computer algebra systems are complex software systems that cover a wide range of scientific and practical problems. However, the absolute coverage cannot be achieved. Often, it is required to create a user extension for an existing computer algebra system. In this case, the extensibility of the system should be taken into account. In this paper, we consider a technology for extending the SymPy computer algebra system with a low-level module that implements a random number generator.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Literature
1.
go back to reference Lamy, R., Instant SymPy Starter, Packt Publishing, 2013. Lamy, R., Instant SymPy Starter, Packt Publishing, 2013.
2.
go back to reference Slatkin, B., Effective Python: 59 Specific Ways to Write Better Python, Addison-Wesley, 2015. Slatkin, B., Effective Python: 59 Specific Ways to Write Better Python, Addison-Wesley, 2015.
3.
go back to reference Lyubanovich, B., Prostoi Python. Sovremennyi stil’ programmirovaniya (Simple Python: Modern Programming Style), Moscow: Piter, 2019. Lyubanovich, B., Prostoi Python. Sovremennyi stil’ programmirovaniya (Simple Python: Modern Programming Style), Moscow: Piter, 2019.
4.
go back to reference Kulyabov, D.S., Korol’kova, A.V., and Sevast’yanov, L.A., New features in the second version of the Cadabra computer algebra system, Program. Comput. Software, 2019, vol. 45, no. 2, pp. 58–64.MathSciNetCrossRef Kulyabov, D.S., Korol’kova, A.V., and Sevast’yanov, L.A., New features in the second version of the Cadabra computer algebra system, Program. Comput. Software, 2019, vol. 45, no. 2, pp. 58–64.MathSciNetCrossRef
5.
go back to reference Aladjev, V. and Bogdevicius, M., Maple: Programming,Physical and Engineering Problems, 2006. Aladjev, V. and Bogdevicius, M., Maple: Programming,Physical and Engineering Problems, 2006.
6.
go back to reference Corless, R.M., Essential Maple 7: An Introduction for Scientific Programmers, Springer, 2007.MATH Corless, R.M., Essential Maple 7: An Introduction for Scientific Programmers, Springer, 2007.MATH
7.
go back to reference Idris, I., NumPy Cookbook, Packt Publishing, 2012. Idris, I., NumPy Cookbook, Packt Publishing, 2012.
8.
go back to reference Oliphant, T.E., Guide to NumPy, CreateSpace, 2015, 2nd ed. Oliphant, T.E., Guide to NumPy, CreateSpace, 2015, 2nd ed.
9.
go back to reference Oliphant, T.E., Python for scientific computing, Comput. Sci. Eng., 2007, vol. 9, no. 3, pp. 10–20.CrossRef Oliphant, T.E., Python for scientific computing, Comput. Sci. Eng., 2007, vol. 9, no. 3, pp. 10–20.CrossRef
10.
go back to reference Behnel, S., Bradshaw, R., Citro, C., et al., Cython: The best of both worlds, Comput. Sci. Eng., 2011, vol. 13, no. 2, pp. 31–39.CrossRef Behnel, S., Bradshaw, R., Citro, C., et al., Cython: The best of both worlds, Comput. Sci. Eng., 2011, vol. 13, no. 2, pp. 31–39.CrossRef
11.
go back to reference Smith, K., Cython: A Guide for Python Programmers, O’Reilly Media, 2015. Smith, K., Cython: A Guide for Python Programmers, O’Reilly Media, 2015.
12.
go back to reference Lam, S.K., Pitrou, A., and Seibert, S., Numba: A LLVM-based python JIT compiler, Proc. 2nd Workshop LLVM Compiler Infrastructure in HPC, Austin, Texas, 2015, pp. 6–7.1. Lam, S.K., Pitrou, A., and Seibert, S., Numba: A LLVM-based python JIT compiler, Proc. 2nd Workshop LLVM Compiler Infrastructure in HPC, Austin, Texas, 2015, pp. 6–7.1.
13.
go back to reference Spreitzenbarth, M. and Uhrmann, J., Mastering Python Forensics, Packt Publishing, 2015. Spreitzenbarth, M. and Uhrmann, J., Mastering Python Forensics, Packt Publishing, 2015.
14.
go back to reference Klemens, B., 21st Century C, O’Reilly Media, 2012. Klemens, B., 21st Century C, O’Reilly Media, 2012.
15.
go back to reference Galton, F., Dice for statistical experiments, Nature, 1890, vol. 42, no. 1070, pp. 13–14.CrossRef Galton, F., Dice for statistical experiments, Nature, 1890, vol. 42, no. 1070, pp. 13–14.CrossRef
16.
go back to reference Knuth, D.E., The Art of Computer Programming, Addison-Wesley, 1997, vol. 2, 3rd ed.MATH Knuth, D.E., The Art of Computer Programming, Addison-Wesley, 1997, vol. 2, 3rd ed.MATH
17.
go back to reference Drozdova, I.I. and Zhilin, V.V., Random and pseudorandom number generators, Tekhnicheskie nauki v Rossii i za rubezhom: mateorialy VII Mezhdunar. nauch. konf (Proc. 7th Int. Sci. Conf. Technical Sciences in Russia and Abroad), Moscow: Buki-Vedi, 2017, pp. 13–15. Drozdova, I.I. and Zhilin, V.V., Random and pseudorandom number generators, Tekhnicheskie nauki v Rossii i za rubezhom: mateorialy VII Mezhdunar. nauch. konf (Proc. 7th Int. Sci. Conf. Technical Sciences in Russia and Abroad), Moscow: Buki-Vedi, 2017, pp. 13–15.
18.
go back to reference Kolchin, V.F., Sevast’yanov, B.A., and Chistyakov, V.P., Sluchainye razmeshcheniya (Random Placements), Moscow: Nauka, 1976. Kolchin, V.F., Sevast’yanov, B.A., and Chistyakov, V.P., Sluchainye razmeshcheniya (Random Placements), Moscow: Nauka, 1976.
19.
go back to reference Tyurin, Yu.N. and Makarov, A.A., Statisticheskii analiz dannykh na komp’yutere (Statistical Data Analysis on a Computer), Figurnov, V.E, Ed., Moscow: INFRA, 1998. Tyurin, Yu.N. and Makarov, A.A., Statisticheskii analiz dannykh na komp’yutere (Statistical Data Analysis on a Computer), Figurnov, V.E, Ed., Moscow: INFRA, 1998.
20.
go back to reference Gevorkyan, M.N., Demidova, A.V., Korolkova, A.V., et al., Pseudo-random number generator based on neural network, Sel. Pap. 8th Int. Conf. Distributed Computing and Grid Technologies in Science and Education, Korenkov, V., Nechaevskiy, A., Zaikina, T., Mazhitova, E., Eds., Dubna, 2018, pp. 568–572. Gevorkyan, M.N., Demidova, A.V., Korolkova, A.V., et al., Pseudo-random number generator based on neural network, Sel. Pap. 8th Int. Conf. Distributed Computing and Grid Technologies in Science and Education, Korenkov, V., Nechaevskiy, A., Zaikina, T., Mazhitova, E., Eds., Dubna, 2018, pp. 568–572.
21.
go back to reference Matsumoto, M. and Nishimura, T., Mersenne twister: A 623-dimensionally equidistributed uniform pseudo-random number generator, ACM Trans. Model. Comput. Simul, 1998, vol. 8, no. 1, pp. 3–30.CrossRef Matsumoto, M. and Nishimura, T., Mersenne twister: A 623-dimensionally equidistributed uniform pseudo-random number generator, ACM Trans. Model. Comput. Simul, 1998, vol. 8, no. 1, pp. 3–30.CrossRef
22.
go back to reference Marsaglia, G., Xorshift RNGs, J. Stat. Software, 2003, vol. 8, no. 1, pp. 1–6. Marsaglia, G., Xorshift RNGs, J. Stat. Software, 2003, vol. 8, no. 1, pp. 1–6.
23.
go back to reference Panneton, F. and L’Ecuyer, P., On the xorshift random number generators, ACM Trans. Model. Comput. Simul, 2005, vol. 15, no. 4, pp. 346–361.CrossRef Panneton, F. and L’Ecuyer, P., On the xorshift random number generators, ACM Trans. Model. Comput. Simul, 2005, vol. 15, no. 4, pp. 346–361.CrossRef
24.
go back to reference Boldi, P. and Vigna, S., On the lattice of antichains of finite intervals, Order, 2018, vol. 35, no. 1, pp. 57–81.MathSciNetCrossRef Boldi, P. and Vigna, S., On the lattice of antichains of finite intervals, Order, 2018, vol. 35, no. 1, pp. 57–81.MathSciNetCrossRef
25.
go back to reference O’Neill, M.E., PCG: A family of simple fast space-efficient statistically good algorithms for random number generation, Harvey Mudd College, 2014. O’Neill, M.E., PCG: A family of simple fast space-efficient statistically good algorithms for random number generation, Harvey Mudd College, 2014.
26.
go back to reference Gevorkyan, M.N., Kulyabov, D.S., Korolkova, A.V., and Sevastianov, L.A., Random number generators for computer algebra systems, 2019. https://bitbucket.org/yamadharma/articles-2019-rng-generator-code/src/master. Gevorkyan, M.N., Kulyabov, D.S., Korolkova, A.V., and Sevastianov, L.A., Random number generators for computer algebra systems, 2019. https://​bitbucket.​org/​yamadharma/​articles-2019-rng-generator-code/​src/​master.​
28.
go back to reference Jones, D., Good practice in (pseudo) random number generation for bioinformatics applications, 2010. Jones, D., Good practice in (pseudo) random number generation for bioinformatics applications, 2010.
29.
go back to reference Brown, R.G., Eddelbuettel, D., and Bauer, D., Dieharder: A random number test suite, 2017. http://www.phy.duke.edu/~rgb/General/rand_rate.php. Brown, R.G., Eddelbuettel, D., and Bauer, D., Dieharder: A random number test suite, 2017. http://​www.​phy.​duke.​edu/​~rgb/​General/​rand_​rate.​php.​
30.
go back to reference L'Ecuyer, P. and Simard, R., TestU01: A C library for empirical testing of random number generators, ACM Trans. Math. Software, 2007, vol. 33, no. 4, p. 22.MathSciNetCrossRef L'Ecuyer, P. and Simard, R., TestU01: A C library for empirical testing of random number generators, ACM Trans. Math. Software, 2007, vol. 33, no. 4, p. 22.MathSciNetCrossRef
31.
go back to reference L'Ecuyer, P. and Simard, R., TestU01: Empirical testing of random number generators, 2009. http://simul.iro.umontreal.ca/testu01/tu01.html. L'Ecuyer, P. and Simard, R., TestU01: Empirical testing of random number generators, 2009. http://simul.iro.umontreal.ca/testu01/tu01.html.
32.
go back to reference PractRand official website. http://www.pracrand.sourceforge.net. PractRand official website. http://​www.​pracrand.​sourceforge.​net.​
33.
go back to reference Gjrand official website. http://gjrand.sourceforge.net. Gjrand official website. http://​gjrand.​sourceforge.​net.​
Metadata
Title
A Modular Extension for a Computer Algebra System
Authors
M. N. Gevorkyan
A. V. Korolkova
D. S. Kulyabov
L. A. Sevast’yanov
Publication date
01-03-2020
Publisher
Pleiades Publishing
Published in
Programming and Computer Software / Issue 2/2020
Print ISSN: 0361-7688
Electronic ISSN: 1608-3261
DOI
https://doi.org/10.1134/S036176882002005X

Other articles of this Issue 2/2020

Programming and Computer Software 2/2020 Go to the issue

Premium Partner