Main Content

Inf

Create codistributed array of all Inf values

    Description

    example

    cI = Inf(n,codist) creates an n-by-n codistributed matrix of all Inf values and uses codist to specify the distribution of the array values across the workers.

    Specify codist as "codistributed" to use the default codistributor1d distribution scheme or the distribution scheme defined by a codistributor1d or codistributor2dbc object.

    When you create the codistributed array in a communicating job or spmd block, the function creates an array on each worker. If you create a codistributed array outside of a communicating job or spmd block, the array is stored only on the worker or client that creates the codistributed array.

    By default, the codistributed array has the underlying type double.

    cI = Inf(sz,codist) creates a codistributed array of all Inf values where the size vector sz defines the size of cI. For example, Inf([2 3],"codistributed") creates a 2-by-3 codistributed array.

    cI = Inf(sz1,...,szN,codist) creates an sz1-by-...-by-szN codistributed array of all Inf values where sz1,...,szN indicates the size of each dimension.

    cI = Inf(___,datatype,codist) creates a codistributed array of all Inf values with the underlying type datatype. For example, Inf(1,"single","codistributed") creates a codistributed single integer Inf. You can use this syntax with any of the size arguments in the previous syntaxes. You must specify codist after the array size and data type arguments.

    cI = Inf(___,"noCommunication") creates a codistributed array of all Inf values without using communication between workers.

    When you create very large arrays or your communicating job or spmd block uses many workers, worker-worker communication can slow down array creation. Use this syntax to improve the performance of your code by removing the time required for worker-worker communication.

    Tip

    When you use this syntax, some error checking steps are skipped. Use this syntax to improve the performance of your code after you prototype your code without specifying "noCommunication".

    You must specify "noCommunication" after the size, data type and codist arguments.

    cI = Inf(___,like=p) uses the array p to create a codistributed array of all Inf values. You can also specify "noCommunication" as part of the function call.

    The returned array cI has the same underlying type, sparsity, and complexity (real or complex) as p.

    Examples

    collapse all

    Create a 1000-by-1000 codistributed matrix of Inf values, distributed by its second dimension (columns).

    spmd(4)
        C = Inf(1000,"codistributed");
    end

    With four workers, each worker contains a 1000-by-250 local piece of C.

    Create a 1000-by-1000 codistributed single matrix of Inf values, distributed by its columns.

    spmd(4)
        codist = codistributor1d(2,100*[1:spmdSize]);
        C = Inf(1000,1000,"single",codist);
    end

    Each worker contains a 100-by-spmdIndex local piece of C.

    Input Arguments

    collapse all

    Size of the square matrix, specified as an integer.

    • If n is 0, then cI is an empty matrix.

    • If n is negative, then the function treats it as 0.

    Distribution scheme for codistributed array, specified as one of these options:

    • "codistributed" — Uses the default distribution scheme defined by the default codistributor1d object.

    • codistributor1d object — Uses the one-dimensional distribution scheme defined in a codistributor1d object. To use the default 1-D distribution scheme, you can specify the codistributor1d function without arguments.

    • codistributor2dbc object — Uses the two-dimensional block-cyclic distribution scheme defined in a codistributor2dbc object. To use the default 2-D block-cyclic distribution scheme, you can specify the codistributor2dbc function without arguments.

    Size of each dimension, specified as an integer row vector. Each element of this vector indicates the size of the corresponding dimension:

    • If the size of any dimension is 0, then cI is an empty array.

    • If the size of any dimension is negative, then the function treats it as 0.

    • Beyond the second dimension, Inf ignores trailing dimensions with a size of 1. For example, Inf([3 1 1 1],"codistributed") produces a 3-by-1 codistributed vector of all Inf values.

    Example: sz = [2 3 4] creates a 2-by-3-by-4 codistributed array.

    Size of each dimension, specified as separate arguments of integer values.

    • If the size of any dimension is 0, then cI is an empty array.

    • If the size of any dimension is negative, then the function treats it as 0.

    • Beyond the second dimension, the function ignores trailing dimensions with a size of 1.

    Underlying data type of the returned array, that is the data type of its elements, specified as one of these options:

    • "double"

    • "single"

    Data Types: single | double

    Prototype of array to create, specified as a codistributed array.

    If you do not specify the datatype, the resulting codistributed array has the same underlying type, sparsity, and complexity (real or complex) as p. The underlying data type of the codistributed array p must be single or double.

    Data Types: single | double

    Version History

    Introduced in R2006b