code: def initSeasonFactors(self, timeSeries):
          
  
          seasonLength = self.get_parameter("seasonLength")
          try:
              seasonValues = self.get_parameter("seasonValues")
              assert seasonLength == len(seasonValues), "Preset Season Values have to have to be of season's length"
              return seasonValues
          except KeyError:
              pass
  
          seasonValues = []
          completeCycles = len(timeSeries) / seasonLength
          A = {} #cache values for A_j
  
          for i in xrange(seasonLength):
              c_i = 0
              for j in xrange(completeCycles):
                  if j not in A:
                      A[j] = self.computeA(j, timeSeries)
                  c_i += timeSeries[(seasonLength * j) + i][1] / A[j] #wikipedia suggests j-1, but we worked with indices in the first place
              c_i /= completeCycles
              seasonValues.append(c_i)
          return seasonValues
docs: Computes the initial season smoothing factors.
  
          :return:    Returns a list of season vectors of length "seasonLength".
          :rtype: list