# Solve a matrix equation using the generalized Cholesky decompostion

### Description

This function solves the equation Ax=b for x, when
A is a block diagonal sparse matrix
(an object of class `bdsmatrix`

).

### Usage

1 2 |

### Arguments

`a` |
a block diagonal sparse matrix object |

`b` |
a numeric vector or matrix, that forms the right-hand side of the equation. |

`full` |
if true, return the full inverse matrix; if false return only
that portion corresponding to the blocks.
This argument is ignored if |

`tolerance` |
the tolerance for detecting singularity in the a matrix |

`...` |
other arguments are ignored |

### Details

The matrix `a`

consists of a block diagonal
sparse portion with an optional dense border.
The inverse of `a`

, which is to be computed if
`y`

is not provided, will have the same
block diagonal structure as `a`

only if there
is no dense border, otherwise the resulting matrix will not be sparse.

However, these matrices may often be very large, and a non sparse
version of one of them will require gigabytes of even terabytes of
space. For one of the
common computations (degrees of freedom in a penalized model) only those
elements of the inverse that correspond to the non-zero part of
`a`

are required;
the `full=F`

option returns only that portion
of the (block diagonal portion of) the inverse matrix.

### Value

if argument `b`

is not present, the inverse of
`a`

is returned, otherwise the solution to
matrix equation.
The equation is solved using a generalized Cholesky decomposition.

### See Also

bdsmatrix, gchol

### Examples

1 2 3 4 5 6 |