<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def multivariate_neg_logposterior(self,beta):
 """ Returns negative log posterior, for a model with a covariance matrix Parameters beta : np.array Contains untransformed starting values for latent_variables Returns Negative log posterior """


        post = self.neg_loglik(beta)
        for k in range(0,self.z_no):
            if self.latent_variables.z_list[k].prior.covariance_prior is True:
                post += -self.latent_variables.z_list[k].prior.logpdf(self.custom_covariance(beta))
                break
            else:
                post += -self.latent_variables.z_list[k].prior.logpdf(beta[k])
        return post