2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней. На страницу Пред.  1 ... 4, 5, 6, 7, 8, 9, 10 ... 13  След.
 
 Re: Язык программирования для математика
Сообщение25.02.2011, 22:30 
Заслуженный участник
Аватара пользователя


30/01/06
72407
mihailm в сообщении #417354 писал(а):
И как она задана?

О, это отдельный вопрос. А как в математике задаются функции? Не в языках программирования, а именно в математике.

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение25.02.2011, 23:07 
Аватара пользователя


30/07/10
254
Цитата:
А MPI на что?
По сравнению с эрланговским механизмом MPI - жуткое чудовище.

Цитата:
Ну и в целом, с распараллеливанием насколько я знаю у функциональных языков пока что всё довольно грустно. То есть если речь заходит о неприятных вещах вроде раскидывания матриц по процессорам, они тут точно так же не справляются как и "обычные" языки. А писать низкоуровневые вещи на них сложнее.
Не знаю как в других, а вот в Эрланге механизм параллельных вычислений очень мощный.

Цитата:
В общем, "про физику" я не согласен. Если уже есть обёртка для нужного решателя на функциональном языке -- оно очень удобно. А если нет -- преимущества нулевые.
Не соглашусь.

Цитата:
В "системном" программировании это тоже нужно: механизм callback'ов используется с незапамятных времен. Но с тех же незапамятных времен нет никаких проблем с его реализацией.
Вот именно, с незапамятных времён, когда не существовало виртуального полиморфизма. Сегодня такой необходимости нет, т.к., как правило, любой колбек связан с какой-то сущностью, а значит имеет смысл создать абстрактный класс и передавать уведомления через него. Или заюзать статический полиморфизм вместо виртуального - в зависимости от конкретной ситуации.

Цитата:
Какое "колдовство" Вы видите в таком описании?
Нельзя функцию передавать как шаблонный параметр. Чтобы это было возможно приходится её засовывать в структуру или класс (то есть плодить сущности). В общем через одно место получается. Делегаты - тоже не идеальный вариант. Представьте, например, что Вы написали функцию для расчёта интеграла. Теперь Вам понадобилось рассчитать двойной интеграл функции двух переменных. Вот гемор то начнётся! В эрланге такого нет. Написал функцию для расчёта интеграла, а потом с её помощью вычисляй интегралы хоть десятого порядка, не создавая при этом никаких новых сущностей. И вызов такой функции очень похож на математическое выражение - получится интеграл от интеграла от функции, безо всяких совершенно лишних структур, классов, делегатов.

Цитата:
Что имеется в виду?
Ну вот представьте. Функция для вычисления интеграла на Си
Код:
typedef double integrated(double) ;
double integral(double low_limit, double hight_limit, integrated* func) {...}

А у Вас возникает необходимость вычислить интеграл вот от такой функции:
Код:
float my_func(float)
Что будете делать? Костыли вставлять?

-- Сб фев 26, 2011 02:15:22 --

Munin в сообщении #417149 писал(а):
А почему вообще математическая функция должна быть функцией языка программирования? К ним требования совершенно разные. Например, хочу я проинтегрировать функцию Дирихле...
Я имел ввиду именно численное интегрирование. Как численно рассчитать интеграл функции Дирихле я вообще себе не представляю.

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение25.02.2011, 23:19 


19/05/10

3940
Россия
Munin в сообщении #417369 писал(а):
mihailm в сообщении #417354 писал(а):
И как она задана?

О, это отдельный вопрос. А как в математике задаются функции? Не в языках программирования, а именно в математике.


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

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение25.02.2011, 23:22 
Заслуженный участник


19/07/08
1266
cupuyc в сообщении #417376 писал(а):
Не знаю как в других, а вот в Эрланге механизм параллельных вычислений очень мощный.
Дык конкретнее про параллельные вычисления что-то скажете? Ну да, мощный. Он для них и создавался. Но людям нужны как правило не параллельные вычисления "вообще", а конкретно посчитать. Почему если он такой хороший, на нём никто не считает?
cupuyc в сообщении #417376 писал(а):
По сравнению с эрланговским механизмом MPI - жуткое создание.
Однако, работает.

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение25.02.2011, 23:27 
Аватара пользователя


