[GiNaC-devel] Base of natural logarithm
Richard B. Kreckel
kreckel at in.terlu.de
Sat Nov 28 22:29:32 CET 2015
Hi,
On 11/28/2015 01:38 PM, Jan Rheinländer wrote:
> is there a way to create a ginac object "e" such that log(e)
> automatically evaluates to 1?
>
> I tried
>
>
> ex EulernumEvalf() {
> return numeric(cln::exp1());
> }
> const constant Euler_number("Eulernum", EulernumEvalf, "e",
> domain::positive);
You can define this, but this does of course not make the eval function
of log(x) know about your constant: it will look at its argument, shrug
at this unknown constant, and decide that log(Euler_number) is as good
as it gets.
Such a constant was not included in GiNaC because of its redundancy with
exp(1). Introducing it forces to make decisions whether to rewrite
exp(1) -> e or e^x -> exp(x) and so on. The feeling was that it could
jeopardize confluence of term rewriting.
-richy.
--
Richard B. Kreckel
<http://in.terlu.de/~kreckel/>
More information about the GiNaC-devel
mailing list