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...

7 giorni 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:...

7 giorni 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...

11 giorni 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...

14 giorni 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 ...

24 giorni 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(...

26 giorni 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...

28 giorni 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.

28 giorni 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...

circa un mese 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...

circa un mese 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...

circa un mese 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...

circa un mese 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 ...

circa un mese 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,...

circa un mese 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...

circa un mese 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...

circa 2 mesi 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...

circa 2 mesi 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...

circa 2 mesi 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 mesi 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 mesi 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 mesi 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 mesi 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 mesi 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 mesi 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 mesi 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 mesi 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 mesi 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 mesi 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 mesi 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 mesi ago | 0