jax.numpy.r_#

jax.numpy.r_ = <jax._src.numpy.index_tricks.RClass object>#

沿第一个轴连接切片、标量和类数组对象。

numpy.r_ 的LAX后端实现。

另请参阅

jnp.c_: 沿最后一个轴连接切片、标量和类数组对象。

示例

传递 [start:stop:step] 形式的切片会生成 jnp.arange 对象

>>> jnp.r_[-1:5:1, 0, 0, jnp.array([1,2,3])]
Array([-1,  0,  1,  2,  3,  4,  0,  0,  1,  2,  3], dtype=int32)

如果 step 为虚数值,则会创建一个 jnp.linspace 对象,其中包含右端点

>>> jnp.r_[-1:1:6j, 0, jnp.array([1,2,3])]
Array([-1.        , -0.6       , -0.20000002,  0.20000005,
       0.6       ,  1.        ,  0.        ,  1.        ,
       2.        ,  3.        ], dtype=float32)

使用 "axis,dims,trans1d" 形式的字符串指令作为第一个参数来指定连接轴、最小维度数以及升级后的数组的原始维度在结果数组的形状元组中的位置

>>> jnp.r_['0,2', [1,2,3], [4,5,6]] # concatenate along first axis, 2D output
Array([[1, 2, 3],
       [4, 5, 6]], dtype=int32)
>>> jnp.r_['0,2,0', [1,2,3], [4,5,6]] # push last input axis to the front
Array([[1],
       [2],
       [3],
       [4],
       [5],
       [6]], dtype=int32)

trans1d 的负值将最后一个轴向形状元组的开头偏移

>>> jnp.r_['0,2,-2', [1,2,3], [4,5,6]]
Array([[1],
       [2],
       [3],
       [4],
       [5],
       [6]], dtype=int32)

在扁平输入上使用特殊指令 "r""c" 作为第一个参数,分别创建一个带有额外行或列轴的数组

>>> jnp.r_['r',[1,2,3], [4,5,6]]
Array([[1, 2, 3, 4, 5, 6]], dtype=int32)
>>> jnp.r_['c',[1,2,3], [4,5,6]]
Array([[1],
       [2],
       [3],
       [4],
       [5],
       [6]], dtype=int32)

对于更高维度的输入 (dim >= 2),指令 "r""c" 给出相同的结果。