Usetutoringspotscode to get 8% OFF on your first order!

  • time icon24/7 online - support@tutoringspots.com
  • phone icon1-316-444-1378 or 44-141-628-6690
  • login iconLogin

Intermediate Mathematics for Economists ECON3272.

Intermediate Mathematics for Economists ECON3272.

Computer Assignment 1. Matrix Algebra
In this course the open-source software R is used for numerical exercises. R includes a line editor but it is more convenient to use R with RStudio.
R is available in the computer labs and you may download it freely from the web onto your PC (http://www.r-project.org/).
For the installation of R and RStudio see:
Torfs, P. and Brauer, C. “A (very) short introduction to R”, 3 March 2014.
(http://cran.r-project.org/doc/contrib/Torfs+Brauer-Short-R-Intro.pdf)
RStudio splits the computer screen into four windows:

Editor window
•    This window provides a text editor.
•    Click Run or press CTRL+ENTER to send a line to the consol window where it is executed.
•    You may edit and save the programs that you write in this window.     Workspace/history window
•    The workspace window shows the objects R has in its memory. You can edit their values by clicking on them.
•    The history window provides a protocol of what has been typed.
Consol (command) window
•    Commands are executed in this window.
•    You may write directly into this window using the line editor.     Plots/help/files/packages window
•    R sends plots to this window.
•    You may also use the help function, view files and install packages in this window.

A more detailed introduction to R can be found in:
Venables W.N. and Smith D.M. “An Introduction to R”, 16 April 2015.
(http://cran.r-project.org/doc/manuals/R-intro.pdf)

Data Input
Lines that start with # are comments that are ignored by R. Only copy the command lines without the comments.  R is case sensitive; that is, x and X or gdp and Gdp indicate different objects.

# Start R.
# Input the vectors x and h.

x <- c(4, 3, 2, 7)
h <- c(5, -3, 1, 7, -6, 8, 1, 9, -6, -4, 0, 2)

# The assignment operator <-, which looks like an arrow, assigns
# the value to the right of it to the name on the left. The two
# vectors are now objects in the workspace of R.

# Rearrange the vector h into the 4×3 matrix A.

A <- array(h, dim=c(4,3))

# There are now three objects in the workspace. The following
# command shows the names of those objects.

objects()

# The output is
#    [1] “A” “h” “x”

# Remove the vector h from the workspace.

rm(h)
objects()

# The output is
#     [1] “A” “x”

# Show the two objects.

x; A

# The ouput is

#    [1] 4 3 2 7
#         [,1] [,2] [,3]
#    [1,]    5   -6   -6
#    [2,]   -3    8   -4
#    [3,]    1    1    0
#    [4,]    7    9    2

# Note that matrix A is filled with numbers column by column. The
# elements of a vector are always listed in a row.

# Similarly, input the matrices B, C, D, E, F.

h <- c(3, 5, 5, -7, 4, -9, 8, 4, 0, 1, -7, 9)
B <- array(h, dim=c(3,4))
rm(h)
h <- c(1, 2, 4, -5, -7, 3, 8, 1, -6, 1, 1, 3)
C <- array(h, dim=c(3,4))
rm(h)
h <- c(7, -4, 2, 1, 9, -5, 0, 3, 6, 1, 4, 7, 0, 2, 1, -2)
D <- array(h, dim=c(4,4))
rm(h)
h <- c(3, 2, -1, 4, 5, -2, 7, -9, 6, 4, -2, 8, 0, 1, 9, 3)
E <- array(h, dim=c(4,4))
rm(h)
h <- c(-4, 6, -1, 3, 6, 2, 4, -8, -1, 4, 3, 0, 3, -8, 0, 7)
F <- array(h, dim=c(4,4))
rm(h)

# There are now six matrices and one vector in the workspace.

objects()

# Show all objects.

x; A; B; C; D; E; F

# Exercise 1

# Compute K=AB, L=BA, M=CD, N=DC, P=A(B+C), R=AB+AC. Display the
# results and provide comments where appropriate.

# For example, the R code for K and P is:

K <- A%*%B
K

P <- A%*%(B+C)
P

# Exercise 2

# Compute S=(AB)’-B’A’. The R function t produces the transpose of # a matrix. Comment.

S <- t(A%*%B)-t(B)%*%t(A)
S

# Exercise 3

# Find the determinants of matrices A, D and E. Call the
# determinants a, b, c. Comment where appropriate.

# Hint: One of these determinants does not exist. Also inspect the # columns of matrix E.

# Example:

a <- det(A)
a

# Exercise 4

# Compute the inverses of matrices A, D and E. Call them U, V, W. # Comment where appropriate.

# Hint: See the preceding question.

Example:

U <- solve(A)
U

# Exercise 5

# a) Compute the quadratic form x’Fx.

d <- t(x)%*%F%*%x
d

# The following code also works because R uses vectors in whatever
# way is multiplicatively coherent. Therefore, there is no need to
# transpose x; R does it automatically.

e <- x%*%F%*%x
e

# b) Compute the eigenvalues and eigenvectors of the symmetric
# matrix F.

ev <- eigen(F)
ev

# The eigenvalues are the row vector and the eigenvectors are the # columns of the matrix.

# c) Retrieve the matrix of eigenvectors.

Q <- ev$vec

# Compute J = Q’Q. Comment.

J = t(Q)%*%Q
J

# Hint: See the matrix whose columns are eigenvectors in the
# course handbook.

# d) What is the definiteness of the quadratic form x’Fx and
# matrix F?

# Exercise 6

objects()

# Remove all objects from the workspace.

rm(list=ls(all=TRUE))

# Check whether the workspace is now empty.

objects()

# a) Consider the linear equation system given in Bretscher
# (2009), Exercises 1.2, 17.

#

# Using matrix notations, the equation system is:

# Input the vector b and matrix A and display them. How to do this # is shown at the beginning of this assignment.

# b) Does the system have a unique solution?

# Hint: Compute the determinant of A. Is A invertible? For the R
# code see Exercise 3.

# c) Solve the system of equations.

# The following R code uses the inverse of A:

x <- solve(A)%*%b

# This code is, however, numerically inefficient and potentially
# unstable. A safer and more efficient code is:

solve(A,b)

# Note: In numerical linear algebra matrix inversion is avoided.
# There are other, more efficient ways to solve a linear equation
# system.

# Finally, do some housekeeping and remove all objects.

rm(list=ls(all=TRUE))

Responses are currently closed, but you can trackback from your own site.

Comments are closed.

Intermediate Mathematics for Economists ECON3272.

Intermediate Mathematics for Economists ECON3272.

Computer Assignment 1. Matrix Algebra
In this course the open-source software R is used for numerical exercises. R includes a line editor but it is more convenient to use R with RStudio.
R is available in the computer labs and you may download it freely from the web onto your PC (http://www.r-project.org/).
For the installation of R and RStudio see:
Torfs, P. and Brauer, C. “A (very) short introduction to R”, 3 March 2014.
(http://cran.r-project.org/doc/contrib/Torfs+Brauer-Short-R-Intro.pdf)
RStudio splits the computer screen into four windows:

Editor window
•    This window provides a text editor.
•    Click Run or press CTRL+ENTER to send a line to the consol window where it is executed.
•    You may edit and save the programs that you write in this window.     Workspace/history window
•    The workspace window shows the objects R has in its memory. You can edit their values by clicking on them.
•    The history window provides a protocol of what has been typed.
Consol (command) window
•    Commands are executed in this window.
•    You may write directly into this window using the line editor.     Plots/help/files/packages window
•    R sends plots to this window.
•    You may also use the help function, view files and install packages in this window.

A more detailed introduction to R can be found in:
Venables W.N. and Smith D.M. “An Introduction to R”, 16 April 2015.
(http://cran.r-project.org/doc/manuals/R-intro.pdf)

Data Input
Lines that start with # are comments that are ignored by R. Only copy the command lines without the comments.  R is case sensitive; that is, x and X or gdp and Gdp indicate different objects.

# Start R.
# Input the vectors x and h.

x <- c(4, 3, 2, 7)
h <- c(5, -3, 1, 7, -6, 8, 1, 9, -6, -4, 0, 2)

# The assignment operator <-, which looks like an arrow, assigns
# the value to the right of it to the name on the left. The two
# vectors are now objects in the workspace of R.

# Rearrange the vector h into the 4×3 matrix A.

A <- array(h, dim=c(4,3))

# There are now three objects in the workspace. The following
# command shows the names of those objects.

objects()

# The output is
#    [1] “A” “h” “x”

# Remove the vector h from the workspace.

rm(h)
objects()

# The output is
#     [1] “A” “x”

# Show the two objects.

x; A

# The ouput is

#    [1] 4 3 2 7
#         [,1] [,2] [,3]
#    [1,]    5   -6   -6
#    [2,]   -3    8   -4
#    [3,]    1    1    0
#    [4,]    7    9    2

# Note that matrix A is filled with numbers column by column. The
# elements of a vector are always listed in a row.

# Similarly, input the matrices B, C, D, E, F.

h <- c(3, 5, 5, -7, 4, -9, 8, 4, 0, 1, -7, 9)
B <- array(h, dim=c(3,4))
rm(h)
h <- c(1, 2, 4, -5, -7, 3, 8, 1, -6, 1, 1, 3)
C <- array(h, dim=c(3,4))
rm(h)
h <- c(7, -4, 2, 1, 9, -5, 0, 3, 6, 1, 4, 7, 0, 2, 1, -2)
D <- array(h, dim=c(4,4))
rm(h)
h <- c(3, 2, -1, 4, 5, -2, 7, -9, 6, 4, -2, 8, 0, 1, 9, 3)
E <- array(h, dim=c(4,4))
rm(h)
h <- c(-4, 6, -1, 3, 6, 2, 4, -8, -1, 4, 3, 0, 3, -8, 0, 7)
F <- array(h, dim=c(4,4))
rm(h)

# There are now six matrices and one vector in the workspace.

objects()

# Show all objects.

x; A; B; C; D; E; F

# Exercise 1

# Compute K=AB, L=BA, M=CD, N=DC, P=A(B+C), R=AB+AC. Display the
# results and provide comments where appropriate.

# For example, the R code for K and P is:

K <- A%*%B
K

P <- A%*%(B+C)
P

# Exercise 2

# Compute S=(AB)’-B’A’. The R function t produces the transpose of # a matrix. Comment.

S <- t(A%*%B)-t(B)%*%t(A)
S

# Exercise 3

# Find the determinants of matrices A, D and E. Call the
# determinants a, b, c. Comment where appropriate.

# Hint: One of these determinants does not exist. Also inspect the # columns of matrix E.

# Example:

a <- det(A)
a

# Exercise 4

# Compute the inverses of matrices A, D and E. Call them U, V, W. # Comment where appropriate.

# Hint: See the preceding question.

Example:

U <- solve(A)
U

# Exercise 5

# a) Compute the quadratic form x’Fx.

d <- t(x)%*%F%*%x
d

# The following code also works because R uses vectors in whatever
# way is multiplicatively coherent. Therefore, there is no need to
# transpose x; R does it automatically.

e <- x%*%F%*%x
e

# b) Compute the eigenvalues and eigenvectors of the symmetric
# matrix F.

ev <- eigen(F)
ev

# The eigenvalues are the row vector and the eigenvectors are the # columns of the matrix.

# c) Retrieve the matrix of eigenvectors.

Q <- ev$vec

# Compute J = Q’Q. Comment.

J = t(Q)%*%Q
J

# Hint: See the matrix whose columns are eigenvectors in the
# course handbook.

# d) What is the definiteness of the quadratic form x’Fx and
# matrix F?

# Exercise 6

objects()

# Remove all objects from the workspace.

rm(list=ls(all=TRUE))

# Check whether the workspace is now empty.

objects()

# a) Consider the linear equation system given in Bretscher
# (2009), Exercises 1.2, 17.

#

# Using matrix notations, the equation system is:

# Input the vector b and matrix A and display them. How to do this # is shown at the beginning of this assignment.

# b) Does the system have a unique solution?

# Hint: Compute the determinant of A. Is A invertible? For the R
# code see Exercise 3.

# c) Solve the system of equations.

# The following R code uses the inverse of A:

x <- solve(A)%*%b

# This code is, however, numerically inefficient and potentially
# unstable. A safer and more efficient code is:

solve(A,b)

# Note: In numerical linear algebra matrix inversion is avoided.
# There are other, more efficient ways to solve a linear equation
# system.

# Finally, do some housekeeping and remove all objects.

rm(list=ls(all=TRUE))

Responses are currently closed, but you can trackback from your own site.

Comments are closed.

Powered by WordPress | Designed by: Premium WordPress Themes | Thanks to Themes Gallery, Bromoney and Wordpress Themes