2014 dxdy logo

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

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




 
 Литература по использованию C++ в математических расчетах
Сообщение06.05.2014, 20:37 
Аватара пользователя
Доброго времени суток!

Может кто-нибудь подсказать подходящую литературу по использованию C++ в математических расчетах?? Ну или что-то связанное с этим...Первоначально планировалось использовать Фортран, но сейчас ситуация изменилась. И вообще, как оптимально изучать этот язык, чтобы не застрять в деталях, а быстро начать его использовать для решения поставленных задач??

 
 
 
 Re: Литература по C++
Сообщение06.05.2014, 21:12 
zen pilgrim в сообщении #859957 писал(а):
Может кто-нибудь подсказать подходящую литературу по использованию C++ в математических расчетах??

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

zen pilgrim в сообщении #859957 писал(а):
Первоначально планировалось использовать Фортран, но сейчас ситуация изменилась.

Если это не предельно критично, то лучше поменять ее обратно.

zen pilgrim в сообщении #859957 писал(а):
И вообще, как оптимально изучать этот язык, чтобы не застрять в деталях, а быстро начать его использовать для решения поставленных задач??

А какие языки Вы уже знаете? Может быть, сначала будет проще писать на каком-то подмножестве C++, постепенно осваивая новые возможности. Но все же - лучше не надо.

 
 
 
 Re: Литература по C++
Сообщение06.05.2014, 22:47 
"Настоящий программист может написать фортран-программу на любом языке".
Поэтому С++ будет по крайней мере не хуже фортрана.
Впрочем, это если стоит задача заниматься реализацией особо эффективных алгоритмов.

А если нужно "просто посчитать", то гораздо разумнее будет выбрать сначала подходящую библиотеку численных алгоритмов, а только потом язык из которого можно её использовать. Тут выбор богатый.
MATLAB, например. Или Scilab, если хочется бесплатного.
Или вызывать функции Scilab из фортрана или питона (SciPy).
90% времени всё равно исполняется код библиотеки, так что от языка быстродействие почти не зависит, а на первый план выходит удобство организации ввода/вывода, визуализация результатов и т.д.

 
 
 
 Re: Литература по C++
Сообщение06.05.2014, 22:57 
SSerge в сообщении #860007 писал(а):
Поэтому С++ будет по крайней мере не хуже фортрана.
Впрочем, это если стоит задача заниматься реализацией особо эффективных алгоритмов.
Именно в этом случае C++ будет намного хуже Фортрана.

SSerge в сообщении #860007 писал(а):
Или вызывать функции Scilab из фортрана или питона (SciPy).
В общем, вызывать из Фортрана функции среды, являющейся надстройкой над фортрановской же библиотекой. :D Кстати, SciPy к Scilab'у отношения не имеет - это еще одна интерфейсная прослойка между программистом и фортрановскими библиотеками, но только на Python.

SSerge в сообщении #860007 писал(а):
90% времени всё равно исполняется код библиотеки, так что от языка быстродействие почти не зависит, а на первый план выходит удобство организации ввода/вывода, визуализация результатов и т.д.
Пробовали? Обычно цена таких советов - падение быстродействия как минимум на полпорядка (а нередко - и на порядки).

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

 
 
 
 Re: Литература по C++
Сообщение06.05.2014, 23:24 
Аватара пользователя
Напоминаю уважаемому собранию вопрос ТС:
zen pilgrim в сообщении #859957 писал(а):
Может кто-нибудь подсказать подходящую литературу по использованию C++ в математических расчетах?
Дальнейшее развитие холивара Fortran vs C++ будет рассматриваться как оффтопик.

 
 
 
 Re: Литература по C++
Сообщение07.05.2014, 14:21 
zen pilgrim в сообщении #859957 писал(а):
Может кто-нибудь подсказать подходящую литературу по использованию C++ в математических расчетах??
Numerical Recipes Books On-Line
Книга существует в 3 вариантах: для Фортрана, С и С++.

 
 
 
 Re: Литература по C++
