---559023410-851401618-900607147=:4820
Content-Type: TEXT/PLAIN; charset=US-ASCII
On Wed, 15 Jul 1998, E. Robert Tisdale wrote:
> Is this package of yours related to your research somehow? Bob
I am working on an object-oriented framework for optimization algorithms
so solve both general purpose nonlinear programms (NLP) and special NLPs
that arise in chemical process systems engineering. My advisor's group
have develped several successful optimization algorithms over the past 10
years or so and most of them have some common features but there was no
plan to integrate them, maintainace is a nightmare and it is very time
consumming to develop new algorithms based on old ones. I am
trying to integrate these algorithms and develop new optimization
algorithms in the process. I am also trying to develop a framework where
iterative algorithms can be quickly prototyped based on existing ones.
When I am finished with the major framework I will make the
GeneralIterationPack publicly avalible.
Specifically these optimization algorithms are Sequential Quadratic
Programming (SQP) algorithms and one of the more important variations is
Reduced Hessian SQP (rSQP) which is taylored to large NLPs with few
degrees of freedom.
The reason that I developed my linear algebra classes was because I needed
them and I was not happy with anything I found out there, at least in the
public domain. In retrospect I probably should have just purchased a
commerial C++ matrix library but I was not really all that happy with
those I found either. Any way it was a great learning experience
and now I think that I am a very knowedgeble C++ programmer and designer
and I have some useful tools to boot.
LinAlgPack has a combination of features that I have not found in any
other C++ matrix library:
(1) VectorSlice objects represent any BLAS like 1-D vector abstraction.
(2) GenMatrixSlice objects represent any general BLAS like 2-D matrix
abstraction.
(3) A special STL compliant iterator (stride_itr<...>) is
used to access the elements in a VectorSlice object and can therefore be
used with any STL algorithm. What other library can say this?
(4) Implementation of linear algebra operations is performed with the
BLAS when possible.
(5) Direct access to underlying data is advalable. It is surprising how
many libraries (especially commerial) do not allow this and force you to
guess what the internal representation is.
Other C++ matrix libraries like TNT, LAPACK++ and others offer some of
these features but not all of them.
All I want is a fairly efficient and sensible interface for linear algebra
computations that will be compatable with existing software (Fortran).
And for developers to get thier work done they need more than just nice
vector and matrix abstraction classes but an entire set of linear algebra
operations.
--------------------------------------
| Roscoe Bartlett |
| Ph.D. student |
| Department of Chemical Engineering |
| Carnegie Mellon University |
| email: roscoe@andrew.cmu.edu |
--------------------------------------
---559023410-851401618-900607147=:4820--