Go to file
2019-09-18 17:27:30 +02:00
doc Ongoing Org experiment. 2017-12-30 18:04:17 -06:00
src Remove src/kenzo.fas file from git repo 2019-09-18 17:27:30 +02:00
test File homotopy-test added 2019-06-19 12:21:46 +02:00
.gitignore more cleanup 2015-07-01 23:01:28 +01:00
.travis.yml Let's give sbcl32 another try! 2016-04-10 18:02:54 -04:00
compile.lisp disable compiler cache for cross-volume builds 2019-03-27 09:11:46 +00:00
COPYING Added license information. 2015-07-02 13:29:16 -05:00
Dockerfile Updated Dockerfile & Jupyter notebooks. 2017-10-08 20:11:31 -05:00
exports.lisp Documentation updates. 2015-08-06 07:04:43 -05:00
gcloud.yaml Added config file for Google Cloud. 2016-02-28 10:27:35 -06:00
kenzo-test.asd Added Emacs mode line and introduced consistent formatting. 2016-03-08 20:00:42 -05:00
kenzo.asd tuned kenzo.asd 2019-09-02 12:09:41 +02:00
package.lisp Start interface with sage and homotopy 2019-05-02 16:40:55 +02:00
README.md Issue #128 took care of itself w/ latest SBCL (1.4.[14,15]). 2019-01-20 12:06:40 -06:00
run-kenzo-test.lisp updated test script 2019-05-27 20:23:16 +02:00

Welcome to Kenzo

GPLv3 Logo Travis Status

According to the title of its handbook, Kenzo is a "Symbolic Software for Effective Homology Computation" and its main audience might be students and researchers in algebraic topology. Have a look at the overview to get a sense for what's there for you to discover.

It is also a remarkable piece of LISP code, albeit in need of a little touch-up. This repository contains a repackaged version of the Kenzo program by Francis Sergeraert and collaborators. The original version of the program can be found at http://www-fourier.ujf-grenoble.fr/~sergerar/Kenzo/ . This version aims to update its infrastructure by providing the following:

  1. A simple regression test suite based on FiveAM
  2. Support for the great freely available Lisp compilers out there, including CCL, [ECL] (https://common-lisp.net/project/ecl/), SBCL, etc.
  3. Installation via the Quicklisp library manager
  4. Updated documentation and examples runnable from cl-jupyter

This work is well underway, but there are several outstanding issues.

Getting up and running

There are several methods to get going:

  1. Just play with it a little! (Live)
  2. Just give me a Docker container!
  3. Local installation via Quicklisp or ASDF

Plain ASDF

To load Kenzo as provided by this repo, make sure ASDF knowns where to find the source, e.g. by creating a link to this directory at

  ~/.local/share/common-lisp/source/

Then in your Lisp (e.g., in ECL) type

(require :asdf)
(require :kenzo)

Quicklisp

Assuming you have Quicklisp, there isn't really much to say here:

* (ql:quickload :kenzo)
To load "kenzo":
  Install 1 Quicklisp release:
    kenzo
; Fetching #<URL "http://beta.quicklisp.org/archive/kenzo/2015-08-04/kenzo-20150804-git.tgz">
; 1835.57KB
==================================================
1,879,625 bytes in 1.48 seconds (1236.91KB/sec)
; Loading "kenzo"
[package cat].....................................
..................................................
..............................
(:KENZO)
*

Verify that you're good to go by loading and running the Kenzo regression test suite. For example, in an SBCL prompt you should see something like this:

* (ql:quickload :kenzo-test)
To load "kenzo-test":
  Load 1 ASDF system:
    kenzo-test
; Loading "kenzo-test"
.
(:KENZO-TEST)
* (fiveam:run! :kenzo)

Running test suite KENZO
 Running test F-CMPR ..........
 Running test L-CMPR ..........
 Running test S-CMPR .....
 ...

 Running test BINOMIAL-N-P ......
 Running test BINOMIAL-P-Q ......
 Running test <A-B< .
 Running test <A-B> .
 Running test >A-B< .
 Running test >A-B> .
 Running test V<A-B> .
 Running test SRANDOM ....................
 Running test Z-WHITEHEAD-SINTR
---done---.
 Running test Z2-WHITEHEAD-SINTR
---done---
 Did 1501 checks.
    Pass: 1501 (100%)
    Skip: 0 ( 0%)
    Fail: 0 ( 0%)

Similarly, you'd load Kenzo via (ql:quickload :kenzo).