 07 Jul, 2010 3 commits


Liam M. Healy authored
Do not use clarray in tests because it isn't always available. The safer way is by doing a copy out to a new CL array.

Liam Healy authored
The generic function #'copy now needs a keyword argument for the destination :gridtype. Eliminate unnecessary copy tests; these are better tested in grid as they didn't use any GSL functions.

Liam Healy authored
Since the copy generic function has been established in grid, eliminate copytodestination for arrays, mvectors, matrices.

 01 Jul, 2010 1 commit


Liam Healy authored

 30 Jun, 2010 2 commits


Liam Healy authored

Liam Healy authored
All of GSLL now compiles using foreignarray; only the copy functions have been commented out.

 27 Jun, 2010 1 commit


Liam Healy authored
Package renamed to :grid from :carray, function renamed to 'foreignpointer from 'cpointer. Eliminate reference to native. Port makemarrayordefault to foreignarray.

 05 Feb, 2010 2 commits


Liam M. Healy authored

Liam M. Healy authored

 19 Jan, 2010 2 commits


Liam Healy authored
Correct default vector size in SVsolve for nonsquare matrices; patch by Evgeniy Zhemchugov.

Liam Healy authored
Define #'choleskyinvert using gsl_cholesky_invert introduced in GSL 1.12. Tests need to be generated. By Evgeniy Zhemchugov.

 28 Dec, 2009 1 commit


Liam M. Healy authored

 27 Dec, 2009 1 commit


Liam Healy authored
Add copyright and license information to each file, include a copy of the GPL under documentation/COPYING.

 26 Dec, 2009 1 commit


Liam Healy authored
Removed some marrays marked as :input when their values were not used. This failed in CCL because the arrays in those cases were created with no initial values, and no values were set, so that they were marked clinvalid. Created #'makemarrayordefault to facilitate defaulting of marrays in defmfun, and marking validity appropriately. Test results: SBCL 64: TOTAL: 1627 assertions passed, 6 failed, 0 execution errors. CCL 64: TOTAL: 1620 assertions passed, 13 failed, 0 execution errors.

 23 Dec, 2009 1 commit


Liam Healy authored
Replace creatematrix and constantmatrix by using the grid functions grid:mapgrid and grid:makegrid; eliminate createvector because vectors can be generated with creatematrix and using nil for the second dimension argument. In the grid:makegriddata method for makemarray, the first argument, which is the element type, needs to be extracted from the rest spec with a newlychanged grid:specscalarp because compound types like (complex doublefloat) were not being recognized as element types.

 08 Dec, 2009 1 commit


Liam Healy authored
Eventually, the definitions used for dealing with types and foreign arrays that aren't specific to GSL will be split off into another system, so that it will be easier to build other foreign library interfaces using these definitions. As a start, the grid/ directory defines a package 'carray and some of the type definitions formerly in init/. Everything compiles and tests as before, on SBCL TOTAL: 1627 assertions passed, 6 failed, 0 execution errors.

 14 Nov, 2009 1 commit


Liam Healy authored
A few overlooked function symbols have been exported and some unused function definitions eliminated. Added an example solvetridiagonalexample thanks to Mirko Vukovic.

 16 Oct, 2009 1 commit


Liam Healy authored
Index limits may be passed to setmatrix and to some of the functions dependent on it, so that e.g. a tridiagonal matrix can be defined without iterating over all elements. If the optional argument 'passelement is nonNIL, the function will be passed a final argument which is the prior value of the current element.

 26 Sep, 2009 2 commits


Liam Healy authored
Added the translated GSL tests to the linear algebra for QR decomposition with column pivoting. More arguments corresponding to values returned by the functions are now optional. Fixed the order of return values from QRPTdecomposition so that permutation is before signum. Fixed argument lists to QRPTQRsolve.

Liam Healy authored
Added eight tests from GSL's test for Cholesky decomposition and solving. The four decomposition tests incorrectly produce zero in CCL. The first optional argument in matrixproduct and matrixproductsymmetric can now be nil, to indicate a matrix of the right dimensions should be constructed. This is the default; the default previously was to make that matrix directly, which meant if any other optional arguments were supplied, the complicated default construction for the return matrix would have to be reentered.

 25 Sep, 2009 1 commit


