E. Impactos de la afluencia turística
1. AFLUENCIA DE TURISTAS
function. The example below creates an I3 identity matrix.
# identity matrix
from numpy import identity I = identity(3)
print(I)
Listing 10.5: Example of creating an identity matrix.
Running the example prints the created identity matrix.
[[ 1. 0. 0.]
[ 0. 1. 0.]
[ 0. 0. 1.]]
Listing 10.6: Sample output from creating an identity matrix.
Alone, the identity matrix is not that interesting, although it is a component in other import matrix operations, such as matrix inversion.
10.7 Orthogonal Matrix
Two vectors are orthogonal when their dot product equals zero. The length of each vector is 1 then the vectors are called orthonormal because they are both orthogonal and normalized.
v · w = 0 (10.12)
or
v · wT = 0 (10.13)
This is intuitive when we consider that one line is orthogonal with another if it is perpendicular to it. An orthogonal matrix is a type of square matrix whose columns and rows are orthonormal unit vectors, e.g. perpendicular and have a length or magnitude of 1.
An orthogonal matrix is a square matrix whose rows are mutually orthonormal and whose columns are mutually orthonormal
— Page 41, Deep Learning, 2016.
An Orthogonal matrix is often denoted as uppercase Q.
Multiplication by an orthogonal matrix preserves lengths.
— Page 277, No Bullshit Guide To Linear Algebra, 2017.
The Orthogonal matrix is defined formally as follows:
QT · Q = Q · QT = I (10.14)
10.7. Orthogonal Matrix 77 Where Q is the orthogonal matrix, QT indicates the transpose of Q, and I is the identity matrix. A matrix is orthogonal if its transpose is equal to its inverse.
QT = Q−1 (10.15)
Another equivalence for an orthogonal matrix is if the dot product of the matrix and itself equals the identity matrix.
Q · QT = I (10.16)
Orthogonal matrices are used a lot for linear transformations, such as reflections and permutations. A simple 2 × 2 orthogonal matrix is listed below, which is an example of a reflection matrix or coordinate reflection.
Q =1 0 0 −1
(10.17) The example below creates this orthogonal matrix and checks the above equivalences.
# orthogonal matrix
Listing 10.7: Example of creating an orthogonal matrix.
Running the example first prints the orthogonal matrix, the inverse of the orthogonal matrix, and the transpose of the orthogonal matrix are then printed and are shown to be equivalent.
Finally, the identity matrix is printed which is calculated from the dot product of the orthogonal matrix with its transpose.
Listing 10.8: Sample output from creating an orthogonal matrix.
10.8. Extensions 78 Note, sometimes a number close to zero can be represented as -0 due to the rounding of floating point precision. Just take it as 0.0. Orthogonal matrices are useful tools as they are computationally cheap and stable to calculate their inverse as simply their transpose.
10.8 Extensions
This section lists some ideas for extending the tutorial that you may wish to explore.
Modify each example using your own small contrived array data.
Write your own functions for creating each matrix type.
Research one example where each type of array was used in machine learning.
If you explore any of these extensions, I’d love to know.
10.9 Further Reading
This section provides more resources on the topic if you are looking to go deeper.
10.9.1 Books
Section 6.2 Special types of matrices. No Bullshit Guide To Linear Algebra, 2017.
http://amzn.to/2k76D4
Introduction to Linear Algebra, 2016.
http://amzn.to/2j2J0g4
Section 2.3 Identity and Inverse Matrices, Deep Learning, 2016.
http://amzn.to/2B3MsuU
Section 2.6 Special Kinds of Matrices and Vectors, Deep Learning, 2016.
http://amzn.to/2B3MsuU
10.9.2 API
numpy.tril() API.
https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.tril.html
numpy.triu() API.
https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.triu.html
numpy.diag() API.
https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.diag.html
numpy.identity() API.
https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.identity.
html
10.10. Summary 79
10.9.3 Articles
Square matrix on Wikipedia.
https://en.wikipedia.org/wiki/Square_matrix
Main diagonal on Wikipedia.
https://en.wikipedia.org/wiki/Main_diagonal
Symmetric matrix on Wikipedia.
https://en.wikipedia.org/wiki/Symmetric_matrix
Triangular Matrix on Wikipedia.
https://en.wikipedia.org/wiki/Triangular_matrix
Diagonal matrix on Wikipedia.
https://en.wikipedia.org/wiki/Diagonal_matrix
Identity matrix on Wikipedia.
https://en.wikipedia.org/wiki/Identity_matrix
Orthogonal matrix on Wikipedia.
https://en.wikipedia.org/wiki/Orthogonal_matrix
10.10 Summary
In this tutorial, you discovered a suite of different types of matrices from the field of linear algebra that you may encounter in machine learning. Specifically, you learned:
Square, symmetric, triangular, and diagonal matrices that are much as their name suggests.
Identity matrices that are all zero values except along the main diagonal where the values are 1.
Orthogonal matrices that generalize the idea of perpendicular vectors and have useful computational properties.
10.10.1 Next
In the next chapter you will discover basic operations that you can perform on matrices.
Chapter 11
Matrix Operations
Matrix operations are used in the description of many machine learning algorithms. Some operations can be used directly to solve key equations, whereas others provide useful shorthand or foundation in the description and the use of more complex matrix operations. In this tutorial, you will discover important linear algebra matrix operations used in the description of machine learning methods. After completing this tutorial, you will know:
The Transpose operation for flipping the dimensions of a matrix.
The Inverse operations used in solving systems of linear equations.
The Trace and Determinant operations used as shorthand notation in other matrix operations.
Let’s get started.
11.1 Tutorial Overview
This tutorial is divided into 5 parts; they are:
1. Transpose 2. Inverse 3. Trace
4. Determinant 5. Rank