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

 
 
> scilab vs python, что выбрать?
shf_05
сообщение Dec 25 2014, 09:51
Сообщение #1


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

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



добрый день, коллеги.

ранее долгое время применял матлаб для создания m файлов, простенького gui, работы с com портами, файлами.

теперь матлаб для меня закрыт, встал вопрос использовать "бесплатное" ПО, выбираю между scilab и python.
задачи по обработке сигналов, алгоритмы в основном свои, так что интересует в первую очередь удобство визуализации результатов, возможность создания всевозможных фильтров, создание gui b работа с железяками.
посмотрел примеры и того и другого вроде примерно на одном уровне, но может быть это только на первый взгляд?

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

спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
amaora
сообщение Dec 29 2014, 18:16
Сообщение #2


Местный
***

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



Интереснее было бы компилировать код в алгебраической записи (на matlab языке или ином) в оптимальный код на C. Так, чтобы использовались известные свойства матриц. Например разреженность может заметно сократить количество операций при умножении. Матрицы могут быть симметричными, диагональными, ортогональными и т.д. Все это можно использовать при генерации оптимального по быстродействию (или другому критерию) кода. Давно ищу что нибудь подходящее. Самому за такое браться, серьезная задача.
Go to the top of the page
 
+Quote Post
Xenia
сообщение Dec 30 2014, 04:45
Сообщение #3


Гуру
******

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



Цитата(amaora @ Dec 29 2014, 21:16) *
Интереснее было бы компилировать код в алгебраической записи (на matlab языке или ином) в оптимальный код на C. Так, чтобы использовались известные свойства матриц. Например разреженность может заметно сократить количество операций при умножении. Матрицы могут быть симметричными, диагональными, ортогональными и т.д. Все это можно использовать при генерации оптимального по быстродействию (или другому критерию) кода.


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

Тем не менее, я веду речь исключительно об удобстве использования арифметических операторов в матрично-векторных выражениях и ни о чем другом, т.к. всё другое традиционно производится через явные вызовы функций, а не средствами операторов. И если уж у вас обе матрицы настолько заковыристые, что их произведение через ухо вычислять быстрее, то и не пользуйтесь тогда операторами, а вызывайте для них функцию, которая вычисляет результат через ухо.

В конце концов, языки высокого уровня родились вместе с Фортраном, когда стало допустимо записывать арифметические операции посредством четырех операторов (+,-,*,/), используя скобки, и именно это вызывало бум! Потому как с помощью явного вызова функций можно было бы припеваючи продолжать жить на ассемблере.

Отсюда и вопрос мной поставлен так: допускает ли механизм определения операторов языка C++ определить их для матриц и векторов таким образом, чтобы три операции (+,-,*) над ними имели естественно-арифметический вид записи? Если да, то почему это до сих пор не сделано производителями библиотек линейной алгебры? А если где-то уже сделано, то где именно?
Go to the top of the page
 
+Quote Post
amaora
сообщение Dec 30 2014, 15:11
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 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

