Changeset 51268e in git


Ignore:
Timestamp:
Jul 22, 1997, 11:04:49 AM (27 years ago)
Author:
Jens Schmidt <schmidt@…>
Branches:
(u'spielwiese', '82fc009ea2b0098c1a4896c841bb70860976bdfc')
Children:
e9fb31c161edbbbc83844adb5cb5d6836b9e8c87
Parents:
ddc780ec1cc2d379ec3d88e4efbca1815a336581
Message:
	* README: doc fix


git-svn-id: file:///usr/local/Singular/svn/trunk@554 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • factory/README

    rddc780 r51268e  
    1111
    1212Overview
    13 --------
     13========
     141. What is Factory?
     152. Comments, questions, bug reports
     163. Installation
     174. Distribution
     185. Prerequisites
     196. Memory manager
     207. Stream IO
     218. Diagnostic messages
     229. GF(q) tables
     2310. A note on Singular
     2411. Configure options, dependencies
     2512. Documentation
     2613. Examples and Tests
     2714. Files in the distribution
     28
     29
     301. What is Factory?
     31===================
    1432  Factory is a C++ class library that implements a recursive representation
    15 of multivariate polynomial data.  It is being developed at the University
    16 of Kaiserslautern as an independent and self-contained part of the computer
    17 algebra system Singular (developed by G.-M. Greuel, G. Pfister and
    18 H. Schoenemann).
     33of multivariate polynomial data.  It is being developed by Ruediger Stobbe
     34and Jens Schmidt at the University of Kaiserslautern as an independent and
     35self-contained part of the computer algebra system Singular (developed by
     36G.-M. Greuel, G. Pfister and H. Schoenemann).
    1937
    2038  Factory handles sparse multivariate polynomials over different
    2139coefficient domains, such as Z, Q and GF(q), as well as algebraic
    22 extensions over Q and GF(q) in an efficient way.  The recursive
    23 representation gives a univariate view to multivariate polynomials.  This
    24 means that each polynomial is represented as a univariate polynomial in a
    25 so-called main variable with coefficients which are elements of a
    26 polynomial ring.
     40extensions over Q and GF(q) in an efficient way.  Factory includes
     41algorithms for computing univariate and multivariate gcds, resultants,
     42chinese remainders and several algorithms to factorize univariate
     43polynomials over the integers and over finite fields.  Factorization of
     44multivariate polynomials over the integers is in beta test stage.
    2745
    2846  The interface to the polynomial system of Factory is provided by a single
     
    3755arrays, polynomial maps, etc.  These make the usage more comfortable.
    3856
    39   Factory includes algorithms for computing univariate and multivariate
    40 gcds, resultants, chinese remainders and several algorithms to factorize
    41 univariate polynomials over the integers and over finite fields.
    42 Factorization of multivariate polynomials over the integers is in beta test
    43 stage.
    44 
    45 
    46 Installation
    47 ------------
     57
     582. Comments, questions, bug reports
     59====================================
     60  Factory is a project in evolution.  That means there is no guarantee that
     61Factory is bug free.  I am sure that there are bugs or at least features.
     62If you find bugs or if you find a strange behavior of the library, please
     63let me know (e-mail: Jens Schmidt <schmidt@mathematik.uni-kl.de>).
     64Comments and questions are welcome, too.
     65
     66
     673. Installation
     68===============
     69
     70NOTE: If you have received this Factory distribution together with Singular
     71you do not have to worry about compilation or installation at all.  The
     72installation procedure for Singular should do everything for you.  For more
     73information, see the section 'A note on Singular'.
     74
    4875  See the INSTALL file for instructions on how to install Factory.  The
    4976installation procedure conforms more or less to the GNU standard:
     
    5683
    5784
    58 Distribution
    59 ------------
     854. Distribution
     86===============
    6087  The newest version of Factory is always available by anonymous ftp from
    6188
     
    6996
    7097
    71 Prerequisites
    72 -------------
     985. Prerequisites
     99================
    73100  You need GNU make to build and install Factory.  Furthermore, I strongly
    74101recommend to build Factory with GNU CC (version 2.7 or newer).  To build
     
    80107
    81108Configure options:
    82 ~~~~~~~~~~~~~~~~~~
     109------------------
    83110  --with-gmp(=<gmp_inc_path>(,<gmp_lib_path>))
    84111                          specify where to find gmp library.
     
    109136
    110137
    111 Memory manager
    112 --------------
    113   You can use one of the memory managment tools provided with Factory.
     1386. Memory manager
     139=================
     140  You can use one of the memory management tools provided with Factory.
    114141There are the 'new' and the 'old' memory manager.  In fact, on some systems
    115 the 'old' memory managment seems to be faster then the new one, but so far
    116 there have not been systematic timings.
     142the 'old' memory management seems to be faster then the new one, but so far
     143there have not been systematic timings.  If you configure Factory with
     144'--with-memman=no' it will use the standard C++ operators new/delete, which
     145is not recommended.
    117146  You may trace the actions (alloc/free) of the new memory manager by
    118 enabling memory managment debugging.  This produces a *lot* of output.
    119 
    120 Configure options:
    121 ~~~~~~~~~~~~~~~~~~
    122   --with-memman(=<memman>) specify factory memory manager.
     147enabling memory management debugging.  This produces a *lot* of output.
     148
     149Configure options:
     150------------------
     151  --with-memman(=<memman>) specify Factory memory manager.
    123152                          <memman> is either 'old' (default), 'new', or 'no'.
    124   --enable-memdebug=<level> switch on memory managment debugging.  Meaningful
     153  --enable-memdebug=<level> switch on memory management debugging.  Meaningful
    125154                          with --with-memman=new only.  <level> may be either
    126155                          'no' (default), 'normal', or 'full'.
    127156
    128157
    129 Stream IO
    130 ---------
    131   For use with other systems which have there own IO routines to print
     1587. Stream IO
     159============
     160  For use with other systems which have their own IO routines to print
    132161polynomials it is possible to switch off Factory's stream IO.  In this
    133162case, you do not need to link libg++ or libiostream with Factory.
    134163
    135164Configure options:
    136 ~~~~~~~~~~~~~~~~~~
    137   --disable-streamio      build factory without streamio
    138 
    139 
    140 Diagnostic messages
    141 -------------------
     165------------------
     166  --disable-streamio      build Factory without stream IO
     167
     168
     1698. Diagnostic messages
     170======================
    142171Factory has three types of diagnostic messages:
    143172- Assertions (implemented by the ASSERT macros in assert.h) are used to
    144   ensure preconditions before running an algorithm.  A typical example is
     173  ensure preconditions before running some algorithm.  A typical example is
    145174  to test f != 0 before dividing by f.
    146 - Debugoutput (implemented by the DEBOUT macros in debug.h/debug.cc) is
     175- Debug output (implemented by the DEBOUT macros in debug.h/debug.cc) is
    147176  used to trace complex algorithms, e.g. factorization.
    148177- Timing information may be accumulated and printed using the TIMING macros
     
    156185
    157186Configure options:
    158 ~~~~~~~~~~~~~~~~~~
    159   --enable-assertions     build factory with assertions activated
    160   --enable-timing         build factory so it will print timing information
    161   --enable-debugoutput    build factory so it will print debugging information
    162 
    163 
    164 
    165 GF(q) tables
    166 ------------
     187------------------
     188  --enable-assertions     build Factory with assertions activated
     189  --enable-timing         build Factory so it will print timing information
     190  --enable-debugoutput    build Factory so it will print debugging information
     191
     192
     193
     1949. GF(q) tables
     195===============
    167196  Factory uses addition tables to calculate in GF(p^n) in an efficient way.
    168197
     
    171200
    172201There are two possibilities to get these tables:
    173 o you get them from the net (factory-gftables.tgz) where you got Factory
     202o get them from the net (factory-gftables.tgz) where you got Factory
    174203  from.  The files unpack into a directory gftables/.
    175 o you create them with gengftables which is a part of Factory.  Building
     204o create them with gengftables which is a part of Factory.  Building
    176205  the tables takes quite a while!
    177206See the INSTALL file for more information.
    178207
    179208
    180 A note on Singular
    181 ------------------
     20910. A note on Singular
     210=====================
    182211  If you have received this Factory distribution together with Singular you
    183212do not have to worry about compilation or installation at all.  The
     
    197226  The Singular GF(q) tables are the same as the Factory GF(q) tables.
    198227However, Singular uses a different naming scheme.  Therefore, a Factory
    199 configured with '--with-Singular' will not find the GF(q) tables created by
    200 gengftables.  But this is not a major drawback since Singular is
    201 distributed with ready-to-use GF(q) tables.
    202 
    203 Configure options:
    204 ~~~~~~~~~~~~~~~~~~
     228configured with '--without-Singular' will not find Singular's GF(q) tables
     229as well as a Factory configured with '--with-Singular' will not find the
     230GF(q) tables created by gengftables.  But this is not a major drawback
     231since Singular is distributed with ready-to-use GF(q) tables.
     232
     233  The newest version of Singular is always available at
     234www.mathematik.uni-kl.de:/pub/Math/Singular.
     235
     236Configure options:
     237------------------
    205238  --with-Singular         build for use with computer algebra system Singular.
    206239
     
    210243
    211244
    212 Configure options, dependencies
    213 -------------------------------
     24511. Configure options, dependencies
     246===================================
    214247- do not configure '--with-Singular --with-memman'.  In this case
    215   both Singular and the library will try to initialize memory
    216   managment.
     248  both Singular and the library will try to initialize their own memory
     249  management.
    217250
    218251- do not configure '--disable-streamio --enable-debugoutput'.  The
     
    235268
    236269
    237 Documentation
    238 -------------
     27012. Documentation
     271=================
    239272  So far there are only preliminary versions of a user/reference manual and
    240273a tutorial ('A quick start into Factory').  Please do not expect them to
     
    245278
    246279
    247 Examples and Tests
    248 ------------------
     28013. Examples and Tests
     281======================
    249282  So far neither examples nor tests, sorry.  You may have a look at
    250283gengftables.cc which is an application of the most basic Factory features.
    251284
    252285
    253 Comments, questions, bug reports
    254 --------------------------------
    255   Factory is a project in evolution.  That means there is no guarantee that
    256 Factory is bug free.  I am sure that there are bugs or at least features.
    257 If you find bugs or if you find a strange behavior of the library, please
    258 let me know (e-mail: Jens Schmidt <schmidt@mathematik.uni-kl.de>).
    259 Comments and questions are welcome, too.
    260 
    261 
    262 
    263 Files in the distribution
    264 -------------------------
     286
     28714. Files in the distribution
     288=============================
    265289ChangeLog       - history of changes
    266290INSTALL         - installation instructions
     
    302326                  the polynomial (and other) arithmetic.
    303327
    304 templates/      - factory templates
    305 ftmpl_inst.cc   - template instantiation for factory templates
     328templates/      - Factory templates
     329ftmpl_inst.cc   - template instantiation for Factory templates
    306330
    307331fac_*.cc
Note: See TracChangeset for help on using the changeset viewer.