2014 dxdy logo

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

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




Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней. На страницу Пред.  1, 2, 3, 4, 5 ... 13  След.
 
 Re: Язык программирования для математика
Сообщение01.06.2010, 14:57 
Заслуженный участник
Аватара пользователя


07/01/10
2015
Xaositect в сообщении #326305 писал(а):
Множество функций из $X$ в $Y$ чаще пишут как $Y^X$, но $X\to Y$ тоже встречается.

А можно ещё вопрос: как вообще пришли к обозначению $Y^X$? Ну $X\to Y$ это понятно, а вот степень-то как тут привязать? И почему именно $Y$ пишется в "основании"?
Что-то я совсем от темы отошёл. Ну да ладно. А вот верно ли тогда, что $f:X\to Y$ и $f\in X\to Y$ -- то же самое? По-моему второй вариант более интуитивно воспринимаем, почему же тогда используют первый?

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


14/02/07
2648
caxap в сообщении #326306 писал(а):
А можно ещё вопрос: как вообще пришли к обозначению $Y^X$? Ну $X\to Y$ это понятно, а вот степень-то как тут привязать? И почему именно $Y$ пишется в "основании"?

Просто если $Y$ и $X$ конечны, то количество таких функций в точности $|Y|^{|X|}$. Ну и всякие свойства степени: $a^{x+y} = a^xa^y, a^{xy} = (a^x)^y$ -- тоже в некотором смысле выполнены.

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


03/06/09
1497
caxap в сообщении #326296 писал(а):
[(x,y) | x <- Integer, y <- Integer] -- $\{(x,y) | x\in \mathbb Z,y \in\mathbb Z\}$

Вот тут следует сделать одно уточнение. В Хаскеле это список (типа кортеж, т. е. важен порядок элементов), а справа -- множество, т. е. порядок не важен. Но в остальном аналогия действительно имеется и смысл такой же, как и в математической нотации.

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение01.06.2010, 20:31 
Заморожен
Аватара пользователя


18/12/07
8774
Новосибирск
caxap в сообщении #326306 писал(а):
По-моему второй вариант более интуитивно воспринимаем, почему же тогда используют первый?

Я со вторым вариантом не встречался, только с первым.

Все приведённые выше примеры, кроме $X \to Y$ для обозначения множества функций из $X$ в $Y$, встречались мне в математике. А такое не встречалось.

Стрелочка, кстати, сильно перегружена. Встречается и в обозначениях для функций, и в пределах, и операция в гейтинговых алгебрах, и просто импликация :-)

-- Вт июн 01, 2010 23:34:57 --

Вопрос: "Почему пишут так, а не иначе", зачастую бессмысленен. Например, почему для бинарного отношения $R$ часто пишут $xRy$ вместо $\langle x,y \rangle \in R$? Почему пишут $\sqrt{2} < \sqrt{3}$ вместо $\langle \sqrt{2}, \sqrt{3} \rangle \in <$? Традиция!

Та же традиция велит для функции $f$ писать $f(x) = y$ или $f : x \mapsto y$ вместо $\langle x,y \rangle \in f$...

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


30/01/09
6680
Как вариант языка можно рассмотреть C# + Math.NET (http://www.mathdotnet.com/. Кроме Матлаба и другие математические пакеты (например, Mathematica) имеют встроенный язык программирования.

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


16/05/07
172
Москва
Для математика вряд ли будет что-нибудь лучше языка компьютерной алгебры: например, Mathematica, Mapla, MAXIMA и др.

Сам пользуюсь Mathematica. На Mathematica можно даже писать пользовательский интерфейс GUI.

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


20/12/08
236
изниоткуда
какое несчастье, что фортран до сих пор жив, что суровые профессора на нем пытаются что-то кодить, а потом это все надо разгребать.

(Оффтоп)

далее ряд неприводимых ругательств

с тех пор, как он растерял свое приемущество в скорости перед тем же Си и написаны трансляторы типа f2c, смысла в нем не вижу.
для тех, кто не застрял в прошлом веке, хаскель был бы отличным вариантом, т.к. развивает соображалку, а не пытается втиснуть ее в узкие рамки.

да, светит мне горчишник, чувствую... :)

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


19/07/08
1266
allchemist в сообщении #335840 писал(а):
с тех пор, как он растерял свое приемущество в скорости перед тем же Си и написаны трансляторы типа f2c, смысла в нем не вижу.

