# -*- coding: utf-8 -*-
"""
Spyder Editor

Este é um arquivo de script temporário.
"""
#    |0|
#v = |4|
#    |0|
import numpy as np

#----------------------Uma linha de array é representada [e1, e2, ..., en], tendo n colunas ou elementos-------------
#
# ALGEBRICAMENTE UM VETOR É SEMPRE COLUNA, A MENOS QUE DITO QUE É UM VETOR LINHA
#

#vetor de 3 elementos
v=np.array([[0],
            [4],
            [0]])     # 3x1
v.shape

#vetor de 4 elementos
q=np.array([[2],
            [0],
            [1],
            [0]])    # 4x1
q.shape

#repetindo dobro de v na primeira e v na terceira coluna
#------Multiplicação de matrizes é sempre Amp Bpn = Cmn, ou seja,---------
#------o número p de colunas de A é o número de linhas de B---------------

##########################################################################
#                                                                        #
# QUEM DETERMINA O NÚMERO DE LINHAS NA MULTIPLICAÇÃO É A PRIMEIRA MATRIZ #
#                                                                        #
##########################################################################

v@q.T   #q.T é a transposta de q

v=np.array([[0],
            [2],
            [0],
            [1],
            [0],
            [0]]) #5x1

q=np.array([[1,2,3,4,5]]) #1x5

#repetindo o dobro de q na segunda linha e q na quarta linha
v@q


#Ax=b
A=np.array([[1,-1],
            [1,-2]])

b=np.array([[1],
            [-2]])
#encontrando os xi
x=np.linalg.inv(A)@b


#autovalores e autovetores
A=np.array([[1,2],[3,4]])
[D,V]=np.linalg.eig(A) #em matlab [V,D]=eig(A)
D_=np.diag(D) #em matlab já retorna em matriz diagonal
A@V
V@D_


import matplotlib.pyplot as plt
x=np.linspace(0,1,100)
y=x
plt.plot(x,y,'r--')
z=[t**2 for t in x]
plt.plot(x,z,'bo')
w=[t**3 for t in x]
plt.plot(x,w,'g^')
plt.show()
