Hi Panicz, Thank you for these information.
On 2/6/2016 14:08, Panicz Maciej Godek wrote: > Hi > > 2016-02-06 1:47 GMT+01:00 Cao Jin <l...@null.net <mailto:l...@null.net>>: > > It's interesting. I have used Matlab for many years, but never > tried R. As for as I know, there are tons of state-of-the-art > library in R and Matlab. > > After skimming your paper, I wander that > 1) Are these library used in your code example implemented by > yourself? Or other libraries are called, such as LAPACK for linear > algebra? > > > Everything is either written from scratch, or uses one of the helper > libraries (two such libraries are included in the repo; the other is > SRFI-1). > The point of the book is that it is not a tutorial on using libraries, > but it explains some methods and translates these explanations to > Scheme, so that they can be modified and extended easily. > > If you are looking for some serious numerical libraries for Scheme, > there's a very powerful scmutils package available > > http://www.cs.rochester.edu/~gildea/guile-scmutils/ > <http://www.cs.rochester.edu/%7Egildea/guile-scmutils/> > > I've actually used its code for Singular Value Decomposition to > perform Principal Component Analysis. OK, I will try it later. > > 2) Is it easy to use scheme and your library, or maybe some > others, to do computational job? In practice, those who use R or > Matlab want their idea to be proved quickly, not to spend time on > coding style, right? > > I think it depends on a point of view. I initially tried using R, but > it was causing many unexpected problems, but I already knew Scheme > quite well, and for me even implementing the libraries from scratch > wasn't that much of a job. > But the book is mostly about fun, and about understanding. > Also, interfacing Guile with Emacs through Geiser is an incredible > productivity boost. > > Interestingly, when I benchmarked the genetic algorithm that I wrote > with genalg package from R, the Scheme version run in Guile actually > outperformed the R version, although it was written in completely > performance-naive style. > It's great to see this result. > On the other hand, if you wanted to use the decision trees classifier, > you'd probably want to apply memoization. > > If scheme can do most computational job as python numpy does, I > will switch to it. > > > I think that in practice Scheme can be even more convinient, as it > provides native support for complex numbers > > I also think it would be helpful to interface Guile with plot > generation. I see that Nala has a guile-plot package, but I haven't > tried it. I personally wrote some code for generating LaTeX pgfplots > for the project, and can add it to the repo if you llike. > As described above, I think it is worth trying Scheme for numerical computing. Your work is appreciated! Regards, Lop