2013-08-01 14:13:21 +02:00
|
|
|
.. _det_manip:
|
2013-07-17 19:24:07 +02:00
|
|
|
|
|
|
|
Manipulations of determinants
|
|
|
|
=============================
|
2013-09-08 19:20:34 +02:00
|
|
|
|
2013-09-04 17:05:33 +02:00
|
|
|
.. warning::
|
|
|
|
|
2013-09-09 15:46:58 +02:00
|
|
|
This library is stable, but documentation is currently being written
|
|
|
|
and needs a serious rereading and cleaning
|
2013-09-04 17:05:33 +02:00
|
|
|
|
2013-08-01 14:13:21 +02:00
|
|
|
The purpose of this little class is to regroup standard block manipulations on determinant, used in several algorithms.
|
2013-07-17 19:24:07 +02:00
|
|
|
|
|
|
|
Given a function :math:`F(x,y)`, and two sets of values :math:`x_i,y_i \ 0\leq i < N`,
|
2013-08-01 14:13:21 +02:00
|
|
|
we can define the :math:`N\times N` square matrix
|
2013-07-17 19:24:07 +02:00
|
|
|
|
|
|
|
.. math::
|
|
|
|
|
|
|
|
M_{i,j} = F(x_i,y_j)
|
|
|
|
|
|
|
|
When adding/removing a line and column (i.e. a value of x, y),
|
|
|
|
:math:`M^{-1}` and :math:`det M` can be fast updated using standard block matrix computations.
|
|
|
|
This class implements these general operations. It contains :
|
|
|
|
|
2013-08-01 14:13:21 +02:00
|
|
|
* Datas :
|
2013-07-17 19:24:07 +02:00
|
|
|
|
|
|
|
* :math:`M^{-1}` and :math:`det M`
|
|
|
|
* a vector containing :math:`x_i,y_i \ 0\leq i \leq N`
|
|
|
|
|
|
|
|
* Methods to quickly update :math:`M^{-1}` and :math:`\det M` when one :
|
|
|
|
|
|
|
|
* adds/removes a line and a column (i.e. adding or removing one x and one y)
|
|
|
|
* adds/removes two lines and two columns (i.e. adding or removing two x and two y)
|
|
|
|
* changes a line/colum, etc...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. toctree::
|
|
|
|
:maxdepth: 2
|
|
|
|
|
|
|
|
det_manip
|
2013-08-01 14:13:21 +02:00
|
|
|
behind
|
2013-12-18 15:50:18 +01:00
|
|
|
./../../../tutorials/c++/det_manip_tutorial
|