<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def eye(N, M=0, k=0, dtype=None, **kwargs):
 """Returns a new symbol of 2-D shpae, filled with ones on the diagonal and zeros elsewhere. Parameters N: int Number of rows in the output. M: int, optional Number of columns in the output. If 0, defaults to N. k: int, optional Index of the diagonal: 0 (the default) refers to the main diagonal, a positive value refers to an upper diagonal, and a negative value to a lower diagonal. dtype : str or numpy.dtype, optional The value type of the inner value, default to ``np.float32``. Returns ------- out : Symbol The created Symbol. """

    if dtype is None:
        dtype = _numpy.float32
    return _internal._eye(N, M, k, dtype=dtype, **kwargs)