Skip to content

Instantly share code, notes, and snippets.

@nicoguaro
nicoguaro / flips_coins.py
Created June 7, 2024 21:38
Flip a fair coin 100 times—it gives a sequence of heads (H) and tails (T). For each HH in the sequence of flips, Alice gets a point; for each HT, Bob does, so e.g. for the sequence THHHT Alice gets 2 points and Bob gets 1 point. Who is most likely to win?
# -*- coding: utf-8 -*-
"""
Flip a fair coin 100 times—it gives a sequence of heads (H)
and tails (T). For each HH in the sequence of flips, Alice
gets a point; for each HT, Bob does, so e.g. for the
sequence THHHT Alice gets 2 points and Bob gets 1 point.
Who is most likely to win?
https://x.com/littmath/status/1769044719034647001
@nicoguaro
nicoguaro / environment.yml
Last active June 18, 2024 02:04
Visualize origami configurations using Matplotlib.
name: ori-py
channels:
- conda-forge
dependencies:
- python
- numpy
- scipy
- matplotlib
- jupyterlab
- pyvista
@nicoguaro
nicoguaro / hermite_quintic.ipynb
Created May 17, 2024 22:49
Hermite interpolation using quintic polynomials
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@nicoguaro
nicoguaro / poly_fit.py
Created January 23, 2024 14:40
Polynomial fitting example in NumPy
import numpy as np
from numpy.polynomial import Polynomial
rng = np.random.default_rng()
x = np.arange(10)
y = np.arange(10) + 0.01*rng.standard_normal(10)
p_fitted = np.polynomial.Polynomial.fit(x, y, deg=1)
# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
from wordcloud import WordCloud, STOPWORDS
#%%
f = open('output_file.txt', 'r', encoding="utf8")
text = f.read()
f.close()
@nicoguaro
nicoguaro / 01a_fem1d_global_sym.ipynb
Last active September 29, 2023 01:57
Notebooks con implementaciones sencillas del método de elementos finitos para la ecuación de Poisson y de Helmholtz.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@nicoguaro
nicoguaro / heart.py
Created March 15, 2023 23:58
Heart surface
import numpy as np
import matplotlib.pyplot as plt
from skimage import measure
y, x, z = np.mgrid[-2:2:100j, -2:2:100j, -2:2:100j]
f = (x**2 + 9/4*y**2 + z**2 - 1)**3 - x**2 * z**3 - 9/80*y**2*z**3
verts, faces, _, _ = measure.marching_cubes(f, 0, spacing=(0.1, 0.1, 0.1))
fig = plt.figure()
@nicoguaro
nicoguaro / random_mats_eigs.py
Last active November 13, 2022 00:06
Eigenvalues for random matrices
# -*- coding: utf-8 -*-
"""
Eigenvalues for matrices with random entries with values of 1 or -1
@author: Nicolás Guarín-Zapata
@date: November 2022
"""
import numpy as np
import matplotlib.pyplot as plt
@nicoguaro
nicoguaro / nonstandard_fd.png
Last active May 31, 2022 21:01
Toy examples for Nonstandard Finite Differences.
nonstandard_fd.png
@nicoguaro
nicoguaro / pumpkin.png
Created November 1, 2021 00:22
Pumpkin surface.
pumpkin.png