Решение на Изберете си проект от Гюлджан Купен

Обратно към всички решения

Към профила на Гюлджан Купен

Код

# Идеята ми за проект е да направя пакет за Python, реализиращ работа с
# n-мерни матрици и вектори. Пакетът ще съдържа класовете Matrix и Vector, в
# които ще бъдат имплементирани следните операции:
#
# събиране и изваждане на матрици с операциите +, -, +=, -=;
# прибавяне и изваждане на число от елементите на матрицата;
# умножение на матрици с подходящи размерности с операциите *, *=;
# умножение и деление на матрици с числа;
# достъп до елементите на матрицата с операция [];
# транспониране на произволна правоъгълна матрица;
# намиране на детерминанта на матрица;
# намиране на обратна матрица;
# събиране и изваждане на вектори чрез операциите +, ­, +=, ­=;
# събиране, изваждане, умножение и деление на вектор с число;
# достъп до елементите на вектор с операция [];
# скаларно и векторно произведение на вектори чрез операции *, *=, ^, ^=;
# нормализиране на вектор;
# умножение на вектор с матрица с операции *, *=;
#
# Мисля да кача пакета в PyPI, а за version control ще използвам Github.
# Ще се радвам ако имате идеи какво мога да добавя и ми дадете някои съвети.
# Благодаря.

История (1 версия и 1 коментар)

Гюлджан обнови решението на 22.04.2015 17:49 (преди около 9 години)

+# Идеята ми за проект е да направя пакет за Python, реализиращ работа с
+# n-мерни матрици и вектори. Пакетът ще съдържа класовете Matrix и Vector, в
+# които ще бъдат имплементирани следните операции:
+#
+# събиране и изваждане на матрици с операциите +, -, +=, -=;
+# прибавяне и изваждане на число от елементите на матрицата;
+# умножение на матрици с подходящи размерности с операциите *, *=;
+# умножение и деление на матрици с числа;
+# достъп до елементите на матрицата с операция [];
+# транспониране на произволна правоъгълна матрица;
+# намиране на детерминанта на матрица;
+# намиране на обратна матрица;
+# събиране и изваждане на вектори чрез операциите +, ­, +=, ­=;
+# събиране, изваждане, умножение и деление на вектор с число;
+# достъп до елементите на вектор с операция [];
+# скаларно и векторно произведение на вектори чрез операции *, *=, ^, ^=;
+# нормализиране на вектор;
+# умножение на вектор с матрица с операции *, *=;
+#
+# Мисля да кача пакета в PyPI, а за version control ще използвам Github.
+# Ще се радвам ако имате идеи какво мога да добавя и ми дадете някои съвети.
+# Благодаря.

Идеята не е лоша. Тъй като правиш библиотека ще очакваме няколко неща от нея:

  • Нещата да се смятат наистина ефективно. Тоест да си помислила добре над имплементацията им. Няма да се съгласим на просто "работи". Ще трябва да "работи бързо!".

  • Хубава документация на библиотеката. Виж как други го правят. Примери: scipy и numpy. Функцията help в интерактивната конзола на python също трябва да показва смислени неща.

  • Изчерпателни тестове и бенчмаркове. С всички правилни и неправилни употреби на библиотеката ти, за които се сетиш.

Не трябва да забравяй обещанието си за PyPI. Ще очаквам да мога да си я инсталирам с pip и да прави всяко едно от нещата, които си изброила.