在实现我自己的c ++矩阵和向量类时的选择

时间:2014-01-08 07:49:09

标签: c++ matrix

最近,我需要用C ++实现一个4维矩阵和向量类来辅助我的算法。这似乎很容易,但是当我实际执行这些编码时我犹豫不决,我不想使用eigenvalarray。以下是我的一些困惑,它们更可能是设计问题而不是编码问题:

首先。如何实现列向量乘以行向量(得到矩阵),我应该定义两个区分类     class RVector4 和     class CVector4 继承自相同的class Vector4,然后由两侧的类重载操作“次”或

我应该定义一个class Vector4,然后定义两个区分操作:一个“MTimes”计算colcumn vector乘以行向量并返回一个矩阵,另一个“VTimes”计算行向量乘以列向量并返回一个值?

哪种惯例或更有效?

二。如果我只需要使用4维矩阵和向量,是否应该实现class Matrix<int x, int y>typedef Vector4 Matrix4<4,1>以及typedef Matrix4 Matrix<4,4>之类的内容。换句话说,定义Matrix<x,y>并定义Matrix4Vector4分开,哪个更好?当然,我需要像这样的操作 Matrix4 * Vector4 ,它Matrix<x,y>是否过度编码?

第三。有些书谈论这些问题吗?我总是面对这些问题并感到恼火。

提前谢谢!

0 个答案:

没有答案