Let $M=(m_{ij})$ be a symmetric matrix of order $n$ whose elements lie in an arbitrary field $\mathbb{F}$, and let $G$ be the graph with vertex set $\{1,\ldots,n\}$ such that distinct vertices $i$ and $j$ are adjacent if and only if $m_{ij} \neq 0$. We introduce a dynamic programming algorithm that finds a diagonal matrix that is congruent to $M$. If $G$ is given with a tree decomposition $\mathcal{T}$ of width $k$, then this can be done in time $O(k|\mathcal{T}| + k^2 n)$, where $|\mathcal{T}|$ denotes the number of nodes in $\mathcal{T}$. Among other things, this allows one to compute the determinant, the rank and the inertia of a symmetric matrix in time $O(k|\mathcal{T}| + k^2 n)$.
翻译:Let $M= (m ⁇ ij}\ neq 0美元) 是一个对称的顺序矩阵 $n 美元,其元素位于任意字段 $\ mathbb{F} 美元, 并且让$G$ 成为以顶点设定$$1,\\ldots, n ⁇ $1, 这样不同的脊椎美元和$j$是相邻的。 我们引入一个动态的编程算法, 找到一个与 $ 相匹配的对数矩阵 。 如果将$G$与宽度 $\ mathcal{T} 的树分解成 $1, 美元, 那么可以按时间 $O( káthcal{T}} + k ⁇ 2 n) 美元进行, 美元=mathcal{T} $_ 美元表示以 $\mathcal{ t} n 的节点数。 除其他外, 允许一个人在时间 $O (k\\\\\\\\\\\\\\\\\ k2 n \\\ n \\) 中对称矩阵矩阵的确定、 级和惯性矩阵的惯性矩阵的惯性。