Iterative Template Library
Iterative Template Library | |
---|---|
Тип | Библиотека |
Разработчик | Open Systems Lab |
Написана на | C++ |
Операционная система | Кроссплатформенное программное обеспечение |
Последняя версия | 4.0.0 (26 октября 2001 года) |
Лицензия | Полусвободное ПО[1] |
Сайт | www.osl.iu.edu/research/itl |
Iterative Template Library (ITL) — библиотека компонентов, предназначенных для применения итеративных численных методов в манипуляциях с объектами линейной алгебры.
Особенности
ITL состоит из двух функциональных групп. Первая группа представляет собой коллекцию сложных итеративных методов, использующих алгоритмы базовых операций линейной алгебры, реализованные в специализированных пакетах типа Matrix Template Library (MTL) или en:Blitz++. Вторая группа — это набор алгоритмов предобуславливания, разработанный специально для работы с MTL.
Библиотека ITL использует абстрактные интерфейсы для операций вида матрица-вектор, вектор-вектор и вектор-скаляр, что позволяет прозрачно использовать их реализацию в сторонних библиотеках.
История развития
Данная библиотека была создана в Open Systems Lab — исследовательской лаборатории Индианского университета, как часть MTL.
Впервые была опубликована отдельно от MTL 25 июля 2000 года. Новый релиз включал в себя, кроме всего прочего, несколько интерфейсов для BLAS и Blitz++.
В последнем релизе (4.0.0) была произведена декомпозиция библиотеки на три функциональные области: методы для работы с подпространством Крылова; предобуславливания и интерфейсы. Методы для работы с подпространством Крылова являются базовыми, и не ограничены в использовании стандартными библиотеками, реализующими объекты линейной алгебры. Интерфейсы предназначены для использования в итеративных алгоритмах подпространства Крылова основных операций линейной алгебры, реализованных в сторонних библиотеках, таких как: MTL, Blitz++. Предобуславливания реализованы только для работы с библиотекой MTL.
Также, в этот релиз были включены экспериментальные интерфейсы для поддержки параллельных вычислений.
Примеры использования
Примечания
См. также
Ссылки
- Домашняя страница проекта (англ.)