code: def test_remote_array_methods(ray_start_2_cpus, reload_modules):
      # test eye
      object_ref = ra.eye.remote(3)
      val = ray.get(object_ref)
      assert_almost_equal(val, np.eye(3))
  
      # test zeros
      object_ref = ra.zeros.remote([3, 4, 5])
      val = ray.get(object_ref)
      assert_equal(val, np.zeros([3, 4, 5]))
  
      # test qr - pass by value
      a_val = np.random.normal(size=[10, 11])
      q_id, r_id = ra.linalg.qr.remote(a_val)
      q_val = ray.get(q_id)
      r_val = ray.get(r_id)
      assert_almost_equal(np.dot(q_val, r_val), a_val)
  
      # test qr - pass by object_ref
      a = ra.random.normal.remote([10, 13])
      q_id, r_id = ra.linalg.qr.remote(a)
      a_val = ray.get(a)
      q_val = ray.get(q_id)
      r_val = ray.get(r_id)
      assert_almost_equal(np.dot(q_val, r_val), a_val)
  
file_path: ray/python/ray/tests/test_array.py
imports: from importlib import reload
  import numpy
  from numpy.testing import assert_equal, assert_almost_equal
  import pytest
  import sys
  import ray
  import ray.experimental.array.remote
  import ray.experimental.array.distributed
  import ray.cluster_utils
label_desc: Use image node_id 2 for calling a global function with example usage: test_remote_array_methods(ray_start_2_cpus, reload_modules) without return types