
Exponentials and Logarithms
Learning objectives
After this lesson you should be able to:
- evaluate positive, zero, and negative exponents;
- distinguish exponential growth from exponential decay;
- interpret parameters in
a*b^xandA(1 + r)^t; - explain logarithms as inverse operations;
- convert between logarithmic and exponential form;
- solve basic exponential and logarithmic equations;
- check logarithm domain restrictions;
- use SymPy and browser symbolic tools to verify your work.
Motivation: repeated multiplication
Linear growth adds the same amount each step. Exponential growth multiplies by the same factor each step. If $100 grows by 5% per year, the values are:
100, 100(1.05), 100(1.05)^2, 100(1.05)^3, ...
Exponential functions appear in compound interest, population growth, medicine decay, half-life, and many risk models.
Exponent rules with meaning
| Rule | Example | Meaning |
|---|---|---|
a^m * a^n = a^(m+n) |
2^3 * 2^4 = 2^7 |
combine repeated factors |
(a^m)^n = a^(mn) |
(2^3)^4 = 2^12 |
repeat a repeated product |
a^0 = 1 |
5^0 = 1 |
keeps exponent patterns consistent |
a^-n = 1/a^n |
2^-3 = 1/8 |
negative exponent means reciprocal |
Common mistake
2^3 + 2^4 is not 2^7. Exponent rules apply to multiplication with the same base, not addition.
Exponential functions
An exponential function has the variable in the exponent:
f(x) = a*b^x
ais the starting value whenx = 0;bis the growth or decay factor;b > 1gives growth;0 < b < 1gives decay.
Example: P(t) = 200(1.04)^t starts at 200 and grows by 4% per time step. Example: A(t) = 80(0.75)^t keeps 75% and loses 25% per time step.
Percent growth and decay
The model:
A(t) = A_0(1 + r)^t
uses a rate r written as a decimal. A 6% growth rate gives factor 1.06. A 20% decay rate gives factor 0.80.
Key idea
A growth rate is not the same as a growth factor. Add the rate to 1 for growth and subtract it from 1 for decay.
Logarithms undo exponentials
A logarithm answers: what exponent produced this number?
log_b(y) = x means b^x = y
| Exponential form | Logarithmic form |
|---|---|
2^3 = 8 |
log_2(8) = 3 |
10^2 = 100 |
log_10(100) = 2 |
e^0 = 1 |
ln(1) = 0 |
The natural logarithm ln(x) means log_e(x).
Domain and range
For b^x with b > 0 and b != 1, the domain is all real numbers and the range is positive real numbers. For log_b(x), the domain is positive real numbers and the range is all real numbers.
Thus log(x - 4) requires x - 4 > 0, so x > 4.
Log domain warning
In real-valued algebra, log(0) and log(-3) are not defined. Always check log inputs before accepting a solution.
Logarithm laws
For M > 0, N > 0, b > 0, and b != 1:
log_b(MN) = log_b(M) + log_b(N)
log_b(M/N) = log_b(M) - log_b(N)
log_b(M^p) = p log_b(M)
Logarithms do not distribute over addition: log(x + y) is not log(x) + log(y).
Solving exponential equations
Common-base example:
2^(x + 1) = 16 = 2^4
x + 1 = 4
x = 3
Taking logarithms:
3^x = 20
log(3^x) = log(20)
x log(3) = log(20)
x = log(20)/log(3)
Growth model:
100(1.05)^t = 150
(1.05)^t = 1.5
t = log(1.5)/log(1.05)
Solving logarithmic equations
Direct rewrite:
log_2(x - 1) = 3
2^3 = x - 1
x = 9
Check the domain: x > 1, so 9 is valid.
Combining logs:
log(x) + log(x - 3) = log(10)
Domain: x > 3. Combine:
log(x(x - 3)) = log(10)
x(x - 3) = 10
x^2 - 3x - 10 = 0
(x - 5)(x + 2) = 0
Only x = 5 satisfies the domain.
Applications
- Compound interest:
A(t) = 500(1.06)^t. - Half-life:
A(t) = A_0(1/2)^(t/h)wherehis the half-life. - Doubling time:
P(t) = P_0*2^(t/d)wheredis the doubling time.
Browser symbolic practice
Useful browser tools include math.js, Nerdamer, Algebrite, and PyScript. Try evaluating an exponential model, comparing 2^x and x^2, solving 3^x = 20, and checking domains such as log(2x - 5).
Practice exercises
- Evaluate
2^5and2^-3. - Does
300(1.07)^trepresent growth or decay? What is the percent rate? - Does
90(0.82)^trepresent growth or decay? What is the percent rate? - Rewrite
log_5(125) = 3in exponential form. - Rewrite
4^3 = 64in logarithmic form. - Solve
2^(x - 1) = 32. - Solve
5^x = 18exactly. - Find the domain of
log(x + 6). - Solve
log_3(x + 2) = 4. - Write a model for a value starting at
1000and decaying by12%per year.
32and1/8.- Growth by
7%. - Decay by
18%. 5^3 = 125.log_4(64) = 3.x = 6.x = log(18)/log(5).x > -6.x = 79.A(t) = 1000(0.88)^t.
Subtopic guided practice and checkpoints
Exponentials build repeated multiplication. Logarithms answer exponent questions. Guess which inverse operation you need before solving.
Lab 1: exponent rules with meaning
Guess first. Is a^3 * a^4 closer to a^7 or a^12?
Guided exercise.
a^3 * a^4 = (a*a*a)(a*a*a*a) = a^7
Add exponents only when the bases match and you are multiplying powers.
Checkpoint. Simplify x^5/x^2 and (2x^3)^2. State which rule you used.
Lab 2: growth and decay
Guess first. In P(t) = 500(1.08)^t, is the quantity growing or decaying?
Guided exercise.
The base is 1.08, which is larger than 1, so the model grows by 8% each time period. At t = 3:
P(3) = 500(1.08)^3
= 629.856
Checkpoint. Interpret A(t) = 1200(0.85)^t. Is it growth or decay? What is the percent change each time period?
Lab 3: logarithms as inverse questions
Guess first. What power of 2 gives 32?
Guided exercise.
log_2(32) = ?
2^? = 32
2^5 = 32
log_2(32) = 5
Checkpoint. Rewrite log_3(81) = 4 in exponential form. Then evaluate log_5(1/25).
Lab 4: solve exponential and logarithmic equations
Guess first. To solve 3^(x - 1) = 27, should you use common bases or logs?
Guided exercise.
3^(x - 1) = 27
3^(x - 1) = 3^3
x - 1 = 3
x = 4
For a logarithmic equation, rewrite in exponential form:
log_2(x + 6) = 5
x + 6 = 2^5
x + 6 = 32
x = 26
Check the log domain: x + 6 > 0, and 26 works.
Checkpoint. Solve 5^(2x) = 125 and log_3(x - 1) = 2. Include a domain check for the logarithmic equation.
Guessing game checkpoint
Using this lesson with edumath and SymPy
Use parsed equations with the solver for exact symbolic answers, then interpret them using exponent and logarithm rules.
from edumath.core import parse_equation
from edumath.solvers import solve_equation_steps
exponential_solution = solve_equation_steps(parse_equation("3^(x - 1) = 27"))
print(exponential_solution.render_text())Answer: x = 4
Method: SymPy solveset
Steps:
1. Original equation:
Eq(3**(x - 1*1), 27)
2. Solve symbolically:
x ∈ {4}
SymPy found the solution set directly.
Check:
x = 4: valid
import sympy as sp
x = sp.Symbol("x", positive=True)
sp.solve(sp.Eq(3**x, 20), x)[log(20)/log(3)]
sp.solve(sp.Eq(sp.log(x, 10), 3), x)[1000]
equation = sp.Eq(sp.log(x) + sp.log(x - 3), sp.log(10))
candidates = sp.solve(equation, x)
[(candidate, sp.checksol(equation, x, candidate)) for candidate in candidates][(5, True)]
t = sp.symbols("t")
solution = sp.solve(sp.Eq(100 * 1.05**t, 150), t)[0]
float(solution)8.310386222520568
Further reading
- OpenStax, College Algebra 2e: https://openstax.org/books/college-algebra-2e/pages/index
- Khan Academy, Algebra 2: https://www.khanacademy.org/math/algebra2