anchor.diff:              
                   mean,cov
               | None ->
  +                let k = k  + Expr.diagMat sigmaNs
                   let kInv        = Expr.invert k
                   let kStar      = covMat x xStar
                   let mean = meanXStar + kStar.T .* kInv .* (y - meanX)
  
positive.code:             let newTauSite = (Expr.loop loopSpec chTauSite [tauSite;vSite;sigma;mu]).[nIters - 1,*]
              let newVSite = (Expr.loop loopSpec chVSite [tauSite;vSite;sigma;mu]).[nIters - 1,*] |> Expr.checkFinite "muSUpd" 
              newTauSite,newVSite
          let tauSite,vSite = optimize 20 (sigma,mu, tauSite,vSite)
          let covSite = (1.0f/tauSite)
          let muSite = (Expr.diagMat covSite) .* vSite
          covSite, muSite
  
negative.code:                 let kJoint1,kJoint2 = Expr.concat 0 [kFf;kFf'],Expr.concat 0 [kF'f;kF'f']
                  let kJoint = Expr.concat 1 [kJoint1;kJoint2]
                  let muJoint = Expr.concat 0 [y;muSite]
                  let sigmaNMat = Expr.diagMat sigmaNs
                  let zeroMatFf' = Expr.zerosLike kFf'
                  let zeroMatF'f = Expr.zerosLike kF'f
                  let sigmaJ1,sigmaJ2=Expr.concat 0 [sigmaNMat;zeroMatFf'],Expr.concat 0 [zeroMatF'f.T;(Expr.diagMat covSite)]
                  let sigmaJoint =  Expr.concat 1 [sigmaJ1;sigmaJ2] 
                  let kInv = Expr.invert (kJoint + sigmaJoint)
                  let kStar = covMat xJoint xStar
  