Tehtävä 1

Annettu differentiaaliyhtälö on lineaarinen ja homogeeninen. Talletetaan se:

Input := 

dyht= (1 - 2 x)y''[x] + 2 y'[x] + (2 x - 3)y[x] == 0
Output =

(-3 + 2 x) y[x] + 2 y'[x] + (1 - 2 x) y''[x] == 0

Yritetään ratkaista:

Input := 

ylrtk1= DSolve[dyht,y[x],x]
Output =

DSolve[(-3 + 2 x) y[x] + 2 y'[x] + (1 - 2 x) y''[x] == 
 
  0, y[x], x]

Koska ei onnistu, ladataan differentiaaliyhtälöiden lisäpaketti:

Input := 

Needs["Calculus`DSolve`"]

Ja uusi yritys, jolloin ratkaisu onnistuu, mutta tulos näyttää aika
monimutkaiselta:

Input := 

ylrtk2= DSolve[dyht,y[x],x]
Output =

             1/2 - x
            E        x Sqrt[-1 + 2 x] C[1]
{{y[x] -> -(------------------------------) + 
                Sqrt[2] Sqrt[1 - 2 x]
 
     -(1/2) - x                 2 x
    E           Sqrt[1 - 2 x] (E    - 2 E x) C[2]
    ---------------------------------------------}}
               Sqrt[2] Sqrt[-1 + 2 x]

Yritetään ratkaista perinteisillä käsinlaskumenetelmillä.
Eksponenttifunktio näyttää olevan ratkaisu:

Input := 

dyht/.y->Exp//Simplify
Output =

True

Toinen lineaarisesti riippumaton ratkaisu saadaan sopivalla yritteellä:

Input := 

yrite= u[x] Exp[x]
Output =

 x
E  u[x]

Sijoitus yhtälöön ja apufunktion ratkaisu:

Input := 

dyht1= dyht/.y->Function[x,Evaluate[yrite]]//Simplify
Output =

 x
E  (4 u'[x] - 4 x u'[x] + u''[x] - 2 x u''[x]) == 0
Input := 

apurtk= DSolve[dyht1,u[x],x]
Output =

          x C[1]
{{u[x] -> ------ + C[2]}}
            2 x
           E
Input := 

sij= First[apurtk]/.{C[1]->1,C[2]->0}
Output =

          x
{u[x] -> ----}
          2 x
         E

Yleinen ratkaisu:

Input := 

ylrtk2= C[1] Exp[x] + C[2] Exp[x] u[x]/.sij
Output =

 x        x C[2]
E  C[1] + ------
             x
            E

Pohdittavaksi jääköön, onko tämä sama kuin edellä suoraan DSolve-funktiolla saatu.

Hävitetään luodut muuttujat:

Input := 

Remove["Global`*"]

Tehtävä 2

Asiat löytyvät helpoimmin luennoista tai kirjoista.

Tehtävä 3

Funtkion määrittely ja muuttujalista:

Input := 

f[x_,y_,z_]:= Exp[x y + y z + z x]
Input := 

muuttujat= {x,y,z}
Output =

{x, y, z}

Ensimmäisen ja toisen kertaluvun osittaisderivaatat:

Input := 

grad= Table[D[f[x,y,z],muuttujat[[k]]],{k,1,3}]
Output =

  x y + x z + y z           x y + x z + y z
{E                (y + z), E                (x + z), 
 
  x y + x z + y z
 E                (x + y)}
Input := 

hesse= Table[D[f[x,y,z],muuttujat[[k]],
muuttujat[[j]]],{k,1,3},{j,1,3}]
Output =

   x y + x z + y z        2
{{E                (y + z) , 
 
   x y + x z + y z    x y + x z + y z
  E                + E                (x + z) (y + z), 
 
   x y + x z + y z    x y + x z + y z
  E                + E                (x + y) (y + z)}, 
 
   x y + x z + y z    x y + x z + y z
 {E                + E                (x + z) (y + z), 
 
   x y + x z + y z        2
  E                (x + z) , 
 
   x y + x z + y z    x y + x z + y z
  E                + E                (x + y) (x + z)}, 
 
   x y + x z + y z    x y + x z + y z
 {E                + E                (x + y) (y + z), 
 
   x y + x z + y z    x y + x z + y z
  E                + E                (x + y) (x + z), 
 
   x y + x z + y z        2
  E                (x + y) }}

