北京网站制作网站成都自助建站模板

diannao/2026/1/23 1:56:47/文章来源:
北京网站制作网站,成都自助建站模板,wordpress做网站卡吗,网站开发都有整理下Eigen库的教程#xff0c;参考#xff1a;http://eigen.tuxfamily.org/dox/index.html 混淆 在Eigen中#xff0c;当变量同时出现在左值和右值#xff0c;赋值操作可能会带来混淆问题。这一篇将解释什么是混淆#xff0c;什么时候是有害的#xff0c;怎么使用做。 … 整理下Eigen库的教程参考http://eigen.tuxfamily.org/dox/index.html 混淆 在Eigen中当变量同时出现在左值和右值赋值操作可能会带来混淆问题。这一篇将解释什么是混淆什么时候是有害的怎么使用做。 例子 MatrixXi mat(3,3); mat 1, 2, 3, 4, 5, 6, 7, 8, 9; cout Here is the matrix mat:\n mat endl; // This assignment shows the aliasing problem mat.bottomRightCorner(2,2) mat.topLeftCorner(2,2); cout After the assignment, mat \n mat endl;输出 Here is the matrix mat: 1 2 3 4 5 6 7 8 9 After the assignment, mat 1 2 3 4 1 2 7 4 1在 mat.bottomRightCorner(2,2) mat.topLeftCorner(2,2); 赋值中展示了混淆。 mat(1,1) 在bottomRightCorner(2,2)和topLeftCorner(2,2)都存在。赋值结果中mat(2,2)本应该赋予操作前mat(1,1)的值5。但是最终程序结果mat(2,2)1。原因是Eigen使用了lazy evaluation懒惰评估上面等价于 mat(1,1) mat(0,0); mat(1,2) mat(0,1); mat(2,1) mat(1,0); mat(2,2) mat(1,1);下面会解释如何通过eval()来解决这个问题。 混淆还会在缩小矩阵时出现比如 vec vec.head(n) 和 mat mat.block(i,j,r,c)。 一般来说混淆在编译阶段很难被检测到。比如第一个例子如果mat再大一些可能就不会出现混淆了。但是Eigen可以在运行时检测某些混淆如前面讲的例子。 Matrix2i a; a 1, 2, 3, 4; cout Here is the matrix a:\n a endl; a a.transpose(); // !!! do NOT do this !!! cout and the result of the aliasing effect:\n a endl;Here is the matrix a: 1 2 3 4 and the result of the aliasing effect: 1 2 2 4我们可以通过EIGEN_NO_DEBUG宏在编译时关闭运行时的断言。 解决混淆问题 Eigen需要把右值赋值为一个临时matrix/array然后再将临时值赋值给左值便可以解决混淆。eval()函数实现了这个功能。 MatrixXi mat(3,3); mat 1, 2, 3, 4, 5, 6, 7, 8, 9; cout Here is the matrix mat:\n mat endl; // The eval() solves the aliasing problem mat.bottomRightCorner(2,2) mat.topLeftCorner(2,2).eval(); cout After the assignment, mat \n mat endl;输出 Here is the matrix mat: 1 2 3 4 5 6 7 8 9 After the assignment, mat 1 2 3 4 1 2 7 4 5同样 a a.transpose().eval(); 当然我们最好使用 transposeInPlace()。如果存在xxxInPlace函数推荐使用这类函数它们更加清晰地标明了你在做什么。提供的这类函数 OriginIn-placeMatrixBase::adjoint()MatrixBase::adjointInPlace()DenseBase::reverse()DenseBase::reverseInPlace()LDLT::solve()LDLT::solveInPlace()LLT::solve()LLT::solveInPlace()TriangularView::solve()TriangularView::solveInPlace()DenseBase::transpose()DenseBase::transposeInPlace()而针对vec vec.head(n)这种情况推荐使用conservativeResize()。 混淆和component级的操作。 组件级是指整体的操作比如matrix加法、scalar乘、array乘等这类操作是安全的不会出现混淆。 MatrixXf mat(2,2); mat 1, 2, 4, 7; cout Here is the matrix mat:\n mat endl endl; mat 2 * mat; cout After mat 2 * mat, mat \n mat endl endl; mat mat - MatrixXf::Identity(2,2); cout After the subtraction, it becomes\n mat endl endl; ArrayXXf arr mat; arr arr.square(); cout After squaring, it becomes\n arr endl endl;输出 Here is the matrix mat: 1 2 4 7After mat 2 * mat, mat 2 48 14After the subtraction, it becomes1 48 13After squaring, it becomes1 1664 169混淆和矩阵的乘法 在Eigen中矩阵的乘法一般都会出现混淆。除非是方阵实质是元素级的乘。 MatrixXf matA(2,2); matA 2, 0, 0, 2; matA matA * matA; cout matA;4 0 0 4其他的操作Eigen默认都是存在混淆的。所以Eigen对矩阵乘法自动引入了临时变量对的matAmatA*matA这是必须的但是对matBmatA*matA这样便是不必要的了。我们可以使用noalias()函数来声明这里没有混淆matA*matA的结果可以直接赋值为matB。 matB.noalias() matA * matA;从Eigen3.3开始如果目标矩阵resize且结果不直接赋值给目标矩阵默认不存在混淆。 MatrixXf A(2,2), B(3,2); B 2, 0, 0, 3, 1, 1; A 2, 0, 0, -2; A (B * A).cwiseAbs();//cwiseAbs不直接赋给目标 //A (B * A).eval().cwiseAbs() cout A;当然对于任何混淆问题都可以通过matA(matB*matA).eval() 来解决。 总结 当相同的矩阵或array在等式左右都出现时很容易出现混淆。 compnent级别的操作不用考虑混淆。矩阵相乘Eigen默认会解决混淆问题如果你确定不会出现混淆可以使用noalias来提效。混淆出现时可以用eval()和xxxInPlace()函数解决。转载于:https://www.cnblogs.com/houkai/p/6349990.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/89098.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做网站像素大小企业网站及信息化建设