Сообщение07.05.2014, 14:33 
Аватара пользователя
Yuri Gendelman в сообщении #860160 писал(а):
Книга существует в 3 вариантах: для Фортрана, С и С++.


Спасибо большое, Yuri! Это именно то, что мне нужно. :D

 
 
 
 Re: Литература по C++
Сообщение07.05.2014, 16:15 
Поосторожнее с этой книгой.

Цитата:
If you are the individual owner of a copy of this book and you type one or more of its routines into your computer, we authorize you to use them on that computer for your own personal and noncommercial purposes. You are not authorized to transfer or distribute machine-readable copies to any other person, or to use the routines on more than one machine, or to distribute executable programs containing our routines. This is the only free license.


В третьем издании еще веселее:

Цитата:
If you personally keyboard no more than 10 routines from this book into your computer, then we authorize you (and only you) to use those routines (and only those routines) on that single computer. You are not authorized to transfer or distribute the routines to any other person or computer, nor to have any other person keyboard the programs into a computer on your behalf.

 
 
 
 Re: Литература по C++
Сообщение07.05.2014, 16:37 
Аватара пользователя
tolstopuz в сообщении #860185 писал(а):
Поосторожнее с этой книгой.

Цитата:
If you are the individual owner of a copy of this book and you type one or more of its routines into your computer, we authorize you to use them on that computer for your own personal and noncommercial purposes. You are not authorized to transfer or distribute machine-readable copies to any other person, or to use the routines on more than one machine, or to distribute executable programs containing our routines. This is the only free license.


В третьем издании еще веселее:

Цитата:
If you personally keyboard no more than 10 routines from this book into your computer, then we authorize you (and only you) to use those routines (and only those routines) on that single computer. You are not authorized to transfer or distribute the routines to any other person or computer, nor to have any other person keyboard the programs into a computer on your behalf.


ну, с этим понятно...Я-то исходный код из этой книги буду тока для самообразования использовать.

 
 
 
 Re: Литература по C++
Сообщение07.05.2014, 19:11 
Аватара пользователя
zen pilgrim в сообщении #860193 писал(а):
Я-то исходный код из этой книги буду тока для самообразования использовать.

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

Лучше читать отдельно книги по численным методам и программированию на Си++.

zen pilgrim в сообщении #859957 писал(а):
а быстро начать его использовать для решения поставленных задач??

Если вы уже знаете один язык, то читайте книгу:
Прата С.; Язык_программирования С++. Лекции и упражнения; ИД Вильямс(2012)
По поводу численных методов трудно что-то порекомендовать, так как нет хороших книг.
Лично я рекомендую
Каханер, Моулер, Наш.;Численные методы и программное обеспечение; Мир(1998)

 
 
 
 Re: Литература по C++
Сообщение07.05.2014, 20:24 
Аватара пользователя
Pavia в сообщении #860232 писал(а):
Прата С.; Язык_программирования С++. Лекции и упражнения; ИД Вильямс(2012)
По поводу численных методов трудно что-то порекомендовать, так как нет хороших книг.
Лично я рекомендую
Каханер, Моулер, Наш.;Численные методы и программное обеспечение; Мир(1998)


Спасибо, Pavia, мне тоже Стивен Прата понравилось как излагает, наверное наиболее грамотно написанная книга. Беда тока в том, что это целый талмуд, а мне нужны лишь те разделы, которые собственно в математических задачах можно использовать...

 
 
 
 Re: Литература по C++
Сообщение21.05.2014, 15:47 
zen pilgrim
вам, возможно, стоит посмотреть следующие книги (если с английским проблем нет):

Gary J. Bronson, C++ for Engineers and Scientists - 4th ed., 2013, 852pp
Justin London, Modeling derivatives in C++, 2005, 840pp

если не собираетесь велосипеды изобретать, то, как вам здесь уже сказали, обратите внимание на библиотеки - boost, STL, OpenCV, etc. etc. Читайте соответствующую документацию и разбирайтесь в готовых, работающих примерах.

 
 
 [ Сообщений: 12 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group