After several weeks of work, I have completed the implementation, documentation, and website for my Gauss-Newton class. The page is linked in the projects
The release includes 16 functions (5 of which don't converge) with a test suite. Functions are define with both conventional floating point as well as BC Math for arbitrary precision. I included four demos on the page, and I'm pretty happy with the inline-demo method I used to place them on the page. The code is displayed, run, and it's output also displayed. This makes adding additional demos easy. The documentation was done in phpDocumentor
. I have mixed feelings about it as I think the documentation layout has become less intuitive in more recent versions. However, it functions so I'm not going to complain too badly.
I ran across a couple of problems when trying to publish this website. First, I had called my polynomial regression class
"least-square regression." This is partly correct, but not the best description. So I renamed it, which required changing a lot of locations both on the website and in software. The second complication was getting documented software and a test suite. I had implemented several functions, but not bothered to test them. Once implemented and tested using regular floating-point, I had to do the implementation in BC Math. None of this was hard, just time consuming. The BC Math implementation required creating three new functions: Pi, sine and cosine. I'll probably write an article about this in the future.
For building the website, I generally use a simple template that I have used on most of my project pages. I pick some colors, and do a fade for the background. The fade has always been a cosine fade because I think those look better. I've setup my image editor to do this, but it's not a perfect cosine fade because I simply gave it a bunch of points to mimic the fade. When my fade looked too grainy, I decided to do the fade with PHP. This is an other side project I plan to clean up and publish.
Lastly, I found the comment system that I wrote back in 2003 had issues as well. I used several deprecated functions, and the captcha didn't want to work. I brought it back to the world of the functional, but it could use some cleanup.
It has been a lot of work to get all of this assembled, but hopefully someone will find this library useful.