Professional Interests: numerical linear algebra, graph algorithms

Answered

How to use non-unique node names in a digraph?

Instead of setting these inputs as node names, add them as a separate variable in the nodes table. Then, pass them to the plotti...

How to use non-unique node names in a digraph?

Instead of setting these inputs as node names, add them as a separate variable in the nodes table. Then, pass them to the plotti...

11 Tage ago | 0

| accepted

Answered

Is there any way to accelerate the solving of a series of large sparse positive definite linear equations "Ax=b" with same "A" and different "b"?

If you are able to solve for one vector using A \ b, you could pass in a matrix containing all your right-hand sides in instead:...

Is there any way to accelerate the solving of a series of large sparse positive definite linear equations "Ax=b" with same "A" and different "b"?

If you are able to solve for one vector using A \ b, you could pass in a matrix containing all your right-hand sides in instead:...

11 Tage ago | 2

Answered

Accelerate eigs with GPU

The eigs function is not supported on the GPU. There is support for sparse matrices on the GPU, since R2015a: Release notes para...

Accelerate eigs with GPU

The eigs function is not supported on the GPU. There is support for sparse matrices on the GPU, since R2015a: Release notes para...

15 Tage ago | 1

Answered

Properties of adjacency matrix

In terms of the adjacency matrix, a disconnected graph means that you can permute the rows and columns of this matrix in a way w...

Properties of adjacency matrix

In terms of the adjacency matrix, a disconnected graph means that you can permute the rows and columns of this matrix in a way w...

18 Tage ago | 0

Answered

Assigning values to an array of arbitrary dimensions in MATLAB.

Using the somewhat recent implicit expansion, this can also be done without indexing into every element of the array: function ...

Assigning values to an array of arbitrary dimensions in MATLAB.

Using the somewhat recent implicit expansion, this can also be done without indexing into every element of the array: function ...

28 Tage ago | 0

Answered

How to find all edges indexes if node indexes are given?

So you're looking for all edges where both end nodes are part of the set 4, 5, 6? This will compute them: >> [s, t] = findedge(...

How to find all edges indexes if node indexes are given?

So you're looking for all edges where both end nodes are part of the set 4, 5, 6? This will compute them: >> [s, t] = findedge(...

etwa ein Monat ago | 0

| accepted

Answered

Create random graph with limited degree

You could start by just making an undirected graph, and then go through each node and compute its degree. If the degree is large...

Create random graph with limited degree

You could start by just making an undirected graph, and then go through each node and compute its degree. If the degree is large...

etwa ein Monat ago | 0

Solved

Maximum of ND-array

Find the maximum element of a N dimensional array. Example: A=[1 2 4 ; -20 4 10]; The maximum is 10.

etwa ein Monat ago

Answered

Result of A(:,:,1,1) coming as result of A(:,:,1,2)

The eigenvectors returned by EIG are returned in the same order as the eigenvalues, but the eigenvalues are not necessarily sort...

Result of A(:,:,1,1) coming as result of A(:,:,1,2)

The eigenvectors returned by EIG are returned in the same order as the eigenvalues, but the eigenvalues are not necessarily sort...

etwa ein Monat ago | 0

Answered

How to find all related nodes in directed graph?

Another option is to use the weak connected components of the graph: bins = conncomp(G, 'Type', 'weak'); % bins(nid) gives th...

How to find all related nodes in directed graph?

Another option is to use the weak connected components of the graph: bins = conncomp(G, 'Type', 'weak'); % bins(nid) gives th...

etwa ein Monat ago | 0

Answered

rotation of graph node labels

The labels will be straight in most layouts (all but 'circle', 'layered'). You can first use 'circle' layout and then convert to...

rotation of graph node labels

The labels will be straight in most layouts (all but 'circle', 'layered'). You can first use 'circle' layout and then convert to...

etwa ein Monat ago | 0

| accepted

Answered

Error using matlab.graphics.chart.primitive.GraphPlot/highlight>checkSubgraph

Try using Gsol = graph(idxs(ledge,1),idxs(ledge,2), [], numnodes(G)); so that G and Gsol both have the same number of nodes. T...

Error using matlab.graphics.chart.primitive.GraphPlot/highlight>checkSubgraph

Try using Gsol = graph(idxs(ledge,1),idxs(ledge,2), [], numnodes(G)); so that G and Gsol both have the same number of nodes. T...

etwa ein Monat ago | 0

| accepted

Answered

About "eigs" function

This was the case for old EIGS, it would use some random restart vectors that changed on every run. In the version of EIGS that ...

About "eigs" function

This was the case for old EIGS, it would use some random restart vectors that changed on every run. In the version of EIGS that ...

etwa ein Monat ago | 1

Answered

Assign Numerical Node Labels

For the first call, use >> GG.Nodes.Name = num2str(Name)' - GG.Nodes.Name has to be a column vector. For the second call,...

Assign Numerical Node Labels

For the first call, use >> GG.Nodes.Name = num2str(Name)' - GG.Nodes.Name has to be a column vector. For the second call,...

etwa ein Monat ago | 0

| accepted

Answered

How to find inverse of a 608*608 matrix fast?

The matrices in this file are symbolic, it's very expensive to compute with large arrays of these variables. If you cast it to f...

How to find inverse of a 608*608 matrix fast?

The matrices in this file are symbolic, it's very expensive to compute with large arrays of these variables. If you cast it to f...

