Exemplo n.º 1
0
	def _integral(self, tex):
		start, end, var = util.validate(tex)
		start, end = self.compute(start), self.compute(end)

		if var is None:
			var = re_math.variable_name.findall(tex)[0]

		result, err = integrate.quad(lambda x : self.compute(tex['content'].replace(var, str(x))), start, end)
		return result
Exemplo n.º 2
0
	def _reduce(self, tex, symbol):
		start, end, var = util.validate(tex)
		start, end = np.int_(self.compute(start)), np.int_(self.compute(end))

		if var is None:
			q = re_math.var_name.findall(tex['content'])
			if len(q) is 1:
				var = q[0]
			else:
				raise ValueError('Missing variable name in lower index')

		op = np.prod if symbol == '*' else np.sum
		return str( op([self.compute(tex['content'].replace(var, str(i))) for i in range(start, end + 1)]) )