ОйЧто-то
Оригинальный автор(ы) | Андерс Петерсон |
---|---|
Стабильная версия | v44.0
/ 27 сентября 2017 г. |
Операционная система | Кросс-платформенный |
Тип | Библиотека |
Лицензия | МОЯ лицензия |
Веб-сайт | с надеждой |
ой! Алгоритмы или ojAlgo — это с открытым исходным кодом Java- библиотека для математики. [1] [2] линейная алгебра и оптимизация. Впервые он был выпущен в 2003 году [3] и представляет собой 100% чистый исходный код Java и не содержит внешних зависимостей. Набор функций делает его особенно подходящим для использования в финансовой сфере.
Возможности
[ редактировать ]- Линейная алгебра в Java
- «Высокопроизводительный» многопоточный полнофункциональный пакет линейной алгебры.
- Оптимизация (математическое программирование), включая решатели LP, QP и MIP.
- Код, связанный с финансами (конечно, можно использовать и в других областях):
- Обширный набор инструментов для работы с временными рядами — CalendarDateSeries, координацииSet и PrimitiveTimeSeries.
- Случайные числа и случайные процессы (даже многомерные) и возможность использовать их для выполнения таких задач, как симуляция Монте-Карло.
- Коллекция классов, связанных с современной теорией портфеля - FinancePortfolio и его подклассы, реализующие модели Марковица и Блэка-Литтермана.
- Возможность загрузки данных из Yahoo Finance и Google Finance.
Требуется Java 8, начиная с версии v38. Начиная с версии 44.0, специальный финансовый код был перенесен в отдельный проект/модуль под названием ojAlgo-finance. [3]
Пример использования
[ редактировать ]Пример разложения по сингулярным значениям :
SingularValue<Double> svd = SingularValueDecomposition.make(matA);
svd.compute(matA);
MatrixStore<Double> U = svd.getQ1();
MatrixStore<Double> S = svd.getD();
MatrixStore<Double> V = svd.getQ2();
Пример умножения матрицы:
PrimitiveDenseStore result = FACTORY.makeZero(matA.getRowDim(), matB.getColDim());
result.fillByMultiplying(matA, matB);
Ссылки
[ редактировать ]- ^ Такаки, М.; Кавальканти, Д.; Гейи, Р.; Йода, Дж.; д'Аморим, М.; Пруденсио, Р.Р. (2010). «Рандомизированные решатели ограничений: сравнительное исследование». Биоинформатика . 6 (3): 243–253. дои : 10.1007/s11334-010-0124-1 . S2CID 11050378 .
- ^ Ванек, О.; Босански, Б.; Якоб, М.; Печучек, М. (2010). Транзитные районы, патрулируемые мобильным противником . Симпозиум по вычислительному интеллекту и играм. стр. 9–16.
- ^ Jump up to: а б "ой! Страница проекта алгоритмов" . ой! Алгоритмы . Проверено 2 июля 2013 г.