Method: Numo::NArray.eye

Defined in:
ext/numo/narray/narray.c

.eye(n) ⇒ Numo::NArray

Returns a NArray with shape=(n,n) whose diagonal elements are 1, otherwise 0.

Examples:

a = Numo::DFloat.eye(3)
# => Numo::DFloat#shape=[3,3]
# [[1, 0, 0],
#  [0, 1, 0],
#  [0, 0, 1]]

Parameters:

  • n (Integer)

    Size of NArray. Creates 2-D NArray with shape=(n,n)

Returns:



586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
# File 'ext/numo/narray/narray.c', line 586

static VALUE
na_s_eye(int argc, VALUE *argv, VALUE klass)
{
    VALUE obj;
    VALUE tmp[2];

    if (argc==0) {
        rb_raise(rb_eArgError,"No argument");
    }
    else if (argc==1) {
        tmp[0] = tmp[1] = argv[0];
        argv = tmp;
        argc = 2;
    }
    obj = rb_class_new_instance(argc, argv, klass);
    return rb_funcall(obj, id_eye, 0);
}