2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Как писать формулы в комментариях?
Сообщение22.10.2017, 09:52 


16/04/09
25
Например, я проверяю формулу сочетания (комбинаторика), например
${C_m^n} = n!/(m!(n-m)!)$
Мне понятно, как реализовать данную формулу в коде (по Вашим советам решил писать на java). Но мне не понятно, как описать данную формулу в комментариях для математиков/программистов.
То есть с одной стороны любой программист скажет, что надо написать формулу так, как она пишется в коде. Логично, что даже такая простая формула в коде не запишется вот так, а сложные формулы вообще будут сильно отличаться. Вопросы:
1. Как правильно записывать формулы в комментариях? Есть какой то стандарт? LaTex ведь не единственный и комментарий -- это не word.
2. Как формулы в комментариях программ записываете Вы?

-- Вс окт 22, 2017 11:21:38 --

Данная формула простая, но как левую часть в комментарии записать уже загадка. А ведь формулы будут намного сложнее, возможно в коде будут распределены на несколько потоков, чтобы посчиталось быстрее. Мне кажется, логично, что обязательно надо в комментариях записать от чего я плясал, когда кодировал. Не?
Код:
long flag = fact_n/(fact_m*fact_nm);

(Оффтоп)

Как то сам собой пропал Ваш комментарий. Удалили?

 Профиль  
                  
 
 Re: Как писать формулы в комментариях?
Сообщение22.10.2017, 10:52 
Заслуженный участник
Аватара пользователя


06/10/08
6422
azsx в сообщении #1257844 писал(а):
Например, я проверяю формулу сочетания (комбинаторика), например
${C_m^n} = n!/(m!(n-m)!)$
Наоборот, $C_n^m = \frac{n!}{m!(n-m)!}$.

Я обычно пишу в LaTeX, простые обозначения LaTeX типа C_n^m люди обычно расшифровывают без проблем, а сложные в комментариях не нужны, надо писать сразу со ссылкой на книгу, откуда алгоритм взят. Чаще всего и от простых можно избавиться, но надо использовать ключевые слова.

код: [ скачать ] [ спрятать ]
Используется синтаксис C
// Computes the binomial coefficient (number of m-element subsets of an n-element set)
// See e.g. "Concrete mathematics" chapter 5
// Note that binom(n, n/2) ~ 2^n/sqrt(n). For n > 64 ensure that m is small or close to n.
// Use binom_bignum for large n
uint64 binom(uint64 n, uint64 m)
{
  if (m > n) {
    return 0;
  }

  // Ensures correct result for large n and m when the direct computation may overflow
  if (m > n / 2) {
    m = n - m;
  }

  uint64 result = 1;
  for (uint64 i = 0; i < m; ++i) {
#ifdef CHECK_OVERFLOW
    check_overflow_mult(result, n - i);
#endif
    result = result * (n - i) / (i + 1);
  }

  return result;
}
 


-- Вс окт 22, 2017 08:53:32 --

azsx в сообщении #1257844 писал(а):
long flag = fact_n/(fact_m*fact_nm);
Учтите, что это не будет работать при $n > 20$, если для факториалов не используется BigInteger.

 Профиль  
                  
 
 Re: Как писать формулы в комментариях?
Сообщение22.10.2017, 11:01 


20/09/05
85
azsx в сообщении #1257844 писал(а):
Как то сам собой пропал Ваш комментарий. Удалили?
Да. Но сейчас вижу, что он все-таки был нужен.
azsx в сообщении #1257844 писал(а):
Код:
long flag = fact_n/(fact_m*fact_nm)
Это не лучший код в плане оптимальности, даже если полагать его правильным. Лучший - рекуррентный, как ниже у Xaositect.

 Профиль  
                  
 
 Posted automatically
Сообщение22.10.2017, 11:13 
Модератор


19/10/15
1196
 i  Тема перемещена из форума «Математика (общие вопросы)» в форум «Программирование»

 Профиль  
                  
 
 Re: Как писать формулы в комментариях?
Сообщение22.10.2017, 15:23 


16/04/09
25
Xaositect, спасибо. То есть суть ответа в том, что в комментариях формулы обычно не пишут, но для себя можно в LaTex записывать.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

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



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

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


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

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