Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/149.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;增强ublas+;单位标注约束_C++_Boost_Ublas_Units Of Measurement - Fatal编程技术网

C++ C++;增强ublas+;单位标注约束

C++ C++;增强ublas+;单位标注约束,c++,boost,ublas,units-of-measurement,C++,Boost,Ublas,Units Of Measurement,我正在寻求设计/总体思路方面的建议,以了解如何在ublas矩阵/向量上施加矩阵尺寸约束(可能使用升压单元) 例如,让矩阵A具有时间x力的维数(例如) //没有维度,时间x力和力x时间不区分。 基质A; //什么样的? 维度A; 尺寸B=变速器(A); //或者自定义布局,尽管矩阵之间的维度变得更加困难? 基质A; 您是否做过类似的事情,或者您对如何组织此类约束有什么好的想法?我更多的是寻找语法/语义建议,而不是实现 我查阅了ublas档案,有一些讨论,但没有具体内容 感谢您查看这篇精彩的Boo

我正在寻求设计/总体思路方面的建议,以了解如何在ublas矩阵/向量上施加矩阵尺寸约束(可能使用升压单元)

例如,让矩阵A具有时间x力的维数(例如)

//没有维度,时间x力和力x时间不区分。
基质A;
//什么样的?
维度A;
尺寸B=变速器(A);
//或者自定义布局,尽管矩阵之间的维度变得更加困难?
基质A;
您是否做过类似的事情,或者您对如何组织此类约束有什么好的想法?我更多的是寻找语法/语义建议,而不是实现

我查阅了ublas档案,有一些讨论,但没有具体内容


感谢您

查看这篇精彩的Boost教程,它介绍了使用模板元编程的维度分析功能:

这将要求你为你想在应用程序中使用的每个维度创建一整套模板专门化,但结果是值得的——它不允许你在维度中犯错误或增加歧义

// does not have dimensions, time x force and force x time are not distinguished.
matrix<double> A;

//something like?
dimension<time, force, matrix<double> > A;
dimension<force, time, matrix<double> > B = trans(A);

// or maybe custom layouts, although ensuring dimension becomes harder between matrixes?
matrix<double, dimension<time, force> > A;