function y = prop_sigma(sigma, Y, pars, prior, mats, dt, rlb, nobs)
% f(y_t|Z_t,thetaQ, Omega, sigma2_e) is affected by Sigma
% f(Z_t|Z_t-1,X_bar,gamma,Phi,Omega,sigma2_eta) is affected by Sigma
% both Q and P-process are affected by Sigma

Sigmachol = zeros(3) ;
ltri = tril(ones(3)) ;
Sigmachol(ltri==1) = sigma;
prop.omega = Sigmachol * Sigmachol' ;
if invalidCovMat(prop.omega) 
    y = NaN ;
    return
else
    prop.Sigma_tilde = prop.omega - (pars.gamma*pars.gamma')*pars.sigtau2 ;
end
if invalidCovMat(prop.Sigma_tilde)
    y = NaN ;
    return
else
    loads = SRTSM_loadings(pars.kinfQ, diag(pars.lamQ), prop.omega, mats, dt) ;
    prop.an = loads.an ;
    prop.SigmaQ = loads.SigmaQ ;
    prop.llkQ = llk_Q(Y, pars.X, prop.an, pars.bJ, prop.SigmaQ, pars.sige2, rlb) ;
    prop.llkP = llk_P(pars.tau, pars.X, pars.Xbar, pars.Phi, pars.gamma, prop.omega, pars.sigtau2, nobs) ;
    prop.lprior = log(diwish(prop.Sigma_tilde, prior.kappa, prior.Psi)) ;
%     prop.lprior = log(diwish(prop.omega, prior.kappa, prior.Psi)) ;
end
if ~isfinite(prop.lprior)
    y = NaN ;
    return
else
    y = prop ;
end
  

end