Slawomir Kolodynski wrote:
>
> I am trying to figure out a way to tell FriCAS that
> limit(erf(sqrt(c)*x),x=%plusInfinity) is 1 (say, I know that c>0).
> To do that I define a rule:
>
> limerf := rule limit(erf(sqrt(c)*x),x=%plusInfinity) == 1
>
> However, when I try to apply the rule:
>
> limerf(limit(erf(sqrt(c)*x),x=%plusInfinity))
>
> I get
>
> Cannot find a definition or applicable library operation named
> limerf with argument type(s)
>failed
>
> It looks like FriCAS first tries to evaluate the argument of the rule (and
> gets "failed"), then tries to match the rule pattern to the result.
> Is there a way to prevent the rule to evaluate its argument before pattern
> matching? Or I am doing something wrong here?
In FriCAS 'limit' is an operation, not an expression. The
same with '=' (which produces equation, not an expression).
There is also problem with types: '%plusInfinity' is not an
expression.
To get something in your spirit one needs to work with expressions:
lim := operator 'lim
limerf := rule lim(erf(sqrt(c)*x),infinity) == 1
OTOH if purpose is stricly to compute limit, than you can do
e1 := eval(erf(sqrt(c)*x), sqrt(c) = d^2)
limit(e1, x=%plusInfinity)
If you need to undo the substitution in part of expression
you can do more complicated thing:
(1) -> pos := operator 'pos
(1) pos
Type: BasicOperator
(2) -> e1 := eval(erf(sqrt(c)*x), sqrt(c) = pos(sqrt(c))^2)
+-+ 2
(2) erf(x pos(\|c ) )
Type: Expression(Integer)
(3) -> limit(e1, x=%plusInfinity)
(3) 1
Type: Union(OrderedCompletion(Expression(Integer)),...)
(4) -> eI := Expression(Integer)
(4) Expression(Integer)
Type: Type
(5) -> eval(e1, [name(pos)], [2], [(x : eI) : eI +-> x])
+-+
(5) erf(x\|c )
Type: Expression(Integer)
--
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 fricas-devel+unsubscr...@googlegroups.com.
To post to this group, send email to fricas-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.