Как реализовать библиотеку многомерных массивов с нуля, как nd4j или numpy - PullRequest
0 голосов
/ 30 марта 2019

Я делаю просто эквивалентную библиотеку, такую ​​как nd4j в Java, но я хочу реализовать ее самостоятельно. Тем не менее, я не могу найти какие-либо ресурсы в Интернете, чтобы помочь моим исследованиям. Я надеюсь поддержать базовые функции nundy, такие как randn и shape and dot product

Я создал базовый класс Matrix, но уже столкнулся с проблемой. Он использует обобщения для определения Матрицы, но я должен использовать класс Object для хранения n-мерной матрицы.

public class Matrix<T> {

    Object values;
    int size;

    Matrix() {

    }

    Matrix(int[] shape) {

        size = shape.length;

   }

    Matrix(Object values) {
        this.values = values;

    }

}

Библиотека должна выполнять матричные операции, такие как numpy syntas, такие как

Matrix<int> m = new Matrix<T>([100,100]);
m=m*m;
m++;
m+=10;
m = m+m;
m = m^2
m = np.dot(m,m)

Я преобразую java-файлы в kotlin, так как kotlin поддерживает перегрузку операторов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...