numlinalg/RLinearAlgebra.jl

Leverage Score Sampling

Opened this issue · 0 comments

Write a function that computes a probability distribution over the rows or columns of a matrix, $A$:

  1. Computes an orthogonal matrix $Q$ for the range of $A$ by performing qr
  2. Computes the norm of each row of $Q$
  3. Returns vector of each (row norm)/ $d$, note $d = $ sum of row norms
  4. If a distribution over the columns is desired it should be computed using the transpose of $A$
    See Page 2 for a description in the row case
  • Add a folder in linear_samplers called induced_distributions
  • Add file in linear_samplers/induced_distributions to that folder that Implements function that takes in a matrix, $A$, as input and a boolean indicating if a row or column distribution should be used. Should return a Weights data structure
  • add include statement for file with method in linear_samplers.jl
  • Export function in RLinearAlgebra.jl
  • Add tests for the function
  • Add docstring reference to the created function under the section Matrix Induced Probability Distributions in docs/src/api/linear_samplers.md