Jorge Velez's Research

My main research interests are algorithms, computational geometry, computional toplogy, machine learning, deep learning, artificial intelligence, computer vision, computational complexity theory, theoritcal computer science, and more but I dont want to cluter eveything I am interested in. I also like to continue to engage in areas in mathematics like linear algebra, probability, vector calculus, discrete math, graph theory and more but these are more specific areas I like to spend more time in.

Pytorch nn


class SimpleNet(nn.Module):
    def __init__(self).__init__()
        self.fc1 = nn.Linear(28*28, 128)
        self.relu = nn.ReLu()
        self.fc2 = nn.Linear(128, 10)

    def forward(self, x):
        x = x.view(x.size(0), -1)   # flatten 28x28 -> 784
        x = self.relu(self.fc1(x))
        x = self.fc2(x)
        return x

model = SimpleNet()

C++ nn


struct Net : torch::nn::Module {
    Net()
        : fc1(28*28, 128),
          fc2(128, 10)
    {
        register_module("fc1", fc1);
        register_module("fc2", fc2);
    }

    torch::Tensor forward(torch::Tensor x) {
        x = x.view({ x.size(0), 28*28 }); // flatten
        x = torch::relu(fc1(x));
        return x;
    }

    torch::nn::Linear fc1, fc2;
};

Diagram showing relationships among P, NP, NP-complete, and NP-hard

“This one picture captures a century-old mystery: P is the cozy cottage, NP the bustling city, NP-complete the city’s hardest riddles, and NP-hard everything lurking outside the gates.”
— Complexity-theory folklore