📄 readme.coool
字号:
This is COOOL version 1.1. COOOL stands for the Center for WavePhenomena Object Oriented Optimization Library. The Center for WavePhenomena is an interdisciplinary research group at the ColoradoSchool of Mines engaged in research in seismic and acoustic modelingand inversion, wave propagation, seismic data processing andscientific computing. Our WWW home page is athttp://timna.mines.edu/cwpcodes/coool/.Comparing with the earlier version (COOOL 1.0), the new versionis tested on gcc-2.7.0. This version also works on the oldgcc-2.5.8. If you are using gcc 2.5.*, you can also ftp theolder version package COOOL-0.1.tar.gz.There are some changing standards for the new gcc compiler, so aprevious compiled c++ code may not compile under the new standard. Adapting the codes is not difficult but maybe tedious. Please refer to the new gcc texinfo files. The new COOOL can set up a symbolic link of SlaveForward file to theappropriate file by detecting the machine type while installing. But you still need to read Makefile.config to make appropriatechanged according to your system. A big improvement for this versionis that COOOL can take customized derivative information from theuser-defined file. Because the change of the current compiler, youwill see many warning messages. such as "conversion to the same typewill never use a type conversion operator ..." Ignore them!This library is being developed not only to provide a set of tools forsolving optimization problems, but also to stimulate interest inoptimizers to look at the sorts of large-scale problems encountered ingeophysics. The library has both derivative-based and derivative-freeoptimization routines. We wanted to be as flexible as possible in thecommunication protocol connecting the library algorithms and theuser-coded objective and gradient function so we used EXPECT, writtenby Don Libes of NIST and freely available. Besides the algorithms, weprovide C++ classes to manipulate vectors and (sparse or dense)matrices that can be useful for scientific software development.The following is a brief description of the optimization algorithmsthat are available in the present version of the COOOL library:Linear system solvers: Conjugate Gradient for Least Squares (CGLS) Interactive Reweighted Least Squares (IRLS), which solves arbitrary linear systems in the l_p norm.Non linear optimization tools: Derivative-free: Powell's method (Powell) Downhill Simplex (Simplex) Derivative-based: Conjugate Gradient (CG) with Polak-Ribiere and Fletcher-Reeves step computation procedures Line searches: Derivative-free: Brent's algorithm (BrentLineSearch) Derivative-based: Cubic line search (CubicLineSearch)Vector and Matrix manipulation classes: take a look at Vector.hh (Vector) and Matrix.hh (Matrix)Man pages are available. To get detailed information about thealgorithms listed above type man followed by whatever is betweenparentheses (It is not case sensitive!).For information on how to install the COOOL library and how to run thedemos look at the README.install file. For detailed information on theinternal structure of the library and about the optimizationalgorithms check the postscript file available via WWW at the URL: http://timna.mines.edu/cwpcodes/coool/or via anonymous FTP to timna.mines.edu, "cd" to the directorypub/cwpcodes/coool and transfer the binary file coool.ps.gz. Youshould use gzip to uncompress this file.The COOOL library is a free software. You can do anything you wantwith it including make a fortune. However, neither the authors,the Center for Wave Phenomena, nor anyone else you can think ofmakes any guarantees about anything in this package or any aspectof its functionality.Since you've got the source code you can also modify thelibrary to suit your own purposes. We would appreciate it if the headers that identify the authors are kept in the source code.Email bug reports, questions, and suggestions to optima@dix.mines.edu.We'll do our best to fix them as soon as possible.Thanks for using COOOL.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -