Pull to refresh

Comments 43

надо бы упомянуть

1

2

а так же ряд других решений в matcad, RUST и т.п.

Не вижу смысла писать и о других решениях - статья ведь конкретно о Python. Тем более, что про RUST я вообще ничего не знаю

цикл туториалов,

вызывает непреодолимое желание воспитать ссаными тряпками

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

Я так понимаю, что "материалы" и "инженеры" - это исконно русские слова?

"Туториал" отсутствует в словаре иностранных слов русского языка.

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

«Прескриптивизм» и «дескриптивизм» там есть?

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

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

Половина численных методов основана на приближенных равенствах вроде x ≈ x**2 при x ≈ 1 и т.п. Естественно, единицы измерения при этом не сохраняются, и это не является признаком неправильного расчёта.

Эти все фишки с единицами измерения дальше школьной арифметики не работают. Уже банальное разложение в ряд Тейлора - фундамент матанализа - не сохраняет единицы измерения в обыденном понимании (которое лежит в основе описываемой библиотеки). Надо было бы придумывать предельный переход бесконечной последовательности единиц измерения и т.п. А ряд Тейлора - это только один простой частный случай.

Для расчётов с неопределённостями в Питоне тоже есть специальный модуль (и я как раз сейчас готовлю о нём статью для Хабра). И если в исходных данных были единицы измерения из модуля pint, то они тоже будут сохранены и правильно обработаны в результате.

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

Это очень упрощённое понимание физики и инженерии.

Начните с того, что попробуйте ввести единицы измерения для бесконечно малых величин. Потом можно попробовать последовательно ввести единицы измерения в квантовую механику, и в итоге свести её в один математический аппарат с теорией относительности ;)

Квантовая механика это совершенно особая тема. Я же писал об обычной инженерии, имеющей дело с макрообъектами, а не с микромиром

Ну когда как. Сейчас квантовая электроника и квантовая оптика образуют вполне весомую часть в общем объёме инженерных расчётов. В России особенно квантовая оптика активно развивается.

Но я не настаиваю именно на квантовой механике. Просто хочу сказать, что сложные физические расчёты – непростые вещи чисто в вычислительном отношении.

Фишки с единицами измерений как раз очень помогают. Если функция зависит сложным образом от величины X (сложнее степенной функции), то величина X должна быть безразмерной. К тому же, это является хорошей проверкой результата на ошибки после алгебраических преобразований.
Наверное, единственная используемая функция, в которую мы подставляем размерную величину, - это логарифм, то есть dB и близкие к нему. Правильнее было бы вычислять логарифм отношения X к размерному референсному значению. Но, потом мы чаще сравниваем значения dB относительно друг друга, а не абсолютные.

Если функция зависит сложным образом от величины X (сложнее степенной функции), то величина X должна быть безразмерной

Это большое заблуждение. Допустим, величина X – это дальность в метрах по данным локации космического аппарата, а функция – большая полуось его орбиты тоже в метрах, построенная по результатам применения статистических фильтров к данным нескольких таких локаторов (с помехами), модели гравитационного поля Земли, модели атмосферы, и т.д. и т.п. Величина X может при этом даже и не войти в результат, если фильтр рассудит, что это помеха.

Я чего-то даже сам задумался, какую размерность имеет измерение физической величины, умноженное на статистический весовой коэффициент. 100 километров с вероятностью 0.5 – это то же самое, что 50 километров, или всё же нет?

Инженерная практика – это очень часто математическая статистика в том или ином виде.

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

100 километров с вероятностью 0.5 – это то же самое, что 50 километров, или всё же нет?

Вероятность - безразмерная величина как раз для того, чтобы можно было её на что угодно умножать. "100 км с вероятностью 0.5" - это уже не просто число с размерностью, сама фраза имеет значение в каком-то контексте.

Не понял Вашу реплику.

Давайте для простоты возьмём конкретный пример. Мы измерили одно и то же расстояние 3 раза, первый раз получилась гипотеза 1 метр с апостериорной мощностью критерия 0.8, второй раз получилась гипотеза 1.2 метра с мощностью критерия 0.7, и третий раз получилась гипотеза 0.9 метра с мощностью критерия 0.9. Какую размерность в данном случае имеет байесовская оценка и собственно результат измерения?

По Вашим словам (как я их понял) получается, что меряли метры, а получили безразмерный результат.

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

