Skip to content

SciSmalltalk Contents

Serge Stinckwich edited this page Jun 26, 2018 · 1 revision

For the use of SciSmalltalk in Squeak you should first load the compatibility package Math-SqueakPrerequisite.

These main packages exist in SciSmalltalk:

ArbitraryPrecisionFloat

lets you do calculations with Floats with an arbitrary precision.

Documentation

tests and dependencies can be found in ConfigurationOfArbitraryPrecisionFloat.

Math-Complex

defines complex numbers and their functions and is completely self-explanatory.

it is tested in Math-Tests-Complex.

it is used by Math-Quaternion and an extension package that combines Math-Complex with Math-DHB-Numerical

Math-DHB-Numerical

is essentially the code (there are some minor changes) of the book Object-Oriented Implementation of Numerical Methods by Didier H. Besset and covers among other things interpolation, zero finding of functions, integration, series, statistics, linear algebra, optimization. you can have a look at the table of contents at the above link. the book documents and explains the code nicely. a freely downloadable version of this book without the java parts can be found at https://github.com/SquareBracketAssociates/NumericalMethods/releases. the original essentially unchanged code, workable in pharo and squeak (yet incompatible with scismalltalk), can be found at http://www.smalltalkhub.com/#!/~hernan/NumericalMethods.

some tests are in Math-Tests-DHB-Numerical, which mainly uses the code examples in the book.

it is used by several extension packages.

Math-Number-Extensions

defines the hyperbolic functions, their inverses and sinc.

Math-ODE

solves differential equations.

Quick start to ODE

How does ODE package work?

tests are in Math-Tests-ODE and in Math-Accuracy-ODE and (speed-tests) in Math-Benchmarks-ODE

Math-KDTree

can be used to repeatedly find nearest neighbours.

Documentation

tests are in Math-Tests-KDTree and (speed-tests) in Math-Benchmarks-KDTree.

Math-Quaternion

defines quaternions and their functions and is self-explanatory.

it needs Math-Complex to work correctly.

it is tested in Math-Tests-Quaternion.

it is used by an extension package that combines Math-Quaternion with Math-DHB-Numerical.

Math-Random

defines several pseudo-random-number generators and is self-explanatory.

tests are in Math-Tests-Random

Math-DHB-wk

adds some methods used mainly for testing, a QR factorization and some methods based on that factorization.

Documentation

it needs Math-DHB-Numerical

tests are in Math-Tests-DHB-wk

Math-AccuracyFramework

by subclassing Accuracy one can easily write tests for the numerical accuracy of methods.

Documentation

tests and an example are in this package

Math-FunctionFit

which can fit parameters of a function to some data and additionally can be used to find the minimum of a function.

Documentation

it needs Math-DHB-Numerical and Math-AccuracyFramework

tests are in Math-Tests-FunctionFit which additionally needs Math-DHB-wk

Math-RealInterval

implements some interval-arithmetic.

Documentation

it needs Math-DHB-Numerical, Math-DHB-wk, Math-Number-Extensions, SMark, Roassal2

tests are in Math-Tests-RealInterval and speed-Tests in Math-Benchmarks-RealInterval.

Math-AutomaticDifferentiation

lets you calculate first and second derivatives

Documentation

it needs Math-DHB-Numerical

tests are in Math-Tests-AutomaticDifferentiation

Math-FastFourierTransformation

lets you do a fast Fourier transformation and its inverse transformation

Documentation

it needs Math-Complex

tests are in Math-Tests-FastFourierTransformation which additionally needs Math-DHB-Numerical

Math-Quantile

lets you calc quantiles and is self-explanatory and documented in its tests

tests are in the package

it is used by Math-KernelSmoothing

Math-KernelSmoothing

estimates a non-parametric density from experimental data

Documentation

tests are in the package

it needs Math-Quantile and Math-DHB-Numerical

Math-KolmogorovSmirnov

does a two-sided Kolmogorov-Smirnov-test. KolmogorovSmirnov1Sample checks whether sample data are from a population with a given distribution, KolmogorovSmirnov2Sample checks whether two sample data are from the same population. package is self-explanatory and heavily commented.

it needs Math-DHB-Numerical

tests are in Math-Tests-KolmogorovSmirnov


and then there are Math-ComplexExtensions and Math-QuaternionExtensions which make complex and quaternion available in in some DHB calculations. Math-DHB-NumericalExtensions are essentialy user-defined renamings of some methods.