login  home  contents  what's new  discussion  bug reports     help  links  subscribe  changes  refresh  edit

Edit detail for SandBoxDiracDelta revision 16 of 40

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
Editor: Bill Page
Time: 2014/08/11 23:51:42 GMT+0
Note: Heaviside

added:
Ref.

  - http://en.wikipedia.org/wiki/Dirac_delta_function


added:

  We represent distributions as the real part of a complex function
in the limit where the imaginary part goes to 0.


changed:
-diracDelta(1)
-limit(%,b=0)
-diracDelta(-1)
-limit(%,b=0)
-diracDelta(0)
-limit(%,b=0)
-signum(1)
-limit(%,b=0)
-signum(-1)
-limit(%,b=0)
-signum(0)
-limit(%,b=0)
limit( signum(1) ,b=0)
limit( signum(-1) ,b=0)
limit( signum(0) ,b=0)
limit( signum(x)^2 ,b=0)
limit( diracDelta(1) ,b=0)
limit( diracDelta(-1) ,b=0)
limit( diracDelta(0) ,b=0)
test( diracDelta(x)=diracDelta(-x) )
limit( diracDelta(x)^2 ,b=0)
integrate(diracDelta(x),x=%minusInfinity..%plusInfinity,"noPole")
f(x)==x+c
integrate(f(x)*diracDelta(x),x=%minusInfinity..%plusInfinity,"noPole")
integrate(f(x)*diracDelta(x-t),x=%minusInfinity..%plusInfinity,"noPole")
integrate(diracDelta(2*x),x=%minusInfinity..%plusInfinity,"noPole")

changed:
-signum(x)^2
-limit(%,b=0)
-diracDelta(x)^2
-limit(%,b=0)
--- b disappears?
-integrate(diracDelta(x),x=%minusInfinity..%plusInfinity,"noPole")
-limit(%,b=0)
--- generally
-f(x)==x+c
-f(x)*diracDelta(x)
-integrate(%,x=%minusInfinity..%plusInfinity,"noPole")
---
-signum(x)*diracDelta(x)
-limit(%,b=0)
limit( signum(x)*diracDelta(x) ,b=0)

added:
Heaviside
\begin{axiom}
realHeaviside:=integrate(diracDelta(a),a)::Expression Complex Integer
heavisideStep(x)==eval(realHeaviside,a=x)
limit( heavisideStep(1), b=0)
limit( heavisideStep(-1) ,b=0)
-- expected 1?
limit( heavisideStep(0) ,b=0)
limit( heavisideStep(x), x=0)
limit( heavisideStep(x) ,x=%plusInfinity)
limit( heavisideStep(x) ,x=%minusInfinity)
test(simplify((1+signum(x))/2 - heavisideStep(x)) = 0)
\end{axiom}


added:
-- expected 1/abs(alpha)
integrate(diracDelta(alpha*x),x=%minusInfinity..%plusInfinity,"noPole")
-- expected x*abs(x)/2

removed:
--- expected x*abs(x)/2

added:
-- expected abs(x)

removed:
--- expected abs(x)

added:
-- expected signum(x)/2

removed:
--- expected
-signum(x)/2
-integrate(diracDelta(x),x)
-limit(%,b=0)

Ref.

New definition of derivative of abs(x)

fricas
)lib FSPECX
FunctionalSpecialFunction is now explicitly exposed in frame initial
FunctionalSpecialFunction will be automatically loaded when needed from /var/aw/var/LatexWiki/FSPECX.NRLIB/FSPECX abs2sqrt := rule abs(a+%i*b)==sqrt(a^2+b^2)

\label{eq1}{abs \left({{i \  b}+ a}\right)}\mbox{\rm = =}{\sqrt{{{b}^{2}}+{{a}^{2}}}}(1)
Type: RewriteRule?(Integer,Complex(Integer),Expression(Complex(Integer)))

Derivatives

fricas
%signum:=differentiate(abs(%z),%z)

\label{eq2}\%z \over{abs \left({\%z}\right)}(2)
Type: Expression(Integer)
fricas
%diracDelta:=differentiate(%signum,%z)/2

\label{eq3}{{{abs \left({\%z}\right)}^{2}}-{{\%z}^{2}}}\over{2 \ {{abs \left({\%z}\right)}^{3}}}(3)
Type: Expression(Integer)

Distributions

We represent distributions as the real part of a complex function in the limit where the imaginary part goes to 0.

fricas
realSignum:=abs2sqrt(eval(%signum,%z=a+%i*b)+eval(%signum,%z=a-%i*b))/2

\label{eq4}{a \ {\sqrt{{{b}^{2}}+{{a}^{2}}}}}\over{{{b}^{2}}+{{a}^{2}}}(4)
Type: Expression(Complex(Integer))
fricas
signum(x)==eval(realSignum,a=x)
Type: Void
fricas
signum(x)
fricas
Compiling function signum with type Variable(x) -> Expression(
      Complex(Integer))

