comparison PROJECTS @ 5164:57077d0ddc8e

[project @ 2005-02-25 19:55:24 by jwe]
author jwe
date Fri, 25 Feb 2005 19:55:28 +0000
parents b2ce28713791
children 189fe4f85c77
comparison
equal deleted inserted replaced
5163:9f3299378193 5164:57077d0ddc8e
33 33
34 * Free QP solver. 34 * Free QP solver.
35 35
36 * Free NLP solver. 36 * Free NLP solver.
37 37
38 * Support for sparse matrices.
39
40 * Fix CollocWt to handle Laguerre polynomials. Make it easy to 38 * Fix CollocWt to handle Laguerre polynomials. Make it easy to
41 extend it to other polynomial types. 39 extend it to other polynomial types.
42 40
43 * Make filter faster (perhaps by calling BLAS functions). 41 * Make filter faster (perhaps by calling BLAS functions).
44 42
102 lapack code yet). 100 lapack code yet).
103 101
104 * Consider making the behavior of the / and \ operators for 102 * Consider making the behavior of the / and \ operators for
105 non-square systems compatible with Matlab. Currently, they return 103 non-square systems compatible with Matlab. Currently, they return
106 the minimum norm solution from DGELSS, which behaves differently. 104 the minimum norm solution from DGELSS, which behaves differently.
105
106 ---------------
107 Sparse Matrices:
108 ---------------
109
110 * Sparse Cholesky factorization for Fchol function and also for the
111 in built polymorphic solvers.
112
113 * QR factorization functions, also for use in lssolve functions. Write
114 svds function based on this. Write sprank function based on svds.
115
116 * Once dmperm is implemented, use the technique to detect permuted
117 triangular matrices. Test the permuted triangular matrix solver code
118
119 * Accelerate the copying of the data from a sparse matrix to a banded matrix
120 in the solvers, that takes a significant portion of the computation time
121 for narrow matrices. This is not obvious, due to the treatment of zero
122 elements in the matrix. Maybe current solution is optimal.
123
124 * Perhaps split the overly long ::solve functions up, either by the type
125 of solver, or seperate factorization functions, so that they can be
126 reused in each of 4 different ::solve functions.
127
128 * Sparse inverse function, based on Andy's code from octave-forge.
129
130 * Implement fourth argument to the sprand and sprandn that the leading
131 brand implements.
132
133 * Mapper functions such as real, imag, abs, etc need to be treated, either
134 with a dispatch or by changing the mapper function code.
135
136 * Write the rest of the sparse docs
137
138 * The algo in TOMS 582 is perfect for symrcm function. However, this is
139 under the ACM license and can't be used in a GPL program.
140
141 An alternative is that PETSC is GPL compatiable and has a symrcm
142 implemented from the original SPARSPAK. Its not clear that this is
143 legal to me as I have found no clarification of the original license
144 of SPARSPAK. As PETSC has had this code for over 10 years without
145 problem, we can perhaps assume that there is no issues. Maybe need
146 to contact PETSC people or the SPARSPAK people at uni of waterloo
147 to check issues.
148
149 * Make spalloc(r,c,n) actually create an empty sparse with n non-zero
150 elements? This allows something like
151
152 sm = spalloc (r,c,n)
153 for j=1:c
154 for i=1:r
155 tmp = foo (i,j);
156 if (tmp != 0.)
157 sm (i,j) = tmp;
158 endif
159 endfor
160 endfor
161
162 actually make sense. Otherwise the above will cause massive amounts
163 of memory reallocation.
164
165 The fact is that this doesn't make sense in any case as the assign
166 function makes another copy of the sparse matrix. So although spalloc
167 might easily be made to have the correct behaviour, the first assign
168 will cause the matrix to be resized !!! There seems to be no simple
169 way to treat this but a complete rewrite of the sparse assignment
170 functions...
171
172 * Port the sparse testing code into the DejaGNU testing code.
173
174 * Treat the dispatching of the splu, spdet, functions, etc within octave
175 itself. This either means that classes need implementing or at the
176 minimum the octave-forge dispatch function is implemented within octave
177
178 * Other missing Functions
179 - eigs
180 - dmperm Tim Davis is apparently working on something
181 - symmmd Superseded by symamd
182 - colmmd Superseded by colamd
183 - sprandsym
184 - symbfact
185 - etreeplot
186 - treeplot
187 - gplot
188 - treelayout
189 - cholinc
190 - condest
191 - normest
192 - bicg
193 - bicgstab
194 - cgs
195 - gmres
196 - lsqr
197 - minres
198 - pcg Can this be taken from o-forge? Is it compatiable
199 - pcr Can and should this be taken from o-forge?
200 - qmr
201 - symmlq
202 - spaugment
107 203
108 -------- 204 --------
109 Graphics: 205 Graphics:
110 -------- 206 --------
111 207