Näiden arvot origossa:

Input := 

grad0= grad/.{x->0,y->0,z->0}
Output =

{0, 0, 0}
Input := 

hesse0= hesse/.{x->0,y->0,z->0}
Output =

{{0, 1, 1}, {1, 0, 1}, {1, 1, 0}}

Taylorin polynomi:

Input := 

taylor= f[0,0,0] + grad0.muuttujat +
(1/2) muuttujat.hesse0.muuttujat//Expand
Output =

1 + x y + x z + y z

Origossa muodostettu Hessen matriisi matriisimuodossa:

Input := 

hesse0//MatrixForm
Output =

0   1   1

1   0   1

1   1   0
Input := 

Remove["Global`*"]

Tehtävä 4

Ladataan aluksi lisäpaketti, joka mm. sisältää pallokoordinaatteja koskevia apufunktioita:

Input := 

Needs["Calculus`VectorAnalysis`"]
Input := 

dv= JacobianDeterminant[Spherical]
Output =

 2
r  Sin[theta]

Tilavuus voidaan laskea yhdellä integrointikäskyllä:

Input := 

vol= Integrate[dv,{theta,0,Pi},{phi,0,2 Pi},
{r,0,Sin[theta] Sin[phi/2]}]
Output =

Pi
--
3
Input := 

Remove["Global`*"]

Tehtävä 5

Stokesin lause löytyy luennoista ja kirjoista.

Vektorikentän määrittely:

Input := 

u[x_,y_,z_]:= {z,x,y}

Ja sen roottori (Curl ladatusta vektorianalyysipaketista):

Input := 

rot= Curl[u[x,y,z]]
Output =

{1, 1, 1}

Pinnan määrittely ja pintaintegraalin laskemisessa tarvittava normaalivektori:

Input := 

pinta= {x,y,x y}
Output =

{x, y, x y}
Input := 

p= CrossProduct[D[pinta,x],D[pinta,y]]
Output =

{-y, -x, 1}

Käyräintegraalin laskeminen Stokesin lauseen mukaisesti pintaintegraalina:

Input := 

int= Integrate[rot.p,{x,-1,1},{y,-1,1}]
Output =

4
Input := 

Remove["Global`*"]

Tehtävä 6

Ladataan jälleen lisäpaketti:

Input := 

Needs["Algebra`SymbolicSum`"]

Ensimmäinen summa saadaan helposti:

Input := 

sum1= Sum[Exp[-k x],{k,0,Infinity}]

Vastaus ei kyllä anna mitään viitteitä siitä, millä arvoilla x sarja suppenee.
Kyseessä on kuitenkin geometrinen sarja ja se suppenee, jos x > 0.

Output =

   x
  E
-------
      x
-1 + E

Toinen sarja vastaavasti, mutta nyt Mathematica väittääkin sen hajaantuvan.
Näin onkin arvoilla x<=0, mutta arvoilla x > 0 sarja suppenee. Tasaiseen suppenevuuteen perustuvat tarkastelut osoittavat, että se saadaan derivoimalla edellinen sarja ja muuttamalla merkki:

Input := 

sum2= Sum[k Exp[-k x],{k,0,Infinity}]
Output =

ComplexInfinity
Input := 

sum2= -D[sum1,x]//Together
Output =

     x
    E
----------
       x 2
(-1 + E )

Lopuksi:

Mitä kaikkiaan voisi sanoa?
Tehtäviä voi ratkaista Mathematicallakin, vaikka se ei käytännössä tenttitilaisuudessa olekaan mahdollista. Ratkaiseminen kuitenkin edellyttää kohtalaisen paljon tietämystä. DWIM (Do What I Mean) -tietokonetta ei ole ja tuskin tuleekaan.

SKK 6.11.1996