Introduction¶
The Nature of Mathematical Modeling (draft)¶
Background¶
- The original Cambridge University Press text
- issues with discipline-centric modeling
- survey with three goals
- introduce concepts
- implement examples
- provide pointers for further study
- Second edition not converging
- core concepts unchanged
- ongoing proliferation of tools and applications
- V2 replaces static text with dynamic notebooks
Applications¶
Projects based on the class have included:
- Data analytics
- Music synthesis
- Physics simulation
- Movie special effects
- Motion control systems
- Engineering design optimization
- Microelectronics signal processing
Questions¶
Questions to be answered:
- When should you use a:
- SVD?
- SVM?
- HMM?
- GMM?
- CWM?
- CNN?
- RNN?
- RBF?
- VAE?
- GAN?
- LLM?
- PINN?
- When should you apply:
- MD?
- DEM?
- MIPS?
- MPM?
- PDB?
- LBM?
- FEM?
- PCA?
- ICA?
- When should you employ:
- analytical methods?
- numerical methods?
- data-driven methods?
- How do you represent:
- beliefs?
- expectations?
- uncertainty?
- How do you search:
- with a model?
- without a model?
- How do you program:
- 2 cores?
- 2000 cores?
- 2000000 cores?
Types of Models¶
Spaces to be explored:
import matplotlib.pyplot as plt
pitch = 0.4
width = 7
height = 3
margin = 1
fig,ax = plt.subplots(figsize=(width,height))
ax.axis([0,width,0,height])
ax.set_axis_off()
def left_text(text,row):
ax.text(margin,height-row*pitch,text,
ha='right',va='center',
fontsize=0.5*pitch*72,color='black')
def right_text(text,row):
ax.text(width-margin,height-row*pitch,text,
ha='left',va='center',
fontsize=0.5*pitch*72,color='black')
def arrow(row):
ax.annotate('',xy=(1.15*margin,height-row*pitch),xytext=(width-2*margin,height-row*pitch),
arrowprops=dict(color='black',width=1.5,headwidth=8,headlength=14))
ax.annotate('',xy=(width-1.15*margin,height-row*pitch),xytext=(2*margin,height-row*pitch),
arrowprops=dict(color='black',width=1.5,headwidth=8,headlength=14))
def entry(left,right,row):
left_text(left,row)
right_text(right,row)
arrow(row)
entry('specific','general',1)
entry('estimation','derivation',2)
entry('numerical','analytical',3)
entry('stochastic','deterministic',4)
entry('microscopic','macroscopic',5)
entry('discrete','continuous',6)
entry('qualitative','quantitative',7)
plt.show()
Problems¶
- First edition problems statements are equivalent to large language model prompts
- V2 problems are more open-ended, requiring judgement and creativity
(c) Neil Gershenfeld 1/4/26