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

Edit detail for SandBoxDiracDelta revision 34 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/19 01:07:54 GMT+0
Note: Unit Doublet

changed:
-in the limit where the imaginary part goes to 0. Signum (sign) and
-Dirac delta arise from derivative of the absolute value.
in the limit where the imaginary part goes to 0. Signum (sign), delta
and doublet functions arise from "distributional" derivative of the
absolute value.

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

changed:
-D(abz(a),a)
test(realSignum=D(abz(a),a))

changed:
-D(abz(a),[a,a])
test(realDirac=D(abz(a),[a,a]))

changed:
-realDirac2:=eval(eval(abs''',z=a+%i*b),[conjugate(a)=a,conjugate(b)=b])
-D(abz(a),[a,a,a])
-diracDelta2(x)==eval(-realDirac2/2,a=x); diracDelta2(x)
realUnitDoublet:=eval(eval(abs''',z=a+%i*b),[conjugate(a)=a,conjugate(b)=b])
test(realUnitDoublet=D(abz(a),[a,a,a]))
unitDoublet(x)==eval(-realUnitDoublet/2,a=x); unitDoublet(x)

added:

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


changed:
-What comes after diracDelta?
The Unit Doublet function comes after diracDelta

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


changed:
-test(diracDelta2(x)=3*diracDelta(x)*signum(x)/abz(x))
-limit( diracDelta2(1) ,b=0)
-limit( diracDelta2(-1) ,b=0)
-limit( diracDelta2(0) ,b=0)
test(unitDoublet(x)=3*diracDelta(x)*signum(x)/abz(x))
limit( unitDoublet(1) ,b=0)
limit( unitDoublet(-1) ,b=0)
limit( unitDoublet(0) ,b=0)

changed:
-test( diracDelta2(x)=-diracDelta2(-x) )
-limit( diracDelta2(x)^2 ,b=0)
-integrate(diracDelta2(x),x=%minusInfinity..%plusInfinity,"noPole")
test( unitDoublet(x)=-unitDoublet(-x) )
limit( unitDoublet(x)^2 ,b=0)
integrate(unitDoublet(x),x=%minusInfinity..%plusInfinity,"noPole")

changed:
-integrate(f(x)*diracDelta2(x),x=%minusInfinity..%plusInfinity,"noPole")
-integrate(f(x)*diracDelta2(x-t),x=%minusInfinity..%plusInfinity,"noPole")
-integrate(diracDelta2(2*x),x=%minusInfinity..%plusInfinity,"noPole")
integrate(f(x)*unitDoublet(x),x=%minusInfinity..%plusInfinity,"noPole")
integrate(f(x)*unitDoublet(x-t),x=%minusInfinity..%plusInfinity,"noPole")
integrate(unitDoublet(2*x),x=%minusInfinity..%plusInfinity,"noPole")

changed:
-integrate(f(x)*diracDelta2(x),x=%minusInfinity..%plusInfinity,"noPole")
-integrate(exp(x)*diracDelta2(x),x=%minusInfinity..%plusInfinity,"noPole")
-integrate(log(x)*diracDelta2(x),x=%minusInfinity..%plusInfinity,"noPole")
integrate(f(x)*unitDoublet(x),x=%minusInfinity..%plusInfinity,"noPole")

changed:
-limit( signum(x)*diracDelta2(x) ,b=0)
-limit( diracDelta(x)*diracDelta2(x) ,b=0)
-diracDelta2(x^2)
limit( signum(x)*unitDoublet(x) ,b=0)
limit( diracDelta(x)*unitDoublet(x) ,b=0)
unitDoublet(x^2)

changed:
--- expected 1/abs(alpha)
-integrate(diracDelta(alpha*x),x=%minusInfinity..%plusInfinity,"noPole")
-- expected 1/abs(c)
integrate(diracDelta(c*x),x=%minusInfinity..%plusInfinity,"noPole")
-- expected exp(x)
integrate(exp(x)*unitDoublet(x),x=%minusInfinity..%plusInfinity,"noPole")
-- expected 1/x
integrate(log(x)*unitDoublet(x),x=%minusInfinity..%plusInfinity,"noPole")