Молодой ишшо... (с)
А в чём премущества Си перед фортраном? Ну кроме того, что хомячки, считающие себя хардкорными программистами, по нему учатся?
Без наезда, чисто интересуюсь.
Просто пару лет назад пришлось мне разгребать то, что писал "суровый профессор на фортране". Если бы он писал это на Си, 1) у него ничего бы никогда не заработало 2) если бы оно даже заработало, я бы это никогда не разгрёб.

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


01/08/06
3054
Уфа

(Оффтоп)

Эх, жалко Вздымщик Цыпа куда-то пропал. А то как-то вяловато обсуждение идёт :-)

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


09/08/09
3438
С.Петербург
allchemist в сообщении #335840 писал(а):
с тех пор, как он растерял свое приемущество в скорости перед тем же Си и написаны трансляторы типа f2c, смысла в нем не вижу
Основное преимущество фортрана в том, что на нём написано огромное количество самых разнообразных численных методов, C-шная реализация которых отсутствует.

Вот в этой теме обсуждалось: Фортран

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


20/12/08
236
изниоткуда
> А то как-то вяловато обсуждение идёт
это легко исправить :)

> А в чём премущества Си перед фортраном?
хм. ну хотя бы тем, что он очень распространен и под него много хороших библиотек. да, под фортран тоже много библиотек (особенно, если на netlib.org посмотреть), но 1) эти процедуры могут вызываться из сишного кода 2) транслятор f2c работает отлично.

(Оффтоп)

да, тут я хочу вспомнить про убогость синтаксиса фортрана и другие прелести, но сдержусь, т.к. для таких флеймов есть ЛОР :)


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

> Без наезда, чисто интересуюсь.
дак этож самое, я тоже не любитель си, хотя приходится иметь с ним дело.
ради повторного вброса, язык должен не вгонять сознание программиста в жесткие рамки, как это делают и фортран, и си, а давать ему направление для развития. и в этом плане хаскель отличный вариант (хотя он мне тоже не нравится :D). А еще, говорят, что это две большие разницы - ждать год, пока разработчики языка и компилятора сделают новую фичу, и иметь возможность добавить эту фичу руками за 20 минут.

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


24/05/09

2054
О чем базар, господа математики-программисты? Ассемблер и только ассемблер!!! в противном случае вы будете вынуждены всю жизнь пользоваться неуклюжими и неоптимальными функциями, написанными за вас другими заведомо менее талантливыми... хм...

А вот кстати и пример. Если кто помнит, команда процессора "div CX" делит содержимое регистров DX:AX на регистр CX, частное помещается в AX, остаток - в DX. Всё прекрасно, но поделить скажем 4 294 967 295 на 5 никак не получица - результат деления не уместится в AX. А если частное не помещается в назначенный регистр, возбуждается прерывание с вектором 0... т.е. аварийный выход из программы. А поделить - ну оччень надо!!!

Тогда на помощь приходит следующая волшебная процедура:

Код:
;процедура делит содержимое регистров DX:AX ­ на SI
;результат в  DX:AX, остаток в CX

div_si:

         push    bx
         push    bp
         push    di

         xor     bx,bx
         xor     cx,cx
         xor     di,di
         mov    bp,33

M5A4:
         rcl     cx,1
         rcl     bx,1
         sub     cx,si
         sbb     bx,di
         jnb     M5B2

         add     cx,si
         adc     bx,di

M5B2:
         cmc
         rcl     ax,1
         rcl     dx,1
         dec     bp
         jnz     M5A4

         pop     di
         pop     bp
         pop     bx
         ret


Разве это не прекрасно?

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


19/07/08
1266
allchemist в сообщении #336032 писал(а):
ну хотя бы тем, что он очень распространен и под него много хороших библиотек
:lol:
И это всё?

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


20/12/08
236
изниоткуда
> Ассемблер и только ассемблер! ... Разве это не прекрасно?
no comments

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

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


03/06/09
1497

(Оффтоп)

Alexu007 в сообщении #336052 писал(а):
Ассемблер и только ассемблер!!!

Это, конечно, очень по-дзенски. Но посмотрим, как Вы будете реализовывать решение какой-нибудь (даже простой) задачи по ЧМ (или ещё хуже -- какие-нибудь символьные вычисления). Мазохисты Вам позавидуют.

А, это шутка была! Поздно, я и не сообразил сразу. Смешно.

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

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



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

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


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

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