jax.numpy.r_#

jax.numpy.r_ = <jax._src.numpy.index_tricks.RClass 对象>#

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

LAX 后端实现 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.2,  0.2,  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" 指令都产生相同的结果。