Download and Installation

Get the current version of the ConicBundle package (a file named like CB_v?.?.tgz) from

After having downloaded the file, do the following:

   tar xzvf CB_v?.?.tgz
   cd ConicBundle
   more README
and follow the instructions in the README file. For the time being, you may also follow the ones given here, but the README file might be more up to date.

It is assumed that

In the same directory as the README file you will find a


In this Makefile the compilers are currently set to

CXX             =       g++
CC              =       gcc

If you want to use other compilers, you have to replace g++ and gcc by the appropriate names.

Choose one of the two compliation modes corresponding to a mode for debugging and an optimized mode without range and dimension checks.

MODE            =       DEBU
#MODE           =       OPTI
It is recommended to start with the DEBU mode first.

The Makefile is set up to allow the use of distinct compiler flags for each (operating_system.cpu.compiler)-configuration. You will find a few examples in the Makefile; we illustrate the concept for a Linux system with an "i686"-cpu and compiler g++,

#--- linux.i686.g++ settings ---------------------------------------------------
DEBU.linux.i686.g++ =   -g -DDEBUG
OPTI.linux.i686.g++ =   -DNDEBUG -pipe -O6 -fomit-frame-pointer -fschedule-insns2 -fu
nroll-loops -felide-constructors -mcpu=i686
WARN.linux.i686.g++ =   $(GCCWARN)
DEPD.linux.i686.g++ =   -MM
LINK.linux.i686.g++ =   -lm
AR.linux.i686.g++   =   ar
ARFLAGS.linux.i686.g++ =        cr
RANLIB.linux.i686.g++ = ranlib
DEBU.linux.i686.gcc =   -g -DDEBUG
OPTI.linux.i686.gcc =   -DNDEBUG -pipe -O6 -fomit-frame-pointer -fschedule-insns2 -fu
nroll-loops -mcpu=i686
WARN.linux.i686.gcc =   $(GCCWARN)
DEPD.linux.i686.gcc =   -MM
LINK.linux.i686.gcc =   -lm
These have the following purpose:

You may have to generate your own set if your configuration is not present. To find out your configuration simply plug in your compiler at CXX and run (gnu) make. Besides printing a lot of nonsense, make will create a subdirectory "<mode>.<os>.<cpu>.<CXX>". The last three terms of the subdirectory give you the names you have to use in order to add your options in the Makefile as in the example above.

After having adapted the Makefile to your needs run make by typing


After this you should find the library at

and some small example programs showing the use of the ConicBundle interfaces,
generated from the files

If you only plan to use the standard C or C++ interfaces, then all headers that you need can be found in the subdirectory include

If you plan to use the full interface with matrix classes, you will certainly need the subdirectory CBsources (with the main interface MatCBsolver.hxx) and most likely the subdirectories Matrix and Tools, as well.

The starting point for the html Manual is


Generated on Mon Nov 8 19:36:38 2010 for ConicBundle by  doxygen 1.5.6