Fig 7 - uploaded by Andy Ray Terrel
Content may be subject to copyright.

The scientific computing software stack. Various projects are displayed showing the range that they abstract. We pose that scientific computing needs more horizontal and thin layers in this image.
Source publication
Replacing symbols with random variables makes it possible to naturally add statistical operations to complex physical models. Three examples of symbolic statistical modeling are considered here, using new features from the popular SymPy project.
Similar publications
Data analysis in fundamental sciences nowadays is an essential process that
pushes frontiers of our knowledge and leads to new discoveries. At the same
time we can see that complexity of those analyses increases fast due to
a)~enormous volumes of datasets being analyzed, b)~variety of techniques and
algorithms one have to check inside a single anal...
We describe a project-based introduction to reproducible and collaborative neuroimaging analysis. Traditional teaching on neuroimaging usually consists of a series of lectures that emphasize the big picture rather than the foundations on which the techniques are based. The lectures are often paired with practical workshops in which students run ima...
Citations
... To accomplish this, Mathematica, Wolfram Alpha, R, and Matlab tools are tested on a set of problems. The novelty in using Computer Algebra System (CAS) tools lies in the progression of machine learning algorithms, which have led to the advancement of more sophisticated and user-friendly CAS interfaces (Rocklin, M., & Terrel, A. R. 2012;Meurer, A. 2017). It is used in many fields, including engineering, physics, finance, and biology, to name just a few. ...
Undergraduate mathematics courses play a vital role for students aiming for professions in the domain of science, technology, engineering, and mathematics fields. However, many students find mathematics courses challenging and intimidating, leading to high dropout rates and not up to mark performance. This paper reviews pedagogical strategies for effective teaching of undergraduate mathematical sciences courses, based on current research and best practices. These strategies include the use of technology, clear and concise explanations that encourage deep understanding. By implementing these strategies, course instructors can create a positive learning environment that supports student success in undergraduate courses. To accomplish this, Mathematica, Wolfram Alpha, R, and Matlab tools are tested on a set of problems. The novelty in using Computer Algebra System (CAS) tools lies in the advancement of machine learning algorithms, which have resulted in the advancement of more sophisticated and easy-to-use CAS interfaces. Students can find the opportunity of numerous experiments that provide some insights of problem solving methods. Further, the use of these computer applications provide meaningful understanding for the student, and an opportunity to verify the manual calculations. Mathematica and Wolfram Alpha seem to provide better results with respect to results accuracy and plots of useful functions. This study would provide a new challenge to 383 PJER, Vol 7, Issue 3 (2024) Enhancing math lessons… both teachers as well as undergraduate and research students of these disciplines. Moreover, the paper highlights how these tools provide students with opportunities to verify manual calculations and explore different solution methods, fostering deeper understanding and critical thinking.
... Modelling solar radiation and at the same time graphing it is difficult using pen and paper. Here comes the role of Python programming as a programming language that can perform numerical computations and graphing very easily [7][8][9][10][11][12][13]. Python's true power resides in its modules such as Numpy [14][15][16][17], SymPy [18][19][20][21], Matplotlib [22,23], etc. In this article the strength of Python programming has been used to model solar radiation. ...
This short communication describes how a Python module has been developed to understand solar radiation. Through the use of the python module, functions have been developed for zenith angle, hour angle, angle, solar declination angle and solar intensity of extraterrestrial radiation. To ensure that the developed modules were accurate, four problems were selected. The developed codes were tested on these four problems. Correspondingly, the result has shown that the functions generated have helped in a better interpretation and understanding of solar geometry and sun-earth angles.
... To simplify the solution and implement the thermodynamic equations mentioned above, the Python programming language is most suited as its syntax is very easy and its modules are very powerful [3][4][5][6]. To solve problems symbolically, SymPy is a very powerful tool which is also written in Python [7][8][9][10]. It is so powerful that once an equation is entered, it can integrate, differentiate, simplify expression, evaluate limit, and much more with great ease. ...
In this paper, an attempt has been made to develop a Python module for evaluating the first law of thermodynamics, which includes the process of work done and amount of heat gained or lost by the system and the amount of internal energy stored. The modules NumPy and Matplotlib were used to perform the stipulated task. In addition, the correctness of codes was checked against different numerical problems, and it has been observed that the program results match exactly with the results in the literature. As a result, the functions thus developed have shown high accuracy with the least effort and error in all the cases.
... However, the positioning information and error was calculated by a trilateration, which may implicitly include some error-tolerant or optimization design. Here, some results about the distance and positioning error are provided in Table 3 to address this viewpoint, where the trilateration algorithm was realized via invoking the solve function provided by SymPy [21,22]. According to the results shown in the example in Table 3, since the trilateration algorithm had some error-tolerant design, and even though all the distance errors between the tag and anchors in the raw data row were higher, it still possessed a lower positioning error. ...
An ultra-wideband (UWB) positioning system consists of at least three anchors and a tag for the positioning procedure. Via the UWB transceivers mounted on all devices in the system, we can obtain the distance information between each pair of devices and further realize the tag localization. However, the uncertain measurement in the real world may introduce incorrect measurement information, e.g., time, distance, positioning, and so on. Therefore, we intend to incorporate the technique of ensemble learning with UWB positioning to improve its performance. In this paper, we present two methods. The experimental results show that our ideas can be applied to different scenarios and work well. Of note, compared with the existing research in the literature, our first algorithm was more accurate and stable. Further, our second algorithm possessed even better performance than the first. Moreover, we also provide a comprehensive discussion for an ill-advised point, which is often used to evaluate the positioning efficiency in the literature.
... Here comes the importance of python language to reduce the solution and implementation task [29,30]. SymPy is a module which is used in python (as well written in python) to solve mathematics symbolically [31][32][33]. This is so powerful tool that one has to just plug in the differential model in symbolic form (as we write on paper) and it will return the output. ...
In this research article, an attempt has been made to solve the linear/nonlinear and steady/unsteady heat transfer equations using the Homotopy and Perturbation method (HPM). Moreover, the implementation of HPM has been done by using SymPy, a library in python, to solve problems symbolically. Total three problems were dealt viz. steady-state conduction with heat generation, lumped capacitance analysis with a variable specific heat of the material, and heat transfer in uniform rectangular fin with radiation from the surface. In all the cases, the HPM has given excellent results compared to the analytical and numerical. Finally, the execution of SymPy has been explained, and a detailed procedure to implement HPM through python has been presented for all three cases.
... These modules are open source and can be used freely for scientific computations. Both NumPy and Sympy are very powerful in algebra, discrete mathematics, calculus etc. [8], [9]. One of the attractive features of SymPy is its capability to format and present the results in LaTeX format. ...
This paper applies the solution of ODE's encounter in fluid mechanics by augmenting it with symbolic Python. The implementation procedure has been illustrated for two types of parallel flows, i.e., Couette and Hagen Poiseuille flow. The suggestive results thus obtained are plotted and presented using Matplotlib. The manuscript will help beginners of fluid mechanics solve the fluid flow problems computationally and produce the results in a better way.
... To properly compare the accuracy of M and S methods with direct methods, one needs to let the orientation and location errors of cameras contribute properly to the final projection error Δg. A symbolic algebra package Sympy (Rocklin and Terrel, 2012) supporting random variables was used to compute proper error distributions. ...
Two examples of pre-processing of geometric features is given. Supervised machine learning algorithms can have benefit of existence of families of alternative approximate features. This is especially with the object recognition problem in point cloud and image media. A tutorial review of existing methods in curvature analysis of triangularized surfaces is included. Two new methods are introduced; one is for point cloud filtering and another one for directional curvature histograms.
... values are used in Table 2to make comparisons possible. Computations were done by python Sympy package [27] by coding Eqs. 9... 16 with their corresponding variance terms (first five values) of Table 1. ...
A swimmer detection and tracking is an essential first step in a video-based athletics performance analysis. A real-time algorithm is presented, with the following capabilities: performing the planar projection of the image, fading the background to protect the intimacy of other swimmers, framing the swimmer at a specific swimming lane, and eliminating the redundant video stream from idle cameras. The generated video stream is a basis for further analysis at the batch-mode. The geometric video transform accommodates a sparse camera array and enables geometric observations of swimmer silhouette. The tracking component allows real-time feedback and combination of different video streams to a single one. Swimming cycle registration algorithm based on markerless tracking is presented. The methodology allows unknown camera positions and can be installed in many types of public swimming pools.
... Statistics (sympy.stats) Support for a random variable type as well as the ability to declare this variable from prebuilt distribution functions such as Normal, Exponential, Coin, Die, and other custom distributions (Rocklin & Terrel, 2012). Tensors (sympy.tensor) ...
SymPy is an open source computer algebra system written in pure Python. It is built with a focus on extensibility and ease of use, through both interactive and programmatic applications. These characteristics have led SymPy to become a popular symbolic library for the scientific Python ecosystem. This paper presents the architecture of SymPy, a description of its features, and a discussion of select submodules. The supplementary material provide additional examples and further outline details of the architecture and features of SymPy.
Chemical reaction balancing is a fundamental aspect of chemistry, ensuring the conservation of mass and atoms in reactions. This article introduces a specialized Python functions designed for automating the balancing of chemical reactions. Leveraging the versatility and simplicity of Python, the module employs advanced algorithms to provide an efficient and user-friendly solution for scientists, educators, and industry professionals. This article delves into the design, implementation, features, applications, and future developments of the Python functions for automated chemical reaction balancing. The functions thus developed were tested on some typical chemical reactions and the results are the same as that in the literature. This is an open access article under the CC BY-SA license.