«Сферические учёные в вакууме» пишут много (большую часть) на Fortran77/Fortran90, в котором используются отступы. Поэтому Python-подобный синтаксис подойдёт лучше всего.
Есть ещё matlab, mathematica, IDL. На этих тоже много написано, но до Fortran им всем очень далеко.
> В Linux ядро монолитное, т.е. все его драйвера и подсистемы работают в своем адресном пространстве, отделенном от пользовательского.
Монолитное — значит что ядро не поделено на части, а не то что вы тут написали. Монолитное ядро противопоставляется микроядерным — Minix и HURD, где каждый отдельный сервис — это отдельный процесс а «истинное» микроядро лишь занимается обменом между информации между ними.
> rmmod
rmmod -> modprobe -r
> Эти зависимости просчитываются автоматически, и будут описаны ниже.
Я не совсем понял, что здесь значил слово «автоматически»?
Да, параллелятся хорошо. Извините, не могу вспомнить, где в вычислительной физике нужны быстрые перемножения матриц и где эта операция была бы «горлышком бутылки». В 3D графике понятно, все преобразования пространства — перемножения матриц.
А вот решение СЛАУ — это то, к чему сводятся решения разностных задач в неявных схемах и всевозможные методы конечных элементов. И вот они уже решаются блочной LU декомпозицией.
Похоже, что для Вас подобные задачи так и остались чисто алгоритмическо-математическими.
Есть сотня кодов, где подобные задачи приходится распараллеливать:
1) Enzo гидродинамический код с МГД и AMR (http://lca.ucsd.edu/portal/software/enzo)
2) ZEUS: lca.ucsd.edu/portal/software/zeus-mp2
А вот если вы успели сделать push в основной репо — всё будет куда печальнее, чем для Subversion: придётся убалтывать змея-горыныча с тремя головами :-/
Игра «Жизнь» тоже Тьюринг-полная. Почему-то не видел на ней mp3-плеера.
Язык важен, его нужно правильно выбирать под задачу. Компания, которая пишет web сайты на haskell практически обречена на провал. Компания, которая пишет enterprise системы на perl — тоже.
1) Я не понимаю, почему в функции аппроксимации Java считается tmp2 при присваивании, когда потом он не используется.
Вот правильный код (осторожно! Си!):
static double Gamma(double z)
{
double tmp1 = sqrt(2*M_PI/z);
double tmp2 = z + 1.0/(12 * z — 1.0/(10*z));
tmp2 = pow(tmp2/M_E, z);
return tmp1 * tmp2;
}
2) Если BigInteger в Java работает подобно GMP, то имеет смысл умножать числа блоками по несколько тысяч, так не нужно постоянно растить размер буффера и на согласованных по размеру блоках быстрее работает FFT.
3) Лично я всё равно не могу придумать места, где нужно считать факториал хотя-бы тысячи.
> Отрицательные частоты имеют вполне такой себе физический смысл. И в рамках очень простого эксперимента можно реально увидеть их на спектро-анализаторе.
Есть ещё matlab, mathematica, IDL. На этих тоже много написано, но до Fortran им всем очень далеко.
Монолитное — значит что ядро не поделено на части, а не то что вы тут написали. Монолитное ядро противопоставляется микроядерным — Minix и HURD, где каждый отдельный сервис — это отдельный процесс а «истинное» микроядро лишь занимается обменом между информации между ними.
> rmmod
rmmod -> modprobe -r
> Эти зависимости просчитываются автоматически, и будут описаны ниже.
Я не совсем понял, что здесь значил слово «автоматически»?
Ну, а в варианте с | слишком много переносов строк.
Поправьте, а то в стиле «Проезжая мимо театра с меня слетела шляпа» получилось.
А вот решение СЛАУ — это то, к чему сводятся решения разностных задач в неявных схемах и всевозможные методы конечных элементов. И вот они уже решаются блочной LU декомпозицией.
«А
мужикимальчики-то не знают» ©Есть сотня кодов, где подобные задачи приходится распараллеливать:
1) Enzo гидродинамический код с МГД и AMR (http://lca.ucsd.edu/portal/software/enzo)
2) ZEUS: lca.ucsd.edu/portal/software/zeus-mp2
Разве для Java нет BLAS/LAPACK?
$ hg commit -m 'inccorrect log message'
$ hg rollback
$ hg commit -m 'correct log message'
А вот если вы успели сделать push в основной репо — всё будет куда печальнее, чем для Subversion: придётся убалтывать змея-горыныча с тремя головами :-/
Язык важен, его нужно правильно выбирать под задачу. Компания, которая пишет web сайты на haskell практически обречена на провал. Компания, которая пишет enterprise системы на perl — тоже.
Всё-равно, хочется тратить время на решения задач, а не борьбу с языком и его «фичами»
От словосочетания «оскар, бл*ть!»? ;-)
Интересно, а европейцы такие же, или всё-таки на нас больше похожи?
Вот правильный код (осторожно! Си!):
static double Gamma(double z)
{
double tmp1 = sqrt(2*M_PI/z);
double tmp2 = z + 1.0/(12 * z — 1.0/(10*z));
tmp2 = pow(tmp2/M_E, z);
return tmp1 * tmp2;
}
2) Если BigInteger в Java работает подобно GMP, то имеет смысл умножать числа блоками по несколько тысяч, так не нужно постоянно растить размер буффера и на согласованных по размеру блоках быстрее работает FFT.
3) Лично я всё равно не могу придумать места, где нужно считать факториал хотя-бы тысячи.
Круто! На спектро-анализаторе!
А в природе нельзя?