选择最适合的技术平台对于开发送水小程序至关重要。在这篇文章中,我将为您介绍如何选择最适合的技术平台来开发送水小程序,以及各种技术平台的优缺点。无论您是刚刚起步的创业公司还是成熟的送水服务提供商,本文都将为您提供有关送水小程序开…

镜像网站是怎么做的wordpress缩略图顺序

目录 原理概述 实验目的 实验步骤 实验内容 实验拓扑 实验步骤 基础配置 配置交换机双工模式 配置接口速率 思考题 原理概述 交换机之间通过以太网电接口对接时需要协商一些接口参数,比如速率、双工模式等。   接口速率:指的是交换机接口每秒钟传…

手机访问网站 自动缩放个人做网站需要什么资料

错误信息:AH00526: Syntax error on line 54 of /www/server/apache/conf/httpd.conf:Cannot define multiple Listeners on the same IP:port朋友网站突然访问不了,进入宝塔后查看Apache服务器没运行,重启Apache时提示这个错误信息打开Apach…

企业门户网站的主要技术指标外包服务商

问题引入:不知道你会不会有这样的疑问:为什么在发送解锁命令时,我们不用右移一位,而发送扇区地址时却要右移一位(nor_cmd函数内部已经左移一位),这里先补充说明一下说明是cpu角度和nor角度&…

网站建设需要准备什么c++语言做网站

大家好,才是真的好。 真没想到,本周是今年第十一周,2024年还有不到三百天就结束了。 今天周五,我们继续介绍与Domino相关产品新闻,以及互联网或其他IT行业动态等。 一、在Windows 10和Windows 11上运行Domino和Trav…

外贸建站源码山东网站建设平台

目录 🌺1. 概述 🌻2. HBuilder X 安装包下载 🌼3. 安装详细教程 🌺1. 概述 HBuilder X 是一款由DCloud开发的基于Electron框架的集成开发环境(IDE),主要用于Web和移动应用程序的开发。以下是…

企业网络搭建服务seo最强

在物联网(IoT)领域,消息队列遵循发布/订阅模型的MQTT(Message Queuing Telemetry Transport)协议变得越来越受欢迎。本文将深入探讨如何在Spring Boot中使用MQTT,并讨论其与其他中间件的集成以及在物联网中…

