Hi all,
This is my VERY first stab at matlab - a question on my linear algebra homework that is requiring its use. As follows:
A graph with five nodes and m directed edges can be described by an m x 2 matrix M by the following rule:
label the edges as 1,2,...,m.
row i of the matrix M is given by the vector
[starting node number of the edge i, ending node number of the edge i]
(a) Write a MATLAB code (or use another package) that creates the m x 5
incidence matrix A from M. Print A for the complete graph with five nodes (labeled 1, 2, 3, 4 and 5) and all m = 10 edges such that:
The edges are always directed from a smaller node number to a larger
node number
Both columns of M are increasing
(b) Print basis for C(A) and C(AT), the column space and the row space of A.
(c) Print L = AT A and find the nullspace of L.
(d) Compute the projection p of b = (1,2,...,10) onto the column space
C(A). Since the columns of A are dependent, you will have to remove column 5 of A and calculate again the 4 x 4 matrix L1 as in part (c), so that L1 is invertible, to solve L1x = AT b and compute p = Ax.
Here is my code so far, I think I almost got it except for part a) and removing the column in part d). I'm kind of lost in part a) I'm confused as how one does this sort of thing in matlab. I've programmed before my only in java and C.
This is my VERY first stab at matlab - a question on my linear algebra homework that is requiring its use. As follows:
A graph with five nodes and m directed edges can be described by an m x 2 matrix M by the following rule:
label the edges as 1,2,...,m.
row i of the matrix M is given by the vector
[starting node number of the edge i, ending node number of the edge i]
(a) Write a MATLAB code (or use another package) that creates the m x 5
incidence matrix A from M. Print A for the complete graph with five nodes (labeled 1, 2, 3, 4 and 5) and all m = 10 edges such that:
The edges are always directed from a smaller node number to a larger
node number
Both columns of M are increasing
(b) Print basis for C(A) and C(AT), the column space and the row space of A.
(c) Print L = AT A and find the nullspace of L.
(d) Compute the projection p of b = (1,2,...,10) onto the column space
C(A). Since the columns of A are dependent, you will have to remove column 5 of A and calculate again the 4 x 4 matrix L1 as in part (c), so that L1 is invertible, to solve L1x = AT b and compute p = Ax.
Here is my code so far, I think I almost got it except for part a) and removing the column in part d). I'm kind of lost in part a) I'm confused as how one does this sort of thing in matlab. I've programmed before my only in java and C.
%Problem #10 %part a) %part b) C = colspace(A) % columns are basis for column space of A R = colspace(transpose(A)) % rows are basis for row space of A %part c) L = transpose(A) * A null(L) %null space of L %part d) b = [1;2;3;4;5;6;7;8;9;10]; %remove last colmun from A, update %compute projection L1 = transpose(A)* A; B = transpose(A) * b; p = A * linsolve(L1,B)