linear_pdhg.py 文件源码

python
阅读 51 收藏 0 点赞 0 评论 0

项目:HSISeg 作者: HSISeg 项目源码 文件源码
def projsplx_multi(Y):
    n, m = Y.shape
    if n==1:
        X = projsplx(Y)
    else:
        Y1 = -np.sort(-Y,axis=1)
        tmpsum = np.zeros(n)
        tmax = np.zeros(n)
        bget = np.zeros(n, dtype=bool)
        for ii in xrange(0,m-1):
            active = (bget==False)
            tmpsum[active] = tmpsum[active] + Y1[active][:,ii]
            tmax[active] = (tmpsum[active] - 1)/(ii+1)
            deactivate = (tmax>=Y1[:,ii+1]) & active
            bget[deactivate] = True
        active = (bget==False)
        tmax[active] = (tmpsum[active] + Y1[active][:,m-1] - 1)/m
        X = (Y.transpose() - tmax).transpose()
        X[X<0.0] = 0.0
    return X
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号