etwa ein Monat ago | 0

| accepted

Answered

Is it possible to recover *the* decomposition that's ultimately employed by mldivide (backslash)?

The same decomposition is used, the difference is in the estimation of the condition number. MA57 provides an estimate of the co...

Is it possible to recover *the* decomposition that's ultimately employed by mldivide (backslash)?

The same decomposition is used, the difference is in the estimation of the condition number. MA57 provides an estimate of the co...

etwa 2 Monate ago | 3

Answered

"eig" use which algorithm to find eigenvalues

We don't give out the exact method used, but all syntaxes of EIG call into various LAPACK functions. See here for an introductio...

"eig" use which algorithm to find eigenvalues

We don't give out the exact method used, but all syntaxes of EIG call into various LAPACK functions. See here for an introductio...

etwa 2 Monate ago | 0

Answered

sortrows graph edges .

The variable G.Edges.EndNodes of a graph can't be modified, it is always sorted by the nodes in the graph. This is so that the p...

sortrows graph edges .

The variable G.Edges.EndNodes of a graph can't be modified, it is always sorted by the nodes in the graph. This is so that the p...

2 Monate ago | 1

Answered

How to find all the downstream nodes from a node in a graph?

You can call nearest(G, 1, Inf) which will find all nodes reachable from node 1 in an infinite radius. This will contain only...

How to find all the downstream nodes from a node in a graph?

You can call nearest(G, 1, Inf) which will find all nodes reachable from node 1 in an infinite radius. This will contain only...

2 Monate ago | 1

Answered

Find border edges of the graph

The graph class doesn't have any functions based on coordinates of the points - it just knows about their connections. Use conve...

Find border edges of the graph

The graph class doesn't have any functions based on coordinates of the points - it just knows about their connections. Use conve...

3 Monate ago | 1

| accepted

Answered

QR decomposition with the output of a permutation vector

The purpose of arranging all diagonal elements in descending order is to allow splitting R into two parts if A is low-rank or cl...

QR decomposition with the output of a permutation vector

The purpose of arranging all diagonal elements in descending order is to allow splitting R into two parts if A is low-rank or cl...

3 Monate ago | 0

| accepted

Answered

How to add highlighted nodes and edges of a graph to the legend?

The problem here is that legend will only provide labels for what graphics recognizes as individual objects. So in a line plot,...

How to add highlighted nodes and edges of a graph to the legend?

The problem here is that legend will only provide labels for what graphics recognizes as individual objects. So in a line plot,...

3 Monate ago | 1

| accepted

Answered

How to restore tensor after applied the PARAFAC model?

The three component vectors represent the 3 different dimensions here. For the one-component case (all are vectors), you can use...

How to restore tensor after applied the PARAFAC model?

The three component vectors represent the 3 different dimensions here. For the one-component case (all are vectors), you can use...

4 Monate ago | 0

| accepted

Answered

Create a graph from removed edges

The graph constructor has a syntax that specifies the number of nodes of the graph: graph(s, t, [], numnodes) if you pass the ...

Create a graph from removed edges

The graph constructor has a syntax that specifies the number of nodes of the graph: graph(s, t, [], numnodes) if you pass the ...

4 Monate ago | 0

| accepted

Answered

SVD computation using eig function

Try the formula the other way around, using U_tilde, V_tilde and A to compute D: >> U_tilde'*A*V_tilde ans = 70.0118 -0....

SVD computation using eig function

Try the formula the other way around, using U_tilde, V_tilde and A to compute D: >> U_tilde'*A*V_tilde ans = 70.0118 -0....

4 Monate ago | 0

| accepted

Answered

Using Singular value decomposition for feature extraction from images

Image compression using SVD is a pretty common example (although not the most efficient way to compress an image), here are some...

Using Singular value decomposition for feature extraction from images

Image compression using SVD is a pretty common example (although not the most efficient way to compress an image), here are some...

4 Monate ago | 0

Answered

Error using eig Input matrix contains NaN or Inf.

The function sossolve is part of a third-party tool, this seems to be their website: http://www.cds.caltech.edu/sostools/. It's ...

Error using eig Input matrix contains NaN or Inf.

The function sossolve is part of a third-party tool, this seems to be their website: http://www.cds.caltech.edu/sostools/. It's ...

4 Monate ago | 0

Answered

How to keep track of order eigenvalue in eig or eigs?

The eigenvalues returned by EIG are not sorted in any particular order generally (for some special types of matrices (e.g. exact...

How to keep track of order eigenvalue in eig or eigs?

The eigenvalues returned by EIG are not sorted in any particular order generally (for some special types of matrices (e.g. exact...

4 Monate ago | 1

Answered

Eigenvectors and the null function

I'm getting those two eigenvectors when I copy your code into MATLAB: >> D = [2 -1; -1 3]; eigs = eig(D); q1 = nu...

Eigenvectors and the null function

I'm getting those two eigenvectors when I copy your code into MATLAB: >> D = [2 -1; -1 3]; eigs = eig(D); q1 = nu...

4 Monate ago | 0

Answered

Block-diagonalization of a matrix

There is no direct function to do this. The best is probably to write a function that does a loop through the different blocks a...

Block-diagonalization of a matrix

There is no direct function to do this. The best is probably to write a function that does a loop through the different blocks a...

4 Monate ago | 0