-
Notifications
You must be signed in to change notification settings - Fork 2
Version 0.2
The following lays out the development plan for version 0.2. To help manage workload we will have the following point system where any individual will not be doing any more than 4 points of work in a week. First for revisions the points are as follows:
| Point | Description |
|---|---|
| 2 | A PR whose main file more than 2 data structures |
| 1 | A PR whose main file has 2 data structures or 2nd revision of 2 point PR |
| 0.5 | A 2nd revision of a 1 point PR or 3rd revision of 2 point PR or Small abstract type PR |
| 0.25 | A 3rd Revision of a 1 point PR or 4th revision of 2 point PR |
Beyond the first increment each subsequent increment will focus on implementing all similar techniques at once to make the review process more consistent and efficient. The goal of these implementations, should result in the library approximately subsuming most of the core functionality of version 0.1 by version 0.2.2.
The first incrementation of version 0.2.1 will be made when we have built the basics of what is currently in version 0.1. Specifically, we will have built:
- Row_Projection(Kaczmarz Solver)
- Col_Projection (Coordinate Descent)
- Random RangeFinder (Randomized QR)
- Randomized SVD
- Sparse Sign
- Gaussian
- SRHT
- FJLT
- Basic Logger
- MA Logger
- LQ Solver
- QR Solver
- Week of Jan 5th:
- PRs to be reviewed (2):
- Compressors (.5)
- Approximators (.5)
- Solvers (.5)
- RLinearAlgebra (.5)
- PRs to be reviewed (2):
- Week of Jan 12th:
- PRs to be reviewed (2):
- Compressors (.25)
- Approximators (.25)
- Solvers (.25)
- RLinearAlgebra (.25)
- SparseSign (1)
- PRs to be reviewed (2):
- Week of Jan 19th:
- PRs to be reviewed (2.5):
- SparseSign (.5)
- Loggers (.5)
- SubSolvers (.5)
- BasicLogger (1)
- PRs to be reviewed (2.5):
- Week of Jan 26th:
- PRs to be reviewed (3.25):
- SparseSign (.25)
- Loggers (.25)
- SubSolvers (.25)
- BasicLogger (.5)
- LQSolver (1)
- QRSolver (1)
- PRs to be reviewed (3.25):
- Week of Feb 1st:
- PRs to be reviewed (2.25):
- BasicLogger (.25)
- LQSolver (.5)
- QRSolver (.5)
- Gaussian (1)
- PRs to be reviewed (2.25):
- Week of Feb 8th:
- PRs to be reviewed (4):
- LQSolver (.25)
- QRSolver (.25)
- Gaussian (1)
- KaczmarzSolver (2)
- PRs to be reviewed (4):
- Week of Feb 15th:
- PRs to be reviewed (3.5):
- Gaussian (.5)
- KaczmarzSolver (1)
- RandRangeFinder (2)
- PRs to be reviewed (3.5):
- Week of Feb 22nd:
- PRs to be reviewed (3.5):
- Gaussian (.25)
- KaczmarzSolver (.5)
- RandRangeFinder (1)
- CoordinateDescent (2)
- PRs to be reviewed (3.5):
- Week of March 2nd:
- PRs to be reviewed (3.75):
- KaczmarzSolver (.25)
- RandRangeFinder (.5)
- CoordinateDescent (1)
- RandSVD (1)
- PRs to be reviewed (3.75):
- Week of March 9th:
- PRs to be reviewed (1.25):
- RandRangeFinder (.25)
- CoordinateDescent (.5)
- RandSVD (.5)
- PRs to be reviewed (1.25):
- Week of March 16th:
- PRs to be reviewed (0.5):
- CoordinateDescent (.25)
- RandSVD (.25)
- PRs to be reviewed (0.5):
Version 0.2.1 Completed by March 23nd
We will be able to increment when we have finished all the compressors.
- CountSketch
- BlockFJLT
- CyclicSampling
- SamplingWithoutReplacement
- Sketch With Uniform entries
- AchlioptasSketch (Rademacher)
-
Week of March 16th:
- PRs to be reviewed (2):
- CountSketch (1)
- Achloptas Sketch (1)
- PRs to be reviewed (2):
-
Week of March 23rd:
- PRs to be reviewed (3):
- CountSketch (.5)
- Achloptas Sketch (.5)
- BlockFJLT (1)
- CyclicSampling (1)
- PRs to be reviewed (3):
-
Week of March 30th:
- PRs to be reviewed (3.5):
- CountSketch (.25)
- Achloptas Sketch (.25)
- BlockFJLT (.5)
- CyclicSampling (.5)
- Sampling With Replacement (2)
- PRs to be reviewed (3.5):
-
Week of April 6th:
- PRs to be reviewed (2.5):
- BlockFJLT (.25)
- CyclicSampling (.25)
- Sampling With Replacement (1)
- Sketch with Uniform entries (1)
- PRs to be reviewed (2.5):
-
Week of April 13th:
- PRs to be reviewed (1):
- Sampling With Replacement (.5)
- Sketch with Uniform entries (.5)
- PRs to be reviewed (1):
-
Week of April 20th:
- PRs to be reviewed (.5):
- Sampling With Replacement (.25)
- Sketch with Uniform entries (.25)
- PRs to be reviewed (.5):
Version 0.2.2 Completed by April 26th
In version 0.2.3, we will fill out the CUR techniques in the approximators. This will require that we first create a general abstract CUR type. We then will iterative and single pass implementation of these methods. The user will be able to choose a column selection, row selection, pseudo inverse, refinement technique, and error technique.
- LeverageScore
- Sketch and Pivot QR
- Sketch and Pivot LU
- Pivot LU
- Pivot QR
- Osinsky
- IterativeCUR
- Outer CUR technique
-
Week of April 13th:
- PRs to be reviewed (2):
- Outer CUR Method (2)
- PRs to be reviewed (2):
-
Week of April 20th:
- PRs to be reviewed (3):
- Outer CUR Method (1)
- Pivot QR (1)
- Pivot LU (1)
- PRs to be reviewed (3):
-
Week of April 27th:
- PRs to be reviewed (3.5):
- Outer CUR Method (.5)
- Pivot QR (.5)
- Pivot LU (.5)
- Sketch and Pivot QR (1)
- Sketch and Pivot LU (1)
- PRs to be reviewed (3.5):
-
Week of May 4th:
- PRs to be reviewed (1.75):
- Outer CUR Method (.25)
- Pivot QR (.25)
- Pivot LU (.25)
- Sketch and Pivot QR (.5)
- Sketch and Pivot LU (.5)
- PRs to be reviewed (1.75):
-
Week of May 11th:
- PRs to be reviewed (3.5):
- Sketch and Pivot QR (.25)
- Sketch and Pivot LU (.25)
- Osinsky (1)
- IterativeCUR (2)
- PRs to be reviewed (3.5):
-
Week of May 18th:
- PRs to be reviewed (1.5):
- Osinsky (.5)
- IterativeCUR (1)
- PRs to be reviewed (1.5):
-
Week of May 25th:
- PRs to be reviewed (.75):
- Osinsky (.25)
- IterativeCUR (.5)
- PRs to be reviewed (.75):
-
Week of Jun 1st:
- PRs to be reviewed (.25):
- Iterative CUR (.25)
- PRs to be reviewed (.25):
Version 0.2.3 Completed by June 8th
Version 0.2.4 will focus on adding additional SubSolver techniques to the code base. These can be called by the row and block solver techniques. Each solver should have an implmentation that over-writes ldiv! from the LinearAlgebra library.
- LU Solver
- Cholesky Solver
- LSQR
- LSMR
- CG
- BICGSTAB
- GMRES
-
Week of May 18th:
- PRs to be reviewed (2):
- LU Solver (1)
- LSQR (1)
- PRs to be reviewed (2):
-
Week of May 25th:
- PRs to be reviewed (2):
- LU Solver (.5)
- LSQR (.5)
- Cholesky (1)
- PRs to be reviewed (2):
-
Week of Jun 1st:
- PRs to be reviewed (2):
- LU Solver (.25)
- LSQR (.25)
- Cholesky (.5)
- LSMR (1)
- PRs to be reviewed (2):
-
Week of Jun 8th:
- PRs to be reviewed (2.75):
- Cholesky (.25)
- LSMR (.5)
- CG (1)
- BICGSTAB (1)
- PRs to be reviewed (2.75):
-
Week of Jun 15th:
- PRs to be reviewed (2.25):
- LSMR (.25)
- CG (.5)
- BICGSTAB (.5)
- GMRES (1)
- PRs to be reviewed (2.25):
-
Week of Jun 22nd:
- PRs to be reviewed (1):
- CG (.25)
- BICGSTAB (.25)
- GMRES (.5)
- PRs to be reviewed (1):
-
Week of Jun 29th:
- PRs to be reviewed (.25):
- GMRES (.25)
- PRs to be reviewed (.25):
Version 0.2.4 Completed by July 6th
With the completion of the version 0.2.1, we will have implementations of the row and column projection methods. In version 0.2.5 we will expand the method available in the library for solving linear systems. These will follow a similar implementation pattern to the row and column projection methods of version 0.2.1.
- Iterative Hessian Sketch
- Preconditioned Krylov (LSRN and Blendenpik)
- FOSSILS
- Sketch and Solve (Row Sketch and solve the sketched problem)
- Balabanov and Grigori Randomized Krylov
- Nakatsukasa and Tropp Randomized GMRES
-
Week of Jun 22nd:
- PRs to be reviewed (2):
- Iterative Hessian Sketch (1)
- Sketch and Solve (1)
- PRs to be reviewed (2):
-
Week of Jun 29th:
- PRs to be reviewed (2):
- Iterative Hessian Sketch (.5)
- Sketch and Solve (.5)
- Fossils (1)
- PRs to be reviewed (2):
-
Week of Jul 6th:
- PRs to be reviewed (3):
- Iterative Hessian Sketch (.25)
- Sketch and Solve (.25)
- Fossils (.5)
- Preconditioned Krylov (2)
- PRs to be reviewed (3):
-
Week of Jul 13th:
- PRs to be reviewed (2.25):
- Fossils (.25)
- Preconditioned Krylov (1)
- B and G Krylov (1)
- PRs to be reviewed (2.25):
-
Week of Jul 20th:
- PRs to be reviewed (2):
- Preconditioned Krylov (.5)
- B and G Krylov (.5)
- J and N Krylov (1)
- PRs to be reviewed (2):
-
Week of Jul 27th:
- PRs to be reviewed (1):
- Preconditioned Krylov (.25)
- B and G Krylov (.25)
- J and N Krylov (.5)
- PRs to be reviewed (1):
-
Week of Aug 3rd:
- PRs to be reviewed (.25):
- J and N Krylov (.25)
- PRs to be reviewed (.25):
Version 0.2.5 Completed by August 10th
The final main set of implementations for version 0.2.6 will be the Nystrom approximations. The techniques that need to be implemented for this portion include RPCholesky, as well as others, but more research needs to be done to make a final determination of the overall techniques. The implementation design should be similar to that of the CUR techniques in version 0.2.3.
- RPCholesky
- Uniform Column Selection
- Nystrom Outer Method
-
Week of Jul 27th:
- PRs to be reviewed (2):
- Nystrom Outer Method (2)
- PRs to be reviewed (2):
-
Week of Aug 3rd:
- PRs to be reviewed (2):
- Nystrom Outer Method (1)
- RPCholesky (1)
- PRs to be reviewed (2):
-
Week of Aug 10th:
- PRs to be reviewed (2):
- Nystrom Outer Method (.5)
- RPCholesky (.5)
- Uniform Selection (1)
- PRs to be reviewed (2):
-
Week of Aug 17th:
- PRs to be reviewed (1):
- Nystrom Outer Method (.25)
- RPCholesky (.25)
- Uniform Selection (.5)
- PRs to be reviewed (1):
-
Week of Aug 24th:
- PRs to be reviewed (.25):
- Uniform Selection (.25)
- PRs to be reviewed (.25):
Version 0.2.6 Completed by August 31st