Библиотеки: ALGLIB - библиотека численного анализа - страница 3

 
Код может быть обновлен до последней версии 3.8.2
 

Добрый день, спасибо за библиотеку, действительно шустрая, но есть пара вопросов.

Нужен был метод PCABuildBasis, передавал ему синхронизированную по времени матрицу с ценами K строк x N столбцов, где К - набор валютных пар, а N - набор цен для этих пар. в Среднем матрица получалась размером 7 pairs х 500 open prices.

Скачивал библиотеку в конце прошлого года, возможно в декабре, работало вроде нормально, независимо от того, цены были расположены в строках матрицы или в столбцах, неделю назад скачал новый вариант и начал периодически получать такие ошибки

        2014.07.09 22:25:31.604    Synthetics (USDCHF,D1)    zero divide in 'alglibinternal.mqh' (3333,21)
        2014.07.09 22:25:31.603    Synthetics (USDCHF,D1)    CAp::Assert CBaseStat::SampleMoments: x is not finite vector

Попытался и логарифмировать цены, и приводить к общему знаменателю, в данном случае USD, но даже если ошибки, упомянутые выше исчезали, то результат выполнения PCABuildBasis почему-то всегда возвращал :

примерно такие собственные значения - eigenvalues

1.#INF0

1.#INF0

1.#INF0

0

0

0

0

и примерно такую матрицу собственных векторов

0 0 0 0 0 0 0 ...

0 0 0 0 0 0 0 ...

0 0 0 0 0 0 0 ...

0 0 0 0 0 0 0 ...

1 1 1 1 1 0.99999 1 ...

0 0 0 0 0 0 0 ...

0 0 0 0 0 0 0 ...

потом попытался развернуть исходную матрицу с ценами чтобы валюты стали столбцами, а цены строками и все, вроде как, заработало. Т.е. сейчас если K - это цены, а N - валюты, то так матрица векторов выглядит вполне рабочей. Хотя вроде тут, во втором посте, автор говорит, что расположение элементов по строкам и столбцам не играет роли.

Поэтому хотел бы спросить - есть ли разница как создавать исходную матрицу row-based or column-based или же это у себя где-то в другом месте ошибку искать?

 

Скрипт Scripts\Alglib\usealglib искрит при запуске (деление на ноль).

заменил строку 120 на

HPR[i]=balance_total.At(i+1)*pow(balance_total.At(i),-1.);

 всё заработало.

 
Дальнейшей поддержки библиотеки для MQL с момента публикации статьи больше нет?
 
Как перемножить две матрицы с помощью lib alglib?
 
qingyouwei:
Как перемножить две матрицы с помощью lib alglib?
Я не думаю, что есть способ сделать это, только объединить две матрицы в одну.
 
Автоматически сгенерированная справка по ALGLIB
Файлы:
ALGLIB.zip  4934 kb
 
Автоматически генерируемая CHM-справка для ALGLIB
Файлы:
ALGLIB.zip  4934 kb
 
Rashid Umarov:
Автоматически сгенерированная справка по ALGLIB

Хотел посмотреть, по оглавлению переходы есть, но поле, где должен быть текст - всегда пустое ((


 
elibrarius:

Хотел посмотреть, по оглавлению переходы есть, но поле, где должен быть текст - всегда пустое ((


Ищите ответы в интернете -

Не отображается файл помощи CHM в Windows 7