Архив: Написать класс для матрицы
Бюджет
8$
/ 500
руб
в месяц
Создан: 5 лет назад
Закрыт
- Описание
- Написать класс для матрицы.
Class should support following operations :
multiplication on other matrix
multiplication on scalar
addition
subtraction
transposition
constructor, 3 parameters:
1) number of rows
2) number of columns
3) generator function , produced values are 3-element tuple (row, column, value); order of appearance: a) tuples with lower rows numbers come first b) if rows are equal tuples with lower columns numbers come first; if value not produced for some cell, its default value is 0
if order of appearance in generator function not satisfied throw an exception
__repr__ (useful for debugging, method description)
Implementation requirements:
matrix data should be stored in 2-dimension tuple (tuple of tuples) to provide immutability, see: en.wikipedia.org/wiki/Imm...
matrix data variable should have name data
temporary objects of matrix size (rows * columns) are not allowed nor in constructor nor in operations code, maximum size of temporary object is max(rows, columns)
each operation produces new matrix
for most operations double loop (for i in ...: for j in ...) required, to make code more concise and clean use generic function for looping and pass lambda function (that represents unique part of each operation) as parameter to it; at least following operations should use generic function: "multiplication on scalar", "subtraction", "addition", however optionally you may create advanced version that can be applied to "multiplication on other matrix" and "transposition" also
Implementation hints:
as temporary objects not allowed one of approaches to construct object is to use nested tuple generator
simple example:
tuple(tuple (i*j for i in range(1,10)) for j in range(1,10))
((1, 2, 3, 4, 5, 6, 7, 8, 9),
(2, 4, 6, 8, 10, 12, 14, 16, 18),
(3, 6, 9, 12, 15, 18, 21, 24, 27),
(4, 8, 12, 16, 20, 24, 28, 32, 36),
(5, 10, 15, 20, 25, 30, 35, 40, 45),
(6, 12, 18, 24, 30, 36, 42, 48, 54),
(7, 14, 21, 28, 35, 42, 49, 56, 63),
(8, 16, 24, 32, 40, 48, 56, 64, 72),
(9, 18, 27, 36, 45, 54, 63, 72, 81))
use gen_stream method from chapter 9 to fill cell with zero if value not returned by generator for some cell
Class signature:
class Matrix:
def __init__(self, rows, columns, gen)
def mult(self, other)
def mult_scalar(self, scalar)
def sum(self, other)
def subt(self, other)
def transpose(self)
def __repr__(self)
If some operation can't be done (due to incompatible matrix sizes) ValueError exception (see docs.python.org/3/library... should be thrown.
Example:
def gen():
yield (0,0,1)
yield (0,1,2)
yield (1,0,1)
yield (1,2,1)
m = Matrix(2,3,gen)
print(m)
(1, 2, 0)
(1, 0, 1)
m = m.mult(m.transpose())
print(m)
(5, 1)
(1, 2)
Уже сделал умножение на другую матрицу, умножение на скаляр, дополнение, вычитание и перенос, кол-во строк и колонок. Нужно сделать третий пункт с генератором. Код прилагаю
- Категория
Похожие проекты
0
4
Необходимо разработать систему, которая: Подключается к API Diagnocat и iDent (через токены доступа). Получает данные о пациенте, результатах диагностики, снимках и назначениях. Автоматически формирует структурированный отчет по шаблону (включая врачей, этапы лечения, стоимость и описание процедур).......
4 месяца назад
0
0
Необходимо связать БД 1C:ERP с БД Outlook, MS Access, Битрикс24. Например при вводе нового сотрудника в 1С:ERP он должен автоматически появляться в вышеперечисленных БД....
4 месяца назад
0
1
Требуется реализация отчёта на кастомизированной 1С:УПП 1. 2, ТЗ и контрольный пример во вложении, 80% кода должно быть покрыто модульными тестами....
4 месяца назад
$7
0
2
Мне нужно копировать мой текст и вставлять в одну группу ВК с открытой стеной для публикации рекламы. Задача скрипта/сервиса/программы - примерно каждые 10 секунд брать мой текст и вставлять в эту группу. Я пробовал через одну программу, которая записывает действия мышки и потом повторяет, но она как-то......
6 месяцев назад
0
0
Написать прошивку для A94B114, используя 2 подобные рабочие прошивки. Все файлы есть....
7 месяцев назад
$21
0
2
Нужно разархивировать файл архив. ujems, есть распаковщик, но выдает ошибку. Прислать пруфы(скрины)....
9 месяцев назад
0
1
Входные: Имеется скрипт по обработке email писем и добавление их в систему Redmine Проблема: Система обработки этих писем написана некорректная и негибкая Задача: Переписать логику обработки входящих писем, чтобы исключить их потерю при незначительных отклонениях от ожидаемой структуры....
9 месяцев назад
$37
0
2
- В обязанности сотрудника входит поддержание мобильного приложения системы автоматизации бизнеса. - Работа сдельная: задачи выдаются на оценку, далее после согласования передаются на реализацию. - Заключаем договор и NDA (соглашение о неразглашении)....
9 месяцев назад
$71
0
0
Информация о проекте: Проект включает в себя React Native приложение с Expo внутри которого находится webview с сайтом На устройствах с ОС IOS проблема с воспроизведением видео....
9 месяцев назад
0
0
Разрабатываю десктопные программы на языке Java, а так же Java + SQL....
9 месяцев назад
0
0
0
6
1. Чтобы можно было писать описание события (без заголовка) - превью в списке берется N количества букв с начала. (в списке писать дату события и сколько осталось до него) . Выставление даты и времени напоминания и ИНТЕРВАЛА ПОВТОРА ОТ 1 МИНУТЫ! Выставлять количество повторов, далее напоминания прекращаются.......
10 месяцев назад
0
5
Сайт arg2028t. beget. tech/. Нужно сделать вот такой калькулятор. airprint. by/outdoor/wide-format. и еще некоторые доработки....
10 месяцев назад
$214
0
1
0
7
Краткое описание: Мы ищем исполнителя для тестирования функционала мобильного приложения на платформе Android. Задача включает проверку основных функций приложения, таких как работа комнаты, передача видео, звука и чата, а также создание подробной отчетности о найденных ошибках. Требования к исполнителю:......
11 месяцев назад
0
12
$143
0
1
Oпpocы (1008pyб/чaс) Заходитe на сaйт: gonsù....
1 год назад
0
4
Требуется создать скрипт для premiere pro. Данная суть скрипта: в выделеном бине нужно что бы автоматически проставлялся in out ровно по серидине файла так что бы выделенная область была длиной 3 секунды. И требуется кнопка что бы работало через окно expressions. Проблема текущего в том что он не работает......
1 год назад
0
2
Нужно создать приложения под гемблинг/беттинг, на котлин. Приложение должно работать Firebase. Детали вышлю при обсуждение....
1 год назад
$21
0
4
Нужно разархивировать файл archive. ujems, есть распаковщик, но выдает ошибку. Прислать пруфы ....
1 год назад
0
3
Разработать впн сервис ( Приложения на ios и android + сайт для оплаты подписки). Настройка Серверов. Оплата по договоренности. Работаем черед безопасную сделку....
1 год назад
Похожая удалённая работа
- Удаленная работа для веб-программиста
- Удаленная работа для разработчика баз данных
- Удаленная работа для прикладного программиста
- Удаленная работа для системного программиста
- Удаленная работа для разработчика игр
- Удаленная работа для разработчика мобильных приложений
- Удаленная работа для тестировщика ПО
- Удаленная работа для 1С программиста
- Удаленная работа для разработчика встраиваемых систем
- Удаленная работа для разработчика CRM и ERP