I am writing as I am still having trouble trying to define my own covariance matrix. My code is displayed below. I am defining the covariance matrix in the form of an AR1 process so it can be easily checked if working correctly. Another question I have is if it is possible to define the matrix without giving p a specific value and leaving it in as a coefficient. For the reason that it can be estimated when model is run. I figure that is the way AR1 works in GLS. Thank you Jon Smith I would appreciate any help s I am stuck here and need to figure this out prior to continuing my research. function () { library(nlme) tim<-c(1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4) peep<-c(1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4) y<-c(11.78,9.53,11.03,9.89,10.80,8.74,10.25,10.69,5.60,7.27,6.81,4.56,7.01,5.64,6.30,8.31) #This y data was created from and AR1 model with correlation coefficient equaling 0.7. timMat<-matrix(c(tim),ncol=1,nrow=16) peepMat<-matrix(c(peep),ncol=1,nrow=16) yMat<-matrix(c(y),ncol=1,nrow=16) dataframe<-data.frame(yMat,timMat,peepMat) p=0.7 g=1 tester2<-corSymm(value = c(p^(1),p^(2),p^(3),p^(1),p^(2),p^(1)),form = ~ timMat|peepMat) tester2<-Initialize(tester2, data = dataframe) testMat2<-corMatrix(tester2) print(testMat2) # this appears to be working correctly #smanGls<-gls(yMat~timMat,data = dataframe, corr = corAR1(form = ~timMat|peepMat)) # works perfectly smanGls<-gls(yMat~timMat,data = dataframe, corr = corSymm(tester2)) arsum<-summary(smanGls) print(arsum) #this is what message I get when I try to use the covarince matrix I defined. #Error in gls(yMat ~ timMat, data = dataframe, corr = corSymm(tester2)) : # false convergence (8) }