Felsőbb Mathematica

Oktató: Dr. Karsai János, egyetemi docens

Feltétel: bevezető Mathematica kurzus teljesítése (pl. Számítógéppel segített matematikai modellezés)

Óraszám: heti 2 óra számítógépes tanteremben

Értékelés: A hallgatók 3 db komplex projektet készítenek kis csoportokban. Ezek értékelése adja a végső osztályzatot.


Preliminary program:

Summary of basic concepts of the language of Mathematica

­Structures, types, Head, Head operations,
Lists in more details, Sequences
Value setting, rules (immediate and delayed),
Patterns, type check in rules and functions
functions vs. expressions; pure form of functions in more details
Piecewise or conditional definition of functions, recursions
Formula manipulations, logic
summary of graphics structures
Elements of dynamic manipulations

List programming

­Rule-based programming
Structure operations on lists: Map, Apply, Thread, Fold, ...
Rotating lists, and applications to problems in geometry and numerical algorithms

Operations over functions

Example: Derivative and D
Operations: InverseFunction, Composition, Operate, Through,..
Special function objects: Function, InterpolatingFunction, BooleanFunction, Transformations,....

Iteration, nesting

­Recursion vs. iterations
Iterations, fixed points of mappings
Numerical applications: Newton iteration,  gradient method, Euler method to solve ODE’s, etc,

Graphics programming structures and operations

­Graphics and Graphics3D, GraphicsComplex
How the built-in plots work
Applications of structure and rule-based programming to graphics objects:
Some advanced applications to scientific and engineering visualizations: functions, vector fields and scalar fields
Iterative forms, fractal constructions, Generating trees, Sierpinsky triangles, the midpoint rule

Dynamic manipulations

­Dynamic variables, dynamic operations
Control objects, gauges
Developing dynamic demonstrations

Programming paradigms in Mathematica: a systematic overview

­Procedural programming
Functional programming
Rule-based programming

Applications to difference systems

­Solving, visualizations
cobweb diagram, bifurcation diagram
Special tools in difference calculus
Discretization of ODE’s, PDE's

Advanced applications to differential  equations

­ODE summary, simple tools to solve and visualize ODE’s
Method of linearization
The phasemap and Ljapunov’s methods: a visual approach
Differential systems with impulse effect
Poincare maps

Elementary data handling, statistics (optional)

­Experimental data, plotting data, data transformations
Curve fitting
Parameter fitting of differential equations
The "ModelFit" objects

Additional topics

Notebook design

Advanced notebook operations: options, option inspector
Stylesheet design, automatic numbering, hyperlinks, ...
Export, import: HTML, XML, MathML,  TeX

Writing packages

­Package design, a general overview
Structure-based functional programming
Using variable names as parameters
Handling options