MathGroup Archive 2012

[Date Index] [Thread Index] [Author Index]

Search the Archive

Announcing JavaTools 2.0

  • To: mathgroup at
  • Subject: [mg126711] Announcing JavaTools 2.0
  • From: Andreas Lauschke <andreas at>
  • Date: Fri, 1 Jun 2012 05:19:45 -0400 (EDT)
  • Delivered-to:
  • Reply-to: andreas at

JavaTools 2.0 is now shipping.

JavaTools provides several Mathematica functions that harness powerful
Java features (and C# and F# on .Net 4 and mono platforms) and solve
Mathematica shortcomings, including:

- Compilation of Java and .Net methods provided as a Mathematica string
and executed in the virtual machine, loaded back and set up as
Mathematica symbols, with one JavaTools command. Unlike Mathematica's
Compile[], compilation in JavaTools is not limited to math-numeric
functions. Absolutely ANY Java or .Net class/method can be used.
Provides basic syntax highlighting and compile error diagnostics for
Java, C#, and F# code. For more information on the usefulness of
external code execution (higher speed with JVM/runtime engine execution,
ease-of-use, code portability, garbage collection, simplified
development and deployment, programmatic code generation) visit
- Extremely fast and accurate multi-threaded functions for American
options with discrete dividends. Use all available cores to price
American options with discrete dividends accurately in concurrent
threads, returning the standard greeks from one grid construction.
Compute American option prices for a whole continuum of spot prices,
again, in parallel. Standard Mathematica licensing terms are four
parallel kernels, but the lowest level of scheduling activity is the
thread, not a heavy-weight kernel process, so on multi-core hardware
with more than 4 cores concurrency potential remains unused. For more on
American option pricing precision, concurrency, continuum of prices, and
greeks, visit
- Extremely efficient Java implementations of combinatorial
optimization/network flow optimization/graph theory algorithms for
several problem types, including the Traveling Salesman Problem, the
minimum spanning tree problem, the knapsack problem, the minimum cost
flow problem, among others. Compute optimal minimum cost flows and
minimum spanning trees for thousands of nodes in milliseconds, and
compute TSP solutions with thousands of nodes in less than a minute,
usually to optimality. TSP algorithms submit multiple competing solution
methods in parallel threads and return all or only the best solution.
For more on the computation speed, concurrency, quality of the solutions
and benchmarking against other commercial codes, visit
- TableView-like environment that displays tabular data in an
interactive table. Unlike the unfinished and undocumented function
TableView in Mathematica, the JavaTools function makes it possible to
assign the edited table to a symbol, and it can enforce strict type
checking already at the time of data entry, to prevent data entry errors
(the cell editor will not permit data entry of the wrong type and reject
it at cell-level!). The tables created with JavaTools' table view
function can be customized, column-sorted, formatted with user-defined
alternating line background colors. Ideal for users who regularly enter
data in a spreadsheet environment. Visit
- Java windows with arbitrary Mathematica expressions (graphics, tables,
formulas, etc.) that can be updated with new content "in place" and
duplicated with a simple mouse-click. Ideal for live electronic trading
environments where screen real estate is very limited and windows with
live updates have to be moved around quickly. Or use DisplayFunction in
a Plot/Graphics function to generate the output in new windows. Visit
- Interactive Symbol Browser, using regex to instantly filter symbols
and see their current values. In the filter field the user can enter
parts of the expression or regex for instant, interactive filtering of
Mathematica symbols. With thousands of standard symbols, thousands of
package symbols, and hundreds or thousands of user symbols, this is a
very time-efficient way to "browse" and search the symbols and their
values live and instantly.
- Interactive Expression Browser which lets the user interactively
explore any Mathematica expression to any desired nesting level by
expanding/collapsing nodes. Study branches of interest by expanding and
ignore uninteresting branches by leaving nodes collapsed. Visit
- Calculus / Linear Algebra functions, including those that solve
problems where Mathematica is broken (e. g. Eigenvalues). Compute all
prime numbers up to 35 million in 1 second or up to 1.4 billion in one
minute. Visit
- Utility Functions such as remaining disk space, total disk space,
uunused Java memory, number formatting, etc. Visit
- Look-and-Feel Support, including third-party look-and-feel libraries.

No Java or C# or F# programming skills are required to use JavaTools,
however, all underlying objects (collections, windows, browsers, etc.)
are fully exposed in JavaTools to allow the advanced object-oriented
programmer to manipulate these Java or .Net objects directly, if desired.=

Compatible with M6, M7, M8, M9. Requires Java 7. Site licenses and ~50%
student discounts available upon request. Fractional upgrades are free.

Special thanks to Rolf Mertig, Stan Wagon, and Bob Rimmer for
beta-testing and additional advice. A VERY special thanks to Leonid
Shifrin for additional deep insight and code contributions!


All my email is signed with 4096-cipher strength RSA GnuPG signatures.
All my email is encrypted with 4096-cipher strength RSA GnuPG encryption
if I have your OpenPGP key in my key database or it is
on a keyserver.
Key ID 4B3E879CEF2DBB5A.
Fingerprint BA1E 0367 46C0 C067 8F15 6E2C 4B3E 879C EF2D BB5A.
No S/MIME-signed or -encrypted email accepted. Please use OpenPGP.
If you have an OpenPGP public key please upload to a keyserver.

  • Prev by Date: Re: Sqrt of complex number
  • Next by Date: Re: Stop on message?
  • Previous by thread: Re: Sqrt of complex number
  • Next by thread: Re: Stop on message?