\label{eq5}{x \ {\sqrt{{{x}^{2}}+{{b}^{2}}}}}\over{{{x}^{2}}+{{b}^{2}}}(5)
Type: Expression(Complex(Integer))
fricas
--
realDirac:=abs2sqrt(eval(%diracDelta,%z=a+%i*b)+eval(%diracDelta, %z=a-%i*b))/4

\label{eq6}{{{b}^{2}}\ {\sqrt{{{b}^{2}}+{{a}^{2}}}}}\over{{2 \ {{b}^{4}}}+{4 \ {{a}^{2}}\ {{b}^{2}}}+{2 \ {{a}^{4}}}}(6)
Type: Expression(Complex(Integer))
fricas
diracDelta(x)==eval(realDirac,a=x)
Type: Void
fricas
diracDelta(x)
fricas
Compiling function diracDelta with type Variable(x) -> Expression(
      Complex(Integer))

\label{eq7}{{{b}^{2}}\ {\sqrt{{{x}^{2}}+{{b}^{2}}}}}\over{{2 \ {{x}^{4}}}+{4 \ {{b}^{2}}\ {{x}^{2}}}+{2 \ {{b}^{4}}}}(7)
Type: Expression(Complex(Integer))

Properties

fricas
limit( signum(1) ,b=0)
fricas
Compiling function signum with type PositiveInteger -> Expression(
      Complex(Integer))

