Feature TODO - a = [5:10] - first: b = [1 2 50 69] then: c(b) = 1 Maybe do this by parsing "5:10" and "1 2 3 4 5" into IntegerSequence with specific types range and list? Have an interator in IntegerSequence for generic processing, but allow for specialized for each sequence type? - Add to CommonOps invertSPD() - Unroll symmetric inverse by minor - Unroll multiplication for square matrices - Make QrUpdate more friendly and accessible For some future Release - Block SVD - Block Hessenberg - Adapt QR-tran into LQ - Remove QRDecompositionHouseholder? - Remove chol-block for dense with chol-block64? * reduce cache misses in invert and see if its faster - Merge inner triangular solver code - Require LinearSolverFactory to take in a matrix so it can figure out alg to use? - Improve cholesky block inverse by taking advantage of symmetry - Add a function for sorting eigenvalues. ---------------------------------------------------------- - LU - block - Cholesky - unwrap for small matrices. improve accuracy - improve stability - Linear Solver * Iterative * Add condition(), use Hager's method? pg 132 * Put this new condition into NormOps since it should be much faster - SVD - Save up rotators, multiply against each other, then multiply against U and V - Divide and conquer algorithm - An implementation that just finds zero singular values - Incremental SVD - Eigen decomposition - Divide and conquer algorithm. - Accurate version of symmetric eigenvalue for 2 by 2 - SVD - SymmEig - Fast Matrix Multiply - hard code cholesky decomposition for small matrices - hard code symmetric inverse for small matrices - Matrix Multiplication: - Try a variant on mult_aux that does the vector mult up to block size then goes down a row. - Finish vector vector multiply - Code generator for matrix vector ops - Add matrix vector multiply - Auto switch to all of above in CommonOps