code: def test_rank_error(self, xp, scp):
      # An error should be raised when `kernel` is "thin_plate_spline" and
      # observations are 2-D and collinear.
      y = xp.array([[2.0, 0.0], [1.0, 0.0], [0.0, 0.0]])
      d = xp.array([0.0, 0.0, 0.0])
      with cupyx.errstate(linalg="raise"):
          self.build(scp, y, d, kernel="thin_plate_spline")(y)
  
imports: import pickle
  import pytest
  import warnings
  import numpy
  from numpy.linalg import LinAlgError
  import cupy
  import cupyx
  from cupy import testing
  import cupyx.scipy.interpolate
  from cupyx.scipy.interpolate._rbfinterp import _AVAILABLE, _SCALE_INVARIANT, _NAME_TO_MIN_DEGREE, NAME_TO_FUNC, _monomial_powers, polynomial_matrix, kernel_matrix
label_desc: Use image node_id 20 for calling the _TestRBFInterpolator obj's underlying member method code with example usage: obj.test_rank_error(xp, scp) without return types