\label{eq8}1(8)
Type: Union(OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
limit( signum(-1) ,b=0)
fricas
Compiling function signum with type Integer -> Expression(Complex(
      Integer))

\label{eq9}- 1(9)
Type: Union(OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
limit( signum(0) ,b=0)
fricas
Compiling function signum with type NonNegativeInteger -> Expression
      (Complex(Integer))

\label{eq10}0(10)
Type: Union(OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
limit( signum(x)^2 ,b=0)

\label{eq11}1(11)
Type: Union(OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
limit( diracDelta(1) ,b=0)
fricas
Compiling function diracDelta with type PositiveInteger -> 
      Expression(Complex(Integer))

\label{eq12}0(12)
Type: Union(OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
limit( diracDelta(-1) ,b=0)
fricas
Compiling function diracDelta with type Integer -> Expression(
      Complex(Integer))

\label{eq13}0(13)
Type: Union(OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
limit( diracDelta(0) ,b=0)
fricas
Compiling function diracDelta with type NonNegativeInteger -> 
      Expression(Complex(Integer))

\label{eq14}+ \infty(14)
Type: Union(OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
test( diracDelta(x)=diracDelta(-x) )
fricas
Compiling function diracDelta with type Polynomial(Integer) -> 
      Expression(Complex(Integer))

\label{eq15} \mbox{\rm true} (15)
Type: Boolean
fricas
limit( diracDelta(x)^2 ,b=0)

\label{eq16}0(16)
Type: Union(OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
integrate(diracDelta(x),x=%minusInfinity..%plusInfinity,"noPole")

\label{eq17}1(17)
Type: Union(f1: OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
f(x)==x+c
Type: Void
fricas
integrate(f(x)*diracDelta(x),x=%minusInfinity..%plusInfinity,"noPole")
fricas
Compiling function f with type Variable(x) -> Polynomial(Integer)

\label{eq18}c(18)
Type: Union(f1: OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
integrate(f(x)*diracDelta(x-t),x=%minusInfinity..%plusInfinity,"noPole")

\label{eq19}t + c(19)
Type: Union(f1: OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
integrate(diracDelta(2*x),x=%minusInfinity..%plusInfinity,"noPole")

\label{eq20}1 \over 2(20)
Type: Union(f1: OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
--
limit( signum(x)*diracDelta(x) ,b=0)

\label{eq21}0(21)
Type: Union(OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
diracDelta(x^2)

\label{eq22}{{{b}^{2}}\ {\sqrt{{{x}^{4}}+{{b}^{2}}}}}\over{{2 \ {{x}^{8}}}+{4 \ {{b}^{2}}\ {{x}^{4}}}+{2 \ {{b}^{4}}}}(22)
Type: Expression(Complex(Integer))
fricas
limit(%,b=0)

\label{eq23}0(23)
Type: Union(OrderedCompletion?(Expression(Complex(Integer))),...)

Heaviside

fricas
realHeaviside:=integrate(diracDelta(a),a)::Expression Complex Integer
fricas
Compiling function diracDelta with type Variable(a) -> Expression(
      Complex(Integer))

\label{eq24}-{{{b}^{2}}\over{{2 \  a \ {\sqrt{{{b}^{2}}+{{a}^{2}}}}}-{2 \ {{b}^{2}}}-{2 \ {{a}^{2}}}}}(24)
Type: Expression(Complex(Integer))
fricas
heavisideStep(x)==eval(realHeaviside,a=x)
Type: Void
fricas
limit( heavisideStep(1), b=0)
fricas
Compiling function heavisideStep with type PositiveInteger -> 
      Expression(Complex(Integer))

\label{eq25}1(25)
Type: Union(OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
limit( heavisideStep(-1) ,b=0)
fricas
Compiling function heavisideStep with type Integer -> Expression(
      Complex(Integer))

\label{eq26}0(26)
Type: Union(OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
-- expected 1?
limit( heavisideStep(0) ,b=0)
fricas
Compiling function heavisideStep with type NonNegativeInteger -> 
      Expression(Complex(Integer))

\label{eq27}1 \over 2(27)
Type: Union(OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
limit( heavisideStep(x), x=0)
fricas
Compiling function heavisideStep with type Variable(x) -> Expression
      (Complex(Integer))

\label{eq28}1 \over 2(28)
Type: Union(OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
limit( heavisideStep(x) ,x=%plusInfinity)

\label{eq29}1(29)
Type: Union(OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
limit( heavisideStep(x) ,x=%minusInfinity)

\label{eq30}0(30)
Type: Union(OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
test(simplify((1+signum(x))/2 - heavisideStep(x)) = 0)

\label{eq31} \mbox{\rm true} (31)
Type: Boolean

Problems?

fricas
-- expected 1/abs(alpha)
integrate(diracDelta(alpha*x),x=%minusInfinity..%plusInfinity,"noPole")

\label{eq32}0(32)
Type: Union(f1: OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
-- expected x*abs(x)/2
integrate(abs(x),x)

\label{eq33}\int^{
\displaystyle
x}{{abs \left({\%C}\right)}\ {d \%C}}(33)
Type: Union(Expression(Integer),...)
fricas
eval(abs2sqrt(abs(a+%i*b)/2+abs(a-%i*b)/2),a=x)

\label{eq34}\sqrt{{{x}^{2}}+{{b}^{2}}}(34)
Type: Expression(Complex(Integer))
fricas
integrate(%,x)

\label{eq35}{\left(
\begin{array}{@{}l}
\displaystyle
{{\left({
\begin{array}{@{}l}
\displaystyle
-{2 \ {{b}^{2}}\  x \ {\sqrt{{{x}^{2}}+{{b}^{2}}}}}+ 
\
\
\displaystyle
{2 \ {{b}^{2}}\ {{x}^{2}}}+{{b}^{4}}
(35)
Type: Union(Expression(Complex(Integer)),...)
fricas
limit(%,b=0)

\label{eq36}-{{{x}^{2}}\over 2}(36)
Type: Union(OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
-- expected abs(x)
integrate(%signum,%z)

\label{eq37}\int^{
\displaystyle
\%z}{{\%C \over{abs \left({\%C}\right)}}\ {d \%C}}(37)
Type: Union(Expression(Integer),...)
fricas
integrate(signum(x),x)

\label{eq38}{-{x \ {\sqrt{{{x}^{2}}+{{b}^{2}}}}}+{{x}^{2}}+{{b}^{2}}}\over{{\sqrt{{{x}^{2}}+{{b}^{2}}}}- x}(38)
Type: Union(Expression(Complex(Integer)),...)
fricas
limit(%,b=0)

\label{eq39}- x(39)
Type: Union(OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
-- expected signum(x)/2
integrate(%diracDelta,%z)

\label{eq40}\int^{
\displaystyle
\%z}{{{{{abs \left({\%C}\right)}^{2}}-{{\%C}^{2}}}\over{2 \ {{abs \left({\%C}\right)}^{3}}}}\ {d \%C}}(40)
Type: Union(Expression(Integer),...)

Representing diracDelta as a series of bump functions

fricas
)lib GDRAW
GnuDraw is now explicitly exposed in frame initial GnuDraw will be automatically loaded when needed from /var/aw/var/LatexWiki/GDRAW.NRLIB/GDRAW X:=[(x/10)::DFLOAT for x in -100..100 by 2];
Type: List(DoubleFloat?)
fricas
Y:=[eval(diracDelta(x),b=1.0)::DFLOAT for x in X];
fricas
Compiling function diracDelta with type DoubleFloat -> Expression(
      Complex(DoubleFloat))
Type: List(DoubleFloat?)
fricas
gnuDraw(X,Y,"SandBoxDiracDelta1.dat")
Graph data being transmitted to the viewport manager... FriCAS2D data being transmitted to the viewport manager...
Type: Void


load "SandBoxDiracDelta1.dat"