def ystep(self):
        """This method is inserted into the inner cbpdn object,
        replacing its own ystep method, thereby providing a hook for
        applying the additional steps necessary for the AMS method.
        """

        # Extract AMS part of ystep argument so that it is not
        # affected by the main part of the ystep
        amidx = self.index_addmsk()
        Yi = self.cbpdn.AX[amidx] + self.cbpdn.U[amidx]
        # Perform main part of ystep from inner cbpdn object
        self.inner_ystep()
        # Apply mask to AMS component and insert into Y from inner
        # cbpdn object
        Yi[np.where(self.W.astype(np.bool))] = 0.0
        self.cbpdn.Y[amidx] = Yi
def ystep ( self ) : amidx = self . index_addmsk ( ) Yi = self . cbpdn . AX [ amidx ] + self . cbpdn . U [ amidx ] self . inner_ystep ( ) Yi [ np . where ( self . W . astype ( np . bool ) ) ] = 0.0 self . cbpdn . Y [ amidx ] = Yi
This method is inserted into the inner cbpdn object,
        replacing its own ystep method, thereby providing a hook for
        applying the additional steps necessary for the AMS method.