Skip to content

preconditioner #197

Open
Open
@behinger

Description

@behinger

I saw in simple testing a ~12% increase in performance just by scaling

function scale_ls!(A)
    s = ones(size(A, 2))
    for j = 1 : size(A, 2)
      i = A.colptr[j]
      k = A.colptr[j+1] - 1
      nj = i <= k ? norm(A.nzval[i:k]) : 0.0
      if nj > 0.0
        A.nzval[i:k] ./= nj
        s[j] = nj
      end
    end
    return s  # s contains the diagonal elements of the (right) diagonal scaling
  end

before scaling ~ 1.42s, after scaling 1.23s +0.03s scaling => 12% speedup
the scaling is fast, and can be ignored when multiple channels are fitted

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions