Eigin库主要用于对矩阵的运算,归属于数学中的线性代数。
矩阵关键词Matrix,但也有数组关键词Array
1.关于数组Array:
类型格式Array<数据类型,行数,列数,其它>,据说Eigen库中的Array最多是二维,相对Java&C#语言有所不同
如果由于泛型格式太长,显得函数定义很长,可以找简写类型,但是完整泛型对内部格式表达的更加清楚
数据类型一般为整数或浮点型,行数与列数可以填写Dynamic表示动态数组
其它项是可选项,由于Eigin库习惯于一列一列存数据,所以横向数据格式就需要额外传入参数RowMajor,表示容器以行优先存储
定义一个Array对象命名为arr,则有,目前已知效果的代码如下:
arr.rows();返回数组的行数,可用于遍历的第一层
arr.cols();返回数组的列数,可用于遍历的第二层
arr(i,j);返回数组第i行第j列的元素
如果:对于二维数组的arr,返回arr(i),则表示按照遍历顺序,返回第i个位置的元素
arr.row(i);返回数组arr第i行的子数组,在cout中会输出一行
arr.cols(i);返回数组arr第i列的子数组,在cout中会输出一列
如果:直接cout<<arr;不会输出数组的首地址,而是会直接遍历并输出数组arr中的所有元素,用来测试输出就不再需要双重for循环了
数组的比较
数组比常数:arr>0,数组中所有元素与常数0比大小
数组比数组:arr01>arr02,数组01中每一个元素与数组02中