#This function solves a linear system in order to find the minimizer of -loglikelood ##over a cone generated by a few active vertices. CalculateOptMLE <- function(valfbar,S,K,X,Vec0,Mat0){ m <- length(S) n <- length(X) nm <- Vec0[1:m] #rep(n,m) valfbar <- as.vector(valfbar) valfbar.inv <- 1/valfbar Dfbar <- diag(valfbar.inv) MatY <- EvaluateMatf(S=S,K=K,X=X,Mat0) MatV <- t(Dfbar%*%MatY)%*%(Dfbar%*%MatY) B <- 2*(t(MatY)%*%valfbar.inv)-nm #Alpha <- solve.Matrix(MatV,B,tol=rcond.V*0.1) #Alpha <- solve.Hermitian(MatV,B,tol=0) rcond.V <- rcond.svd.Matrix(svd.Matrix(MatV)) cat("rcond=", rcond.V, "\n") Alpha <- solve.svd.Matrix(svd.Matrix(MatV),B,rcond.V*0.1) Alpha }