# Create a 3x3 matrix
A <- matrix(c(0,1,2,0.5,0.1,0,0,0.6,0.6), byrow=TRUE, ncol=3)
A
# Calculate the transfer function of A[3,2] given a range of lambda
evals<-eigen(A)$values
lmax<-which.max(Re(evals))
lambda<-Re(evals[lmax])
lambdarange <- seq(lambda-0.1, lambda+0.1, 0.01)
transfer<-tfa(A, d=c(0,0,1), e=c(0,1,0), lambdarange=lambdarange)
transfer
# Plot the transfer function (defaults to lambda~p)
plot(transfer)
# Calculate the transfer function of perturbation to A[3,2] and A[3,3]
# with perturbation to A[3,2] half that of A[3,3], given a range of
# perturbation values
p<-seq(-0.6,0.4,0.01)
transfer2<-tfa(A, d=c(0,0,1), e=c(0,0.5,1), prange=p)
transfer2
# Plot p and lambda by hand
plot(transfer$lambda~transfer$p,type="l", xlab="p",ylab=expression(lambda))
Run the code above in your browser using DataLab