code: def test_rank_error(self):
      # An error should be raised when `kernel` is "thin_plate_spline" and
      # observations are 2-D and collinear.
      y = np.array([[2.0, 0.0], [1.0, 0.0], [0.0, 0.0]])
      d = np.array([0.0, 0.0, 0.0])
      match = "does not have full column rank"
      with pytest.raises(LinAlgError, match=match):
          self.build(y, d, kernel="thin_plate_spline")(y)
  
imports: import pickle
  import pytest
  import numpy
  from numpy.linalg import LinAlgError
  from numpy.testing import assert_allclose, assert_array_equal
  from scipy.stats.qmc import Halton
  from scipy.spatial import cKDTree
  from scipy.interpolate._rbfinterp import _AVAILABLE, _SCALE_INVARIANT, _NAME_TO_MIN_DEGREE, _monomial_powers, RBFInterpolator
  from scipy.interpolate import _rbfinterp_pythran
label_desc: Use image node_id 20 for calling the _TestRBFInterpolator obj's underlying member method code with example usage: obj.test_rank_error() without return types