# ValueError: operands could not be broadcast together with shapes (100,3) (100,)

- **ID:** `python/numpy-broadcast-error-shapes`
- **Domain:** python
- **Category:** type_error
- **Verification:** ai_generated
- **Fix Rate:** 80%

## Root Cause

NumPy broadcasting rules require trailing dimensions to match. A (100,) array broadcasts against the last axis of (100,3), which has size 3.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| 3.x | active | — | — |

## Workarounds

1. **** (95% success)
   ```
   b = b[:, np.newaxis]; result = a + b  # (100,3) + (100,1)
   ```
2. **** (95% success)
   ```
   a + b[:, None]
   ```

## Dead Ends

- **** — Produces (100,100) shape, likely wrong intent (70% fail)
- **** — Produces wrong ordering unless reshaped (60% fail)
