# TODO: Add comment
# 
# Author: E.Korsching  2024
###############################################################################



vec2mat.no.diag <- function(x){
	# fold suitable vector to matrix in upper triangle
	# vector structure: no diag included, start with longest row from left
	# see example
	xlen <- length(x)
	e <- 1
	k <- 1
	while(e){
		xlen <- xlen-k
		if(xlen==0){ e <- 0 }else if(xlen<0){ stop("check vector, check objective") }
		k <- k+1
	}
	cat("\n",k)
	mat <- matrix(0,k,k)
	l <- 1
	for(i in 1:(k-1)){
		for(j in (i+1):k){
			mat[i,j] <- x[l]
			l <- l+1
		}
	}
	return(mat)
}



# vec2mat.no.diag(c(1,2,3,4,5,6,7,8,9,10))




