Конечное поле (поле Галуа) Библиотека линейной алгебры для C (не C++)

Я ищу библиотеку конечного поля/поля Галуа точной линейной алгебры для C (C++ неприемлемо, потому что мне нужно иметь возможность написать для него привязку к Haskell, а это, по-видимому, сложно с C++).

Я нашел такие библиотеки, как FFLAS-FFPACK и Givaro, но это библиотеки шаблонов C++ :-(

В частности, я хочу иметь возможность умножать матрицы ????pn×1 и ????p1×m ( векторов) в матрицы ????pn×m.

Итак, кто-нибудь знает подходящую библиотеку C или "extern C"?

PS: Вот мой вопрос Haskell по тому же вопросу.


person Johannes Weiss    schedule 23.05.2012    source источник
comment
Нетрудно экспортировать библиотеку C++ как библиотеку C, просто заменив вызовы методов функциями, которые принимают экземпляр в качестве первого параметра.   -  person David Heffernan    schedule 23.05.2012
comment
+1 за символы подстрочного/надстрочного индекса :)   -  person Eitan T    schedule 23.05.2012
comment
@DavidHeffernan, разве шаблоны не усложняют задачу?   -  person Johannes Weiss    schedule 23.05.2012
comment
Вам просто нужно создать экземпляры классов, которые вы хотите.   -  person David Heffernan    schedule 23.05.2012
comment
Делает ли GSL то, что вам нужно?   -  person Kevin    schedule 23.05.2012
comment
К сожалению, нет, GSL работает с doubles, и мне нужна точная линейная алгебра на конечных полях (например, ????_3 = {0, 1, 2}; 2 + 2 = 1)   -  person Johannes Weiss    schedule 23.05.2012


Ответы (1)


PARI/GP имеет открытый исходный код, написан на C и поддерживает некоторую базовую линейную алгебру над конечным полем. .

Никаких гарантий на конкретную пригодность от меня, разумеется, - к разработке отношения не имею.

person Viktor Latypov    schedule 26.06.2012