ChangeLog
Version 0.0.10
- complex log() and abs() had embarrasing errors in it: fixed
- Some functions got extensions to the complex plane:
- complete Gamma and log-Gamma functions
- incomplete Gamma function
- regularized Gamma functions
- complete Beta and log-Beta functions
- Digamma function
- General partial function. This allows for approximations of the zeta function for complex arguments (n=1000 gives about 6 digits precision)
- Pochhammer symbol (raising factorial)
- Special partial harmonic function. This implementation is only good for very large n!
Version 0.0.9
- Several bugfixes
- Increased precision of the digamma function
- Unpacked suitcases and mothballed my swimming trunks for this year
Version 0.0.8
- Several bugfixes
- integer partition for real positive integer
- conversion between arabic and roman numbers (back and forth)
- complex Vector class together with magnitude, dot product, cross product (3d and 7d only), multiplication and division with a real or complex scalar and addition and subtraction of two vectors of the same size
- discrete Fourier transformation of a complex 1-d data array
- Added a second algorithm to Array.setZeroAt for complex numbers. It handles the real and imaginary part separately. The default is now the new algorithm
Version 0.0.7
- Several bugfixes:
- Some of the algorithms for complex numbers were wrong and/or suffered too much from under- and overflow
- Fixed the broken HTML of the webpage.
- Added matrix decompositions: QR (complex), LUP (complex), Singular Values (real), Eigen (real. One educational method by QR direct and one by Schur decomposition. The former being quite wrong and the latter being quite fast)
- Added some helper function for the Matrix class: hess (real upper Hessenberg), setZeroAt (limit), diag (extract main diagonal), isNonSingular, toPrecision, cond (2-norm condition), rank, Re (extract real part), Im (extract imaginary part)
- Added some more functiosn for arrays: toMatrix (a 2-d array into the Matrix class), setZeroAt, equal (for real and complex numbers), toPrecisio
- Added Math.hypot (for real and complex numbers)
- Startet to make this all more a bit more IEEE compliant but it is a long way to go
Version 0.0.6
- Several bugfixes
- Added a Matrix data type for complex matrices plus some helper functions
like a string prototype to parse a Octave like matrix input format into this
matrix data type (e.g.:
"[1,2,3;4,5,6 - 7.5e-3i;7,8,9]"
). - Added Matrix operations, namely:
- +
- -
- *
- /
- =
- determinant
- adjoint
- trace
- transpose
- conjugate transpose
- rot90
- inverse
- absolute
- 1-norm
- infinity-norm
- Frobenius norm (2-norm)
- sum (column-wise)
- product (column-wise)
- max (column-wise)
- min (column-wise)
-
Added constant matrices:
- Zero
- identity
- exchange
- Lehmer
- Hilbert
- lower and upper shift
- empty (this data type's equivalent of an empty set)
- 2x2 Pauli
- Added complex number operations:
toPrecision, round, nint
- Added complex number comparisons:
gt,lt
Version 0.0.5
- Several small but annoying bugs fixed
- Added a complex data type
- Added complex operations, namely:
- +, -, /, *, %, =
- pow() (mantissa and exponent can both be complex)
- log()
- exp()
- conjugate
- inverse, multiplicative
- inverse, additive
- cartesian to polar
- polar to cartesian
- Trigonometric functions: sin, cos, tan, cot, sec, csc
- The inverse of these trig. functions
- The hyperboles of these trig. functions
- The inverse hyperboles of these trig. functions
xtypeof()
detects the complex data type as "complex"
- Added the matrix functions matrixrot,matrixtrace, matrixmult, and matrixpow
- Added linear, square and cubic solver
- Added code to calculate the eigenvalues of a 2x2 and a 3x3 matrix
- Added a function to calculate the Kronecker delta
Version 0.0.4
- Main bugfixes: forgot that I changed the algorithm of the incomplete Gamma function to be compliant with Octave's. The incomplete Gamma function 'Math.incomplete Gamma(x,a)' works now as defined in the textbooks and the function for ported Octave code is now named 'Math.incompleteGammaOct(x,a)'. The textbook function uses the newly adopted function 'Math.hyperg(a,b,z)'(see mathworld.wolfram.com for the details) and is therefore not independent from GPL'd code anymore but slightly more exact.
- Stripped nint() from 'Math.logBarnesG(n)', probably forgotten after changing the algorithm to give 'ln g(n)'.
- Algorithm changed for Math.chiSquareCDF() before I noticed the problem with the incomplete Gamma function described above but left it.
- Changed algorithm for the Bernoulli numbers to use 'zeta()' instead of the 'generalPartialHarmon()'
- Changed algorithm for the errorfunction 'erf()', it was wrong.
- Changed algorithm for the 'gcd()' function, it was wrong.
- Fixed typos in the bessel functions (actually only one typo, but C&P multiplicated it).
- Added basic caclulation with rational numbers (fractions): +,-,*,/
- Added inverse error function.
- Added Weierstrass function (rationals only, but that doesn't matter on a digital Turing machine).
- Added polygamma function for positive orders.
- Added a method to reduce a rational number (a fraction).
- Added PDF, CDF and inverse of standard normal distribution.
- Changed functions for (log)normal distribution to make use of the stdnormal functions and because they were wrong. The (log)normal functions I mean.
- Added Bartlett-, Hotelling- (one and two samples), Kruskal-Wallis-, Welch-, F-, and sign test from Octave.
- Added the 'ranks' helper function from Octave.
- Added a little helper function that concatenates an array at the end of another array not by reference but by value.
- Added Barnes G(z) for reals greater than 3.
Version 0.0.3
Bugfixes.
Added Bessel-, Weber-, confl. hypergeometric-, Hurwitz- and Rieman-Zeta-,
Laguerre-, exponential integral- and the dilogarithm functions.
Version 0.0.2
A lot of Bugfixes. Functions to calculate the Levenshtein
distance, similarity (Ratcliff/Obershelp), Catalan-, happy and Lucas numbers,
logarithm of the Hyperfactorial (positive integer only), logarithm of
Barne's G-function (positive integer only), logarithm of the K-function
(positive integer only), integer- fractional part, nint (nearest integer),
n-th Fibonacci, rot-13 and a couple of other string manipulations usefull for
example for statistics, Schwarzschild radius, Wien temperature and -wavelength,
circular velocity and some functions around the circular velocity, entropy of
a black hole, stellar pressure (hydrodynamic only) and some other astronomical
functions, Euler's totient function, coprime, and the optimal size of a
bloomfilter and the optimal number of hashfunctions for it.
Version 0.0.1
Initial version published.