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,
Murat
aparsloe <mailto:[email protected]>
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
http://wiki.lyx.org/Examples/Calculyx 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
https://www.dropbox.com/s/7djkyjs44bpraol/Screenshot%202014-11-24%2013.52.07.png?dl=0.
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.
Andrew
--
Prof. Murat Yildizoglu
Université de Bordeaux
GREThA (UMR CNRS 5113)
Avenue Léon Duguit
33608 Pessac cedex
France
Bureau : E-331
Mail: yildi-at-u-bordeaux4.fr
Web: yildizoglu.info
<mailto:[email protected]>