Very nice and very cool indeed! Thanks a lot Andrew! This seems to be a nice (also because much lighter) competitor to the Sage module for many numerical computations. I will check it as soon as I can.
Best regards,


aparsloe <>
24 novembre 2014 02:47
I've written a LaTeX package called "calculyx" which numerically evaluates mathematical expressions in LyX "before one's eyes" using instant preview. It is written in the expl3 language of LaTeX3 but is used just like any other LaTeX package. There is a link at to a zipped archive currently in a Dropbox folder, and a screenshot (.png format) of a one-page LaTeX document and the resulting pdf with a few example calculations at The LaTeX may look complicated, but using LyX, all that is as ever hidden. One simply enters expressions in the LyX math editor as usual.

Calculyx requires the three LaTeX3 bundles l3kernel, l3packages and l3experimental. Because a main routine uses a command that was introduced to l3kernel on 18 July 2014, the version of l3kernel must be later than this. The calculational engine for calculyx is the floating point module l3fp in l3kernel.

I have tried to ensure as much as possible that calculyx reads expressions as mathematicians write them. For instance it will "digest" \sin 3x - 3\sin x + 4\sin^{3} x (for a specified value of x, say \pi/6) without parentheses around the arguments and with the superscript in the "wrong" but familiar place. It will "digest" the common arithmetic operators, plus variants like \times and \div, the familiar trigonometric and hyperbolic functions and their inverses, the exponential and natural logarithm, fractions (\frac, \tfrac), square root and \surd, factorials ( using !), binomial coefficients (\binom, \tbinom), \gcd, sums and products (\sum, \prod) including "infinite" sums and products, limits (\lim), derivatives (1st and 2nd order), including Cartesian 2-d and 3-d Laplacians, and definite integrals in one variable. Results are generally presented in the form: expression = result. There is also a (multi-column) table creating command and another which will iterate a function (for the chaos theorists).

The package contains a novelty that I think could be exploited more widely. Some calculations are computationally intensive. So as not to burden the compilation of the pdf with them, these calculations can be "parked" either in a LyX note or in an inactive branch. Instant preview works in both places (with a caveat for LyX notes). The result of the calculation can be saved to a LaTeX control sequence. Calculyx automatically saves such control sequences to a file. They are then available for inserting elsewhere in the document -- even at the start, long before the place where the calculation is performed. If you are prepared to set up a converter and copier, then the file containing the control sequences can be saved in the document directory -- or copied to other directories whereby the results of those "parked" calculations are made available to these other documents. By this means selected items in LyX notes or inactive branches can play a part in compilation to pdf.


Prof. Murat Yildizoglu

Université de Bordeaux
Avenue LĂ©on Duguit
33608 Pessac cedex

Bureau : E-331


Reply via email to