Shaoqiong Zhao wrote: > > I have two matrix s1 and s2, each of them is 1000*1. > and I have two equations: > digamma(p)-digamma(p+q)=s1, > digamma(q)-digamma(p+q)=s2, > and I want to sovle these two equations to get the value of x and y, which > are also two 1000*1 matrices. >
Besides BB there is another package for solving systems of equations: nleqslv. Use Ravi's definition of your function. fn <- function(x, s){ f <- rep(NA, length(x)) f[1] <- digamma(x[1]) - digamma(x[1]+x[2]) - s[1] f[2] <- digamma(x[2]) - digamma(x[1]+x[2]) - s[2] f } s <- c(-2,-4) xstart <- c(1,1) library(nleqslv) z1 <- nleqslv(xstart,fn,s=s) z1 or for more detail z2 <- nleqslv(xstart,fn,s=s, control=list(trace=1)) z2 Berend -- View this message in context: http://n4.nabble.com/help-about-solving-two-equations-tp1588313p1588503.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.