2014 dxdy logo

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

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




 
 Как писать формулы в комментариях?
Сообщение22.10.2017, 09:52 
Например, я проверяю формулу сочетания (комбинаторика), например
${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 
Аватара пользователя
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 
azsx в сообщении #1257844 писал(а):
Как то сам собой пропал Ваш комментарий. Удалили?
Да. Но сейчас вижу, что он все-таки был нужен.
azsx в сообщении #1257844 писал(а):
Код:
long flag = fact_n/(fact_m*fact_nm)
Это не лучший код в плане оптимальности, даже если полагать его правильным. Лучший - рекуррентный, как ниже у Xaositect.

 
 
 
 Posted automatically
Сообщение22.10.2017, 11:13 
 i  Тема перемещена из форума «Математика (общие вопросы)» в форум «Программирование»

 
 
 
 Re: Как писать формулы в комментариях?
Сообщение22.10.2017, 15:23 
Xaositect, спасибо. То есть суть ответа в том, что в комментариях формулы обычно не пишут, но для себя можно в LaTex записывать.

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


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