Mercurial > octave-nkf
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 |