What’s New in Step-by-Step Mathematics

Jordan Hasler, AnneMarie Torresen, Jeremy Stratton-Smith, Jack Heimrath, Judy Zhang, Carlos Andres Ballesteros-Alvarez

(RowDefault[, (Spacer1), , (Spacer1), ])  #WolframTechConf

ABSTRACT

An introduction and review of the latest step-by-step programs for Wolfram|Alpha including a discussion of developing step-by-step functions from both algorithmic and rule based approaches. Topics to be discussed will include new steps for elementary number theory, grade school algorithms for addition and multiplication, trigonometric simplifications and expansions, statistics, vector analysis, difference equations and recurrence relations.

Overview of Step-by-Step Functionalities

We have two primary approaches to step-by-step functions:

procedural

rule-based

Throughout both, we have consistent design of having steps grouped in the following way:

single step
{hint, textual description, transformed expression}

Procedural

these steps follow a prescribed procedure that is essentially the same (accounting for edge cases) for all instances of the problem

Examples include things like taking the dot product, computing arc lengths, or computing the concentration of a molecule in a solution

Rule based

These steps have a collection of transformation rules that could apply to input expressions and are run repeatedly until we reach a fixed point.

Wolfram Language is particularly well suited to handling these kinds of steps programs because of the essential nature of tranformations of abstract expressions at the heart of the language.

Long Arithmetic

What is long arithmetic?

• strategies based on place value
• relate the strategy to a written method
• using the standard algorithm

place value

“in adding or subtracting three-digit numbers, one adds or subtracts hundreds and hundreds, tens and tens, ones and ones; and sometimes it is necessary to compose or decompose tens or hundreds.” (CCSS.Math.Content.2.NBT.B7)

written method

“Add, subtract, multiply, and divide decimals to hundredths, using concrete models or drawings and strategies based on place value, properties of operations, and/or the relationship between addition and subtraction; relate the strategy to a written method and explain the reasoning used.” (CCSS.Math.Content.5.NBT.B.7)

Examples

negatives

decimals

answer forms

polynomials

high school (CCSS.Math.Content.HSA.APR.A.1, CCSS.Math.Content.HSA.APR.D.6)
“Understand that polynomials form a system analogous to the integers, namely, they are closed under the operations of addition, subtraction, and multiplication; add, subtract, and multiply polynomials.”
“Rewrite simple rational expressions in different forms; write a(x)/b(x) in the form q(x) + r(x)/b(x), where a(x), b(x), q(x), and r(x) are polynomials with the degree of r(x) less than the degree of b(x), using inspection, long division, or, for the more complicated examples, a computer algebra system.”

Future work

division with decimals

base-n addition/subtraction

alternative/visual methods (box method, arrow method, lattice method, area methods, etc.)

Trigonometric Simplifications

Prerequisites and history:

Evaluating subexpressions

Simplifying arithmetic: Integers, rational arithmetic, etc...

Algebraic simplifications: Combine like terms, multiply expressions using binomial theorem and distributive properties.

There are two common exercises in trigonometry: simplifying and proving identities.

does

Types of simplifications

Power Reductions (The last example above.)

Expansions

General (The second example above)

Sine ( above can be written as

Cosine ( above can be written as

Factoring

Wolfram|Alpha has had step by step for proving trigonometric identities since 2012.

One way of thinking about trigonometric simplifications is as sequential applying sets of rules.

HoldForm[Sin[2x]+Cos[2x]]/.Sin[2x]:>(2Sin[x]Cos[x])/.Cos[2x]->(Cos[x]^2-Sin[x]^2)

The tough part is figuring out which rules to apply and in which order and to which part of the expression.

Some rules are very important such that one can scan the entire expression for such expressions such as the Pythagorean identity. Whereas other expressions can be applied from the innermost function applying various rules as the expression tree is traversed upward until a fixed point is reached.

ExpressionTree[Hold[Sin[2x]+Cos[2x]^2]]

Scanning an entire expression is computationally expensive such that working from innermost function is applied when possible.

Power reductions and general expansions for “polynomial” sine and cosine are currently implemented. Further expansions and factoring methods are in pre-planning and developmental stages.

Exponential, logs, converting between exponentials and logarithms, and converting between trigonometry and exponentials are on the horizon as well.

Related Common Core Standards:

Statistics

https://www.wolframalpha.com/input?i2d=true&i=two+sample+t+test

Vector Analysis

Gradient in Cartesian Coordinates

What is the gradient?

The gradient is a vector constructed from the partial derivatives of a scalar function.

grad (f(x,y))= ((∂_x)f(x,y), (∂_y)f(x, y))

Example:

f(x, y)=(e^(-(x^2)-(y^2)+1)) ((x^2)+(y^2))

The gradient grad (f(x,y)):

Visualize the gradient:

The direction of the gradient is the direction of the maximum directional derivative,  and the maximum value of this is the magnitude of the vector gradient.

Curiosity

My university professor said that when cows have been up and down a hill for a long time, in the end they always go up and down using the most optimal path, which is where the gradient is maximum.

I can’t find if what my teacher said is true, but it was kind of helpful to remember what it is.

Step By Step Gradient

Future work

Divergence

Curl

Alternative coordinate systems

Discrete Mathematics

Recurrence Relations

Recurrence relations are the discrete analogue of differential equations, for which Wolfram|Alpha has had steps for many years.

A first course in discrete mathematics will typically cover techniques for solving linear, finite order, constant coefficient recurrences.

These are further subdivided into two classes:

Homogeneous equations, of the form(Overscript[(Underscript[Σ, i=0]), k])(Subscript[a, i])f(n+i)=0.

Non-homogenous equations, of the form (Overscript[(Underscript[Σ, i=0]), k])(Subscript[a, i])f(n+i)=p(n), where p is typically a constant, polynomial, or exponential function.

Currently available methods include:

Characteristic polynomial and generating function solutions for homogenous recurrences.

Generating functions solutions for non - homogenous recurrences.

Additional techniques are in developmental stages.

Specifying boundary conditions for these problems will also be an option soon.

Some examples:

Probably the world’s most famous recurrence relation is the Fibonacci equation. This is also the prototypical linear, finite order, constant coefficient, homogenous recurrence relation:

An interesting example of a non-homogenous recurrence relation occurs when studying the Tower of Hanoi problem:

Elementary Number Theory

We have also added step by step evaluations of common number theoretic functions which a student might encounter in an introductory number theory course.

These are in addition to our existing step by step evaluations of number theoretic functions, like the Euler totient function ϕ and the summatory (Subscript[σ, k]) functions.

Questions?

For more information visit:
https://www.wolframalpha.com/pro/step-by-step-math-solver

For more examples to try visit: 
https://www.wolframalpha.com/examples/pro-features/step-by-step-solutions

Related talks: 
Using Resource Functions for K–College Math (10/19 - 10:00 am)

Workshop: Active Learning Notebooks for College Mathematics (10/19 - 11:00 am)

Office Hour: Wolfram|Alpha Notebook Edition (10/20 - 3:30 pm)

Thank you!