ICode9

精准搜索请尝试: 精确搜索
  • c – 非常小的方阵的特征线性解算器2019-09-10 19:05:54

    我在C程序上使用Eigen来求解非常小的方阵(4X4)的线性方程. 我的测试代码就像 template<template <typename MatrixType> typename EigenSolver> Vertor3d solve(){ //Solve Ax = b and A is a real symmetric matrix and positive semidefinite ... // Construct 4X4 squar

  • c – 将Eigen矩阵转换为c数组的性能有效方法是什么,以便我可以使用gsl2019-09-01 18:05:50

    我在大多数代码中使用Eigen,但我想使用GSL的Miser或Vegas monte-carlo集成.我需要将Eigen的向量转换为c的双精度数组 什么是最好的方法呢? Matrix<double,3,1> --> c_array [] 解决方法:我之前和Eigen合作过…… 通常,为了简单访问内部数组数据,如mentioned by user janneb in thi

  • c – 特征透视投影矩阵2019-09-01 07:18:12

    我正在尝试为OpenGL创建透视投影矩阵.我知道如何使用浮点数[16],但为了一致性,我想使用一个特征矩阵. formula是: [ xScale 0 0 0 ] P = [ 0 yScale 0 0 ]

  • c – Boost :: fusion,Eigen和zip转换2019-09-01 02:17:11

    这个问题是关于boost :: fusion的another question的副产品.我们的想法是使用boost :: fusion来迭代包含N维数组的大型C风格结构.这些阵列的计算由Eigen完成.通过使用boost :: fusion,可以对整个C结构应用简单的算术运算,例如:标量乘法或向量加法. 在处理二进制操作时,我使用boost::

  • c – 在Eigen中填充稀疏矩阵非常慢2019-08-31 18:07:00

    我有这个代码在for循环中调用java中的c方法: JNIEXPORT void JNICALL Java_com_jp_algi_CoreC_MMload(JNIEnv *env3, jobject clazz3, jdoubleArray inputv, jintArray inputi, jint poc, jint pozic) { jdouble* fltv2 ; jint* fltind2; jsize sizedat = env3->GetArr

  • c – 如何从2个向量中创建特征矩阵2019-08-31 08:04:57

    我有2个向量和一个矩阵: VectorXd A; VectorXd B; MatrixXd C; 我应该如何有效(没有明确的循环和快速工作) 计算矩阵C值,以便 C(i,k) = A(i) * B(k); 假设矩阵C已经具有适当的尺寸. 重要提示:我只需要帮助使用内置的Eigen语法.请不要CUDA / MKL / BLAS建议.谢谢.解决方法:您正在

  • c – 存储指向Eigen Vector’segment’的指针而不复制?2019-08-29 15:11:04

    我有一个特征向量,我想在以后引用一个段(例如函数之间的传递),而不是立即修改. Eigen::Matrix<float, Eigen::Dynamic, 1> vec(10); // initialize vec << 1, 2, 3, 4, 5, 6, 7, 8, 9, 10; 我想创建一个指向段的指针,我稍后可以参考.以下工作但它创建了一个副本,因此对该段所做

  • c – 模板分辨率因增强多精度特征而失败2019-08-29 05:15:39

    我正在尝试使用Eigen对来自boost :: multiprecision的mutliprecision浮点类型进行特征向量分解.我从一个非常简单的例子开始,我从不同的来源复制了一起.这是代码: #include <boost/multiprecision/cpp_dec_float.hpp> #include <eigen3/Eigen/Dense> #include <eigen3/Eigen/LU> #i

  • c – 特征值的特征平衡矩阵2019-08-28 15:07:38

    我的经验(像其他一些:How do I get specified Eigenvectors from the generalized Schur factorization of a matrix pair using LAPACK?)是从Eigen(我不关心特征向量)获得的特征值几乎不像​​从numpy,matlab等获得的特征值那样,当矩阵病态时. 互联网(https://www.mathworks.com/he

  • 逗号初始化和构造函数C和Eigen2019-08-28 12:05:51

    我在C中使用Eigen库,我试图找到矩阵的行列式.根据我如何初始化矩阵,我会得到不同的结果. 方法一: MatrixXd a(3, 3); for (int n = 0; n < 3; n++) for (int m = 0; m < 3; m++) a(n,m) = (double) (n + m*m + 2.5)/3; cout << "Matrix a: " << endl; cout << a <

  • c – 以特征类型为参数的函数的不明确返回类型2019-08-28 11:05:48

    我正在尝试在科学计划中使用Eigen3库,但我正在努力制作一些简单的函数和成员函数.例如,我不确定应该选择什么类型的返回类型,如下所示: template <typename DerivedA,typename DerivedB> inline **something** mult(const MatrixBase<DerivedA>& p1, con

  • c – 单精度矩阵运算的特征性能AVX与SSE没有差异?2019-08-28 11:05:14

    在我的项目中,我使用Eigen3.3库来进行6×6矩阵的计算.我决定调查AVX指令是否真的让我对SSE加速.我的CPU确实支持这两组: model name : Intel(R) Xeon(R) CPU E5-1607 v2 @ 3.00GHz flags : ... sse sse2 ... ssse3 ... sse4_1 sse4_2 ... avx ... 所以,我用gcc4.8

  • c – 使用Eigen 3线性系统求解器的错误结果2019-08-28 11:04:36

    我将一个MATLAB代码移植到C与Eigen 3,我决定构造我的线性求解器,而不是从矩阵对象调用它,所以我可以重用它.不幸的是,它没有产生预期的结果.经过几次测试后,我将问题追溯到似乎是线性求解器对象,如下面的相关代码所示: MatrixXcd M(6,6), Y(6,6), dvalor(6,6); // Initialization o

  • c – 在Matlab mex文件中使用特征向量2019-08-25 08:06:05

    我正在尝试使用特征库来创建一个我想要在Matlab中制作mex文件的c.我将代码分解为下面的基本要点.我需要制作一个返回向量,其长度对应于输入矩阵的行数. 使用下面的代码,我得到与该行对应的编译时的以下错误: double y_OUT [nrow] = {}; >错误C2057:预期的常量表达式错误 >错误C2466:无

  • c – 如何在Eigen中找出矩阵是否可逆(正则,非奇异,满秩……)?2019-08-25 06:08:02

    在Eigen it is up to the user to check if this can be done:中计算矩阵的逆矩阵时 This matrix must be invertible, otherwise the result is undefined. 但是如何在Eigen检查这个条件?解决方法:Eigen提供了一个排名显示的LU分解,它提供了一个isInvertible member function.

  • c – 用于矩阵向量cwiseProduct操作的Eigen3 replicate()2019-08-25 02:07:37

    我有以下代码: Eigen::MatrixXf aMatrix( 3, 5 ); aMatrix << 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1; Eigen::VectorXf aVector( 5 ); aVector << 3, 4, 5, 6, 7; cout << aMatrix.cwiseProduct( aVector.replicate( 1, aMatrix.rows() ).transpose()

  • c – 复数矩阵乘法Eigen vs Matlab2019-08-24 17:05:54

    有人可以向我解释为什么结果会有所不同. C中的代码: MatrixXcd testTest; testTest.resize(3,3); testTest.real()(0,0) = 1; testTest.real()(0,1) = 2; testTest.real()(0,2) = 3; testTest.real()(1,0) = 1; testTest.real()(1,1) = 2; testTest.real()(1,2) = 3; testTest.real

  • c – 多个文件使用的头文件中的struct声明导致架构x86_64的重复符号2019-08-24 02:07:42

    参见英文答案 > duplicate symbol error C++                                    4个 即使我在所有头文件中都包含了头部保护,当我创建头文件PointXYZRGBAI.h并将其包含在LidarFile.cpp和core.cpp中时,会生成错误 duplicate symbol _EIGEN_A

  • c – 用于连接矩阵的Eigen :: Ref2019-08-24 00:08:02

    如果我想连接两个矩阵A和B,我会这样做 using Eigen::MatrixXd; const MatrixXd A(n, p); const MatrixXd B(n, q); MatrixXd X(n, p+q); X << A, B; 现在,如果n,p,q很大,以这种方式定义X将意味着创建A和B的副本.是否可以将X定义为Eigen :: Ref< MatrixXd>代替? 谢谢.解决方法:不,R

  • Matrix&Vector的运算2019-08-11 22:57:23

    Matrix&Vector的运算 原文地址:http://eigen.tuxfamily.org/dox/group__TutorialMatrixArithmetic.html 本章主要对矩阵、向量和标量之间的计算做一些简要介绍 介绍 为了实现矩阵(向量)之间的计算,Eigen同时提供了运算符重载(+、-、×、/ 等)和类方法(dot()、corss() 等)两大形式的工具。

  • c – 使用带索引的stdlib函数而不是迭代器?2019-07-31 02:08:01

    我想在Eigen::VectorXd上使用std::partial_sum,但我根本无法在Eigen数据结构中找到Iterators.是否有某种快速迭代器包装器在引擎盖下使用经典索引?或者,这样做的好方法是什么,而不是通过索引重新实现部分和?解决方法:您始终可以获取指向数据的原始指针,并将其与大小结合使用. std::p

  • c – bool乘以exclusive-or,not或(与Eigen Matrix Library)2019-07-28 21:15:51

    我正在尝试实现汉明错误纠正码,为此我需要取一个bool Vector(数据)并将其与bool矩阵(汉明生成矩阵)相乘,执行XOR运算(而不是看起来像OR一样) Eigen的默认bool行为).我正在做的一个例子可以在这个简单的教程中找到:http://michael.dipperstein.com/hamming/ 我不一定要使用Eigen,所以

  • 如何为使用Eigen(C线性代数的模板库)的C项目编写一个makefile?2019-07-26 18:06:24

    我正在使用特征库,它承诺矩阵运算的矢量化.我不知道如何使用Eigen中给出的文件并编写一个makefile.使用Eigen的源文件包括下面列出的文件,这些文件甚至不是头文件(它们只是一些文本文件) – <Eigen/Core> <Eigen/Dense> <Eigen/Eigen> 等等.在Eigen的网页上,提到为了使用它的功

  • c – 从索引向量中提取子矩阵的特征2019-07-24 17:18:14

    我一直在谷歌搜索一段时间,但无法找到这个简单问题的答案. 在matlab中,我可以这样做: rows = [1 3 5 9]; A = rand(10); B = A(rows, : ); 我如何在本征中做到这一点?它似乎不可能.我发现的最接近的是 MatrixXd a(10,10); a.row(1); ,但我想获得多行/列.另一个用户也问过这个问

  • c – 特征向量对数的误差无效使用不完全类型2019-07-24 14:08:30

    我试图使用Eigen库计算向量的元素自然对数,这是我的代码: #include <Eigen/Core> #include <Eigen/Dense> void function(VectorXd p, VectorXd q) { VectorXd kld = p.cwiseQuotient(q); kld = kld.log(); std::cout << kld << std::endl; } 但是在编译时 g -I eig

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有