Mathematica Laboratory

The Mathematica Assignment Fall 2017

There will be a short Mathematica workshop giving more details about the project on Thursday, November 16 at 3 PM in Hall C. The Mathematica project of Fall 2017 is available
Here
The lab is of creative nature as in previous years and be posted soon. Here are galleries from previous years:
Example Summer 2017, Example Summer 2016, Example Fall 2016 Example Fall 2015 Example Fall 2014 Example Fall 2013
  • The Mathematica program can be obtained here. During installation you will be prompted for an Activation Key. Students Faculty/Staff. Make sure to use your Harvard email address when registering. Contact me (knill@math.harvard.edu) if you plan to use Mathematica on a linux system.
  • Mathematica is started like any other application on Macintoshs or PC's. On Linux, just type "mathematica" in a terminal to start the notebook version, or "math" to start the terminal version.
  • Once Mathematica is running, copy paste any of the following lines into a cell, click with the mouse somewhere into the cell, then hold "Shift" and hit "Enter".
Some frequently used commands:

Plot[ x Sin[x],{x,-10,10}] Graph function of one variable
Plot3D[ Sin[x y],{x,-2,2},{y,-2,2}] Graph function of two variables
ParametricPlot[ {Cos[3 t],Sin[5 t]} ,{t,0,2Pi}] Plot planar curve
ParametricPlot3D[{Cos[t],Sin[t],t} ,{t,0,4Pi},AspectRatio->1] Plot space curve
ParametricPlot3D[{Cos[t] Sin[s],Sin[t] Sin[s],Cos[s]},{t,0,2Pi},{s,0,Pi}] Parametric Surface
SphericalPlot3D[(2+Sin[2 t] Sin[3 s]),{t,0,Pi},{s,0,2 Pi}] Spherical Plot
RevolutionPlot3D[{2 + Cos[t], t}, {t,0,2 Pi}] Revolution Plot
ContourPlot[Sin[x y],{x,-2,2},{y,-2,2} ] Contour lines (traces)
ContourPlot3D[x^2+2y^2-z^2,{x,-2,2},{y,-2,2},{z,-2,2}] Implicit surface
VectorPlot[{x-y,x+y},{x,-3,3},{y,-3,3}] Vectorfield plot
VectorPlot3D[{x-y,x+y,z},{x,-3,3},{y,-3,3},{z,0,1}] Vectorfield plot 3D
Integrate[x Sin[x], x] Integrate symbolically
Integrate[x y^2-z,{x,0,2},{y,0,x},{z,0,y}] 3D Integral
NIntegrate[Exp[-x^2],{x,0,10}] Integrate numerically
D[ Cos^5[x],x ] Differentiate symbolically
Series[Exp[x],{x,0,3} ] Taylor series
DSolve[ x''[t]==-x[t],x,t ] Solution to ODE
DSolve[{D[u[x,t],t]==D[u[x,t],x],u[x,0]==Sin[x]},u[x,t],{x,t}] Solution to PDE
Classify extrema:
ClassifyCriticalPoints[f_,{x_,y_}]:=Module[{X,P,H,g,d,S}, X={x,y};
P=Sort[Solve[Thread[D[f,#] & /@ X==0],X]]; H=Outer[D[f,#1,#2]&,X,X];g=H[[1,1]];d=Det[H];
S[d_,g_]:=If[d<0,"saddle",If[g>0,"minimum","maximum"]];
TableForm[{x,y,d,g,S[d,g],f} /.P,TableHeadings->{None,{x,y,"D","f_xx","Type","f"}}]]
ClassifyCriticalPoints[4 x y - x^3 y - x y^3,{x,y}]
Solve a Lagrange problem with 2 variables
F[x_,y_]:=2x^2+4 x y;     G[x_,y_]:=x^2 y;
Solve[{D[F[x,y],x]==L*D[G[x,y],x],D[F[x,y],y]==L*D[G[x,y],y],G[x,y]==1},{x,y,L}]
With 3 variables
F[x_,y_,z_]:=2x^2+4 x y+z;     G[x_,y_,z_]:=x^2 y + z;   c=1; 
Solve[{D[F[x,y,z],x]==L*D[G[x,y,z],x],
       D[F[x,y,z],y]==L*D[G[x,y,z],y],
       D[F[x,y,z],z]==L*D[G[x,y,z],z],
       G[x,y,z]==c},{x,y,z,L}]
With 3 variables and two constraints
F[x_,y_,z_]:=z;     G[x_,y_,z_]:=z^2-x^2-y^2;  H[x_,y_,z_]:=4x-3y+8z; c=0; d=5; 
Solve[{D[F[x,y,z],x]==L*D[G[x,y,z],x] + M D[H[x,y,z],x],
       D[F[x,y,z],y]==L*D[G[x,y,z],y] + M D[H[x,y,z],y],
       D[F[x,y,z],z]==L*D[G[x,y,z],z] + M D[H[x,y,z],z],
       G[x,y,z]==c,
       H[x,y,z]==d},
{x,y,z,L,M}]
Check that a function solves a PDE:
f[t_,x_]:=(x/t)*Sqrt[1/t]*Exp[-x^2/(4 t)]/(1+ Sqrt[1/t] Exp[-x^2/(4 t)]);
D[f[t,x],t]+f[t,x]*D[f[t,x],x]-D[f[t,x],{x,2}]
Simplify[%] Chop[%]
Solving a partial differential equation numerically Please use code from here. A partial differential equation (wave equation) with three variables:
A=Rectangle[{0,0},{1,1}]; Clear[t,x,y];
f[x_,y_]:=Sin[2 Pi x] Abs[Sin[3 Pi y]];
g[x_,y_]:=3 Sin[Pi x] Sin[Pi y];
U=NDSolveValue[{D[u[t,x,y],{t,2}]
 -Inactive[Laplacian][u[t,x,y],{x,y}]==0,
  u[0,x,y] == f[x,y],
  Derivative[1,0,0][u][0,x,y]==g[x,y],
  DirichletCondition[u[t,x,y] ==0,True]},
  u,{t, 0, 2 Pi}, {x,y} \[Element] A];
Plot3D[U[4,x,y],{x,0,1},{y,0,1}]