<div dir="ltr">Hello all,<div><br></div><div>I am using SPARK to generate the call graph for a method from JScience listed below. The generated call graph only has the following three nodes and the edges:</div><div><br></div><div>solve -> StringBuilder:<init></div><div>solve -> DimentionException:<init></div><div>DimentionException:<init> -> RunTimeException:<init></div><div><br></div><div>What is the reason for missing the other method calls in the solve() method. Am I missing an option that is causing this? (I followed the examples in the survivor's guide to write my code).</div><div> </div><div><br></div><div><div> /**</div><div>     * Returns the solution X of the equation: A * X = B  with</div><div>     * <code>this = A.lu()</code> using back and forward substitutions.</div><div>     *</div><div>     * @param  B the input matrix.</div><div>     * @return the solution X = (1 / A) * B.</div><div>     * @throws DimensionException if the dimensions do not match.</div><div>     */</div><div>    public DenseMatrix<F> solve(Matrix<F> B) {</div><div>        if (_n != B.getNumberOfRows())</div><div>            throw new DimensionException("Input vector has "</div><div>                    + B.getNumberOfRows() + " rows instead of " + _n);</div><div><br></div><div>        // Copies B with pivoting.</div><div>        final int n = B.getNumberOfColumns();</div><div>        DenseMatrix<F> X = createNullDenseMatrix(_n, n);</div><div>        for (int i = 0; i < _n; i++) {</div><div>            for (int j = 0; j < n; j++) {</div><div>                X.set(i, j, B.get(_pivots.get(i).intValue(), j));</div><div>            }</div><div>        }</div><div><br></div><div>        // Solves L * Y = pivot(B)</div><div>        for (int k = 0; k < _n; k++) {</div><div>            for (int i = k + 1; i < _n; i++) {</div><div>                F luik = _LU.get(i, k);</div><div>                for (int j = 0; j < n; j++) {</div><div>                    X.set(i, j, X.get(i, j).plus(</div><div>                            luik.times(X.get(k, j).opposite())));</div><div>                }</div><div>            }</div><div>        }</div><div><br></div><div>        // Solves U * X = Y;</div><div>        for (int k = _n - 1; k >= 0; k--) {</div><div>            for (int j = 0; j < n; j++) {</div><div>                X.set(k, j, (_LU.get(k, k).inverse()).times(X.get(k, j)));</div><div>            }</div><div>            for (int i = 0; i < k; i++) {</div><div>                F luik = _LU.get(i, k);</div><div>                for (int j = 0; j < n; j++) {</div><div>                    X.set(i, j, X.get(i, j).plus(</div><div>                            luik.times(X.get(k, j).opposite())));</div><div>                }</div><div>            }</div><div>        }</div><div>        return X;</div><div>    }</div><div><br></div><div><br></div><div>Thanks,</div><div><div class="gmail_signature"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>- Upulee</div><div dir="ltr"><br></div></div></div></div></div></div></div></div></div></div></div>
</div></div>