基于傅里叶的假说 - 页 9

 
grasn писал(а)>>

我不是线性代数的专家,但我看到过更快的算法的描述。顺便说一下,如果有人有--把它传给Urain,从计算速度的角度看,它将是更有用的图书馆。

更快的算法是高斯法(经过适当修改)。

我昨天开始写线性代数的库(我没有依赖Urain 库)。我的图书馆有更多的可能性。等着看吧。

 
lea писал(а)>>

一个更快的算法是高斯法(经过适当修改)。

我昨天开始写一个关于线性代数的库(我没有依赖Urain 库)。我的图书馆有更多的可能性。等等。

为了使我的话不至于让你觉得空洞无物--我将列出一个我的库的头文件。我的库本身还在扩展和测试中(我在maple中检查计算结果)。

附加的文件:
libmatrix.mqh  18 kb
 
grasn >> :

我不是线性代数的专家,但我看到过关于更快的算法的描述。顺便说一下,如果有人拥有它--把它传给Urain,从计算速度的角度看,它将是更有用的图书馆。

你应该把矩阵还原成三角形式,例如用Jordano-Hauss消除法。 其(三角)对角线元素的乘积是初始矩阵的行列式(在消除时有必要考虑到行转置时的符号)。之后,人们可以利用其部分小数和部分行列式对整个矩阵进行反演。它的工作速度比规范的方法快十倍。而且,仅仅通过典范的短算法就可以检查程序的正确性。

C语言中的数值配方,第二版(1992)。

线性代数方程的解法

http://www.nrbook.com/a/bookcpdf.php


顺便说一下,还有一本有用的免费好书(虽然大部分是关于傅里叶的)。

2. 科学家和工程师的数字信号处理指南
作者:Steven W. Smith, Ph.D.

http://www.dspguide.com/pdfbook.htm

 
AlexEro >> :

你将一个矩阵还原成三角形式--例如,通过Jordano-Hauss消除法,其(三角)对角线元素的乘积就是初始矩阵的行列式(在消除时重新排列行时,你也应该考虑到符号)。之后,人们可以利用其部分小数和部分行列式对整个矩阵进行反演。它的工作速度比规范的方法快十倍。而且,仅仅通过典范的短算法就可以检查程序的正确性。

C语言中的数值配方,第二版(1992)。

线性代数方程的解法

http://www.nrbook.com/a/bookcpdf.php


顺便说一下,还有一本有用的免费好书(虽然大部分是关于傅里叶的)。

2. 科学家和工程师的数字信号处理指南
作者:Steven W. Smith, Ph.D.

http://www.dspguide.com/pdfbook.htm


实际上,这种方法在寻找行列式时就已经实现了,但对于转换来说,有没有什么更快的方法?

我为每个单元格找到一个次要的,然后除以行列式。(结果是要找到N^2个次要的,而且次要的也是少一个等级的行列式)。

 
Urain писал(а)>>

其实这种方法是在寻找行列式时实现的,但有没有什么更快的转换方法。

我为每个单元格找到一个次要的,然后除以行列式。(事实证明需要找到N^2个次要的,而且一个次要的也是少一个等级的行列式)。

高斯方法可以适用于此。O(N^3)。在维基百科上查找 "逆矩阵"。

 
Urain >> :

其实这种方法是在寻找行列式时实现的,但有没有什么更快的转换方法。

我为每个单元格找到一个次要的,然后除以行列式。(事实证明需要找到N^2个次要的,而且一个次要的也是少一个等级的行列式)。

这个周期只需要一点时间。问题是,你递归地计算一个未成年人,不是吗?你可以不通过递归来计算每个次要的,而是通过VER将每个(次要的,私人的,子矩阵)矩阵转换为三角形式来加速它。

 
grasn >> :

这样的矩阵的一行基本上是在特定历史上的KP系数的动态。而这样的系列,虽然看起来很奇怪,但却是固定的,有很多优点。这里有几个例子。

频率为0。

感谢Mathcade中的程序。试图复制它,但发现它的行为与你的例子有点不同。为了预测,我在欧元兑美元的M15上取了一个长度为1500条的上周部分。它看起来和你的测试部分差不多。

但在我使用CreateModeMatrix()之后,我在频率0处得到了相当不同的画面。


在其他频率下,同样的情况也大致如此。就是说,没有像你的例子中那样的大周期。如果你不介意的话,请谈谈你的看法,哪个选项是正确的。

a) 不同的数据集--不同的特征。

b) 对DW矩阵结果的误解。

c) 程序中的打字错误。

 
equantis >> :

感谢Mathcade中的程序。试图复制它,但发现它的行为与你的例子有点不同。为了预测,我在M15上取了一段长度为1500条的欧元兑美元的最后一周。它看起来和你的测试部分差不多。

但在我使用CreateModeMatrix()之后,我在频率0处得到了相当不同的画面。


在其他频率下,同样的情况也大致如此。就是说,没有像你的例子中那样的大周期。如果你不介意的话,请谈谈你的看法,哪个选项是正确的。

a) 不同的数据集--不同的特征。

b) 对DW矩阵结果的误解。

c) 程序中的打字错误。


1:1的实施?


PS: 更正一下。如果是1:1,而且输入行是引用的,那就很奇怪了。如果图片是稳定的,那么它已经非常奇怪了。

 
Urain >> :

我为每个单元格找到一个次要的,然后除以行列式。(这需要找到N^2个次要的,而且一个次要的也是一个少一个等级的行列式)。

当然,这是个缓慢的方法。我想知道你是如何在一个100乘100的矩阵中仍然得到一些东西的。

 

以防万一,以减轻你的良心 负担 :o)

警告

看着应用傅里叶变换的话题,我想起了我以前自娱自乐的东西,于是写道,认为这将是 "一个不应该存在的模型的存储"。说实话,我当时放弃了这种模式,因为我已经充分意识到实施这种方法的复杂性和实际的不可能性。只是在概念上,我们把复杂的东西分成简单的。在实践中,事实证明,不可能以足够的准确性进行50次、100次或更多的预测,这是很温和的说法。自然界是相当难以欺骗的,更确切地说,是不可能的。而更糟糕的是,我们不需要第一个结果(它们是最准确的),而是需要预测系列中的最后一个,而且它只是最不准确的。 而这个系列本身并不那么简单。因此,实际上不可能将预测 用于交易(没有必要关注一个幸运的单一图片)。


我不太确定是否有必要在这个方向上花费时间......解决办法当然可能存在,但鉴于市场报价的所有具体情况,它非常、非常、非常、非常难以找到。