|
|
|
foxis |
|
||||||||||||||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 22.1.2016 Репутация: нет Всего: нет |
Понятно спасибо.
Т.е. если нет места в оперативке, то одну большую матрицу А можно разделить на 2 малых В, С, но выполнять арифметические операции с ней как с одной матрицей А ?
Бывший ученик моего науч. рука как раз реализовал расчет методом граничных элементов с использованием ООП. С его слов, ООП во многом облегчает создание алгоритма.
Сворачивающееся сообщество что вы имеет ввиду ?
Почему вы решили что задача будет выполнена быстрее на Питоне чем на С++ ("с некоторой долей вероятности") ? Добавлено через 6 минут и 45 секунд
Да, согласен с вами, хоть с++, java и т.п. и считаются языками общего назначения, тем ни менее у них есть своя специфика, которую надо учитывать.
Да, полностью с вами соглашусь, аргументы логичны. Иногда хочется сделать все по быстрому и вывести результат на экран не заморачиваясь в специфике языка. |
||||||||||||||
|
|||||||||||||||
tzirechnoy |
|
||||||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: нет Всего: 16 |
Скорее на 4 подматрицы, и провести вычисления на каждой из них отдельно, а потом хитро их друг с другом перемножыть (и получить четыре матрицы, представляющие матрицу-результат). Слово перемножыть -- условное, понятно, что в реальности действие заивист от того, что делаешь. Большынство операцый позволяют такое упрощение при помощи того или иного алгоритма.
Что новых активных людей в фортран не приходит (ввиду малой осмысленности, да) -- а старые постепенно уходят, либо естественным образом (переходят на другие языки), либо противоестественным (бросают работу и умирают).
Потому, что на C есть большой соблазн заняться закатом солнца вручную в виде перемножэния матриц, нахождения обратных, различных вариантов прогонки по матрицэ и пр. Поскольку вот вроде -- вот у тебя матрица, вот формула, делаешь простенький цыкл, всё должно скомилироваться в лучшэм виде, и это проще, чем пытаться узнать какой-нибудь API для перемножэния матриц. В C++ ещё возникает дурацкий соблазн сделать это через итэраторы буста с шаблонами и обобщёнными функцыями, поскольку он ведь при компиляцыи всё подставит, а template metaprogramming -- это всегда круто! В питоне шансов заняться этим гораздо меньшэ, берёшь в зубы NumPy/SciPy и оперируешь более абстрактными операцыями на конкретных матрицах. А NumPy автоматически подхватывает BLAS и не только, который, по факту, существенно лучшэ оптимизирован чем написанный на Си цыкл (for i=0; i<n; i++) for (j=0; j<n; j++) {... |
||||||
|
|||||||
foxis |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 22.1.2016 Репутация: нет Всего: нет |
Хорошо, спасибо. А где про это можно почитать, литературу какую-нибудь не подскажите по этому вопросу ?
А на какие именно языки они переходят естественным образом ? "ввиду малой осмысленности" это значит что нет смысла дальше работать с фортраном ?
Насчет того, что на С++ есть соблазн мат. часть написать вручную, это спорный вопрос. Например на С++ есть математическая библиотека armadillo, некий аналог библиотек scipy, numpy для Питона. Наверника есть и другие библиотеки на С++. Такие библиотеки даже на java есть. А вот на таких языках как visual basic где нет математических библиотек, там как раз и соблазн и появляется. |
||||||
|
|||||||
Добро пожаловать в раздел "Другие языки" форума Vingrad! | |
|
Раздел посвящён различным языкам программирования, для которых (в силу невысокой популярности) нет отдельного раздела (GPSS, Lua, MATLAB, Ada, Forth, Smalltalk, Tcl, REXX, AWK и др.)
Приятного времяпрепровождения! С уважением, Void, kemiisto . |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Другие языки | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |