'Gives the (sub/super)gradient of the atom w.r.t. a column argument.
Matrix expressions are vectorized, so the gradient is a matrix.
Args:
value: A numeric value for a column.
Returns:
A NumPy ndarray or None.'

def _column_grad(self, value):

    value = np.matrix(value).A.ravel(order='F')
    idx = np.argmax(value)
    D = np.zeros((value.size, 1))
    D[idx] = 1
    return D
