(X, m, d)
return B
Generate cubic B-splines using scipy basis_element method. 
    
    Knot points (`t`) are automatically determined.

    References
    ----------
    .. [1] https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.BSpline.basis_element.html
Generate cubic B-splines using scipy basis_element method. 
    
    Knot points (`t`) are automatically determined.
Generate cubic B - splines using scipy basis_element method . Knot points ( t ) are automatically determined .
def B_spline(X, m, d):
    """Generate cubic B-splines using scipy basis_element method. 
    
    Knot points (`t`) are automatically determined.

    References
    ----------
    .. [1] https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.BSpline.basis_element.html
    """
    # Initialize B matrix
    B = np.zeros((X.shape[0], m+3, d))

    # Cubic basis-spline settings
    k = np.arange(-1, m+2)

    # Compute B-Splines
    for j, i in itertools.product(range(d), range(m+3)):
        k_i = k[i]
        t = np.arange(k_i-2, k_i+3) / m
        temp = interpolate.BSpline.basis_element(t)(X[:,j]) * np.power(m,3)
        B[:, i, j] = np.where(temp < 0, 0, temp)
    
    return B
def B_spline ( X , m , d ) : # Initialize B matrix B = np . zeros ( ( X . shape [ 0 ] , m + 3 , d ) ) # Cubic basis-spline settings k = np . arange ( - 1 , m + 2 ) # Compute B-Splines for j , i in itertools . product ( range ( d ) , range ( m + 3 ) ) : k_i = k [ i ] t = np . arange ( k_i - 2 , k_i + 3 ) / m temp = interpolate . BSpline . basis_element ( t ) ( X [ : , j ] ) * np . power ( m , 3 ) B [ : , i , j ] = np . where ( temp < 0 , 0 , temp ) return B