```markdown
## Network Flow Optimization

### Objective
- **Minimize:** \(\sum_{i=1}^{n} \phi_i(x_i)\)
- **Subject to:** \(Ax = b\)

### Components
- **Directed Graph:** 
  - \(n\) arcs, \(p + 1\) nodes
- **Variables:**
  - \(x_i\): flow through arc \(i\)
  - \(\phi_i\): cost flow function for arc \(i\) (with \(\phi_i''(x) > 0\))
- **Node-Incidence Matrix (\(\tilde{A}\)):**
  - \(\tilde{A} \in \mathbb{R}^{(p+1) \times n}\)
  - \(\tilde{A}_{ij} = \begin{cases} 
      1 & \text{arc } j \text{ leaves node } i \\
     -1 & \text{arc } j \text{ enters node } i \\
      0 & \text{otherwise} 
    \end{cases}\)

### Reduced Matrix
- **Reduced Node-Incidence Matrix (\(A\)):**
  - \(A \in \mathbb{R}^{p \times n}\) is \(\tilde{A}\) with last row removed

### Source Vector
- **\(b \in \mathbb{R}^p\) is (reduced) source vector**

### Rank Condition
- **Rank \(A = p\) if graph is connected**

*Source: A. d’Aspremont. Convex Optimization M2.*
```