changed:
-eval(abs2sqrt(abs(a+%i*b)/2+abs(a-%i*b)/2),a=x)
-integrate(%,x)
integrate(abz(x),x)

changed:
-integrate(%signum,%z)
integrate(abs',%z)

changed:
-integrate(%diracDelta,%z)
integrate(abs'',%z)

changed:
-Y:=[eval(diracDelta2(x),b=1.0)::DFLOAT for x in X];
Y:=[eval(unitDoublet(x),b=1.0)::DFLOAT for x in X];

Distributions

We represent distributions as the real part of a complex function in the limit where the imaginary part goes to 0. Signum (sign), delta and doublet functions arise from "distributional" derivative of the absolute value.

Ref.

Use definition of conjugate and derivative of abs(x) from SandBoxFunctionalSpecialFunction?

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 wirtingerD(ex,z) == eval(D(eval(ex,z=%conjugate),%conjugate),%conjugate=z)
Type: Void
fricas
abs(z)==sqrt(z*conjugate(z)); abs(z)
fricas
Compiling function abs with type Variable(z) -> Expression(Integer)

\label{eq1}\sqrt{z \ {\overline z}}(1)
Type: Expression(Integer)

Or as a function of real variables

fricas
abz(a)==sqrt((a+%i*b)*(a-%i*b)); abz(x)
fricas
Compiling function abz with type Variable(x) -> Expression(Complex(
      Integer))

\label{eq2}\sqrt{{{x}^{2}}+{{b}^{2}}}(2)
Type: Expression(Complex(Integer))

Total Wirtinger derivative of complex variables (CR-calculus)

fricas
abs':=wirtingerD(abs(z),z)+wirtingerD(abs(z),conjugate z)
fricas
Compiling function wirtingerD with type (Expression(Integer),
      Variable(z)) -> Expression(Integer)
fricas
Compiling function wirtingerD with type (Expression(Integer),
      Expression(Integer)) -> Expression(Integer)

\label{eq3}{{\overline z}+ z}\over{2 \ {\sqrt{z \ {\overline z}}}}(3)
Type: Expression(Integer)
fricas
abs'':=wirtingerD(abs',z)+wirtingerD(abs',conjugate z)

\label{eq4}{-{{\overline z}^{2}}+{2 \  z \ {\overline z}}-{{z}^{2}}}\over{4 \  z \ {\overline z}\ {\sqrt{z \ {\overline z}}}}(4)
Type: Expression(Integer)
fricas
abs''':=wirtingerD(abs'',z)+wirtingerD(abs'',conjugate z)

\label{eq5}{{3 \ {{\overline z}^{3}}}-{3 \  z \ {{\overline z}^{2}}}-{3 \ {{z}^{2}}\ {\overline z}}+{3 \ {{z}^{3}}}}\over{8 \ {{z}^{2}}\ {{\overline z}^{2}}\ {\sqrt{z \ {\overline z}}}}(5)
Type: Expression(Integer)

Consider a complex function of x + i b for real x and with b \to 0.

fricas
realSignum:=eval(eval(abs',z=a+%i*b),[conjugate(a)=a,conjugate(b)=b])

\label{eq6}a \over{\sqrt{{{b}^{2}}+{{a}^{2}}}}(6)
Type: Expression(Complex(Integer))
fricas
test(realSignum=D(abz(a),a))
fricas
Compiling function abz with type Variable(a) -> Expression(Complex(
      Integer))

\label{eq7} \mbox{\rm true} (7)
Type: Boolean
fricas
signum(x)==eval(realSignum,a=x); signum(x)
fricas
Compiling function signum with type Variable(x) -> Expression(
      Complex(Integer))

\label{eq8}x \over{\sqrt{{{x}^{2}}+{{b}^{2}}}}(8)
Type: Expression(Complex(Integer))
fricas
--
realDirac:=eval(eval(abs'',z=a+%i*b),[conjugate(a)=a,conjugate(b)=b])

\label{eq9}{{b}^{2}}\over{{\left({{b}^{2}}+{{a}^{2}}\right)}\ {\sqrt{{{b}^{2}}+{{a}^{2}}}}}(9)
Type: Expression(Complex(Integer))
fricas
test(realDirac=D(abz(a),[a,a]))

\label{eq10} \mbox{\rm true} (10)
Type: Boolean
fricas
diracDelta(x)==eval(realDirac/2,a=x); diracDelta(x)
fricas
Compiling function diracDelta with type Variable(x) -> Expression(
      Complex(Integer))

\label{eq11}{{b}^{2}}\over{{\left({2 \ {{x}^{2}}}+{2 \ {{b}^{2}}}\right)}\ {\sqrt{{{x}^{2}}+{{b}^{2}}}}}(11)
Type: Expression(Complex(Integer))
fricas
--
realUnitDoublet:=eval(eval(abs''',z=a+%i*b),[conjugate(a)=a,conjugate(b)=b])

