28
Comment:
|
← Revision 15 as of 2008-11-14 13:42:08 ⇥
4387
converted to 1.6 markup
|
Deletions are marked like this. | Additions are marked like this. |
Line 2: | Line 2: |
== First order DEs == === IVPs, Direction Fields, Isoclines === === Direction Fields, Autonomous DEs === === Separable DEs, Exact DEs, Linear 1st order DEs === === Numerical method: Euler (or Constant Slope) === === Applications (Growth/Cooling/Circuits/Falling body) === == Higher order DEs == === IVPs/General solutions, Basic theory === === Numerical methods for higher order DEs === === Constant coefficient case: Undetermined Coefficients === === Application: springs (free, damped, forced, pure resonance) === === Application: Electrical Circuits === == Laplace Transform (LT) methods == === Inverse Laplace & Derivatives === === 1st Translation Thrm === === Partial Fractions, completing the square === === Unit Step Functions === SAGE can define piecewise functions like $$x \ {\mapsto}\ \sin ( \frac{\pi \cdot x}{2} ) $$ on $(0, 1)$, $$x \ {\mapsto}\ 1 - ( x - 1 )^2 $$ on $(1, 3)$, $$x \ {\mapsto}\ -x $$ on $(3, 5)$, as follows: {{{ sage: f(x) = sin(x*pi/2) sage: g(x) = 1-(x-1)^2 sage: h(x) = -x sage: P = Piecewise([[(0,1), f], [(1,3),g], [(3,5), h]]) sage: latex(P) }}} However, at the moment only Laplace transforms of "piecewise polynomial" functions are implemented: {{{ sage: f(x) = x^2+1 sage: g(x) = 1-(x-1)^3 sage: P = Piecewise([[(0,1), f], [(1,3),g], [(3,5), h]]) sage: P.laplace(x,s) (s^3 - 6)*e^(-s)/s^4 - ((2*s^2 + 2*s + 2)*e^(-s)/s^3) + (7*s^3 + 12*s^2 + 12*s + 6)*e^(-3*s)/s^4 + (-3*s - 1)*e^(-3*s)/s^2 + (5*s + 1)*e^(-5*s)/s^2 + (s^2 + 2)/s^3 }}} === 2nd Translation Theorem === === Derivative thrms, Solving DEs === === Convolution theorem === You can find the convolution of any piecewise defined function with another (off the domain of definition, they are assumed to be zero). Here is $ f$ , $ f*f$ , and $ f*f*f$ , where $ f(x)=1$ , $ 0<x<1$ : {{{ sage: x = PolynomialRing(QQ, 'x').gen() sage: f = Piecewise([[(0,1),1*x^0]]) sage: g = f.convolution(f) sage: h = f.convolution(g) sage: P = f.plot(); Q = g.plot(rgbcolor=(1,1,0)); R = h.plot(rgbcolor=(0,1,1)) }}} The command show(P+Q+R) displays this: {{http://sage.math.washington.edu/home/wdj/art/convolutions.png}} Though SAGE doesn't simplify very well, you can see that the $LT(f*f)$ is equal to $LT(f)^2$: {{{ sage: f.laplace(x,s) 1/s - e^(-s)/s sage: g.laplace(x,s) -(s + 1)*e^(-s)/s^2 + (s - 1)*e^(-s)/s^2 + e^(-(2*s))/s^2 + 1/s^2 sage: (f.laplace(x,s)^2).expand() -2*e^(-s)/s^2 + e^(-(2*s))/s^2 + 1/s^2 }}} === Dirac Delta Function === === Application: Lanchester's equations === === Application: Electrical networks === == PDEs == === Separation of Variables === === Heat Equation., Fourier's solution === === Fourier Series === If $ f(x)$ is a piecewise-defined polynomial function on $ -L<x<L$ then the Fourier series $\displaystyle f(x) \sim \frac{a_0}{2} + \sum_{n=1}^\infty [a_n\cos(\frac{n\pi x}{L}) + b_n\sin(\frac{n\pi x}{L})], $ converges. In addition to computing the coefficients $ a_n,b_n$ , it will also compute the partial sums (as a string), plot the partial sums (as a function of $ x$ over $ (-L,L)$ , for comparison with the plot of $ f(x)$ itself), compute the value of the FS at a point, and similar computations for the cosine series (if $ f(x)$ is even) and the sine series (if $ f(x)$ is odd). Also, it will plot the partial F.S. Cesaro mean sums (a ``smoother" partial sum illustrating how the Gibbs phenomenon is mollified). {{{ sage: f1 = lambda x:-1 sage: f2 = lambda x:2 sage: f = Piecewise([[(0,pi/2),f1],[(pi/2,pi),f2]]) sage: f.fourier_series_cosine_coefficient(5,pi) -3/(5*pi) sage: f.fourier_series_sine_coefficient(2,pi) -3/pi sage: f.fourier_series_partial_sum(3,pi) -3*sin(2*x)/pi + sin(x)/pi - 3*cos(x)/pi + 1/4 }}} Plotting the partial sums is implemented: Typing `f.plot_fourier_series_partial_sum(15,pi,-5,5)` yields {{http://sage.math.washington.edu/home/wdj/art/fourier-partial-sum1.png}} and typing `f.plot_fourier_series_partial_sum_cesaro(15,pi,-5,5)` yields the much smoother version: {{http://sage.math.washington.edu/home/wdj/art/fourier-partial-sum2.png}} === Convergence, Dirichlet's theorem === === Fourier Sine Series, Fourier Cosine Series === === Heat Eqn. Ends at Zero === === Heat Eqn. Both Ends Insulated === |
Differential Equations
First order DEs
IVPs, Direction Fields, Isoclines
Direction Fields, Autonomous DEs
Separable DEs, Exact DEs, Linear 1st order DEs
Numerical method: Euler (or Constant Slope)
Applications (Growth/Cooling/Circuits/Falling body)
Higher order DEs
IVPs/General solutions, Basic theory
Numerical methods for higher order DEs
Constant coefficient case: Undetermined Coefficients
Application: springs (free, damped, forced, pure resonance)
Application: Electrical Circuits
Laplace Transform (LT) methods
Inverse Laplace & Derivatives
1st Translation Thrm
Partial Fractions, completing the square
Unit Step Functions
SAGE can define piecewise functions like
sage: f(x) = sin(x*pi/2) sage: g(x) = 1-(x-1)^2 sage: h(x) = -x sage: P = Piecewise([[(0,1), f], [(1,3),g], [(3,5), h]]) sage: latex(P)
However, at the moment only Laplace transforms of "piecewise polynomial" functions are implemented:
sage: f(x) = x^2+1 sage: g(x) = 1-(x-1)^3 sage: P = Piecewise([[(0,1), f], [(1,3),g], [(3,5), h]]) sage: P.laplace(x,s) (s^3 - 6)*e^(-s)/s^4 - ((2*s^2 + 2*s + 2)*e^(-s)/s^3) + (7*s^3 + 12*s^2 + 12*s + 6)*e^(-3*s)/s^4 + (-3*s - 1)*e^(-3*s)/s^2 + (5*s + 1)*e^(-5*s)/s^2 + (s^2 + 2)/s^3
2nd Translation Theorem
Derivative thrms, Solving DEs
Convolution theorem
You can find the convolution of any piecewise defined function with another (off the domain of definition, they are assumed to be zero). Here is f , f*f , and f*f*f , where f(x)=1 , 0<x<1 :
sage: x = PolynomialRing(QQ, 'x').gen() sage: f = Piecewise([[(0,1),1*x^0]]) sage: g = f.convolution(f) sage: h = f.convolution(g) sage: P = f.plot(); Q = g.plot(rgbcolor=(1,1,0)); R = h.plot(rgbcolor=(0,1,1))
The command show(P+Q+R) displays this:
Though SAGE doesn't simplify very well, you can see that the LT(f*f) is equal to LT(f)^2:
sage: f.laplace(x,s) 1/s - e^(-s)/s sage: g.laplace(x,s) -(s + 1)*e^(-s)/s^2 + (s - 1)*e^(-s)/s^2 + e^(-(2*s))/s^2 + 1/s^2 sage: (f.laplace(x,s)^2).expand() -2*e^(-s)/s^2 + e^(-(2*s))/s^2 + 1/s^2
Dirac Delta Function
Application: Lanchester's equations
Application: Electrical networks
PDEs
Separation of Variables
Heat Equation., Fourier's solution
Fourier Series
If f(x) is a piecewise-defined polynomial function on -L<x<L then the Fourier series
\displaystyle f(x) \sim \frac{a_0}{2} + \sum_{n=1}^\infty [a_n\cos(\frac{n\pi x}{L}) + b_n\sin(\frac{n\pi x}{L})],
converges. In addition to computing the coefficients a_n,b_n , it will also compute the partial sums (as a string), plot the partial sums (as a function of x over (-L,L) , for comparison with the plot of f(x) itself), compute the value of the FS at a point, and similar computations for the cosine series (if f(x) is even) and the sine series (if f(x) is odd). Also, it will plot the partial F.S. Cesaro mean sums (a smoother" partial sum illustrating how the Gibbs phenomenon is mollified).
sage: f1 = lambda x:-1 sage: f2 = lambda x:2 sage: f = Piecewise([[(0,pi/2),f1],[(pi/2,pi),f2]]) sage: f.fourier_series_cosine_coefficient(5,pi) -3/(5*pi) sage: f.fourier_series_sine_coefficient(2,pi) -3/pi sage: f.fourier_series_partial_sum(3,pi) -3*sin(2*x)/pi + sin(x)/pi - 3*cos(x)/pi + 1/4
Plotting the partial sums is implemented: Typing f.plot_fourier_series_partial_sum(15,pi,-5,5) yields
and typing f.plot_fourier_series_partial_sum_cesaro(15,pi,-5,5) yields the much smoother version:
Convergence, Dirichlet's theorem
Fourier Sine Series, Fourier Cosine Series
Heat Eqn. Ends at Zero