smib is probably one of the smallest and simpliest computer algebra system in the world, but simple does not mean simplistic. Using smib you can explore many branches of mathematics (e.g. number theory, algebra, calculus, numerical analysis, differential geometry, probability and stochastic calculus) and also some physics (e.g. electromagnetism and quantum mechanic). By simple you can understand easy to program (smib is a weakly typed language, with strong affinity to recursivity, programs are often short and powerful and maybe useful for teaching), and also easy to modify (source code is free, written in C language, and based on notions of stacks (like FORTH language), and lists (like LISP language)).
What's new : In this version : - propositional logic : operators, truth table, tautology, antilogy - 60 seconds in a minute, why ? - on nonassociativity and Jacobi identity
V 0.32 : - What can we do with euclidean division of polynomial : * GCD * polynomial equations * modular inversion * chinese remainder theorem - Factorization, field of rational function.
V 0.31 : - stochastic differential equation in higher dimension - partial differential equation simulation using stochastic differential equation - some improvement in documentation.
V 0.30 : - spectral theory of undirected graphs : * adjacency matrix * degree matrix * laplacian matrix * number of triangles * number of connected components - electromagnetic tensor and its properties - odesolve : second order if a particular solution is known
V 0.29 : - odesolve : ordinary differential equation solver (for first order - using dsolve-, and second order if coefficients are constant) - dsolve uses antider instead of integral (calling a smib program in the smib kernel (in C language)) - Syracuze conjecture (dynamic allocation of arrays) - Mertens function & Redheffer matrix
V 0.28 : - some optimizations in generalized stochastic differential equation - Mertens fonction - new documentation
V 0.27 : - quantum mechanic using smib
V 0.26 : - quaternions - bug corrections
V 0.25 : - antiderivative v2 : new version of defint too - perfect number & harmonic mean of divisors - bug corrections
V 0.24 : - rational fonction & decomposition - antiderivative - bug corrections
V 0.22 : - law of large numbers & central limit theorem - some simplifications in hyperbolic trigonometry - almost all warnings suppressed (using -Wno-write-strings option)
V 0.21 : - generalized stochastic differential equation (not only with brownian motion): mean and variance computation - Stratonovitch stochastic integral with brownian motion - bug correction.
V 0.20 : - stochastic differential equation : mean and variance computation - non-linear least squares approximation.
V 0.19 : - Lagrange interpolation using Newton polynomials - sample applied to quantile and median.
V 0.18 : - complex analysis : complex path, complex path integral, complex path index, number of singularities - bug fix: simplification of expressions, numerical evaluation.
V 0.17 : - derivation of samples (integer & fractional) - bug correction.
V 0.16 : - Numerical application to special functions : Bessel functions, Hankel functions & Airy functions - Some new example applied to differential geometry, probability & statistic.
V 0.15 : - tensor calculus finally documented
V 0.14 : - numerical analysis : - fractionnal derivative - new version of Euler scheme : ODE and coupled ODEs are treated by one program - probability & statistic : - gaussian random nuber - new version of brownian motion - bugs correction.
V 0.13 : - numerical analysis : - first order differential equation - system of two first order differential equations (using Euler scheme).
- probability & statistic : - quantile & median - stochastic differential equation (Euler-Murayama & Milstein schemes)
- new documentation.
V 0.12 : - probality & statistic : - expected value - variance - standard deviation - skewness - kurtosis - least square line
- differential geometry : - planar curves - 3D curves - theory of surfaces using Gauss approach
- improvement : - simplify (if A=(x-1)*(x+1)/(x-1), simplify(A) returns : 1 + x) - numint (if simpsonint = 1, Simpson scheme is used, else Gauss scheme is used), for probability, it is a good idea to set simsonint to 1.