Liam Healy authored
Added the standard set of linear algebra tests for the Householder transformation; all pass.

 21 Sep, 2009 1 commit


Liam Healy authored
Changed required to optional arguments for several of the QR linear algebra functions, for returned quantities. 45 new tests added for QR that are translated from GSL's tests. Matrices and solutions that are used by more than one of the linear algebra techniques are defined in matrixgeneration.lisp.

 20 Sep, 2009 2 commits


Liam Healy authored
Added nine tests derived from the selftests that GSL has for LU decomposition. All tests except the complex matrix pass within the tolerances prescribed by GSL.

Liam Healy authored
Matrices (and vectors) may be created from functions of the element indices. This is needed to create the matrices used in testing the linear algebra functions. It also can be of general use, especially with further generalization. For now, there are no exported symbols from these definitions.

 18 Sep, 2009 1 commit


Liam Healy authored
For the singular value decomposition functions, make the S vector and V matrix optional arguments, as they are quantities returned by the functions. Add tests translated from the GSL tests.

 05 Jun, 2009 1 commit


Liam Healy authored
The reader macro #m now evaluates its arguments, so creating a vector with e.g. #m(pi (sqrt 3) (cos (/ pi 4))) is now possible. Matrices are specified by using ^ in the list to separate rows. GSLL now requires clutilities once again.

 25 May, 2009 1 commit


Liam Healy authored
Instead of hardwiring GSL's #define or enum values, define them in init/libgslunix.lisp and run CFFIgrovel on them. This has the advantage that if these values change in GSL, GSLL will automatically get the new values; also, there was an error in the 'integratemethod enum due to an incorrect starting value. It has the disadvantage that building GSLL now requires a C compiler and some of the header (.h) files for GSL. Also, it's not clear what the form for libgsl*.lisp files are for nonunix OSes.

 06 May, 2009 1 commit


Liam Healy authored
Methods for symmetricrank2update complex types added in blas3.

 03 May, 2009 2 commits


Liam Healy authored
For FSBV calls, define fsbv:defcfun in the defmfun expansion, then in the fsbv:foreignfuncall, refer to the symbol function name rather than string function name. This tells FSBV to use the prepared closure associated with that function by the fsbv:defcfun, meaning that the definitions in that lexical environment are reused. Fix conditionalization for #'conjugaterank1update in blas2.lisp. Test results: SBCL 64 #+fsbv TOTAL: 1522 assertions passed, 5 failed, 0 execution errors. CCL 64 #+fsbv TOTAL: 1522 assertions passed, 5 failed, 0 execution errors. SBCL 64 #fsbv TOTAL: 1502 assertions passed, 5 failed, 0 execution errors. CCL 64 #fsbv TOTAL: 1502 assertions passed, 5 failed, 0 execution errors.

Liam Healy authored
All source code is now conditionalized so that FSBV is optional. If present, functions using complex scalars will work. If absent, GSLL will compile and load correctly, and all functions except those using complex scalars will work. The examples and tests are defined appropriately. Documentation on FSBV dependence has been added to index.html.

 30 Apr, 2009 1 commit


Liam Healy authored
The BLAS matrixproduct functions now work on complex arrays using FSBV, but there are no tests yet. New tests vectorsetall and matrixsetall replace setall tests with addition, and work for all types including complex using FSBV. Default optional argument marrays are initialized to 0. Polynomial evaluation with complex argument uncommented, but not yet working.

 28 Apr, 2009 1 commit


Liam Healy authored
Also cdot, solvequadraticcomplex, solvecubiccomplex generate complex scalars in the argument returned by reference.

 27 Apr, 2009 1 commit


Liam Healy authored
Variables called using withforeignobjects that are passed to GSL for the purposes of returning computed values (i.e., are not mentioned in the CL arglist) need to be declared (:pointer type) because they are calls by reference. Everything now compiles though there are execution errors in the tests.

 18 Mar, 2009 1 commit


