我想使用本征库作为一个程序,并有一个类层次结构,使用本征固定矩阵大小的成员。根据本征文档,这使得有必要对齐16字节的类。艾根提供了一个宏来做这件事,但是,由于我是继承的,我不确定这些行为是否只发生在基类中。
也就是说。
class A{
public :
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
// member definitions
};
是否必须重新指定宏的使用?
class B : public A{
public:
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
//
我试图在区间V=0上求解无限势阱的[0,L]。本文给出的0波函数及其导数的值分别为0,1。这允许我们使用scipy.integrate.odeint函数来解决给定能量值的问题。
现在的任务是找到能量本征值,给出进一步的边界条件,即L上的波函数是0,在python上使用根查找函数。我已经做了一些研究,只能找到一种叫“射击方法”的东西,我不知道如何实现。另外,我遇到了解BVP的枕函数,但是我似乎不明白这个函数的第二个输入(边界条件残差)到底是什么。
m_el = 9.1094e-31 # mass of electron in [kg]
hbar = 1.0546e-34
我的目标是证明为什么归一化本征值和本征向量有虚数。
根据本网站:归一化特征向量就是an eigen vector divided by the length of the vector。
我可以通过比较我用det(A - λ*I) = 0手工得到的特征向量和numpy库中的归一化特征向量来证明这一点。
但是,我不明白numpy库是如何为返回的本征值和向量求出一个虚数的。
代码
import numpy as np
A = np.array([[1,-1],
[6, 4]])
eigvalues, eigvectors = np.linalg.eig(A)
disp
我试图了解如何操作本征向量/矩阵。我想实现一个最小二乘高斯-牛顿算法(因此,我学习使用本征库)。我有一个1x6向量的参数,我需要更新每次迭代。现在,我只想弄清楚一个函数如何将向量作为参数并改变它的值.
Eigen::VectorXf betas = Eigen::VectorXf::Zero(6);
void SomeFunc(const Eigen::VectorXf& v){ // as per the Eigen guide, one must pass as const
v(0) = 5; // error: expression must be a modifi