Index notation is a shorthand way of writing repeated multiplication. Instead of writing 5 × 5 × 5, you write 5³. The small raised number (the index) tells you how many times to multiply the base number by itself. This compact format shows up across math, science, and programming, though it means slightly different things in each context.
The Two Parts: Base and Index
Every expression in index notation has two components. In the expression aⁿ, the letter “a” is the base and the letter “n” is the index (also called the exponent or power). The index tells you how many times the base appears as a factor in the multiplication. So 7³ means 7 × 7 × 7, which equals 343. The base can be a number or a variable: d⁴ means d × d × d × d.
You’ll hear the terms “index,” “exponent,” and “power” used interchangeably. “Indices” is simply the plural of “index.” When someone says “the laws of indices,” they mean the rules that govern how these expressions behave when you combine them.
The Three Core Rules
Most of what you’ll do with index notation comes down to three rules. Once you know them, you can simplify almost any expression.
Multiplying: When you multiply two terms with the same base, you add the indices. So a² × a³ = a⁵. This makes sense if you expand it out: (a × a) × (a × a × a) gives you five a’s multiplied together.
Dividing: When you divide two terms with the same base, you subtract the indices. So a⁵ ÷ a² = a³. You’re essentially canceling out the common factors.
Raising a power to a power: When you raise an expression that already has an index to another power, you multiply the indices. So (a²)³ = a⁶. Think of it as writing a² three times and then applying the multiplication rule: a² × a² × a² = a⁶.
These rules only work when the bases are the same. You can simplify 3⁴ × 3² because both bases are 3, but you can’t combine 3⁴ × 5² using these rules.
Zero, Negative, and Fractional Indices
The basic rules lead to some results that feel strange at first but are perfectly logical.
Zero as an index: Any non-zero number raised to the power of zero equals 1. This follows directly from the division rule. If you divide a³ by a³, the subtraction rule gives you a⁰, but you also know that anything divided by itself is 1. So a⁰ = 1.
Negative indices: A negative index means “take the reciprocal.” So 5⁻³ = 1/5³ = 1/125. The pattern is visible if you count downward: 5³ = 125, 5² = 25, 5¹ = 5, 5⁰ = 1, 5⁻¹ = 1/5, 5⁻² = 1/25. Each step divides by 5, and negative indices simply continue that pattern below zero. For any variable, x⁻⁴ = 1/x⁴.
Fractional indices: A fractional index represents a root. The denominator of the fraction tells you which root to take, and the numerator tells you which power. So x^(1/2) is the square root of x, and x^(2/3) means take the cube root of x and then square it (or square it first and then take the cube root, either order works).
Common Mistakes to Avoid
The most frequent error is applying index rules when the bases are different. You cannot add the indices in 2³ × 3⁴ because the bases don’t match. Another common mistake is confusing the multiplication rule with actual multiplication of the index values. When you see a² × a³, the answer is a⁵ (add the indices), not a⁶ (which would be multiplying them). Multiplying the indices only applies when you raise a power to another power, like (a²)³ = a⁶.
Students also stumble with negative indices. Seeing x⁻³ and writing -x³ is incorrect. The negative index flips the position of the term (from numerator to denominator, or vice versa), but it does not make the value negative. And be careful with expressions like 2x⁻³: the negative index applies only to x, giving you 2/x³, not 1/(2x³). If the entire expression were raised to a negative power, it would be written (2x)⁻³, which equals 1/(2x)³.
Index Notation in Programming
In computer science, “index notation” means something different. It refers to the way you access individual elements inside an array (an ordered list of values). Most modern programming languages use square brackets for this: if you have an array called “ages,” then ages[2] retrieves a specific element from that list.
The key detail that trips up beginners is that most programming languages start counting from zero, not one. So ages[0] is the first element, ages[1] is the second, and ages[2] is the third. This zero-based numbering is called an “offset” because the index represents how far from the start of the array you need to go. Older languages like FORTRAN and COBOL used parentheses instead of square brackets, but the concept is the same.
Index Notation in Physics
Physics and engineering use index notation in a more advanced way to handle vectors, matrices, and tensors. The most well-known version is Einstein’s summation convention, which saves physicists from writing out long summation expressions. Under this convention, whenever an index letter appears exactly twice in a term, it automatically means “sum over all possible values of that index.” So instead of writing out a full summation formula with a summation sign, you write something compact like aⱼxⱼ, and everyone understands it means a₁x₁ + a₂x₂ + a₃x₃ (in three dimensions).
This type of index notation is standard in fields like general relativity and continuum mechanics, where equations would otherwise stretch across entire pages. If you’re encountering it for the first time in a physics course, the core idea is the same as in basic math: indices are a compact way to represent operations that would be tedious to write in full.

