Show / Hide Table of Contents

    Method ofBlocks

    static member ofBlocks: BlockTensor<'T> -> Tensor<'T>

    Builds a tensor out of tensor blocks.

    Declaration
    static member ofBlocks: bs:BlockTensor<'T> -> Tensor<'T>
    Parameters
    Type Name Description
    BlockTensor<'T> bs

    The block tensor specification.

    Returns
    Type Description
    Tensor<'T>

    The resulting tensor.

    Remarks

    The contents of a sub-block are jointed along the dimension determined by its nesting level, i.e. a sub-block nested n levels within other sub-blocks will be concatenated along dimension n.

    The contents of a sub-block must have equal sizes in all dimensions except for the concatenation dimensions.

    Examples
     // Consider a block matrix of the follow structure.
     // +-----------------------------+---------------+
     // |                             |               |
     // |                             |               |
     // |            b1               |      b2       |        
     // |         (5 x 28)            |   (5 x 15)    |
     // |                             |               |
     // +---------------------+-------+-------+-------+        
     // |                     |               |       |
     // |       b3            |      b4       |  b5   |
     // |    (3 x 22)         |    (3 x 14)   |(3 x 7)|
     // +---------------------+---------------+-------+        
     //
     // It can be specified as follows.
     let b1 = HostTensor.zeros [5L; 28L]
     let b2 = HostTensor.zeros [5L; 15L]
     let b3 = HostTensor.zeros [3L; 22L]
     let b4 = HostTensor.zeros [3L; 14L]
     let b5 = HostTensor.zeros [3L; 7L]
     let r1 = SubBlocks [Block b1; Block b2]
     let r2 = SubBlocks [Block b3; Block b4; Block b5]
     let a = Tensor.ofBlocks (SubBlocks [r1; r2])
     // a.Shape = [8L; 43L]
    See Also
    static member concat: int -> seq<Tensor<'T>> -> Tensor<'T>

    static member ofBlocks: Tensor<'T> list -> Tensor<'T>

    Builds a vector out of vectors blocks.

    Declaration
    static member ofBlocks: bs:Tensor<'T> list -> Tensor<'T>
    Parameters
    Type Name Description
    Tensor<'T> list bs

    The block vector specification.

    Returns
    Type Description
    Tensor<'T>

    The resulting vector.

    Remarks

    The contents of a the vectors are concatenated.

    Examples
     // Consider a block vector of the follow structure.
     // +-----------------------------+---------------+
     // |          b1 (28)            |    b2 (15)    |
     // +-----------------------------+---------------+        
     //
     // It can be specified as follows.
     let b1 = HostTensor.zeros [28L]
     let b2 = HostTensor.zeros [15L]
     let a = Tensor.ofBlocks [b1; b2]
     // a.Shape = [43L]

    static member ofBlocks: Tensor<'T> list list -> Tensor<'T>

    Builds a matrix out of matrix blocks.

    Declaration
    static member ofBlocks: bs:Tensor<'T> list list -> Tensor<'T>
    Parameters
    Type Name Description
    Tensor<'T> list list bs

    The matrix blocks.

    Returns
    Type Description
    Tensor<'T>

    The resulting matrix.

    Remarks

    The contents of each list are jointed along the dimension determined by its nesting level, i.e. the elements of the outer lists are concatenated along dimension zero (rows) and the elements of the inner lists are concatenated along dimension one (columns).

    The contents of a list must have equal sizes in all dimensions except for the concatenation dimensions.

    Examples
     // Consider a block matrix of the follow structure.
     // +-----------------------------+---------------+
     // |                             |               |
     // |                             |               |
     // |            b1               |      b2       |        
     // |         (5 x 28)            |   (5 x 15)    |
     // |                             |               |
     // +---------------------+-------+-------+-------+        
     // |                     |               |       |
     // |       b3            |      b4       |  b5   |
     // |    (3 x 22)         |    (3 x 14)   |(3 x 7)|
     // +---------------------+---------------+-------+        
     //
     // It can be specified as follows.
     let b1 = HostTensor.zeros [5L; 28L]
     let b2 = HostTensor.zeros [5L; 15L]
     let b3 = HostTensor.zeros [3L; 22L]
     let b4 = HostTensor.zeros [3L; 14L]
     let b5 = HostTensor.zeros [3L; 7L]
     let bs = [[b1;   b2  ]
               [b3; b4; b5]]
     let a = Tensor.ofBlocks bs
     // a.Shape = [8L; 43L]

    static member ofBlocks: Tensor<'T> list list list -> Tensor<'T>

    Builds a three dimensional tensor out of tensor blocks.

    Declaration
    static member ofBlocks: bs:Tensor<'T> list list list -> Tensor<'T>
    Parameters
    Type Name Description
    Tensor<'T> list list list bs

    The tensor blocks.

    Returns
    Type Description
    Tensor<'T>

    The resulting tensor.

    Remarks

    The contents of each list are jointed along the dimension determined by its nesting level, i.e. the elements of the outer-most lists are concatenated along dimension zero and the elements of the middle lists are concatenated along dimension one and the elements of the inner-most lists are concatenated along dimension two.

    The contents of a list must have equal sizes in all dimensions except for the concatenation dimensions.

    Back to top Generated by DocFX