def make_interp_full_matr(x, y, t, k):
 assert (x.size == y.size)
 assert (t.size == ((x.size + k) + 1))
 n = x.size
 A = np.zeros((n, n), dtype=np.float_)
 for j in range(n):
  xval = x[j]
  if (xval == t[k]):
   left = k
  else:
   left = (np.searchsorted(t, xval) - 1)
  bb = _bspl.evaluate_all_bspl(t, k, xval, left)
  A[j, (left - k):(left + 1)] = bb
 c = sl.solve(A, y)
 return c

def make_interp_full_matr ( x , y , t , k ) : assert ( x . size == y . size ) assert ( t . size == ( ( x . size + k ) + 1 ) ) n = x . size A = np . zeros ( ( n , n ) , dtype = np . float_ ) for j in range ( n ) : xval = x [ j ] if ( xval == t [ k ] ) : left = k else : left = ( np . searchsorted ( t , xval ) - 1 ) bb = _bspl . evaluate_all_bspl ( t , k , xval , left ) A [ j , ( left - k ) : ( left + 1 ) ] = bb c = sl . solve ( A , y ) return c
assemble an spline order k with knots t to interpolate y(x) using full matrices .