/
Taucs

This is the documentation for Enlighten.

Taucs

Taucs 2.2+, svn revision 3


Sivan Toledoと Doron Chen、Vladimir Rotkin による、スパース線形代数からのソルバーの C ライブラリです。

http://www.tau.ac.il/~stoledo/taucs/ (メイン ホーム ページ) と http://code.google.com/p/taucs (コード リポジトリ) から入手可能です。

Enlighten プリコンピュートは、google コード リポジトリにある Taucs のソース管理リビジョン 3 の変更バージョンを使用します。このソース管理リビジョンは、最終の正式バージョン 2.2 と比較して大幅に向上しています。http://code.google.com/p/taucs/updates/list

ソース管理バージョンから、主に「pfunc.h」とその他の外部ライブラリへの (2.2 以降の新しい) 依存関係を削除し、コードを当社のビルド システムでビルドできるようにするためのいくつかの軽微なコンパイル問題を修正するように変更されています。

Taucs は、LGPL または以下のライセンスに基づいてライセンス取得できます。当社は以下のライセンスを使用します。

Taucs Version 2.0, November 29, 2001. Copyright (c) 2001 by Sivan Toledo, 
Tel-Aviv Univesity, stoledo@tau.ac.il. All Rights Reserved. 

TAUCS License 
Your use or distribution of TAUCS or any derivative code implies that you agree to 
this License OR to the GNU LGPL. 

THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY 
EXPRESSED OR IMPLIED. ANY USE IS AT YOUR OWN RISK. 

Permission is hereby granted to use or copy this program, provided that the Copyright, 
this License, and the Availability of the original version is retained on all copies. 
User documentation of any code that uses this code or any derivative code must cite 
the Copyright, this License, the Availability note, and "Used by permission." If this 
code or any derivative code is accessible from within MATLBA, then typing "help taucs" 
must cite the Copyright, and "type taucs" must also cite this License and the 
Availability note. Permission to modify the code and to distribute modified code is 
granted, provided the Copyright, this License, and the Availability note are retained, 
and a notice that the code was modified is included. This software is provided to you 
free of charge. 

Availability 
As of version 2.1, we distribute the code in 4 formats: zip and tarred-gzipped (tgz), 
with or without binaries for external libraries. The bundled external libraries should 
allow you to build the test programs on Linux, Windows, and MacOS X without installing 
additional software. We recommend that you download the full distributions, and then 
perhaps replace the bundled libraries by higher performance ones (e.g., with a BLAS 
library that is specifically optimized for your machine). If you want to conserve 
bandwidth and you want to install the required libraries yourself, download the lean 
distributions. The zip and tgz files are identical, except that on Linux, Unix, and 
MacOS, unpacking the tgz file ensures that the configure script is marked as executable 
(unpack with tar zxvpf), otherwise you will have to change its permissions manually. 

COLAMD

Taucs に付属している外部ライブラリには、別のライセンスが適用されます。

   COLAMD:  An approximate minimum degree column ordering algorithm.

    Purpose:

                Colamd computes a permutation Q such that the Cholesky factorization of
                (AQ)'(AQ) has less fill-in and requires fewer floating point operations
                than A'A.  This also provides a good ordering for sparse partial
                pivoting methods, P(AQ) = LU, where Q is computed prior to numerical
                factorization, and P is computed during numerical factorization via
                conventional partial pivoting with row interchanges.  Colamd is the
                column ordering method used in SuperLU, part of the ScaLAPACK library.
                It is also available as user-contributed software for Matlab 5.2,
                available from MathWorks, Inc. (http://www.mathworks.com).  This
                routine can be used in place of COLMMD in Matlab.  By default, the \
                and / operators in Matlab perform a column ordering (using COLMMD)
                prior to LU factorization using sparse partial pivoting, in the
                built-in Matlab LU(A) routine.

    Authors:

                The authors of the code itself are Stefan I. Larimore and Timothy A.
                Davis (davis@cise.ufl.edu), University of Florida.  The algorithm was
                developed in collaboration with John Gilbert, Xerox PARC, and Esmond
                Ng, Oak Ridge National Laboratory.

    Date:

                August 3, 1998.  Version 1.0.

    Acknowledgements:

                This work was supported by the National Science Foundation, under
                grants DMS-9504974 and DMS-9803599.

    Notice:

                Copyright (c) 1998 by the University of Florida.  All Rights Reserved.

                THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
                EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.

                Permission is hereby granted to use or copy this program for any
                purpose, provided the above notices are retained on all copies.
                User documentation of any code that uses this code must cite the
                Authors, the Copyright, and "Used by permission."  If this code is
                accessible from within Matlab, then typing "help colamd" or "colamd"
                (with no arguments) must cite the Authors.  Permission to modify the
                code and to distribute modified code is granted, provided the above
                notices are retained, and a notice that the code was modified is
                included with the above copyright notice.  You must also retain the
                Availability information below, of the original version.

                This software is provided free of charge.

    Availability:

                This file is located at

                                http://www.cise.ufl.edu/~davis/colamd/colamd.c

                The colamd.h file is required, located in the same directory.
                The colamdmex.c file provides a Matlab interface for colamd.
                The symamdmex.c file provides a Matlab interface for symamd, which is
                a symmetric ordering based on this code, colamd.c.  All codes are
                purely ANSI C compliant (they use no Unix-specific routines, include
                files, etc.).