id = c(1, 2, 3, 4, 5, 6) fid = c(NA, NA, 1, 1, 4, 5) mid = c(NA, NA, 2, NA, 3, 2) library(pedigreemm) ped = pedigree(sire = fid, dam = mid, label = id) A = getA(ped) A spokr = cbind(id, fid, mid) spokr Amatrix = matrix(0, nrow = 6, ncol = 6) Tmatrix = matrix(0, nrow = 6, ncol = 6) Dmatrix = matrix(0, nrow = 6, ncol = 1) Amatrix[1,1] = 1 Amatrix[2,2] = 1 Amatrix[2,1] = 0 Amatrix[3,3] = 1 + 0.5*0 Amatrix[3,1] = 0.5*(1+0) Amatrix[3,2] = 0.5*(0+1) Tmatrix[1,1] = 1 Tmatrix[2,2] = 1 Tmatrix[3,3] = 1 Tmatrix[4,4] = 1 Tmatrix[5,5] = 1 Tmatrix[6,6] = 1 Tmatrix[2,1] = 0 Tmatrix[3,1] = 0.5*(1+0) Tmatrix[3,2] = 0.5*(0+1) Dmatrix[1,1] = 1 Dmatrix[2,1] = 1 Dmatrix[3,1] = 0.5 - 0.25*( 0 + 0) library(pedigreemm) ped = pedigree(sire = fid, dam = mid, label = id) A = getA(ped) A library(bdsmatrix) tmp = gchol(as.matrix(A)) (T = as(as.matrix(tmp), "dtCMatrix")) (D = diag(tmp)) T = as.matrix(T) D = as.matrix(diag(D)) A = as.matrix(A) A - T%*%D%*%t(T) gA = solve(A) gA gT = solve(T) gD = solve(D) (gAnew = t(gT)%*%gD%*%gT) round(gA - gAnew, 10) faktor = chol(A) L = faktor Lt = t(faktor) Lt%*%L library(igraph) edges=data.frame(from=fid, to=mid) graph=graph_from_data_frame(edges,directed=FALSE) plot(graph)