import numpy as np
import torch
import torch.nn as nn
import torch.nn.functional as F
from torch.optim import SGD
import matplotlib.pyplot as plt
training_inputs = torch.tensor(np.load("inputs_training.npy")).float()
training_targets = torch.tensor(np.load("targets_training.npy")).float()
test_inputs = torch.tensor(np.load("inputs_test.npy")).float()
test_targets = torch.tensor(np.load("targets_test.npy")).float()
adj = np.load("adjmat.npy")
# first, we get the number of vertices
n_vert = adj.shape[0]
# D is a diagonal matrix, where the ith diagonal entry is given by the sum of the ith row xor ith column of adj
D = np.diag(adj.sum(axis=1))
# sans normalization, we have that
L = D - adj