荆州企业网站建设wordpress自定义链接不能用

1.参数配置优化 设定Hive参数有三种方式: (1)配置Hive文件 当修改配置Hive文件的设定后,对本机启动的所有Hive进程都有效,因此配置是全局性的。 一般地,Hive的配置文件包括两部分: a&#xff…

做我女朋网站源码珠海市建设工程信息网

MFC 六大关键技术 ( 第四部分 ) ——永久保存(串行化) 先用一句话来说明永久保存的重要:弄懂它以后,你就越来越像个程序员了! 如果我们的程序不需要永久保存,那几乎可以肯定是一个小玩儿。那怕我们的记事本…

wordpress 忘记数据库密码破解百度seo推广价格

目录 参数复制文件然后进行同时复制操作 给定内容生成文件,并制定权限验证 关于覆盖先查看当前内容覆盖并备份查看文件权限 还有有没有备份查看文件内容 参数 这个模块用于将文件复制到远程主机,同时支持给定内容生成文件和修改权限等。   其相关选项…

摄影类手机网站模板步骤英文

DNS过滤 URL过滤和DNS过滤对比

网站建设合同违约条款wordpress插件排列

http://blog.jobbole.com/65218/ 本文由 伯乐在线 - 熊崽Kevin 翻译自 pypix.com。欢迎加入技术翻译小组。转载请参见文章末尾处的要求。 数据结构 数据结构的概念很好理解,就是用来将数据组织在一起的结构。换句话说,数据结构是用来存储一系列关联数据的…

茂名小学网站建设三合一网站建设是指

算法学习——华为机考题库3(HJ21 - HJ30) HJ21 简单密码 描述 现在有一种密码变换算法。 九键手机键盘上的数字与字母的对应: 1–1, abc–2, def–3, ghi–4, jkl–5, mno–6, pqrs–7, tuv–8 wxyz–9, 0–0,把密码…

公司建网站需要先注册域名龙岗 营销型网站建设

工具介绍 官网 http://www.linkdata.se/sourcecode/memwatch/ 其功能如下官网介绍,挑选重点整理: 1、 号称功能: 内存泄露检测 (检测未释放内存, 即 动态内存开辟未释放的情况) 2、 检测 多次调用free&…

门户网站布局个人主页图片

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. 🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人…

手把手网站开发网页编辑的软件工具包括

开启MongoDB服务时不添加任何参数时,默认是没有权限验证的,登录的用户可以对数据库任意操作而且可以远程访问数据库! 在刚安装完毕的时候MongoDB都默认有一个admin数据库,此时admin数据库是空的,没有记录权限相关的信息!当admin.system.users一个用户…

建站城律师做网络推广哪个网站好

微软刚刚在 Visual Studio Code 网站上宣布了“动态分享”(Live Share)功能,开发者们可以在 VS 2017 或 VS Code 中体验全新的实施协作。微软表示,Live Share 可让团队在相同的代码库上启用快速协作,而无需同步代码或配…

公司网站建设要求网站添加 百度商桥

因为本人的专业是财务方面的,而且目前也是在从事着财务管理的工作,在一家技术型的公司。平常与那些技术人员接触时,发现他们常常过多地关注于技术,而对与自己息息相关的财税知识却知之甚少。在不出现什么情况的时候,当…

科技网站建设 开题报告新产品开发流程管理

分页查询算是比较常用的一个查询了在DAO层主要是查两个数据第一个总条数第二个要查询起始记录数到查询的条数当第一次点击查询时候(非下一页时Page类里面预设的就是 index就是0 pageSize是预设值当点击下一页的时候 index 和 pageSize带的就是页面上面给的值了分页的页面一般的…

海南省做购房合同网站全国做网站的公司

文章目录 前言1. 本地安装PPTist2. PPTist 使用介绍3. 安装Cpolar内网穿透4. 配置公网地址5. 配置固定公网地址 前言 本文主要介绍如何在Windows系统环境本地部署开源在线演示文稿应用PPTist,并结合cpolar内网穿透工具实现随时随地远程访问与使用该项目。 PPTist …