реклама на сайте
подробности

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> scilab vs python, что выбрать?
shf_05
сообщение Dec 30 2014, 06:34
Сообщение #31


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 22-04-08
Из: г. Екатеринбург
Пользователь №: 36 992



поищите C=A×B или // Left multiplication of this matrix and another
я так понимаю, на примере того, как сделал автор, можно перегрузить оператор * , чтобы он умножал какие угодно матрицы с предпроверкой их размерностей.
Go to the top of the page
 
+Quote Post
Xenia
сообщение Dec 30 2014, 07:05
Сообщение #32


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(shf_05 @ Dec 30 2014, 09:34) *
я так понимаю, на примере того, как сделал автор, можно перегрузить оператор * , чтобы он умножал какие угодно матрицы с предпроверкой их размерностей.


Я в собственной реализации перегружала оператор "=", нагружая выполнение операции именно на него, поскольку только в этом операторе известен адрес приемника результата. Тогда как операторы действий "+", "-", "*" возвращают у меня всего лишь малую структуру с адресами обоих операндов, флагами их транспонирования и типом операции (т.е. два адреса и один байт с флагами).

Вот поэтому мне и интересны чужие реализации "прикручивания". Тем более что реализация в лоб сопровождается дополнительным копированием результирующей матрицы, возвращаемой оператором, в приемник на этапе присваивания этого результата. А при больших матрицах эта довольно накладно, т.к. помимо копирования включает в себя деаллокацию промежуточного объекта, не говоря уже о необходимости его предшествующей аллокации. Т.е. результат операции при реализации в лоб переносится через промежуточный объект размером во всю матрицу, потому его при каждой операции приходится аллокировать, деаллокировать и дважды копировать его содержимое. Тогда как на этапе присваивания ("=") уже могут быть известны все три адреса, чтобы можно было запустить на них стандартную библиотечную функцию.
Go to the top of the page
 
+Quote Post
amaora
сообщение Dec 30 2014, 15:11
Сообщение #33


Местный
***

Группа: Участник
Сообщений: 421
Регистрация: 2-01-08
Пользователь №: 33 778



Цитата(Xenia @ Dec 30 2014, 07:45) *
Если матрица диагональная, то ее хранят в векторе sm.gif. А такие свойства, как симметрия и эрмитовость, обычно не позволяют ускорить операции сложения, вычитания и умножения, поскольку для этого требуется, чтобы ОБА операнда обладали таким свойством. Что же касается разряженных матриц, то это скорее не алгебраическая проблема, а ... "процессоростроительная", т.к. касается только того, способен ли FPU быстрее выполнять бинарные операции, если один из операндов нулевой. Причем, в электронной реализации (а так же на FPGA) такая проверка операндов на нулёвость не привела бы к замедлению арифметики с прочими числами, поскольку признак нулёвости регистра всегда можно сделать схемотехническим, экстренно отменяющим выполнение операции. Но если процессоростроители этого не предусмотрели, то проверять каждый операнд на нулёвость в программе будет не менее накладно по времени, чем честно умножать на нуль.


Я говорю о "compile time" оптимизациях, то есть во время выполнения уже не будет производится умножения на ноль или единицу. В фильтре Калмана таким образом можно много операций исключить. Симметрия матриц ковариации тоже помогает делать меньше вычислений, и память экономит. Но руками под каждую задачу это делать долго, и ошибок много.

Цитата
...

Отсюда и вопрос мной поставлен так: допускает ли механизм определения операторов языка C++ определить их для матриц и векторов таким образом, чтобы три операции (+,-,*) над ними имели естественно-арифметический вид записи? Если да, то почему это до сих пор не сделано производителями библиотек линейной алгебры? А если где-то уже сделано, то где именно?


Если посмотреть на boost обертку над blas то становиться понятно, что есть много вариантов операции *, поэтому они определены через свои названия а не символом умножения.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Dec 31 2014, 01:20
Сообщение #34


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(Xenia @ Dec 30 2014, 10:05) *
перегружала оператор "="

В более прямых языках, коим считаю паскаль, это называется property.
Причем, путаницы из-за ленивого стиля не возникнет никогда, поскольку у нас есть имя класса.
Go to the top of the page
 
+Quote Post
Obi
сообщение Jan 3 2015, 11:17
Сообщение #35


Местный
***

Группа: Свой
Сообщений: 262
Регистрация: 18-12-05
Из: Perth, WA
Пользователь №: 12 375



Добавлю свои 5 копеек... Python для меня - открытие года. Фактически убил во мне юзера Матлаба, коим я пользовался более 10 лет...
Есть все что надо - от символьных вычислений и квантовых алгоритмов до мощной графики. Переучиться получилось довольно быстро и весело. sm.gif Так что рекомендую!


--------------------
"We choose to go to the moon in this decade and do the other things, not because they are easy, but because they are hard,"
- John F. Kennedy in September 1962.
Go to the top of the page
 
+Quote Post
Xenia
сообщение Jan 3 2015, 11:29
Сообщение #36


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(Obi @ Jan 3 2015, 14:17) *
Python для меня - открытие года. Фактически убил во мне юзера Матлаба, коим я пользовался более 10 лет...
Есть все что надо - от символьных вычислений и квантовых алгоритмов до мощной графики. Переучиться получилось довольно быстро и весело. sm.gif Так что рекомендую!