Сообщений в этой теме
- shf_05   scilab vs python   Dec 25 2014, 09:51
- - Xenia   Цитата(shf_05 @ Dec 25 2014, 12:51) подск...   Dec 25 2014, 10:05
- - syoma   ЦитатаА чего вдруг MATLAB от вас закрылся? Или это...   Dec 25 2014, 11:02
|- - Xenia   Цитата(syoma @ Dec 25 2014, 14:02) Ну лиц...   Dec 25 2014, 13:22
|- - des00   Цитата(Xenia @ Dec 25 2014, 21:22) А заче...   Dec 25 2014, 14:13
|- - andrew_b   Цитата(des00 @ Dec 25 2014, 18:13) нужно ...   Dec 26 2014, 11:05
- - ViKo   Еще есть Octave. Пока выбирал, чем пользоваться, ч...   Dec 25 2014, 14:13
|- - amaora   Цитата(ViKo @ Dec 25 2014, 17:13) Еще ест...   Dec 25 2014, 16:34
- - _Pasha   Питон объединяет великое множество и другого софта...   Dec 25 2014, 18:17
|- - shf_05   спасибо всем за ответы, буду пробовать питон- он в...   Dec 26 2014, 05:35
|- - Xenia   Цитата(_Pasha @ Dec 25 2014, 21:17) Питон...   Dec 26 2014, 06:40
|- - _Pasha   Цитата(Xenia @ Dec 26 2014, 09:40) Так эт...   Dec 26 2014, 07:56
|- - Xenia   Цитата(_Pasha @ Dec 26 2014, 10:56) Во-пе...   Dec 26 2014, 08:18
|- - _Pasha   Цитата(Xenia @ Dec 26 2014, 11:18) А быва...   Dec 26 2014, 10:27
||- - Xenia   Цитата(_Pasha @ Dec 26 2014, 13:27) Как б...   Dec 26 2014, 12:52
||- - _Pasha   Цитата(Xenia @ Dec 26 2014, 16:52) Обмана...   Dec 26 2014, 17:23
|||- - shf_05   ну маета с установкой питона! поставил на ура...   Dec 27 2014, 10:07
||- - amaora   Цитата(Xenia @ Dec 26 2014, 15:52) Пробле...   Dec 29 2014, 18:53
|- - halfdoom   Цитата(Xenia @ Dec 26 2014, 11:18) А быва...   Dec 29 2014, 07:03
|- - Xenia   Цитата(halfdoom @ Dec 29 2014, 10:03) При...   Dec 29 2014, 09:30
|- - shf_05   Цитата(Xenia @ Dec 29 2014, 14:30) Умноже...   Dec 29 2014, 13:42
|- - SSerge   Цитата(shf_05 @ Dec 29 2014, 20:42) взять...   Dec 29 2014, 15:49
|- - shf_05   Цитата(SSerge @ Dec 29 2014, 20:49) не за...   Dec 29 2014, 17:02
- - serjj   Про питон ничего сказать не могу, но Scilab вполне...   Dec 26 2014, 13:47
- - Bear_ku   Python 2.7 + VCForPython27 Python 3.4 + Visual C+...   Dec 29 2014, 05:07
|- - shf_05   Xenia вы искали это? http://www.quantstart.com/art...   Dec 30 2014, 05:40
||- - Xenia   Цитата(shf_05 @ Dec 30 2014, 08:40) Xenia...   Dec 30 2014, 06:00
||- - shf_05   поищите C=A×B или // Left multiplication of ...   Dec 30 2014, 06:34
||- - Xenia   Цитата(shf_05 @ Dec 30 2014, 09:34) я так...   Dec 30 2014, 07:05
||- - _Pasha   Цитата(Xenia @ Dec 30 2014, 10:05) перегр...   Dec 31 2014, 01:20
||- - Obi   Добавлю свои 5 копеек... Python для меня - открыти...   Jan 3 2015, 11:17
||- - Xenia   Цитата(Obi @ Jan 3 2015, 14:17) Python дл...   Jan 3 2015, 11:29
||- - _Pasha   Цитата(Xenia @ Jan 3 2015, 15:29) А как н...   Jan 3 2015, 18:43
||- - Obi   Цитата(Xenia @ Jan 3 2015, 15:29) А как н...   Jan 4 2015, 08:04
||- - ViKo   Цитата(Obi @ Jan 4 2015, 11:04) Максимум ...   Jan 4 2015, 10:07
||- - Obi   Цитата(ViKo @ Jan 4 2015, 13:07) Я правил...   Jan 4 2015, 10:44
|||- - x736C   Цитата(Obi @ Jan 4 2015, 13:44) Нужно еще...   Jan 10 2015, 02:34
|||- - Obi   Цитата(x736C @ Jan 10 2015, 05:34) Какую ...   Jan 11 2015, 07:25
||- - _Pasha   Цитата(ViKo @ Jan 4 2015, 14:07) Я правил...   Jan 4 2015, 18:45
|- - andyp   Цитата(Xenia @ Dec 30 2014, 07:45) Отсюда...   Feb 13 2015, 23:09
- - TSerg   Цитата(shf_05 @ Dec 25 2014, 12:51) добры...   Dec 29 2014, 18:28
- - _Pasha   ХУ нету под линь Закономерный вопрос про ХУ vs Ана...   Jan 10 2015, 12:30
|- - x736C   Цитата(_Pasha @ Jan 10 2015, 15:30) а так...   Jan 10 2015, 17:50
||- - _Pasha   Цитата(x736C @ Jan 10 2015, 20:50) Просто...   Jan 10 2015, 22:15
|- - x736C   Случайно два раза отправилось.   Jan 10 2015, 17:50
- - _Pasha   Что-то не пойму. Попробовал я pythonXY. А там spyd...   Feb 26 2015, 08:09
|- - alexunder   Интересная тема. Обожаю Matlab со всеми его плюшка...   Feb 26 2015, 11:50
|- - syoma   Цитата(alexunder @ Feb 26 2015, 14:50) Ин...   Mar 12 2015, 15:32
|- - alexunder   Цитата(syoma @ Mar 12 2015, 16:32) Если м...   Mar 12 2015, 16:29
- - _Pasha   Это просто песня какая-то... http://manns.github.i...   Mar 11 2015, 11:18
- - _Pasha   кто осилил Spyder под линукс, подскажите, как в ме...   Apr 23 2015, 14:24


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

 


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


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