огромное количество различных библиотек (модулей), написанных как на самом питоне, так и на более быстрых "профессиональных" языках С/С++ и Фортран.

Судя из написанного, Питон по мнению автора язык непрофессиональный. Дальше читать не стал.

Я не программист - поэтому могу и ошибаться в том, что профессиональные программисты не пишут на Питоне операционные системы, антивирусы, компиляторы и прочие пакеты прикладных программ. Если обидел профессионала - приношу свои извинения. Но хотелось бы получить конкретные примеры профессиональных программных продуктов, написанных на Питоне...

Ну уж, во всяком случае, побольше частей современных ОС написано на питоне, чем на фортране.

Убедили. Убрал из аннотации "профессиональность"

ну назовите хотя бы одну часть ос, написанную на питоне.

Только именно ос, а не приложения под ос

Странный вопрос. find / -name "*.py"

virt-manager, например, написан на питоне.

Какие буквы вам непонятны в "The virt-manager application is a desktop user interface"?

А какие буквы вам непонятны в "часть ОС"? Это одна из важнейших частей пользовательского интерфейса операционной системы.

читайте доки что есть application и что есть operating system

не говоря уже об утверждении, что virt-manager есть одна из важнейших частей пользовательского интерфейса

Как-то Вы очень странно понимаете смысл слова профессиональный. Профессиональный от слова профессия. Видимо, мы учили разные русские языки в школе...

Может быть, может быть... Я, всё-таки, русский только на половину и всю жизнь прожил в Молдавии ;)

Гадая что Вы хотели сказать говоря "непрофессиональный", единственное что мне приходит в голову, что он используется только для обучения, как в настоящее время, например, Паскаль. Про Питон такого точно сказать нельзя. Старайтесь быть точнее в формулировках.

Посыпаю голову пеплом, хотя сказать я хотел совсем не это. Я предполагал, что Питон (ввиду его простоты) используют не программисты, а специалисты других профессий, которым надо что-то быстро напрограммировать для своей работы (сам такой). Воспринимаю Питон как потомка Бейсика (до знакомства с Питоном, я для тех же целей использовал VB6/VBA/VBS).

Думаете, программисты любят тратить лишнее время?

Проблема профессионального использования вижуал бейсика совсем в другом – что программа на нём тащит за собой огромную массу постороннего кода, от рантайма своей версии до ОС Windows в целом. Хотя я знал людей, зарабатывавших на жизнь вижуал бейсиком, и их больше, чем в случае с фортраном.

Сам я, впрочем, получал деньги и за фортран, и за бейсик, и за питон, и за си, и за паскаль, и за многие другие языки. Любой каприз за деньги клиента.

А питон – для нынешнего времени язык вполне респектабельный, на нём, например, в искусственном интеллекте много шпарят.

Было интересно, но название не совсем отражает смысл публикации. И точно не говорит о том, что это первая статья цикла. Тогда уж что-то типа «Применение языка Python в инженерной практике. Часть 1 — обзор модуля Pint».

Предложение принимается

Пробовал использовать pint в работе, впечатления негативные.. Я иногда делаю физические расчеты. Пробовал делать их с pint, неудобно - громоздкий вывод, код распухший. Это оправдано только если код в прод, если надо быстро что-то проверить - неудобно.

Вернулся в SMath.

Не могу с Вами не согласиться ;) Привыкшему к  WYSIWYG сложно от него отказаться. Сам до сих пор до конца от MathCAD не отказался

Не очень понятно, на какую аудиторию эта статья рассчитана? Если на школьника, то есть куча роликов, куда более наглядных. А для студента - материал вроде бы чересчур примитивен. Или я не прав?

Я рассчитывал не на школьника и не на студента - а на такого же инженера непрограммистской специальности, которым являюсь и сам. Которому, тем не менее, в работе периодически надо что-то по-быстрому посчитать.

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

193 терагерца воспринимается человеком более естественно и понятно, чем 193414489032258 герц..

Вот тут прямо долго силился понять. Если всё, что после 193 не значимо, почему не использовать экспоненциальную запись 193Е14. Если же Вы считаете, что положение точки в числе, влияет на его читаемость, то это очень спорно.

Насчёт т определения метра автор здорово заблуждается. Метр — длина пути, проходимого светом в вакууме за интервал времени 1⁄299 792 458 секунды

Sign up to leave a comment.

Articles