code: def makeTBATSWMatrix(phi, k_vector, ar_coeffs, ma_coeffs, tau):
      # w_transpose = (1, phi, a, varphi, theta)
      p, q = findPQ(ar_coeffs, ma_coeffs)
      adj_phi = 0
      numCols = 1
  
      if phi is not None:
          adj_phi += 1
          numCols += 1
  
      numCols += tau + p + q
  
      w_transpose = np.zeros((1, numCols))
  
      position = adj_phi
      for k in k_vector:
          w_transpose[0, position + 1 : position + 1 + k] = 1
          position += 2 * k
  
      w_transpose[0, 0] = 1
  
      if phi is not None:
          w_transpose[0, 1] = phi
  
      if ar_coeffs is not None:
          w_transpose[
              0, adj_phi + tau + 1 : adj_phi + tau + p + 1
          ] = ar_coeffs
  
      if ma_coeffs is not None:
          w_transpose[
              0, adj_phi + tau + p + 1 : adj_phi + tau + p + q + 1
          ] = ma_coeffs
  
      return w_transpose
  
imports: import warnings
  from functools import partial
  import numpy
  import pandas
  import scipy.linalg
  import statsmodels.api
  from numba import njit
  from numpy.polynomial.polynomial import Polynomial
  from scipy.special import inv_boxcox
  from scipy.stats import boxcox
  from scipy.optimize import minimize
  from statsmodels.tsa.stattools import adfuller
  from .arima import auto_arima_f
  from .utils import NOGIL, CACHE
label_desc: Use image node_id 5 for calling a global function with example usage: makeTBATSWMatrix(phi, k_vector, ar_coeffs, ma_coeffs, tau) and returns: w_transpose