Compute Sparse Matrix Determinant

DESCRIPTION:

Function to compute the determinant of I - sum (parameters[i]*N[i]).

USAGE:

spatial.determinant(neighbor, parameters=NULL, absThreshold=0,  
                    relThreshold=0, diagPivoting=0, shareMemory=F) 

REQUIRED ARGUMENTS:

neighbor
an object of class spatial.neighbor containing the sparse matrix representation of the spatial neighbor matrices N[i] (see function spatial.neighbor).

OPTIONAL ARGUMENTS:

parameters
a vector of scalars multiplying the neighbor matrices. If specified, the length of the vector must be at least the number of neighbor matrices defined in the neighbor object (= length(unique(neighbor$matrix)))
absThreshold
this is the pivot threshold, which should be between zero and one. If it is one then the pivoting method becomes complete pivoting, which is very slow and tends to fill up the matrix. If it is set close to zero the pivoting method becomes strict Markowitz with no threshold.
relThreshold
the absolute magnitude an element must have to be considered as a pivot candidate, except as a last resort.
diagPivoting
if TRUE, pivot selection should be confined to the diagonal if possible.
shareMemory
a logical flag indicating if the memory will be shared by other routines. If TRUE, memory is shared and it needs to be released later. One way to release the memory is call .C("destroy_sparse_matrix") after the shared memory is no long needed.

VALUE:

a list containing two named variables:
mantissa
the mantissa of the calculated determinant.
exponent
the exponent of the calculated determinant (base 10).

DETAILS:

The neighbor object is a sparse matrix representation of the neighbor matrix. Because it is sparse, the matrix determinant calculation is carried out using sparse matrix methods.

REFERENCES:

Kundert, Kenneth S. and Sangiovanni-Vincentelli, Alberto (1988). A Sparse Linear Equation Solver. Department of EE and CS, University of California, Berkeley.

SEE ALSO:

, , , .

EXAMPLES:

spatial.determinant(sids.neighbor, parameters=0.01)