[Си] библиотека матричных операций

Модератор: Модераторы разделов

allchemist
Сообщения: 55
ОС: Gentoo, Arch

[Си] библиотека матричных операций

Сообщение allchemist »

Доброго дня,

ищу библиотеку Си для простейших операций с матрицами и векторами. Интересует в первую очередь слайсинг матриц (выделение/замещение строки, столбца, блока), т.е. те операции, которых нет в blas.

Это есть в gsl, но она тяжелая, и ради такой мелочи ее тянуть не хочется.

подскажите что-нибудь такое, пожалуйста
Russian Lisp Community: http://lisper.ru
made with secret alien technology
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: [Си] библиотека матричных операций

Сообщение eddy »

allchemist писал(а):
29.05.2010 12:34
но она тяжелая, и ради такой мелочи ее тянуть не хочется.

Так GSL ведь разбита на часть ("подбиблиотеки"), и тянуть вы будете не так уж и мало. Я, например, в своем проекте для Фурье использовал fftw3, а вот вейвлеты брал из GSL.
Кстати, если вам не нужно проводить каких-нибудь сверхсложных матричных операций, посмотрите Numerical receipes - может, предложенные там функции для работы с векторами и матрицами вам подойдут?
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
allchemist
Сообщения: 55
ОС: Gentoo, Arch

Re: [Си] библиотека матричных операций

Сообщение allchemist »

Спасибо за ответ


> Numerical Recipies
> GSL, подбиблиотеки

из кода Численных Рецептов придется делать свой велосипед. все-таки хотелось бы что-нибудь более стандартное и стандартизованное. Ведь сишники же хвалятся большим количеством хороших библиотек.

а gsl все-таки большая, даже если из нее что-то выкинуть.
Russian Lisp Community: http://lisper.ru
made with secret alien technology
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: [Си] библиотека матричных операций

Сообщение eddy »

allchemist писал(а):
29.05.2010 15:44
из кода Численных Рецептов придется делать свой велосипед.

Зачем же? Многие функции оттуда просто включаются в ваш код. Я, например, метод быстрого нахождения медианы ряда брал из "численных рецептов": просто написал в программе

Код: Выделить всё

#include "qsort.c"

И пользовался себе.
Правда, если вам надо выполнять с матрицами/векторами более сложные операции, придется вам подключать либо GSL, либо LAPACK.
Кстати, может вам правда LAPACK подойдет?
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
allchemist
Сообщения: 55
ОС: Gentoo, Arch

Re: [Си] библиотека матричных операций

Сообщение allchemist »

lapack для сложных операций типа диагонализации, систем уравнений, svd и т.д.
для попроще есть blas.
но чтобы их эффективно использовать, иногда требуется возможность делать слайсинг матриц (операции с блоками матриц). такую либу как раз и ищу.
Russian Lisp Community: http://lisper.ru
made with secret alien technology
Спасибо сказали: