Det {lazy.symbolic} | R Documentation |
Determinant of a Symbolic Matrix by Sweeping
Det(A, loc = 1:nrow(A), log = 0, simplify = 0, debug = 0)
A |
A square matrix |
loc |
vector of pivot locations |
log |
= 1 to calculate log determinant |
simplify |
= 0 not to use Simplify nor remove_paren |
debug |
= 1 to print details |
Definition of Sweep Operator
C <- matSweep( A, p ) means:
c[i,j] <- c[i,j] - c[i,p]*c[p,j]/c[p,p]
c[p,] <- c[p,]/c[p,p]
c[,p] <- - c[,p]/c[p,p]
# Inversion of A.
matSweep( A, 1:ncol(A) ) == solve(A)
This is equivalent to Inv(A).
The determinant of A is given as the product of all the pivots, c[p,p],
when inverting A using sweep operator.
The determinant of A
# determinant of 2 x 2 A A <- demomat(2,2,root="a") Det(A) Det(A,log=1) # n x n ( slow !) set.seed(1701) n=3 B <- demomat(n,n,root="b") dd <- Det(B) Bn <- matrix(runif(n*n),n) Print(Eval(dd,B=Bn),det(Bn)) # Fully Symbolic Partitioned Matrix: No SMdim attribute but # fullsymb attribute Ap=demomat(2,2,root="A", fullsymb=1) Print(Ap) Det(Ap) Det(Ap, 2:1)