Since this mostly concerns FriCAS I am cross posting to that group.  I will
also post the patch there.  For FriCAS list reference the original email
thread is here:

https://groups.google.com/forum/#!topic/sage-devel/6j-LcC6tpkE

Here is the result of compiling the patch against the current SourceForge
svn trunk:

wspage@opensuse:~> fricas
The directory for FriCAS, /usr/local/lib/fricas/target/x86_64-suse-linux,
does not exist.
Goodbye.
wspage@opensuse:~> fricas
Checking for foreign routines
AXIOM="/usr/local/lib64/fricas/target/x86_64-suse-linux"
spad-lib="/usr/local/lib64/fricas/target/x86_64-suse-linux/lib/libspad.so"
foreign routines found
openServer result 0
                       FriCAS Computer Algebra System
                         Version: FriCAS 2014-11-14
                   Timestamp: Wed Nov 19 11:57:49 EST 2014
-----------------------------------------------------------------------------
   Issue )copyright to view copyright notices.
   Issue )summary for a summary of useful system commands.
   Issue )quit to leave FriCAS and return to shell.
-----------------------------------------------------------------------------


(1) -> D(abs(x),x)

         _
         x + x
   (1)  -------
        2abs(x)
                                                    Type:
Expression(Integer)
(2) -> D(conjugate(x),x)

   (2)  1
                                                    Type:
Expression(Integer)
(3) -> f:=operator 'f

   (3)  f
                                                          Type:
BasicOperator
(4) -> D(abs(f(x)),x)

             , _      _  ,
        f(x)f (x) + f(x)f (x)

   (4)  ---------------------
              2abs(f(x))
                                                    Type:
Expression(Integer)
(5) -> D(abs(log(x)),x)

        _    _
        xlog(x) + x log(x)
   (5)  ------------------
            _
          2xxabs(log(x))
                                                    Type:
Expression(Integer)
(6) -> D(log(abs(x)),x)

          _
          x + x
   (6)  --------
               2
        2abs(x)
                                                    Type:
Expression(Integer)
(7) -> D(abs(%i*x),x)

           _
           x + x
   (7)  ----------
        2abs(%i x)
                                           Type:
Expression(Complex(Integer))
(8) -> D(1/abs(x),x)

           _
         - x - x
   (8)  --------
               3
        2abs(x)
                                                    Type:
Expression(Integer)
(9) -> D(1/abs(x)^2,x)

          _
        - x - x
   (9)  -------
              4
        abs(x)
                                                    Type:
Expression(Integer)
(10) -> D(x/abs(x)^3,x)

             _          2     2
         - 3xx + 2abs(x)  - 3x
   (10)  ----------------------
                       5
                2abs(x)
                                                    Type:
Expression(Integer)
(11) -> D(abs(x)^2,x)

         _
   (11)  x + x
                                                    Type:
Expression(Integer)

Bill.


On 19 November 2014 11:51, Ondřej Čertík <ondrej.cer...@gmail.com> wrote:
>
> On Wed, Nov 19, 2014 at 9:42 AM, Ondřej Čertík <ondrej.cer...@gmail.com>
wrote:
> > On Wed, Nov 19, 2014 at 9:32 AM, Bill Page <bill.p...@newsynthesis.org>
wrote:
> >> OK, this looks better!
> >>
> >> (1) -> D(abs(x),x)
> >>
> >>          _
> >>          x + x
> >>    (1)  -------
> >>         2abs(x)
> >>                                                     Type:
> >> Expression(Integer)
> >> (2) -> D(conjugate(x),y)
> >>
> >>    (2)  0
> >>                                                     Type:
> >> Expression(Integer)
> >> (3) -> D(conjugate(x),x)
> >>
> >>    (3)  1
> >>                                                     Type:
> >> Expression(Integer)
> >> (4) -> f:=operator 'f
> >>
> >>    (4)  f
> >>                                                           Type:
> >> BasicOperator
> >> (5) -> D(abs(f(x)),x)
> >>
> >>              , _      _  ,
> >>         f(x)f (x) + f(x)f (x)
> >>
> >>    (5)  ---------------------
> >>               2abs(f(x))
> >>                                                     Type:
> >> Expression(Integer)
> >> (6) -> D(abs(log(x)),x)
> >>
> >>         _    _
> >>         xlog(x) + x log(x)
> >>    (6)  ------------------
> >>             _
> >>           2xxabs(log(x))
> >>                                                     Type:
> >> Expression(Integer)
> >
> > That looks good, right? What about arg(z). What are the Wirtinger
> > derivatives of arg(z)? Do you have other examples of non-analytic
> > functions?
> >
> > Would you mind posting your patch to FriCAS somewhere? I would be
> > interested in how you implemented it.
>
> I'll try to compile FriCAS myself and apply your patch, so that I can
> play with it. Can you also try:
>
> abs(I*x)
>
> 1/abs(x)
> 1/abs(x)^2
> x/abs(x)^3
> abs(x)^2
>
> The x/abs(x)^3 is a Coulomb's law in 1D.
>
> Ondrej
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to