Skip to content

Instantly share code, notes, and snippets.

@derbydefi
derbydefi / talbot.html
Last active May 15, 2024 20:32
talbot wave interference simulation
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Talbot Effect Simulation</title>
<style>
body { display: flex; flex-direction: column; align-items: center; margin: 0; }
canvas { border: 1px solid black; }
.controls { margin: 10px; display: flex; flex-direction: column; align-items: center; }
@derbydefi
derbydefi / elm_activations.py
Created May 1, 2024 20:03
ELM model with many activation types
import time
import torch
import torchvision
import torchvision.transforms as transforms
import torch.nn.functional as F
#custom activations
def gelu_variant(x):
two_over_pi = torch.tensor(2 / torch.pi, device=x.device)
return 0.5 * x * (1 + torch.tanh(torch.sqrt(two_over_pi) * (x + 0.044715 * torch.pow(x, 3))))
@derbydefi
derbydefi / nls_ssf.py
Created April 17, 2024 19:31
Nonlinear Schrödinger Equation Simulation, Split-step Fourier Method
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation, writers
from numpy.fft import fft, ifft
# Reduced setup for quicker testing
L = 30
N = 512 # Reduced number of spatial points for simplicity
dx = L / N
dt = 0.1 # Time step size can be adjusted if needed
@derbydefi
derbydefi / index.html
Created April 11, 2024 07:41
nbody system barnes hut checkpoint
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Particle Simulation</title>
<style>
body {
display: flex;
justify-content: center;
@derbydefi
derbydefi / elm.py
Last active May 16, 2024 07:47
Extreme Learning Machine Python Implementation
import time
import torch
import torchvision
import torchvision.transforms as transforms
class ELM(torch.nn.Module):
def __init__(self, input_size, hidden_size, output_size):
super(ELM, self).__init__()
self.hidden_size = hidden_size
self.input_weights = torch.nn.Parameter(torch.randn(input_size, hidden_size) * 0.1, requires_grad=False)