eye

Создайте codistributed единичную матрицу

    Описание

    пример

    X = eye(n) создает n- n единичная матрица codistributed.

    Когда вы создаете codistributed массив в связывающемся задании или spmd блокируйтесь, функция создает массив на каждом рабочем. Если вы создаете codistributed массив за пределами связывающегося задания или spmd блокируйтесь, массив хранится только на рабочем или клиенте, который создает codistributed массив.

    По умолчанию codistributed массив имеет базовый тип double.

    X = eye(n,m) создает n- m единичная матрица codistributed с единицами на основной диагонали и нулях в другом месте.

    X = eye(sz) создает codistributed единичную матрицу где вектор размера sz задает размер X. Например, eye(codistributed([2 3])) создает 2 3 codistributed массив.

    X = eye(___,datatype) создает codistributed единичную матрицу с базовым типом datatype. Например, eye(codistributed(1),"int8") создает codistributed 8-битный скалярный целочисленный 1. Можно использовать этот синтаксис с любым из входных параметров в предыдущих синтаксисах.

    X = eye(___,codist) использует codistributor объект codist создать codistributed массив нулей.

    Задайте распределение значений массивов через память о рабочих, использующих codistributor объект codist. Для получения дополнительной информации о создании codistributors, смотрите codistributor1d и codistributor2dbc.

    X = eye(___,codist,"noCommunication") создает codistributed единичную матрицу, не используя связь между рабочими. Можно задать codist или codist,"noCommunication", но не то и другое одновременно.

    Когда вы создаете очень большие массивы или ваше задание передачи или spmd блок использует многих рабочих, коммуникация рабочего-рабочего может замедлить создание массивов. Используйте этот синтаксис, чтобы улучшать производительность вашего кода путем удаления времени, требуемого для коммуникации рабочего-рабочего.

    Совет

    Когда вы используете этот синтаксис, некоторые шаги проверки ошибок пропущены. Используйте этот синтаксис, чтобы улучшать производительность вашего кода после того, как вы будете моделировать свой код, не задавая "noCommunication".

    X = eye(___,"like",p) использует массив p создать codistributed единичную матрицу. Можно задать datatype или "like", но не то и другое одновременно.

    Возвращенный массив X имеет тот же базовый тип, разреженность и сложность (действительный или комплексный) как p.

    Примеры

    свернуть все

    Создайте codistributed единичную матрицу 1000 на 1000, распределенную ее вторым измерением (столбцы).

    spmd(4)
        C = eye(1000,'codistributed');
    end

    С четырьмя рабочими каждый рабочий содержит 1000 250 локальную часть C.

    Создайте codistributed uint16 1000 на 1000 единичная матрица, распределенная ее столбцами.

    spmd(4)
        codist = codistributor('1d',2,100*[1:numlabs]);
        C = eye(1000,1000,'uint16',codist);
    end

    Каждый рабочий содержит 100 labindex локальная часть C.

    Входные параметры

    свернуть все

    Размер первой размерности единичной матрицы в виде codistributed целое число.

    • Если n единственный целочисленный входной параметр, затем X квадратная n на n единичная матрица.

    • Если n 0, затем X пустая матрица.

    • Если n отрицательно, затем функция обрабатывает его как 0.

    Размер второго измерения единичной матрицы в виде codistributed целое число.

    • Если m 0, затем X пустая матрица.

    • Если m отрицательно, затем функция обрабатывает его как 0.

    Размер каждой размерности в виде codistributed целочисленный вектор-строка. Каждый элемент этого вектора указывает на размер соответствующей размерности:

    • Если размером какой-либо размерности является 0, затем X пустой массив.

    • Если размер какой-либо размерности отрицателен, то функция обрабатывает его как 0.

    • После второго измерения, eye игнорирует последующие измерения с размером 1. Например, eye(codistributed([3 1 1 1])) производит codistributed единичную матрицу 3 на 1.

    Пример: sz = codistributed([2 3 4]) создает 2 codistributed массивом 3 на 4.

    Базовый тип данных возвращенного массива в виде одной из этих опций:

    • "double"

    • "single"

    • "logical"

    • "int8"

    • "uint8"

    • "int16"

    • "uint16"

    • "int32"

    • "uint32"

    • "int64"

    • "uint64"

    Codistributor в виде codistributor1d или codistributor2dbc объект. Для получения информации о создании codistributors, смотрите страницы с описанием для codistributor1d и codistributor2dbc. Чтобы использовать схему распределения по умолчанию, можно задать codistributor конструктора без аргументов.

    Прототип создаваемого массива в виде codistributed массив.

    Представленный в R2006b