А как на Питоне МК программировать?
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jan 3 2015, 18:43
Сообщение #37


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(Xenia @ Jan 3 2015, 15:29) *
А как на Питоне МК программировать?

sm.gif Очень просто. Забыть в данном случае о питоне и пользоваться LUA.
Go to the top of the page
 
+Quote Post
Obi
сообщение Jan 4 2015, 08:04
Сообщение #38


Местный
***

Группа: Свой
Сообщений: 262
Регистрация: 18-12-05
Из: Perth, WA
Пользователь №: 12 375



Цитата(Xenia @ Jan 3 2015, 15:29) *
А как на Питоне МК программировать?

Я не знаю. Мне это не надо sm.gif это уже давно не входит в круг моих интересов.

Максимум куда дотягиваются мои шаловливые руки - это общение с кучей аппаратуры Agilent/rohde&schwarz по GPIB. Раньше у меня это студент на Matlab делал, но мне всегда казалось что это не comme il faut... так что теперь все работает под python


--------------------
"We choose to go to the moon in this decade and do the other things, not because they are easy, but because they are hard,"
- John F. Kennedy in September 1962.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jan 4 2015, 10:07
Сообщение #39


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Obi @ Jan 4 2015, 11:04) *
Максимум куда дотягиваются мои шаловливые руки - это общение с кучей аппаратуры Agilent/rohde&schwarz по GPIB. Раньше у меня это студент на Matlab делал, но мне всегда казалось что это не comme il faut... так что теперь все работает под python

Я правильно понимаю, что для этого нужен только бесплатный Питон, и всё? А если передавать заказчику программу управления прибором, то им тоже нужно будет установить питон?
Go to the top of the page
 
+Quote Post
Obi
сообщение Jan 4 2015, 10:44
Сообщение #40


Местный
***

Группа: Свой
Сообщений: 262
Регистрация: 18-12-05
Из: Perth, WA
Пользователь №: 12 375



Цитата(ViKo @ Jan 4 2015, 13:07) *
Я правильно понимаю, что для этого нужен только бесплатный Питон, и всё? А если передавать заказчику программу управления прибором, то им тоже нужно будет установить питон?

Нужно еще как минимум pyVISA Так же это дело может потребовать NI-VISA библиотеки (бесплатые) установить отдельно. У меня это работает и под Windows и под Mac

У меня нет заказчиков, работаю для себя laughing.gif В принципе, всегда можно установить эти вещи, на них нет особо ограничений.
Так же известно что можно скомпилировать код python в исполняемый exe файл и делать установку python. Для этого есть много утилит и не только для Windows. Как это будет работать c дрйверами и аппаратурой, я не знаю.


--------------------
"We choose to go to the moon in this decade and do the other things, not because they are easy, but because they are hard,"
- John F. Kennedy in September 1962.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jan 4 2015, 18:45
Сообщение #41


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(ViKo @ Jan 4 2015, 14:07) *
Я правильно понимаю, что для этого нужен только бесплатный Питон, и всё? А если передавать заказчику программу управления прибором, то им тоже нужно будет установить питон?

Так в основном питон для того чтобы быстро получить результат.
Можно ведь по результату написать программу управления и обойтись без питона. Или встроить его в свою программу, но уже для других вещей
Go to the top of the page
 
+Quote Post
x736C
сообщение Jan 10 2015, 02:34
Сообщение #42


Профессионал
*****

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



Цитата(Obi @ Jan 4 2015, 13:44) *
Нужно еще как минимум ...

Какую версию Питона предпочитаете использовать?


Хорошо, что кто-то додумался всю эту тучу пакетов и библиотек для Питона, да еще и с нормальной IDE,
скомпоновать в один дистрибутив, ориентированный на научные вычисления. PythonXY

Сообщение отредактировал x736C - Jan 10 2015, 03:03
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jan 10 2015, 12:30
Сообщение #43


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



ХУ нету под линь
Закономерный вопрос про ХУ vs Анаконда
Кто владеет вопросом?

а также, совсем недавно пересел на spyder, доволен как слоняка.
Кто мне может объяснить, чем спайдер хуже указанных анаконды и ху?

Сообщение отредактировал _Pasha - Jan 10 2015, 14:44
Go to the top of the page
 
+Quote Post
x736C
сообщение Jan 10 2015, 17:50
Сообщение #44


Профессионал
*****

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



Цитата(_Pasha @ Jan 10 2015, 15:30) *
а также, совсем недавно пересел на spyder, доволен как слоняка.
Кто мне может объяснить, чем спайдер хуже указанных анаконды и ху?

Спайдер окружение (Scientific PYthon Development EnviRonment), которое использует PythonXY.
У меня он запускается под виндой вместе с PythonXY.
Просто под Линуксом надо самому собирать все в кучу, насколько понимаю.
Поэтому не совсем понятен вопрос «чем спайдер хуже xy?».
Go to the top of the page
 
+Quote Post
x736C
сообщение Jan 10 2015, 17:50
Сообщение #45


Профессионал
*****

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



Случайно два раза отправилось.

Сообщение отредактировал x736C - Jan 10 2015, 17:55
Go to the top of the page
 
+Quote Post

4 страниц V  < 1 2 3 4 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th June 2025 - 15:59
Рейтинг@Mail.ru


Страница сгенерированна за 0.01491 секунд с 7
ELECTRONIX ©2004-2016