This repository contains an updated version of the Weyl computer algebra substrate from Cornell University. It is ASDF loadable, and uses Closer-MOP. It currently is known to work with SBCL, CCL, ECL, LispWorks (and probably many others).
Common Lisp
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
classes
numbers
polynomials
reference
test
vector-spaces
README.org
algebraic-extension.lisp
avl.lisp
differential-domains.lisp
direct-sums.lisp
domain-support.lisp
fourier.lisp
funct-spaces.lisp
functions.lisp
general.lisp
lisp-numbers.lisp
lisp-support.lisp
maintenance.lisp
matrix.lisp
mesh.lisp
morphisms.lisp
multipole.lisp
new-domains.lisp
new-topology.lisp
packages.lisp
quotient-fields.lisp
rational-functions.lisp
sets.lisp
taylor.lisp
topology.lisp
tpower.lisp
walk.lisp
weyl.asd

README.org

Weyl Computer Algebra Substrate

This repository contains an updated version of the Weyl computer algebra substrate from Cornell University. It is ASDF loadable, and uses Closer-MOP. It currently is known to work with SBCL, CCL, ECL, LispWorks (and probably many others).

The original sources were extracted from the SimLab release 1-0.

Weyl is an extensible algebraic manipulation substrate that has been designed to represent all types of algebraic objects. It deals not only with the basic symbolic objects like polynomials, algebraic functions and differential forms, but can also deal with higher level objects like groups, rings, ideals and vector spaces. Furthermore, to encourage the use of symbolic techniques within other applications, Weyl is implemented as an extension of Common Lisp using the Common Lisp Object Standard so that all of Common Lisp’s facilities and development tools can be used in concert with Weyl’s symbolic tools.

Installation

> git clone git@github.com:matlisp/weyl.git #or, git@github.com:OdonataResearchLLC/weyl.git
> ln -s $PWD/matlisp <quicklisp-directory>/local-projects

Fire up your lisp implementation and load as usual with quicklisp:

CL-USER> (ql:quickload :weyl)
CL-USER> (in-package :weyl)
WEYL>

Documentation and Examples

The PDF form of a comprehensive manual is available in file

weyl/reference/Weyl Manual.pdf

This manual gives many examples of the use of Weyl and the meshing code.

Tasks

Please perform pull requests on the devel branch.

Scheduled

  • (0.2.0) Write unit tests based on the examples in the manual.

Unscheduled

  • Implement custom conditions.
  • Better separate the definitions in WEYL from WEYLI. It would be nice to have a WEYL-KERNEL, WEYL, and a WEYL-USER package.

The WEYL-KERNEL package would form the core routines for WEYL and WEYL-USER. The WEYL package would be used by other packages. The WEYL-USER package would be for interactive use. This approach would hopefully negate the necessity for `use-weyl-package`.

Copyright / Acknowledgements / Disclaimer

All code is copyrighted Cornell University, 1995.

Code has been developed by Paul Chew, Paul Jackson, Shekar Muddana, Rick Palmer, Todd Wilson and Richard Zippel in the Simlab group at Cornell University.

This work was supported in part by the Advanced Research Projects Agency of the Department of Defense under ONR Contract N00014–92–J–1989, by ONR Contract N00014–92–J–1839, and in part by the U.S. Army Research Office through the Mathematical Science Institute of Cornell University.

This material is NOT Public Domain, but permission to copy this software, to redistribute it, and to use it for any purpose is granted, subject to the following restrictions and understandings.

  1. Any copy made of this software must include this copyright notice in full.
  2. Users of this software agree to make their best efforts (a) to return to the Cornell Modeling and Simulation Project any improvements or extensions that they make, so that these may be included in future releases; and (b) to inform Cornell of noteworthy uses of this software.
  3. All redistributions of this software must include the sources, machine readable documentation and any other machine readable material provided as part of this distribution by Cornell in full.
  4. All materials developed as a consequence of the use of this software shall duly acknowledge such use, in accordance with the usual standards of acknowledging credit in academic research.
  5. Cornell University has made no warrantee or representation that the operation of this software will be error-free, and Cornell University is under no obligation to provide any services, by way of maintenance, update, or otherwise.
  6. In conjunction with products arising from the use of this material, there shall be no use of the name of Cornell University nor of any adaptation thereof in any advertising, promotional, or sales literature without prior written consent from Cornell in each case.