Announcing JavaTools 2.0
- To: mathgroup at smc.vnet.net
- Subject: [mg126711] Announcing JavaTools 2.0
- From: Andreas Lauschke <andreas at lauschkeconsulting.com>
- Date: Fri, 1 Jun 2012 05:19:45 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Reply-to: andreas at lauschkeconsulting.com
JavaTools 2.0 is now shipping. www.lauschkeconsulting.com/jt.html 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 www.lauschkeconsulting.com/jcc.html - 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 www.lauschkeconsulting.com/americanoptions.html - 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 www.lauschkeconsulting.com/networkflow.html. - 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 www.lauschkeconsulting.com/jtableview.html - 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 www.lauschkeconsulting.com/javawindows.html - 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. www.lauschkeconsulting.com/symbolbrowser.html - 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 www.lauschkeconsulting.com/expressionbrowser.com - 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 www.lauschkeconsulting.com/math.html - Utility Functions such as remaining disk space, total disk space, uunused Java memory, number formatting, etc. Visit www.lauschkeconsulting.com/utility.html - 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. www.lauschkeconsulting.com/emaildetails.html