30/07/10
254
Насколько мне помнится, функция - некоторое отображение, ставящее в соответствие каждой точке из области определения единственную точку из области значений. Хотя, могу и соврать. То есть функция может быть задана в виде правила. Функция Хевисайда, например, именно так и задаётся. Функция Дирихле, кстати, тоже.

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение25.02.2011, 23:30 
Заслуженный участник
Аватара пользователя


30/01/06
72407
mihailm в сообщении #417383 писал(а):
комбинацией простеших необходимых - так называемые элементарные,
рядом, в частности степенным
решение дифура
по кусочно
и наверно еще есть

Вот например, строчка "функция Дирихле" задаёт функцию? :-)

-- 25.02.2011 23:31:29 --

cupuyc в сообщении #417388 писал(а):
Насколько мне помнится, функция - некоторое отображение, ставящее в соответствие каждой точке из области определения единственную точку из области значений. Хотя, могу и соврать. То есть функция может быть задана в виде правила. Функция Хевисайда, например, именно так и задаётся. Функция Дирихле, кстати, тоже.

Тут ещё веселей. Бывает, например, функция Дирака :-)

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение25.02.2011, 23:35 
Заслуженный участник


19/07/08
1266
Munin в сообщении #417389 писал(а):
Бывает, например, функция Дирака :-)
Которая однако совсем не функция.

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение25.02.2011, 23:47 
Аватара пользователя


30/07/10
254
nestoklon в сообщении #417385 писал(а):
Дык конкретнее про параллельные вычисления что-то скажете? Ну да, мощный. Он для них и создавался. Но людям нужны как правило не параллельные вычисления "вообще", а конкретно посчитать.

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

nestoklon в сообщении #417385 писал(а):
Почему если он такой хороший, на нём никто не считает?

1. Откуда Вы знаете, что на нём никто не считает?
2. Какой-то наивный вопрос. А почему С++ такой уродливый и на нём пишут подавляющее большинство софта?

nestoklon в сообщении #417385 писал(а):
Однако, работает.
По вашему если программа выдаёт правильный результат - значит она написана тоже правильно?

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение25.02.2011, 23:48 


19/05/10

3940
Россия
Функции Хевисайда и Дирихле это будут явно кусочно заданные функции)

А рядом с нефункцией Дирака полно хороших функций, для физики хватит)))

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение25.02.2011, 23:57 
Заслуженный участник


19/07/08
1266
cupuyc в сообщении #417397 писал(а):
Как будете считать?
От функции зависит. Но вообще-то этот конкретный пример одинаково просто параллелится на чём угодно. Не говоря уже о том, что как правило если надо решать такую задачу, то что-то не так на предыдущем этапе её решения.
cupuyc в сообщении #417397 писал(а):
Откуда Вы знаете, что на нём никто не считает?
http://www.google.com/search?q=linear+algebra+erlang
Можно в принципе ещё что-нибудь поискать. Ну например http://www.google.com/search?q=finite+elements+erlang
cupuyc в сообщении #417397 писал(а):
А почему С++ такой уродливый и на нём пишут подавляющее большинство софта?
Видимо, потому что не так страшен чёрт как его малюют?..
cupuyc в сообщении #417397 писал(а):
По вашему если программа выдаёт правильный результат - значит она написана тоже правильно?
Вы серьёзно не понимаете, в чём разница между замечательной "системой" Эрланга и сложной и запутанной MPI? Только честно. Я попробую объяснить.

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение26.02.2011, 00:14 
Аватара пользователя


30/07/10
254
nestoklon в сообщении #417399 писал(а):
Аналитически, само собой. Если функция такая простая, что так быстро считается, то она интегрируется на раз. Давайте всё же реалистичные примеры брать.
Странное умозаключение. Из моих слов никак не следует что функция "простая" и её аналитически можно проинтегрировать. Пример вполне реалистичен.

nestoklon в сообщении #417399 писал(а):
http://www.google.com/search?q=linear+algebra+erlang
Можно в принципе ещё что-нибудь поискать. Ну например http://www.google.com/search?q=finite+elements+erlang
Как Ваш ответ связан с моим вопросом?

nestoklon в сообщении #417399 писал(а):
Видимо, потому что не так страшен чёрт как его малюют?..
Ошибаетесь.

