[Arjen Markus] (10 february 2017) MathemaTcl is the name I chose for a collection of mathematical libraries (mostly from Netlib) that can be accessed from Tcl. You can find the code here: [http://chiselapp.com/user/arjenmarkus/repository/mathemaTcl/index]. To build it (or parts of it) you need a C and possibly a Fortran compiler that can build extensions for your version of Tcl. Currently the following extensions are available: * CEPHES - a library for evaluating special mathematical function, such as the various Bessel functions and exponential integral functions. * FFTPACK - a one-dimensional FFT package (derived from the SLATEC library) * GLOBAL - a package to find the global minimum of a function of one or several variables * QUADPACK - a package for the automatic integration of functions over finite or infinite intervals * SPECFUNC - a collection of routines to evaluate special mathematical functions, such as Bessel functions of the first and second kind, exponential integrals and the like. * WAVELIB - a library for wavelet transforms Warning: This is work in progress at the moment. For most packages documentation is now available, but they should be tested more extensively. (updated: 19 february 2017) ---- **Demo** ====== # demo_fftpack.tcl -- # Demonstration of the FFTPACK wrapper # # Note: the transform is not normalised, hence the factor "size" # package require tcl_fftpack set size 101 set transform [::fftpack::createTransform1D $size] set PI [expr {acos(-1.0)}] for {set i 0} {$i < $size} {incr i} { lappend values [expr {0.4+cos(2.0*$PI*$i/100.0)+sin(4.0*$PI*$i/100.0)}] } set oldvalues $values set transformed [$transform forward $values] puts "Transform:" for {set i 0} {$i < $size/2+1} {incr i} { puts [format "%12.4f %12.4f" [lindex $transformed $i 0] [lindex $transformed $i 1]] } set reconstructed [$transform backward $transformed] puts "Reconstructed and old values (unnormalised):" for {set i 0} {$i < $size} {incr i} { puts [format "%12.4f %12.4f" [lindex $reconstructed $i] [expr {$size*[lindex $oldvalues $i]}]] } ====== <>Mathematics