Liam Healy authored
The LU remultiplication tests now permute the answer at the end so that it ends up with the original vector with the elements in the original order. The permutation functions #'permute and #'permuteinverse now include all arguments, including marrays and pointers to C arrays. Formerely, there were separate functions #'permutevector and #'permutevectorinverse. SBCL64: TOTAL: 1451 assertions passed, 5 failed, 0 execution errors. CCL64: TOTAL: 1452 assertions passed, 4 failed, 0 execution errors.

 15 Mar, 2009 1 commit


Liam Healy authored
Fixed a problem in #'matrixproductdimensions reported by Norman Werner that prevented taking the product of nonsquare matrices, and added a test to check for the multiplication for all four element types supported. This revealed a problem in nonnative marray initialization (found in CCL) which has been fixed by marking foreignarrays :clinvalid when neither :initialcontents nor :initialelement have been specified. SBCL 64: TOTAL: 1449 assertions passed, 7 failed, 0 execution errors. CCL64: TOTAL: 1450 assertions passed, 6 failed, 0 execution errors.

 24 Feb, 2009 1 commit


Liam Healy authored
Most linear algebra functions now have optional arguments which create workspace and answer arrays. All solver function that have _solve (separate solution vector) and _svx (solve inplace) forms have been unified into a single CL function. In qrpt functoins where signum is computed, it is no longer taken as input but allocated internally and return as one of the multiple values. This necessitated a change in bodyexpand that will now apply the clconvertform conversion to returned variables that are part of a multiple value list for :return.

 23 Feb, 2009 1 commit


Liam Healy authored
LUsolve and LUdecomposition now have optional arguments. For LUsolve, the choice of whether to solve inplace or in a new vector depends on how this last argument is specified. Because of the different call paths, it is possible that x is a vector or nil. If it is a vector, it will change after the foreign call, which means it needs to be added to :outputs. In order to prevent an error from the call to (setf clinvalid) and (setf cinvalid) when x is nil, these two functions have been defined for class T to do nothing but return the value. Also, copyctocl and copycltoc check whether the argument is a mobject, though this change isn't needed. There are two additional tests in 'lu that do a solve and then remultiply the results with matrixproducttriangular. In both SBCL and CCL, the answer comes out reversed. When multiplied by matrixproduct, it is correct.

 18 Feb, 2009 1 commit


Liam Healy authored
Added +halton+, +reversehalton+ to random/quasi.lisp. Added #'multilinearresiduals in solveminimizefit/linearleastsquares.lisp. Changed +sobol+, +niederreiter2+ from *..* apparently overlooked before. #'choleskysolve now written so that if xspec = T, a marray is created and the solution put in it and returned. If it is NIL, the solution will replace b. This required a modification to expanddefmfungeneric to remove &aux args from the defgeneric arglist. solveminimizefit/linearleastsquares.lisp Specify the weight as an optional argument, unifying the weighted and unweighted functions: linearfit, multiplierfit, linearmfit, linearmfitsvd. This necessitated a change in the order of the arguments. Changed call in basissplines.lisp.

 17 Feb, 2009 1 commit


Liam Healy authored
Functions added to GSL with version 1.10, and related changes:  Cholesky routines for complex matrices; Cholesky functions _solve and _svx (solution separate and inplace) now combined into a single generic function with an optional argument #'choleskysolve. Unfortunately a default marray maker can't be included in the optional argument.  Correlation added, and covariance and correlation tests expanded to all supported matrix element types.  Added #'exponentialintegralEn for nthorder exponential integral.  Also rewrote #'callbacksetslots and #'bodyexpand to eliminate gratuitous (progn nil ...) in some defmfun expansions. Test results: SBCL 64: TOTAL: 1379 assertions passed, 5 failed, 0 execution errors. CCL 64: TOTAL: 1380 assertions passed, 4 failed, 0 execution errors.

 16 Jan, 2009 1 commit


Liam Healy authored
New directory "calculus" to hold numericaldifferentiation, numericalintegeration, and montecarlo. Converted some return array arguments in BLAS to optional arguments. Define a condition 'obsoletegslversion to use in #'completedefinition. Try to incorporate cygwin into init.lisp; needs testing by a cygwin user.
