- 07 Jul, 2010 3 commits
-
-
Liam M. Healy authored
Do not use cl-array 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 :grid-type. 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 copy-to-destination 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 foreign-array; only the copy functions have been commented out.
-
- 27 Jun, 2010 1 commit
-
-
Liam Healy authored
Package renamed to :grid from :c-array, function renamed to 'foreign-pointer from 'c-pointer. Eliminate reference to native. Port make-marray-or-default to foreign-array.
-
- 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 SV-solve for non-square matrices; patch by Evgeniy Zhemchugov.
-
Liam Healy authored
Define #'cholesky-invert 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 cl-invalid. Created #'make-marray-or-default 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 create-matrix and constant-matrix by using the grid functions grid:map-grid and grid:make-grid; eliminate create-vector because vectors can be generated with create-matrix and using nil for the second dimension argument. In the grid:make-grid-data method for make-marray, the first argument, which is the element type, needs to be extracted from the rest spec with a newly-changed grid:spec-scalar-p because compound types like (complex double-float) 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 'c-array 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 solve-tridiagonal-example thanks to Mirko Vukovic.
-
- 16 Oct, 2009 1 commit
-
-
Liam Healy authored
Index limits may be passed to set-matrix 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 'pass-element is non-NIL, 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 QRPT-decomposition so that permutation is before signum. Fixed argument lists to QRPT-QRsolve.
-
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 matrix-product and matrix-product-symmetric 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 re-entered.
-
- 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 matrix-generation.lisp.
-
- 20 Sep, 2009 2 commits
-
-
Liam Healy authored
Added nine tests derived from the self-tests 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 cl-utilities once again.
-
- 25 May, 2009 1 commit
-
-
Liam Healy authored
Instead of hardwiring GSL's #define or enum values, define them in init/libgsl-unix.lisp and run CFFI-grovel 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 'integrate-method 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 non-unix OSes.
-
- 06 May, 2009 1 commit
-
-
Liam Healy authored
Methods for symmetric-rank-2-update 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:foreign-funcall, 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 #'conjugate-rank-1-update 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 matrix-product functions now work on complex arrays using FSBV, but there are no tests yet. New tests vector-set-all and matrix-set-all replace set-all 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, solve-quadratic-complex, solve-cubic-complex generate complex scalars in the argument returned by reference.
-
- 27 Apr, 2009 1 commit
-
-
Liam Healy authored
Variables called using with-foreign-objects 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 #'permute-inverse now include all arguments, including marrays and pointers to C arrays. Formerely, there were separate functions #'permute-vector and #'permute-vector-inverse. 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 #'matrix-product-dimensions reported by Norman Werner that prevented taking the product of non-square matrices, and added a test to check for the multiplication for all four element types supported. This revealed a problem in non-native marray initialization (found in CCL) which has been fixed by marking foreign-arrays :cl-invalid when neither :initial-contents nor :initial-element 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 in-place) 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 body-expand that will now apply the cl-convert-form conversion to returned variables that are part of a multiple value list for :return.
-
- 23 Feb, 2009 1 commit
-
-
Liam Healy authored
LU-solve and LU-decomposition now have optional arguments. For LU-solve, the choice of whether to solve in-place 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 cl-invalid) and (setf c-invalid) when x is nil, these two functions have been defined for class T to do nothing but return the value. Also, copy-c-to-cl and copy-cl-to-c 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 matrix-product-triangular. In both SBCL and CCL, the answer comes out reversed. When multiplied by matrix-product, it is correct.
-
- 18 Feb, 2009 1 commit
-
-
Liam Healy authored
Added +halton+, +reverse-halton+ to random/quasi.lisp. Added #'multi-linear-residuals in solve-minimize-fit/linear-least-squares.lisp. Changed +sobol+, +niederreiter2+ from *..* apparently overlooked before. #'cholesky-solve now written so that if x-spec = 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 expand-defmfun-generic to remove &aux args from the defgeneric arglist. solve-minimize-fit/linear-least-squares.lisp Specify the weight as an optional argument, unifying the weighted and unweighted functions: linear-fit, multiplier-fit, linear-mfit, linear-mfit-svd. This necessitated a change in the order of the arguments. Changed call in basis-splines.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 in-place) now combined into a single generic function with an optional argument #'cholesky-solve. 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 #'exponential-integral-En for nth-order exponential integral. - Also rewrote #'callback-set-slots and #'body-expand 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 numerical-differentiation, numerical-integeration, and monte-carlo. Converted some return array arguments in BLAS to optional arguments. Define a condition 'obsolete-gsl-version to use in #'complete-definition. Try to incorporate cygwin into init.lisp; needs testing by a cygwin user.
-