微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Boost矩阵矩阵产品定义

如何解决Boost矩阵矩阵产品定义

这是我正在运行或尝试运行的示例代码。长话短说,它不能按预期工作。

import * as i0 from "@angular/core";
import * as i1 from "./myComponentInLib.component";
import * as i2 from "@angular/common";
import * as i3 from "@fortawesome/angular-fontawesome";
import * as i4 from "@angular/router";
import * as i5 from "angular-svg-icon";

出现以下错误

#include <iostream>

#include <boost/geometry/geometries/point_xy.hpp>
#include <boost/geometry/strategies/transform/matrix_transformers.hpp>
#include <boost/numeric/ublas/matrix_expression.hpp>

namespace bg = boost::geometry;
namespace trans = bg::strategy::transform;

typedef bg::model::d2::point_xy<double> point;

int main()
{
    trans::translate_transformer<double,2,2> translate(0.0,1.0);
    trans::rotate_transformer<bg::degree,double,2> rotate(90);

    trans::matrix_transformer<double,2> translateRotate(
         boost::numeric::ublas::prod(rotate.matrix(),translate.matrix())
         //rotate.matrix() * translate.matrix()
        );

    point p;
    translateRotate.apply(point(0,0),p);
    std::cout << bg::get<0>(p) << " " << bg::get<1>(p) << std::endl;
}

基本上有很多。为什么不接受?我是否需要将qvm转换为矩阵表达式?如果是,怎么办? 我想将来使用axpy_prod,但是如果这样做不起作用,那将毫无意义。

解决方法

对问题进行了深入的修订后,我得出的结论是,我的问题没有想要的答案。我曾经做过的事情都是这样。

问题在于translate_transformerrotate_transformer来自升压QVM,而prod函数来自uBlas库。随着boost 1.64的开始,人们对如何使用boost QVM和uBlas进行了改变,并且将它们分开。基本上,在uBlas中使用QVM矩阵的支持已消失。

在这里我必须要批评。我对升压的知识不好,所以可能有一些我不知道的正确使用方法。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?