Jest Distribution
This distributioin of Jest is very preliminary.
A few explainations are available below the links.
I just finished my Stanford PhD and I am now looking for a job in Germany.
I might not be able to do much work on the current version of Jest
for a few months. However,
I believe Jest is one of the coolest things I have worked on.
-
An introductory paper
(html,
ps.gz 251K)
contains a description of the concept of Jest.
Considering how sparsely Jest is documented, you want this!
-
The FAQ answers. Not much yet.
-
The Javadoc pages. Many classes
are only sparsely commented. But I find it very useful.
- Jest distribution (tar.gz)
of the source files.
- Results and Figures (tar.gz)
that the Jest source files compute. The Jest distribution
contains links called Fig.
On my system, these links point to directories in which I
deposit the result files computed by the various Jest directories.
This tar file contains all these results.
Of course, you do not need to download these results, since
Jest can reproduce them anytime
(See my reproducibility
page).
- Notes about Java and Jest.
The software is still under development.
Feel free to inspect and use anything you find on this site, but
don't complain. Instead help.
If you seriously want to try this out,
here is how I suggest you proceed:
-
Download the introductory paper below and learn about the mathematical
class hierarchy of the optimization library Jest.
-
Then download and unpack (gzip and tar) the complete Jest package.
Enter the root directory of the Jest tree in your Java class path.
-
Look for classes of the type nameTest.java. These files are
simple tests for the corresponding files name.java and can
be executed without parameters. You should use the flag -cs
or -checksource, so that your compiler finds and if necessary
compiles all other classes that are needed.
juice.solver.CGSimpleTest.java is a good file to start with.
It tests the conjugate gradient compiler
juice.solver.CGSimple.java. The executed Test routine should
always return true if it executes correctly.
The code examples have been tested under Java 1.0.2 and 1.1.
Short overview over Jest's various packages
You can download them individually here or as an entire tar file above.
-
jdocs
contains the javadoc files of Jest.
-
jam
contains all Jest interfaces. They are the heart of it all.
-
juice
contains all abstract mathematical implementations. Classes
in this package only use general Jam methods. Among other things,
Juice includes all Jest solvers. (I need a better name than "juice")
-
sep
contains a few general SEP conventions that simplify the SEP style.
-
rsf
contains SEP's traditional "SEP cube" vector class. The
class implements a Regularly Sampled Function of several dimensions.
-
gag
contains a very primitive graphics package that displays Rsfs.
-
adm
contains a few administrative directories. I suggest you ignore it
unless you know about
reproducible documents.
Complementary software
The package sdi
(Seismic data inversion) contains a few filtering applications of Jest.
I do use some Make rules and a few Perl and Bourne-shell scripts
to maintain my software collection.
You can learn more about them in my web page about
reproducible research
and
my scripts.
I experienced with some Java applications for
the display of seismic data,
but I currently still use SEP's home spun graphics package
Vplot for displaying results.
In the long run,
I would like to replace the make tool and the vplot graphics package
with Java applications.
If you have any suggestions, please let me know.
Acknowledgements
Joel Schroeder and I developed the original Jest version together.
Dave Nichols, Lester Dye, Mark Gockenbach, and Bill Symes were involved
in the design of Jest's concepts and earlier C++ versions of Jest.
Jon Claerbout motivated much of this work by pushing for an object-oriented
package that splits applications and solvers.
References
-
Bill Symes' HCL
is a similar C++ library.
-
Sergey Fomel
developed a quite different Fortran 90 library that also attempts to
separate solver and seismic applications.
Matthias Schwab
matt@sep.stanford.edu ;