<jupyter_start><jupyter_text>![image.png](attachment:image.png)  Short Jupyter Notebook IntroAlso check this tutorial if you want more details:https://realpython.com/jupyter-notebook-introduction/<jupyter_code># This is a code cell. It can contain any amount of python code.

print('Somebody spelled Jupiter wrong.')
#you can have more than one line
for i in range(5):
    print(f'I ate {i} kilograms of cheese.')
print('That was too much cheese.')
# you can define functions
def my_nice_function(a, b):
    return (a - b)  / (a + b)
# and call it from another cell

my_nice_function(a=2, b=10)
# The notebook will display the very last value thats being returned in the cell.
# No print needed
a = 1
b = 99
a + b 
'Annecy has a lot of cheese'
print('A cell can be executed by pressing "Shift + Enter"')<jupyter_output><empty_output><jupyter_text>We can __plot__ some stuff into the notebook directly with matplotlib. First we need to import it.<jupyter_code># same as with numpy. we import a module called 'matplotlib.pyplot' and use it under the name 'plt'
import matplotlib.pyplot as plt 

# now use some notebook instructions so the plots will appear directly in the notebook instead of a new window.
# instructions for jupyter begin with % sign
%matplotlib inline 
# now we plot a simple example. 
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
plt.xlabel('Time in Hours')
plt.ylabel('Amount of cheese I eat in Annecy ')<jupyter_output><empty_output><jupyter_text>This is a markdown cell containing some text. It can be _styled_ in __different__ ways. You can even add some usefull images to explain some physics.![Nice Cat](https://images-na.ssl-images-amazon.com/images/I/51ifRRMs3OL.jpg) You can even add some equations here in latex-like syntax$$\rho =\sum _{i}w_{i}\left[\sum _{j}{\bar {c}}_{ij}(|\alpha _{ij}\rangle \otimes |\beta _{ij}\rangle )\right]\otimes \left[\sum _{k}c_{ik}(\langle \alpha _{ik}|\otimes \langle \beta _{ik}|)\right]$$  Short Numpy IntroHere we go really quickly over some numpy basics again<jupyter_code># the import always looks like this
import numpy as np  # import a module called 'numpy' and make it accesible by a shorter name 'np'
# the core data structure in numpy is called an array

x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
x
# arrays can have more dimensions

y = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
y
y.shape
# we can perform elementwise operations on numpy arrays

x / 10
y + 10
# There a some nice predefined methods to create numpy arrays
# create a range of numbers from 0 to 100 in steps of 5
np.arange(0, 100, 5)
# create a range of 23 numbers from 0 to 1 
np.linspace(0, 1, 23)
# create an array containing 3x3 uniformly distributed numbers 
np.random.uniform(0, 1, size=(3, 3))<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.10629067245119306, 'fraction_numerical': 0.024222704266088215, 'mean_word_length': 4.425490196078432, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '3', 'dir': 'jupyter-structured-clean-dedup', 'id': '502652', 'license': 'MIT', 'n_tokens_mistral': 957, 'n_tokens_neox': 884, 'n_words': 389, 'path': 'scipy/basics.ipynb', 'repo_name': 'emilleishida/School2019', 'size': '2766'}