Uploaded image for project: 'SystemDS'
  1. SystemDS
  2. SYSTEMDS-1248

Update-in-place rewrites creates false positives

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • SystemML 0.13
    • None
    • None

    Description

      For below example script, our update-in-place rewrite mistakenly marked v for update in place. This can be fixed by simply excluding variables that are not in liveout of a statement block, which excludes local variables.

      QfromH = function(Matrix[double] H)
        return(Matrix[double] Q) {
          m = nrow(H);
          n = ncol(H);
          ones = matrix(1, m, 1);
          eye = diag(ones);
          Q = eye[,1:n];
      
          for (j in n:1) {
            v = H[j:m,j]
            b = as.scalar(2/(t(v) %*% v))
            Q[j:m, j:n] = Q[j:m, j:n] - (b * v) %*% (t(v) %*% Q[j:m, j:n])
          }
      }
      

      Attachments

        Activity

          There are no comments yet on this issue.

          People

            mboehm7 Matthias Boehm
            mboehm7 Matthias Boehm
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: