On Sat, Jan 09, 2021 at 01:24:36PM +0100, Ralf Hemmecke wrote:
> Hi Waldek,
>
> On 09.01.21 13:01, Waldek Hebisch wrote:
> > On Sat, Jan 09, 2021 at 12:24:47PM +0100, Ralf Hemmecke wrote:
> >>> 2. As Waldek said, '%iint" should be used only internally. But the
> >>> following workaround prints '%iint' as 'iint':
> >>
> >> What would that help? Whether it prints as %iint or iint, I still would
> >> not know how to interpret that FriCAS is returning. What does '%iint'
> >> stand for?
> >
> > Indefinite integral (== general Liouvillian function). Main reason
> > of using '%' is to avoid clashes with user-defined things.
> > Uninterned symbols would be better to avoid clashes, but would
> > complicate debugging...
>
> The % sign is only a minor problem.
> But what is the meaning of
>
> log(- e x + 1) log(- e x + 1)
> %iint(e,x,- --------------,- --------------)
> e x
>
> ? It would be good to know (and best specified in the code) even if it
> is not intended to be visible to an enduser.
To specify Liouvillian function essentially is the same as specifying
derivative. General Liouvillian function may be multivariate
and for technical reasons it is convenient to treat all
Liouvillian functions as multivariate, for example 'Ei(x*y)'
is treated as finction of two variables: 'x' and 'y'.
Transcenedntal constants are treated as variables, so
above means that we have two variables: 'e' and 'x'.
The other two argument to '%iint' give corresponding derivatives.
So, oldk is right. I would like to stress that there is
nothing more: the rest like nesting is handled by general
machinery and in principle all Liouvillian functions are
legal. This means that all derivatives (as long as they
satisfy consistency condition for cross derivatives)
are legal.
BTW1: The is a problem with current code. I wrote "essentially"
above because there is possible constant (constant of integration).
When dealing with single Liouvillian function constant of
integration may be ignored. Current code assumes that
constant of integration is always zero. This problem
is really independent of representation of Liouvillian
function that is of meaning of '%iint'.
BTW2: Such details as internal representation of Liouvillian
functions are normally left undocumented, because
documentation encourages users to depend on such details
and they are subject to change. In fact, '%iint' may
be gone in few years (or even months if you are optimistic):
ATM is seems that different representation of functions
in integrator would work better. By "different
representation" I mean different than Expression.
--
Waldek Hebisch
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/fricas-devel/20210110104014.GA38532%40math.uni.wroc.pl.