nestoklon в сообщении #417399 писал(а):
Вы серьёзно не понимаете, в чём разница между замечательной "системой" Эрланга и сложной и запутанной MPI? Только честно. Я попробую объяснить.
MPI, действительно уродлив.

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение26.02.2011, 00:18 
Заслуженный участник


19/07/08
1266
cupuyc в сообщении #417407 писал(а):
Пример вполне реалистичен.
Ну так давайте целиком. В какой задаче такое чудо может вылезти в принципе?
cupuyc в сообщении #417407 писал(а):
Как Ваш ответ связан с моим вопросом?
Непосредственно.
cupuyc в сообщении #417407 писал(а):
Ошибаетесь.
Нет, это вы ошибаетесь.
cupuyc в сообщении #417407 писал(а):
MPI, действительно уродлив.
И?

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение26.02.2011, 00:27 
Аватара пользователя


30/07/10
254
nestoklon в сообщении #417410 писал(а):
Ну так давайте целиком. В какой задаче такое чудо может вылезти в принципе?
Что Вам не понятно? Задача численного интегрирования. Никогда численно интегралы брать не приходилось?

nestoklon в сообщении #417410 писал(а):
Непосредственно.
Я бы сказал, что никак не связан. Гугл - не самый лучший источник информации. Если в гугле чего-то нет, то это совсем не означает что этого нет вообще нигде.

nestoklon в сообщении #417410 писал(а):
Нет, это вы ошибаетесь.
Почитайте что говорит сам Страуструп про язык С++ и что он же говорит, например, про Lisp. Могу привести несколько примеров кривоты С++, если слова этого человека Вас не убедят.

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение26.02.2011, 00:39 
Заслуженный участник


19/07/08
1266
cupuyc в сообщении #417415 писал(а):
Никогда численно интегралы брать не приходилось?
Так. Ещё раз. Эта задача настолько тривиальна, что её обсуждать не стоит. Я достаточно конкретно спросил, чем механизм Эрланга лучше? И почему он (Эрланг) не получил такого большого распространения. На что получил ответ "лучше чем MPI". Это несерьёзно.
cupuyc в сообщении #417415 писал(а):
Если в гугле чего-то нет, то это совсем не означает что этого нет вообще нигде.
Ну так поделитесь тайными совершенно секретными ссылками, которые недоступны гуглу.
cupuyc в сообщении #417415 писал(а):
Почитайте что говорит сам Страуструп про язык С++
Пошли ссылки на авторитетов. Понимаю. Страуструп большой эксперт в массивных параллельных вычислениях? Вроде нет. Да и лисп он насколько знаю любит не за это.

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение26.02.2011, 00:58 
Аватара пользователя


30/07/10
254
nestoklon в сообщении #417417 писал(а):
Так. Ещё раз. Эта задача настолько тривиальна, что её обсуждать не стоит. Я достаточно конкретно спросил, чем механизм Эрланга лучше? И почему он (Эрланг) не получил такого большого распространения. На что получил ответ "лучше чем MPI". Это несерьёзно.
Путаница пошла после того, как Вы сообщение отредактировали. В моём сообщении #417407 есть цитата, которой нет в других сообщениях.
Задайте нормально вопрос - получите ответ. Чем Эрланг лучше С++ (применительно к математическим расчётам) я уже объяснял и приводил примеры.

nestoklon в сообщении #417417 писал(а):
Ну так поделитесь тайными совершенно секретными ссылками, которые недоступны гуглу.
Это уже демагогия. Вы ушли от первоначального вопроса:
Цитата:
Откуда Вы знаете, что на нём никто не считает?
Я зачастую при численном решении задач использую Эрланг. Для Вас будет удивительно, но гугл об этом ничего не знает.

nestoklon в сообщении #417417 писал(а):
Пошли ссылки на авторитетов. Понимаю. Страуструп большой эксперт в массивных параллельных вычислениях? Вроде нет. Да и лисп он насколько знаю любит не за это.
При чём здесь параллельные вычисления? Зачем Вы всё мешаете в кучу? С++ сам по себе кривой вне зависимости от того как на нём реализуются распределённые вычисления.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 195 ]  На страницу Пред.  1 ... 4, 5, 6, 7, 8, 9, 10 ... 13  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group