问题标签 [xtensor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1265 浏览

c++ - Assigning in high-dimensional Xtensor arrays

I am using the Xtensor library for C++.

I have a xt::zeros({n, n, 3}) array and I would like to assign the its i, j, element an xt::xarray{ , , } so that it would store a 3D dimensional vector at each (i, j). However the documentation does not mention assigning values - I am in general unable to figure out from the documentation how arrays with multiple coodinates works.

What I have been trying is this

Where I'm trying to assign the output of the force function as the ij'th coordinate in the forces array, but that does not seem to work.

0 投票
1 回答
2358 浏览

python - xtensor 类型的性能与 NumPy 的简单缩减

在使用cookiecutter 设置并使用xsimd启用 SIMD 内在函数之后,我正在尝试xtensor-python并开始编写一个非常简单的 sum 函数。

用于setup.py构建我的 Python 模块,然后在由不同大小构造的 NumPy 数组上测试求和函数np.random.randn,与np.sum.

这个(可能有缺陷的)基准测试似乎表明,与 NumPy 相比,对于更大的数组,这个基本函数的 xtensor 性能下降了。

无花果

知道为什么我会看到这个吗?我猜这是 NumPy 使用的东西,而 xtensor 还没有(还),但我不确定它可以像这样简单地减少什么。我通过xmath.hpp进行了挖掘,但没有看到任何明显的内容,文档中也没有提到这样的内容。


版本

0 投票
1 回答
236 浏览

numpy - Xtensor:分配给视图时需要帮助

尽管源视图和目标视图的形状相同,但分配给视图后的输出使用单个元素进行广播。请让我知道我到底在哪里做错了。

请参考随附的代码和输出图像。

NB输出

0 投票
1 回答
877 浏览

numpy - xt::where 用于 xtensor C++ 的示例用法

我是 xtensor 的新手。我想知道如何使用 xt::where 的输出。在 python 中,例如假设 imap 是一个 nd 数组, np.where(imap>=4) 返回两个带索引的数组,可以使用 = 运算符直接分配。请让我知道如何在 xtensor C++ 上下文中使用它。任何小例子都会有很大帮助。

谢谢。

0 投票
1 回答
199 浏览

c++ - 在 xtensor 中过滤多维视图

我正在尝试使用简单的条件过滤 2D xtensor 视图。我找到了 xt::filter 函数,但是当我使用它时,它只返回过滤视图的第一列。我需要二维过滤视图。最好的方法是什么?

我可以逐行检查条件,并自己获取所有索引,并使用 xt::view 仅显示所需的行,但我希望使用 xtensor 工具集采用更复杂的方法。

我当前的过滤器,它只返回一个方向,如下所示:

编辑:

有可能我不是很清楚。我需要一个 2D 视图,我只保留那些线,其中线的第一个元素大于阈值。

0 投票
1 回答
569 浏览

c++ - 在 xtensor 中复制视图

是否有类似于 numpy copy 的功能用于复制视图?如果不是,那么深度复制复杂视图的最简单方法是什么?复制构造函数仍然指向相同的内部值,这在大多数情况下都很好,但有时需要深度复制。

0 投票
1 回答
250 浏览

c++ - 从 xtensor 的视图中删除行

我有一个 2D xtensor 视图,我想从中删除一条具有已知索引的线。使用 numpy,有 delete() 方法,使用它很容易做到。有没有类似的方法可以用 xtensor 做到这一点?

0 投票
2 回答
3247 浏览

c++ - 为使用 conda 安装的仅标头库设置包含路径

最近有人建议我查看 conda 作为包管理器。不幸的是,我没有成功找到如何让我的编译器找到一个安装了 conda 的仅标头库?理想情况下,我希望根本不必手动指定编译器的路径。

(上下文是我来自 macOS 上的自制程序,它在正确的位置创建符号链接。显然这是 conda 避免的。但是,编译简单示例的简单方法会很好!)


例子

例如,如果我的代码是下面的代码。注意:这个问题是通用的,与特定的包无关,我也不想再次手动指定我的特定虚拟环境。

我已经使用“安装”了库

现在我想编译

请注意,我知道这有效:

但我不认为这是想要的,因为:

  • 路径包括环境 ( example)。
  • 它取决于系统。
0 投票
2 回答
110 浏览

c++ - xtensor - Tensor wrapper raises trivial_assigner error during runtime

I'm currently using xtensor for an application, and I wanted to wrap over the tensors to make a class called BitArray.

I get the error message below:

What does this mean and what can I do to resolve this?

0 投票
1 回答
104 浏览

c++ - 为什么在模板函数中将两个 xtensor 表达式一起添加会错误广播?

考虑以下程序:

如果我们看代码:

它将输出:

但是,运行最后一行:

产生以下结果:

为什么会这样?我将函数定义更改operator+为以下内容:

输出有点令人惊讶:

为什么+在一个操作中调用了 3 个操作?是否在某处定义了导致此行为的宏?中的R类型operator+给了我们double,实际上应该是xt::xarray<double>

任何见解将不胜感激,谢谢。