code: def create_SummingMatrix(self):
      lNbNodes = sum(
          [
              len(self.mStructure[level])
              for level in self.mStructure.keys()
          ]
      )
      lBaseLevelCount = len(self.mStructure[0])
      lIndices = {}
      self.mSummingMatrix = np.zeros((lNbNodes, lBaseLevelCount))
      for level in sorted(self.mStructure.keys()):
          if level > 0:
              for col in sorted(self.mStructure[level].keys()):
                  i = len(lIndices)
                  lIndices[col] = i
                  for col1 in sorted(self.mStructure[level][col]):
                      ii = lIndices[col1]
                      for j in range(lBaseLevelCount):
                          self.mSummingMatrix[i][j] = (
                              self.mSummingMatrix[ii][j]
                              + self.mSummingMatrix[i][j]
                          )
          else:
              for col in sorted(self.mStructure[level].keys()):
                  lNew_index = len(lIndices)
                  lIndices[col] = lNew_index
                  self.mSummingMatrix[lNew_index][lNew_index] = 1
      # print(self.mSummingMatrix);
      self.mSummingMatrixInverse = np.linalg.pinv(self.mSummingMatrix)
  
imports: import pandas
  import numpy
  from ..None import ForecastEngine
  from .None import Options
  from .None import Perf
  from .None import Utils
  from .None import Plots
  import time
label_desc: Use image node_id 5 for calling the cSignalHierarchy obj's underlying member method code with example usage: obj.create_SummingMatrix() without return types