\label{eq12}-{{3 \  a \ {{b}^{2}}}\over{{\left({{b}^{4}}+{2 \ {{a}^{2}}\ {{b}^{2}}}+{{a}^{4}}\right)}\ {\sqrt{{{b}^{2}}+{{a}^{2}}}}}}(12)
Type: Expression(Complex(Integer))
fricas
test(realUnitDoublet=D(abz(a),[a,a,a]))

\label{eq13} \mbox{\rm true} (13)
Type: Boolean
fricas
unitDoublet(x)==eval(-realUnitDoublet/2,a=x); unitDoublet(x)
fricas
Compiling function unitDoublet with type Variable(x) -> Expression(
      Complex(Integer))

\label{eq14}{3 \ {{b}^{2}}\  x}\over{{\left({2 \ {{x}^{4}}}+{4 \ {{b}^{2}}\ {{x}^{2}}}+{2 \ {{b}^{4}}}\right)}\ {\sqrt{{{x}^{2}}+{{b}^{2}}}}}(14)
Type: Expression(Complex(Integer))

signum Properties

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

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

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

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

\label{eq18}1(18)
Type: Union(OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
-- odd function
test( signum(x)=-signum(-x))
fricas
Compiling function signum with type Polynomial(Integer) -> 
      Expression(Complex(Integer))

\label{eq19} \mbox{\rm true} (19)
Type: Boolean

diracDelta Properties

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

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

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

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

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

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

\label{eq25}1(25)
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{eq26}c(26)
Type: Union(f1: OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
integrate(f(x)*diracDelta(x-t),x=%minusInfinity..%plusInfinity,"noPole")

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

\label{eq28}1 \over 2(28)
Type: Union(f1: OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
integrate(exp(x)*diracDelta(x),x=%minusInfinity..%plusInfinity,"noPole")

\label{eq29}\mbox{\tt "failed"}(29)
Type: Union(fail: failed,...)
fricas
integrate(log(x)*diracDelta(x),x=%minusInfinity..%plusInfinity,"noPole")

\label{eq30}{{\log \left({{{b}^{4}}\over 4}\right)}-{\log \left({4}\right)}}\over 4(30)
Type: Union(f1: OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
limit( %, b=0)

\label{eq31}- \infty(31)
Type: Union(OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
--
limit( signum(x)*diracDelta(x) ,b=0)

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

\label{eq33}{{b}^{2}}\over{{\left({2 \ {{x}^{4}}}+{2 \ {{b}^{2}}}\right)}\ {\sqrt{{{x}^{4}}+{{b}^{2}}}}}(33)
Type: Expression(Complex(Integer))
fricas
limit(%,b=0)

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

The Unit Doublet function comes after diracDelta

fricas
test(unitDoublet(x)=3*diracDelta(x)*signum(x)/abz(x))

\label{eq35} \mbox{\rm true} (35)
Type: Boolean
fricas
limit( unitDoublet(1) ,b=0)
fricas
Compiling function unitDoublet with type PositiveInteger -> 
      Expression(Complex(Integer))

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

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

\label{eq38}0(38)
Type: Union(OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
-- odd function
test( unitDoublet(x)=-unitDoublet(-x) )
fricas
Compiling function unitDoublet with type Polynomial(Integer) -> 
      Expression(Complex(Integer))

\label{eq39} \mbox{\rm true} (39)
Type: Boolean
fricas
limit( unitDoublet(x)^2 ,b=0)

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

\label{eq41}0(41)
Type: Union(f1: OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
f(x)==x+c
Compiled code for f has been cleared. 1 old definition(s) deleted for function or rule f
Type: Void
fricas
integrate(f(x)*unitDoublet(x),x=%minusInfinity..%plusInfinity,"noPole")
fricas
Compiling function f with type Variable(x) -> Polynomial(Integer)

\label{eq42}1(42)
Type: Union(f1: OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
integrate(f(x)*unitDoublet(x-t),x=%minusInfinity..%plusInfinity,"noPole")

\label{eq43}1(43)
Type: Union(f1: OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
integrate(unitDoublet(2*x),x=%minusInfinity..%plusInfinity,"noPole")

\label{eq44}0(44)
Type: Union(f1: OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
f(x)==c*x
Compiled code for f has been cleared. 1 old definition(s) deleted for function or rule f
Type: Void
fricas
integrate(f(x)*unitDoublet(x),x=%minusInfinity..%plusInfinity,"noPole")
fricas
Compiling function f with type Variable(x) -> Polynomial(Integer)

\label{eq45}c(45)
Type: Union(f1: OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
--
limit( signum(x)*unitDoublet(x) ,b=0)

\label{eq46}0(46)
Type: Union(OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
limit( diracDelta(x)*unitDoublet(x) ,b=0)

\label{eq47}0(47)
Type: Union(OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
unitDoublet(x^2)

\label{eq48}{3 \ {{b}^{2}}\ {{x}^{2}}}\over{{\left({2 \ {{x}^{8}}}+{4 \ {{b}^{2}}\ {{x}^{4}}}+{2 \ {{b}^{4}}}\right)}\ {\sqrt{{{x}^{4}}+{{b}^{2}}}}}(48)
Type: Expression(Complex(Integer))
fricas
limit(%,b=0)

\label{eq49}0(49)
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{eq50}-{{{b}^{2}}\over{{2 \  a \ {\sqrt{{{b}^{2}}+{{a}^{2}}}}}-{2 \ {{b}^{2}}}-{2 \ {{a}^{2}}}}}(50)
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{eq51}1(51)
Type: Union(OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
limit( heavisideStep(-1) ,b=0)
fricas
Compiling function heavisideStep with type Integer -> Expression(
      Complex(Integer))

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

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

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

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

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

\label{eq57} \mbox{\rm true} (57)
Type: Boolean
fricas
test(limit( integrate(heavisideStep(t),t=%minusInfinity..x, "noPole") - x*heavisideStep(x), b=0) =0)
fricas
Compiling function heavisideStep with type Variable(t) -> Expression
      (Complex(Integer))

\label{eq58} \mbox{\rm true} (58)
Type: Boolean

Problems?

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

\label{eq59}0(59)
Type: Union(f1: OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
-- expected exp(x)
integrate(exp(x)*unitDoublet(x),x=%minusInfinity..%plusInfinity,"noPole")

\label{eq60}\mbox{\tt "failed"}(60)
Type: Union(fail: failed,...)
fricas
-- expected 1/x
integrate(log(x)*unitDoublet(x),x=%minusInfinity..%plusInfinity,"noPole")

\label{eq61}0(61)
Type: Union(f1: OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
-- expected x*abs(x)/2
integrate(abs(x),x)
fricas
Compiling function abs with type Variable(x) -> Expression(Integer)

\label{eq62}\int^{
\displaystyle
x}{{\sqrt{\%A \ {\overline \%A}}}\ {d \%A}}(62)
Type: Union(Expression(Integer),...)
fricas
integrate(abz(x),x)

\label{eq63}{\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}}
(63)
Type: Union(Expression(Complex(Integer)),...)
fricas
limit(%,b=0)

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

\label{eq65}{{\%z \ {\overline z}}+{\%z \  z}}\over{2 \ {\sqrt{z \ {\overline z}}}}(65)
Type: Union(Expression(Integer),...)
fricas
integrate(signum(x),x)

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

\label{eq67}- x(67)
Type: Union(OrderedCompletion?(Expression(Complex(Integer))),...)
fricas
-- expected signum(x)/2
integrate(abs'',%z)

\label{eq68}{-{\%z \ {{\overline z}^{2}}}+{2 \  \%z \  z \ {\overline z}}-{\%z \ {{z}^{2}}}}\over{4 \  z \ {\overline z}\ {\sqrt{z \ {\overline z}}}}(68)
Type: Union(Expression(Integer),...)
fricas
integrate(diracDelta(x^2+y^2), x=%minusInfinity..%plusInfinity, "noPole")

\label{eq69}\mbox{\tt "failed"}(69)
Type: Union(fail: failed,...)

Convolution

fricas
g(x)==eval((abs(a+%i*b)/2+abs(a-%i*b)/2),a=x)/2
Type: Void
fricas
g(y)
fricas
Compiling function abs with type Polynomial(Complex(Integer)) -> 
      Expression(Complex(Integer))
fricas
Compiling function g with type Variable(y) -> Expression(Complex(
      Integer))

\label{eq70}{{\sqrt{{{\left(y +{i \  b}\right)}\ {\overline y}}+{{\left(-{i \  y}+ b \right)}\ {\overline b}}}}+{\sqrt{{{\left(y -{i \  b}\right)}\ {\overline y}}+{{\left({i \  y}+ b \right)}\ {\overline b}}}}}\over 4(70)
Type: Expression(Complex(Integer))
fricas
h(x)==heavisideStep(x+1/2)-heavisideStep(x-1/2)
Type: Void
fricas
h(x)
fricas
Compiling function heavisideStep with type Polynomial(Fraction(
      Integer)) -> Expression(Complex(Integer))
fricas
Compiling function h with type Variable(x) -> Expression(Complex(
      Integer))

\label{eq71}{\left(
\begin{array}{@{}l}
\displaystyle
{{\left({4 \ {{b}^{2}}\  x}+{2 \ {{b}^{2}}}\right)}\ {\sqrt{{4 \ {{x}^{2}}}+{4 \  x}+{4 \ {{b}^{2}}}+ 1}}}+ 
\
\
\displaystyle
{{\left(-{4 \ {{b}^{2}}\  x}+{2 \ {{b}^{2}}}\right)}\ {\sqrt{{4 \ {{x}^{2}}}-{4 \  x}+{4 \ {{b}^{2}}}+ 1}}}-{{16}\ {{b}^{2}}\  x}
(71)
Type: Expression(Complex(Integer))
fricas
conv:=integrate(h(x-y)*g(y),y=%minusInfinity..%plusInfinity,"noPole")
fricas
Compiling function h with type Polynomial(Integer) -> Expression(
      Complex(Integer))

\label{eq72}\mbox{\tt "failed"}(72)
Type: Union(fail: failed,...)

Representing a distribution 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 1];
Type: List(DoubleFloat?)
fricas
Y:=[eval(unitDoublet(x),b=1.0)::DFLOAT for x in X];
fricas
Compiling function unitDoublet with type DoubleFloat -> Expression(
      Complex(DoubleFloat))
Type: List(DoubleFloat?)
fricas
gnuDraw(X,Y,"SandBoxDiracDeltaX2.dat")
Graph data being transmitted to the viewport manager... FriCAS2D data being transmitted to the viewport manager...
Type: Void

[terminal=pslatex,terminaloptions=color,scale=1.3]
load "SandBoxDiracDeltaX2.dat"