Martin Rubey wrote:
>
> Dear all,
>
> it occurred to me (perhaps it's obvious) that we could add provisos in a
> rather
> straightforward way to FriCAS, namely through an Operator "Cond". Perhaps
> this
> is not ideal performancewise, but I think it could be a first step into a good
> direction.
>
I am not sure if it is obvious, but I had this in mind when I wrote
about conditional expressions. However, I think that name "conditional
expression" is better -- when Tim wrote about provisos he was short
on details but he indicated possible implementation technique
which IMHO is not practical. OTOH conditional expressions are
used by other systems (I am not sure the name is accepted one).
> Cond would be a list with every second element being an expression, every
> other
> the condition when it holds.
>
Little nitpick: list of pairs (condition, expression).
>
> To get started, the most tricky part is probably to implement the basic
> ring operations properly?
>
Ring operations are easy:
[c_1, e_1],...,[c_n, e_n]] op [[c'_`, e'_1],...]
is the list
[c_1 and c'_1, e_1 op e'_1], [c_2 and c'_1, e_2 op e'_1],...]
that is we for logical and for all pairs of conditions
and perform operation on corresponding expressions.
Tricky part is simplification, especially simplification of
conditions. One obvious simplification is if c_1 and c_2
are both ands with common factor, then we do not duplicate
the factor. Another is that we combime pairs where
both expression and condition are equal. Without
such simplifications size of expressions would grow
exponentially without bound. With those to simplifications
if we start from some fixed set of conditions we will
saturate when we get all products (still exponential,
but may be reasonable in practice).
Ideally we want more simplifications (like detection
of impossible cases), but the two above are probably
enough to start implementation.
--
Waldek Hebisch
[EMAIL PROTECTED]
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/fricas-devel?hl=en
-~----------~----~----~----~------~----~------~--~---