A Gibbs sampler for updating the multiplicative effect matrices U and V
in the symmetric case. In this case U%*%t(V) is symmetric, so
this is parameterized as V=U%*%L where L is the
diagonal matrix of eigenvalues of U%*%t(V).
Examples
U0<-matrix(rnorm(30,2),30,2) ; V0<-U0%*%diag(c(3,-2))
E<- U0%*%t(V0) + matrix(rnorm(30^2),30,30)
rUV_sym_fc
#> function (E, U, V, s2 = 1, shrink = TRUE)
#> {
#> n <- nrow(U)
#> uLoopIDs <- as.integer(rep(sample(1:n), 4) - 1)
#> rUV_sym_fc_cpp(E, U, V, s2, shrink, uLoopIDs)
#> }
#> <bytecode: 0x56486e561de8>
#> <environment: namespace:lame>