Community Profile

# Christine Tobler

### MathWorks

302 total contributions since 2015

Professional Interests: numerical linear algebra, graph algorithms

View details...

Contributions in
View by

How to create random graph?
You can use s = randi(n, e, 1); t = randi(n, e, 1); G = graph(s, t, [], n); which will give you a graph with n nodes and e e...

1 day ago | 0

Why do logical operators do not work with the eigenvalues of this matrix?
There's a small round-off error on the eigenvalue 1: >> TM = [0.1,0.2,0.7; 0.5,0.2,0.3;0.1,0.1,0.8]; [V,D] = eig(TM', 'vector'...

12 days ago | 0

| accepted

Digraph with a single constrained axis
All algorithms for graph visualization that I'm aware of will compute both x and y (and sometimes z) coordinates for the nodes. ...

19 days ago | 0

how would i change an undirected network into a directed network on matlab?
It depends on what you want to the directed graph to look like. To replace every undirected edge with two directed edges going i...

1 month ago | 1

Both eig() and eigs() function calculate different eigenvalues depending on optional input values
The problems seen here are due to M being symmetric positive semi-definite. Such a matrix is numerically singular, which can hav...

2 months ago | 5

| accepted

Warning: Matrix is singular to working precision: What exactly generates this warning?
The warning is generated based on an estimate of the condition number (specifically, the reciprocal condition number in 1-norm, ...

2 months ago | 0

Traverse a directed graph visiting all edges at least once?
There aren't any functions for MATLAB's graph object that solve this problem. Possibly you can formulate this as an optimization...

2 months ago | 1

How to search all elements in two cell arrays?
All right, let's assume you have a graph containing both G and H stored as graph object GH, and that this graph contains the bla...

2 months ago | 0

| accepted

My Hessenberg Decomposition code is not working
Your code looks correct, try it with A = randn(10) for example - this matches the outputs of HESS quite closely. When the input ...

2 months ago | 1

Direct Solver
The direct sparse solver (\) unfortunately doesn't have methods for complex symmetric or hermitian problems, only for real symme...

2 months ago | 1

Solve large linear equations with backslash operator. Why is sparse matrix solved slower than the full matrix?
Sparse linear system solvers are usually fast for sparse matrices with specific structure of where the nonzeros are placed. For ...

3 months ago | 0

EIGS: Why is 'smallestabs' faster than 'largestabs'?
Whether 'largestabs' or 'smallestabs' depends on the problem: 'smallestabs' needs to factorize the first input, which can make i...

3 months ago | 0

| accepted

What is the algorithm used by svd function?
We don't give information on what SVD algorithm we use, look up the LAPACK library for detailed descriptions. For practical pur...

3 months ago | 1

Inverse of higher order matrix
Another way of looking at the equations x*Q = 0 and x e = 1 is as an equation system x * [Q e] = [0 1], which you could solve us...

3 months ago | 0

How to decompose a 4th order tensor
The value of K1111 is overwritten with the next value in every loop iteration - is this your intention, or did you maybe mean to...

3 months ago | 0

How can I find the Members of the largest component of a graph?
Use oF = F_prime.Nodes.Name(bin==m); instead of the find command to return node names instead of node numbers.

3 months ago | 1

| accepted

Projecting data points onto eigenvector space
The lambda here is a diagonal matrix, so SORT will sort each of its columns, not the eigenvalues on the diagonal among themselve...

3 months ago | 0

Soring varying and compex eigenvalues
This can't be done one the level of individual EIG calls, since it's necessary to track eigenvalues from one call to the next. T...

4 months ago | 0

| accepted

Change position of Graph edge label and node label
The position of the labels that are part of the graph plot can't be modified. It's possible to create independent text labels an...

4 months ago | 0

Specifying node numbers using digraph
The easiest way to use graph/digraph when your node numbers are not sequential is to convert the node numbers to string, which w...

4 months ago | 0

| accepted

Cannot create a matrix using pinv.
You've hit on a rare matrix that the SVD algorithm isn't able to work with (the SVD being the factorization called withing the P...

4 months ago | 0

Solving for ALL the eigenvectors of a sparse matrix
There isn't really an algorithm like this, unless you have a very specific structure (tridiagonal or banded matrix mostly). The...

4 months ago | 1

How to add an edge between two nodes of two different graphs?
You could also add the edges of both graphs to one larger graph, and then use addedge to connect them. You would probably not ge...

4 months ago | 1

| accepted

How to make nodes' removal from a graph as a function of time?
You may want to look at the graph and digraph classes: Graph and Network Algorithms and their method rmnode specifically.

4 months ago | 0

| accepted

How to determine if a graph is two-connected?
The biconncomp function will split the edges of a graph into its biconnected components. If the output of biconncomp is a vector...

4 months ago | 0

Computing generalized Inverse of a square but sparse matrix?
If you want to apply pinv(A)*b, you can instead use lsqminnorm(A, b), which also works for sparse matrices and does something eq...

4 months ago | 0

Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = 9.735910e-18.
I tried plotting the following two things: >> figure; semilogy(max(abs(A), [], 1)) >> figure; semilogy(max(abs(A), [], 2)) Fr...

4 months ago | 0

| accepted

Modify Nodes and Edges of GraphPlot
I'm afraid that's not possible with GraphPlot. For performance, you could use scatter to plot all the nodes, and plot to plot a...

4 months ago | 0

| accepted

how to find out the common neighbors of two nodes in a graph?
You can use the graph class for something like this. First, make a graph from the connection inputs you had: >> A=[1 2; 1 3; 1 ...

5 months ago | 2

| accepted