juan_gandhi: (Default)
def matrix(h: VectorSpace, w: VectorSpace, values: Double*): Matrix[w.type, h.type] = {
val m = Matrix(w, h)
for {
i <- 0 until h.dim
j <- 0 until w.dim
} m(i, j) = values(i*w.dim+j)

m
}
The method is in a test, generates matrix from values.



juan_gandhi: (Default)
Ну да, я пишу на скале. Но мечтал впендюрить в тип вектора его размер (размерность, по-нашему). Ну скала, не идрис же. Типы-то независимые.

Ан нет, это скала! Впендюрил. Всандалил класс VectorSpace (is it better if I call it LinearSpace? who fucking cares...); и в нем уже вектор. Проверять совместимость при сложении не надо, ну и все такое. К матрице присобачил два свойства - домен (одно пространство) и кодомен (другое пространство). И все заебись! Беру row - оно уже нужного типа и нужной длины, по дефолту, блин! Типы стали зависимы.

А если я так напишу class NormedLinearSpace extends VectorSpace with Norm (норма - у меня уже есть такой класс).

Классно же, а. Кстати, и вопросы перформенса легче решаются. Что-то у меня тайпклассы не пошли в этот раз.

juan_gandhi: (Default)
...for running linear algebra stuff on gpu?

github.com/deeplearning4j/nd4j - for Java
github.com/deeplearning4j/nd4s - for Scala

Judging by the title, got a feeling that yes.

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

November 2025

S M T W T F S
       1
23456 7 8
9 1011 12 1314 15
16171819 20 2122
23 24 252627 28 29
30      

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Nov. 30th, 2025 02:50 pm
Powered by Dreamwidth Studios