代码之家  ›  专栏  ›  技术社区  ›  Peter Smit

如何获得lavenmatdouble对象,它是lagenmatdouble的submitrixview?

  •  1
  • Peter Smit  · 技术社区  · 16 年前

    我们正在使用 Lapack++ 用于矩阵计算。其中一个特性是使用submitrixviews;引用内存中相同点的对象。

    例子:

      LaGenMatDouble W = LaGenMatDouble::rand(3,4);
      LaGenMatDouble A = W(LaIndex(0,2), LaIndex(1,3));
      LaGenMatDouble b = W(LaIndex(0,2), LaIndex(0,0));
    

    A和B现在是W的子矩阵。

    我怎样才能使b a lavectordouble能够用它执行一些计算?

    2 回复  |  直到 16 年前
        2
  •  0
  •   Peter Smit    16 年前

    答案是使用ref函数。

    LaVectorDouble b;
    b.ref(W(LaIndex(0,2), LaIndex(0,0)));
    

    所有其他函数都在复制(如constructor、=和copy)或给出错误的类(如带有索引的constructor)。REF函数引用内存。