jax.numpy.r_

目录

jax.numpy.r_#

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

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

LAX-backend implementation of numpy.r_.

参见

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" 给出相同的结果。