The ChainCon Software (Release 0.03)
ammodsim.cpp
Go to the documentation of this file.
1 /////////////////////////////////////////////////////////////////////////////
2 ///
3 /// \file
4 ///
5 /// A program for the computation of algebraic minimal models
6 /// for simplicial complexes.
7 ///
8 /////////////////////////////////////////////////////////////////////////////
9 
10 // Copyright (C) 2009-2016 by Pawel Pilarczyk.
11 //
12 // This file is part of my research software package. This is free software:
13 // you can redistribute it and/or modify it under the terms of the GNU
14 // General Public License as published by the Free Software Foundation,
15 // either version 3 of the License, or (at your option) any later version.
16 //
17 // This software is distributed in the hope that it will be useful,
18 // but WITHOUT ANY WARRANTY; without even the implied warranty of
19 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 // GNU General Public License for more details.
21 //
22 // You should have received a copy of the GNU General Public License
23 // along with this software; see the file "license.txt". If not,
24 // please, see <http://www.gnu.org/licenses/>.
25 
26 // Started on March 24, 2009. Last revision: June 10, 2015.
27 
28 
29 // include the string hashing definitions (before including "hashsets.h")
30 #include "chaincon/stringhash.h"
31 
32 // include selected header files from the CHomP library
33 #include "chomp/system/config.h"
34 #include "chomp/struct/hashsets.h"
35 
36 // include relevant local header files
37 #include "chaincon/simplex.h"
38 #include "ammodmain.h"
39 
40 
41 // --------------------------------------------------
42 // -------------------- OVERTURE --------------------
43 // --------------------------------------------------
44 
45 /// The title of the program and licensing information.
46 const char *title = "\
47 Simplicial homology computation with a chain contraction.\n\
48 Version 0.04 (Sep 24, 2015). Copyright (C) 1997-2016 by Pawel Pilarczyk.\n\
49 This is free software. No warranty. Consult 'license.txt' for details.";
50 
51 /// Brief help information on the program's usage.
52 const char *helpinfo = "\
53 This program computes simplicial homology groups and homology generators.\n\
54 The ring of coefficients is Z or Z_p (the integers modulo prime number p).\n\
55 Call with:\n\
56 filename - the name of a file that contains a list of simplices,\n\
57 Switches and additional arguments:\n\
58 filename2 - the name of an additional file for relative (co)homology;\n\
59 -pN - selection of the coefficients: p=0 for Z, p>1 for Z_p (default: 0);\n\
60 \tnote: one should use p <= 181.\n\
61 -r - compute reduced homology (with the empty set as a cell of dim -1).\n\
62 -b - don't add boundary cells (use -bx and -ba for X and A selectively),\n\
63 -dpi, -dincl, -dphi - display the computed maps: pi, incl, phi,\n\
64 -dd - display the boundary map in the minimal model (the nontrivial part),\n\
65 --verify - do additional verification of the computed maps,\n\
66 --log filename - save the output to a file (without progress indicators),\n\
67 --quiet - suppress data output to the screen (whcih can be still logged),\n\
68 --help - display this brief help information only and exit.\n\
69 For more information please consult the accompanying documentation\n\
70 or ask the program's author at http://www.PawelPilarczyk.com/.";
71 
72 
73 // --------------------------------------------------
74 // ---------------------- main ----------------------
75 // --------------------------------------------------
76 
77 /// The main procedure of the program.
78 /// Returns: 0 = Ok, -1 = Error, 1 = Help displayed, 2 = Wrong arguments.
79 int main (int argc, char *argv [])
80 {
81  return algMinModelMain<tSimplex<int_t,SettableEmptyCell> >
82  (argc, argv, title, helpinfo);
83 } /* main */
84 
const char * helpinfo
Brief help information on the program&#39;s usage.
Definition: ammodsim.cpp:52
int main(int argc, char *argv [])
The main procedure of the program.
Definition: ammodsim.cpp:79
The main function of a program for computing the minimal model of a cellular complex of a given type...
Hashing keys for std::string.
A simplex class with arbitrary vertices.
const char * title
The title of the program and licensing information.
Definition: ammodsim.cpp:46