예제 #1
0
        internal override IEnumerable<(BigInteger, Fractional)> Yielder()
        {
            List<Fractional> bernoulli = new List<Fractional>();
            bernoulli.Add(1);
            Console.WriteLine($"B_{0}: {bernoulli[0]}");

            for (int n = 1; ; n++)
            {
                Fractional currentSum = 0;
                for (int k = 0; k < n; k++)
                {
                    currentSum += MoreMath.Choose(n + 1, k) * bernoulli[k];
                }

                Fractional newVal = (-currentSum / MoreMath.Choose(n + 1, n)).Shorten();
                bernoulli.Add(newVal);
                yield return (n, newVal);
            }
        }
예제 #2
0
 public BernoulliPolynomial(int n)
 {
     this.n = n;
     BernoulliNumbers bernoulli = new BernoulliNumbers();
     constants = bernoulli[0, n+1].Select(x => (BigDecimal)x.value * MoreMath.Choose(n, x.index)).ToArray();
 }