code: function() {
  
      var matrix = (this.attr('transform') || '')
        // split transformations
        .split(/\)\s*/).slice(0,-1).map(function(str){
          // generate key => value pairs
          var kv = str.trim().split('(')
          return [kv[0], kv[1].split(SVG.regex.matrixElements).map(function(str){ return parseFloat(str) })]
        })
        // calculate every transformation into one matrix
        .reduce(function(matrix, transform){
  
          if(transform[0] == 'matrix') return matrix.multiply(arrayToMatrix(transform[1]))
          return matrix[transform[0]].apply(matrix, transform[1])
  
        }, new SVG.Matrix())
  
      return matrix
    }
docs: merge the whole transformation chain into one matrix and returns it