Fit the covariate-augmented overdispersed Poisson factor model

```
RR_COAP(
X_count,
multiFac = rep(1, nrow(X_count)),
Z = matrix(1, nrow(X_count), 1),
rank_use = 5,
q = 15,
epsELBO = 1e-05,
maxIter = 30,
verbose = TRUE,
fast_version = c("Laplace_Taylor", "Rough_Approx"),
joint_opt_beta = FALSE,
fast_svd = TRUE
)
```

## Arguments

- X_count
a count matrix, the observed count matrix.

- multiFac
an optional vector, the normalization factor for each unit; default as full-one vector.

- Z
an optional matrix, the covariate matrix; default as a full-one column vector if there is no additional covariates.

- rank_use
an optional integer, specify the rank of the regression coefficient matrix; default as 5.

- q
an optional string, specify the number of factors; default as 15.

- epsELBO
an optional positive vlaue, tolerance of relative variation rate of the envidence lower bound value, defualt as '1e-5'.

- maxIter
the maximum iteration of the VEM algorithm. The default is 30.

- verbose
a logical value, whether output the information in iteration.

- joint_opt_beta
a logical value, whether use the joint optimization method to update bbeta. The default is `FALSE`

, which means using the separate optimization method.

- fast_svd
a logical value, whether use the fast SVD algorithm in the update of bbeta; default is `TRUE`

.

## Value

return a list including the following components: (1) H, the predicted factor matrix; (2) B, the estimated loading matrix; (3) bbeta, the estimated low-rank large coefficient matrix; (4) invLambda, the inverse of the estimated variances of error; (5) H0, the factor matrix; (6) ELBO: the ELBO value when algorithm stops; (7) ELBO_seq: the sequence of ELBO values.