Главная /
Оптимизация приложений с использованием библиотеки Intel MKL /
Используя функции Intel® MKL SPARSE BLAS API, напишите программу, которая вычисляет с двойной точностью выражение y = alpha * A^T * B + beta * C, где A - треугольная разреженная матрица, B, C - матрицы, alpha, beta - скаляры. Исходные данные содержатся в
Используя функции Intel® MKL SPARSE BLAS API, напишите программу, которая вычисляет с двойной точностью выражение y = alpha * A^T * B + beta * C
, где A
- треугольная разреженная матрица, B
, C
- матрицы, alpha
, beta
- скаляры. Исходные данные содержатся в файле. В ответ введите 8 значащих цифр (с учётом округления) суммы модулей компонент результата (для вектора сумму модулей всех координат, для матрицы – сумму модулей всех элементов). (Используйте "точку" в качестве десятичного разделителя.)
вопрос
Правильный ответ:
4412.3777
Сложность вопроса
45
Сложность курса: Оптимизация приложений с использованием библиотеки Intel MKL
49
Оценить вопрос
Комментарии:
Аноним
Зачёт сдан. Мчусь в бар отмечать экзамен intuit
09 июн 2020
Аноним
Если бы не эти решения - я бы не смог решить c этими тестами intuit.
02 мар 2017
Другие ответы на вопросы из темы программирование интуит.
- # Используя подходящую функцию из библиотеки Intel® MKL, напишите программу, которая вычисляет с одинарной точностью скалярное произведение векторов (x, y), где x, y - векторы. В файле содержатся данные для вычислений: размер (size) вещественного вектора X, шаг выборки (increment) элементов вектора x, значения элементов вектора X, размер (size) вещественного вектора Y, шаг выборки (increment) элементов вектора y, значения элементов вектора Y. В качестве ответа введите 5 значащих цифр (с учётом округления) суммы модулей компонент полного результата (для числа - его модуль, для вектора - сумму модулей координат, для матрицы – сумму модулей элементов, с учётом неизменившихся в процессе вычислений компонент). Используйте "точку" в качестве десятичного разделителя. (Общие пояснения: данные в файле заданы в той точности, в которой требуется решить задачу; индексация векторов и матриц начинается с 0, то есть первый элемент вектора имеет индекс [0], а матрицы - [0][0]; если шаг выборки (increment) не задан, то он равен 1 по умолчанию; если данные об обрамляющей матрице не заданы, то по умолчанию обрамляющая матрица совпадает с подматрицей, необходимой для решения задачи; выборка всегда начинается с первого элемента вектора с индексом [0] или матрицы с индексом [0][0], если не указано другое; заглавными буквами обозначаются вектора, из которых нужно сделать выборку подвекторов, обозначаемых строчными буквами, для проведения вычислений, указанных в задаче; матрицы сохранены построчно; размер матрицы задан в формате количество строк на количество столбцов; выражение x^Т означает транспонирование; выражение А^(-1) означает обращение матрицы А; выражение А^(-T) означает транспонирование и обращение матрицы А; выражение x^H означает транспонирование и комплексное сопряжение; выражение A^(-H) означает транспонирование, комплексное сопряжение и обращение матрицы А.)
- # Используя подходящую функцию из библиотеки Intel® MKL, напишите программу, которая вычисляет с двойной точностью выражение alpha * A^(T) * B + beta * C, где A, B, C - матрицы, alpha, beta - скаляры. В файле содержатся данные для вычислений: значение вещественного скаляра alpha, значение вещественного скаляра beta, размер (size) вещественной подматрицы А, позиция подматрицы А в матрице М - индекс элемента матрицы М, соответствующего элементу A[0][0], размер вещественной матрицы М, значения элементов матрицы M, размер (size) вещественной подматрицы B, позиция подматрицы B в матрице Q - индекс элемента матрицы Q, соответствующего элементу B[0][0], размер вещественной матрицы Q, значения элементов матрицы Q, размер (size) вещественной подматрицы C, позиция подматрицы C в матрице R - индекс элемента матрицы R, соответствующего элементу C[0][0], размер вещественной матрицы R, значения элементов матрицы R. В качестве ответа введите 8 значащих цифр (с учётом округления) суммы модулей компонент полного результата (для числа - его модуль, для вектора - сумму модулей координат, для матрицы – сумму модулей элементов, с учётом неизменившихся в процессе вычислений компонент). Используйте "точку" в качестве десятичного разделителя. (Общие пояснения: данные в файле заданы в той точности, в которой требуется решить задачу; индексация векторов и матриц начинается с 0, то есть первый элемент вектора имеет индекс [0], а матрицы - [0][0]; если шаг выборки (increment) не задан, то он равен 1 по умолчанию; если данные об обрамляющей матрице не заданы, то по умолчанию обрамляющая матрица совпадает с подматрицей, необходимой для решения задачи; выборка всегда начинается с первого элемента вектора с индексом [0] или матрицы с индексом [0][0], если не указано другое; заглавными буквами обозначаются вектора, из которых нужно сделать выборку подвекторов, обозначаемых строчными буквами, для проведения вычислений, указанных в задаче; матрицы сохранены построчно; размер матрицы задан в формате количество строк на количество столбцов; выражение x^Т означает транспонирование; выражение А^(-1) означает обращение матрицы А; выражение А^(-T) означает транспонирование и обращение матрицы А; выражение x^H означает транспонирование и комплексное сопряжение; выражение A^(-H) означает транспонирование, комплексное сопряжение и обращение матрицы А.)
- # Используя подходящую функцию из библиотеки Intel® MKL, напишите программу, которая вычисляет с одинарной точностью выражение alpha * B * A + beta * C, где A, B, C - комплексные матрицы, A - симметрическая матрица, alpha, beta - комплексные скаляры. В файле содержатся данные для вычислений: значение комплексного скаляра alpha, значение комплексного скаляра beta, размер (size) комплексной матрицы А, значения элементов верхнего треугольника (включая главную диагональ) матрицы A, размер (size) комплексной подматрицы B, позиция подматрицы B в матрице Q - индекс элемента матрицы Q, соответствующего элементу B[0][0], размер комплексной матрицы Q, значения элементов матрицы Q, размер (size) комплексной подматрицы C, позиция подматрицы C в матрице R - индекс элемента матрицы R, соответствующего элементу C[0][0], размер комплексной матрицы R, значения элементов матрицы R. В качестве ответа введите 5 значащих цифр (с учётом округления) суммы модулей компонент полного результата (для числа - его модуль, для вектора - сумму модулей координат, для матрицы – сумму модулей элементов, с учётом неизменившихся в процессе вычислений компонент). Используйте "точку" в качестве десятичного разделителя. (Общие пояснения: данные в файле заданы в той точности, в которой требуется решить задачу; индексация векторов и матриц начинается с 0, то есть первый элемент вектора имеет индекс [0], а матрицы - [0][0]; если шаг выборки (increment) не задан, то он равен 1 по умолчанию; если данные об обрамляющей матрице не заданы, то по умолчанию обрамляющая матрица совпадает с подматрицей, необходимой для решения задачи; выборка всегда начинается с первого элемента вектора с индексом [0] или матрицы с индексом [0][0], если не указано другое; заглавными буквами обозначаются вектора, из которых нужно сделать выборку подвекторов, обозначаемых строчными буквами, для проведения вычислений, указанных в задаче; матрицы сохранены построчно; размер матрицы задан в формате количество строк на количество столбцов; выражение x^Т означает транспонирование; выражение А^(-1) означает обращение матрицы А; выражение А^(-T) означает транспонирование и обращение матрицы А; выражение x^H означает транспонирование и комплексное сопряжение; выражение A^(-H) означает транспонирование, комплексное сопряжение и обращение матрицы А.)
- # Используя подходящую функцию из библиотеки Intel® MKL, напишите программу, которая вычисляет с одинарной точностью выражение alpha * A * A^(T) + beta * C, где A, C - матрицы, C - симметрическая матрица, alpha, beta - скаляры. В файле содержатся данные для вычислений: значение вещественного скаляра alpha, значение вещественного скаляра beta, размер (size) вещественной подматрицы A, позиция подматрицы A в матрице M - индекс элемента матрицы M, соответствующего элементу A[0][0], размер вещественной матрицы M, значения элементов матрицы M, размер (size) вещественной матрицы C, значения элементов верхнего треугольника (включая главную диагональ) матрицы C. В качестве ответа введите 5 значащих цифр (с учётом округления) суммы модулей компонент полного результата (для числа - его модуль, для вектора - сумму модулей координат, для матрицы – сумму модулей элементов, с учётом неизменившихся в процессе вычислений компонент). Используйте "точку" в качестве десятичного разделителя. (Общие пояснения: данные в файле заданы в той точности, в которой требуется решить задачу; индексация векторов и матриц начинается с 0, то есть первый элемент вектора имеет индекс [0], а матрицы - [0][0]; если шаг выборки (increment) не задан, то он равен 1 по умолчанию; если данные об обрамляющей матрице не заданы, то по умолчанию обрамляющая матрица совпадает с подматрицей, необходимой для решения задачи; выборка всегда начинается с первого элемента вектора с индексом [0] или матрицы с индексом [0][0], если не указано другое; заглавными буквами обозначаются вектора, из которых нужно сделать выборку подвекторов, обозначаемых строчными буквами, для проведения вычислений, указанных в задаче; матрицы сохранены построчно; размер матрицы задан в формате количество строк на количество столбцов; выражение x^Т означает транспонирование; выражение А^(-1) означает обращение матрицы А; выражение А^(-T) означает транспонирование и обращение матрицы А; выражение x^H означает транспонирование и комплексное сопряжение; выражение A^(-H) означает транспонирование, комплексное сопряжение и обращение матрицы А.)
- # Используя подходящую функцию из библиотеки Intel® MKL, напишите программу, которая вычисляет с двойной точностью выражение alpha * A^(T) * B^(T) + beta * C, где A, B, C - матрицы, alpha, beta - скаляры. В файле содержатся данные для вычислений: значение вещественного скаляра alpha, значение вещественного скаляра beta, размер (size) вещественной подматрицы A, позиция подматрицы A в матрице M - индекс элемента матрицы M, соответствующего элементу A[0][0], размер вещественной матрицы M, значения элементов матрицы M, размер (size) вещественной подматрицы B, позиция подматрицы B в матрице Q - индекс элемента матрицы Q, соответствующего элементу B[0][0], размер вещественной матрицы Q, значения элементов матрицы Q, размер (size) вещественной подматрицы C, позиция подматрицы С в матрице R - индекс элемента матрицы R, соответствующего элементу C[0][0], размер вещественной матрицы R, значения элементов матрицы R. В качестве ответа введите 8 значащих цифр (с учётом округления) суммы модулей компонент полного результата (для числа - его модуль, для вектора - сумму модулей координат, для матрицы – сумму модулей элементов, с учётом неизменившихся в процессе вычислений компонент). Используйте "точку" в качестве десятичного разделителя. (Общие пояснения: данные в файле заданы в той точности, в которой требуется решить задачу; индексация векторов и матриц начинается с 0, то есть первый элемент вектора имеет индекс [0], а матрицы - [0][0]; если шаг выборки (increment) не задан, то он равен 1 по умолчанию; если данные об обрамляющей матрице не заданы, то по умолчанию обрамляющая матрица совпадает с подматрицей, необходимой для решения задачи; выборка всегда начинается с первого элемента вектора с индексом [0] или матрицы с индексом [0][0], если не указано другое; заглавными буквами обозначаются вектора, из которых нужно сделать выборку подвекторов, обозначаемых строчными буквами, для проведения вычислений, указанных в задаче; матрицы сохранены построчно; размер матрицы задан в формате количество строк на количество столбцов; выражение x^Т означает транспонирование; выражение А^(-1) означает обращение матрицы А; выражение А^(-T) означает транспонирование и обращение матрицы А; выражение x^H означает транспонирование и комплексное сопряжение; выражение A^(-H) означает транспонирование, комплексное сопряжение и обращение матрицы А.)