1/23
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
vector addition

vector subtraction

scaling / scale-vector multipliction

Vector "dot product"
** will be asked about
turns vectors into a scalar

well defined operation
vectors are the same size
max(x)
value of biggest element in a vector, matrix, or tensor
argmax(x)
which element is the biggest? element 1? element 2? in a vector, matrix, or tensor
Mathematical Universe Hypothesis
The physical universe is not merely described by mathematics, but is mathematics
→ coding allows us to model the universe
Python
Founded in 1991 by Guido van Rossum at Centrum Wiskunde & Informatica, Netherlands
Python 2.0 09/16/00, Python 3.0 12/03/08
Used a lot bc:
FREE!!!
Versatile
Portable
High-level
Easy-to-use
Interpreted → makes Python kinda slow… BUT libraries available to translate Python code
Dynamically typed
Object-oriented and procedural
Extensive libraries
Rapid development cycle Interfaces well with other languages
One of Google's "official languages"
Extremely widely used in scientific computing
why python > others?
Python is becoming a de facto standard for scientific and numerical computing in academia and industry MATLAB is a powerful tool that is a good alternative to Python but is slow and less widely used in the community Java is a good language for building apps, but is not well suited to numerical or scientific computing C/C++ is the best choice for high-performance scientific software but are more involved and prototyping is slow
Python Libraries

NumPy
SciPy
matplotlib
plotting
SymPy
calculus
pandas
used for data analysis of csv or excel file
scikit-learn
PyTorch, Keras, TensorFlow
neural networks
Django
share code + get other ppl to edit
Cython
compile python code so it can run as fast as if written in C or C++
Numba
translates Python to machine code using industry standard LLVM library
numerical accuracy
Numbers on computers cannot be infinitely large or small or specified to infinite accuracy
IEEE 754 standard upon which Python is built stipulates:
largest float = 21024 = 1.79769×10308
smallest float = 2-1022 = 2.22507×10-308
exceeding these limits results in overflow / underflow
Integers have arbitrarily high precision (up to memory limit)
Numerical speed
modern computers are not infinitely fast
Important to have estimates of computational cost and complexity (i.e., scaling with problem size) of an algorithm → tells us if we need new algorithm or if problem is too big
For hard problems we typically must balance trade-off between speed vs. accuracy