• Nenhum resultado encontrado

Algema-sistema computacional para álgebra de matrizes

N/A
N/A
Protected

Academic year: 2021

Share "Algema-sistema computacional para álgebra de matrizes"

Copied!
246
0
0

Texto

(1)ALGEMA - SISTEMA. COMPUTACIONAL PARA �LGEBRA DE MATRIZES. CARLOS TADEU. Orientador. DOS SANTOS DIAS. Prof. Dr. CASSIO ROBERTO DE MELO GODO!. Dissertação apresentada à Escola Superior de Agricultura "Luiz de Queiroz" Paulo,. da Universidade de S�o para obtenç�o do. de Mestre em Agronomia, Concentraç�o. :. titulo �rea de. Estatlstica. Experimentaç�o Agronômica.. PIRACICABA Estado de São Paulo - Brasil - ·1 8 8 8 -. e.

(2) iii. A meus pais Ubaldo e Franciscá, Dedico A meus irm'ãos Francisco, Ana, Silene e Ver6nica, Oferec;:o.

(3) iv. AGRADECIMENTOS Expressamos que. aqueles realizaç:�o. os. nossos. éontribuiram, presente. do. agradecimentos. direta. trabalho. e. a. ou. indiretamente. de. maneira. todos para. especial. a. às. seguintes pessoas e instituiç:�es: - Ao pela. Professor Dr.. orientação. Câssio Roberto de Mello Godoi,. ensinamentos. e. recebidos,. durante. o. desenvolvimento deste trabalho, bem como pela sua amizade. - Aos Professores e funcionârios do Departamento de Matematica. e. Estatistica. da. ESALQ/USP. pelos. ensinamentos. adquiridos e gentilezas concedidas, respectivamente. - A Agricultura Polizel,. todo. (CIAGRI),. José. Celso,. pessoal em. do. Centro. especial. Gladys. Pierri,. a. de. lnformâtica. Adriano. Azevedo,. Ariovaldo. de. na Eder. Carvalho,. Gabriel Sariés, Sérgio Roberto e Carlos Henrique pela colaboraç:ão e troca de idéias. - A Professora D.ra.. Sheila Zambello de Pinho pelas. criticas e sugest�es. - Aos. colegas do Departamento de Bioestatistica da. UNESP-Botucatu pela oportunidade concedida. - Ao Professor Roberto Rus Perez,. do. de Educaç:ão UNESP-Botucatu pela revisão do vernàculo.. Departamento.

(4) v. - A Maria Célia Rodrigues, pelo constante incentivo nos momentos dificeis.. - A Empresa. Brasileira de. (EMBRRPR), pela oportunidade de. - Ao concedido.. CNPQ. e. realiza~~o. CRPES. pelo. Pesquisa. Rgropecuària. do curso. auxilio. financeiro.

(5) vi. INDICE Pâgina RESUMO ................................................. SUMMt=lRY ........................ 0. • • • • • • • • • • • •. :. • • • • • • • • •. o. . •. viii x. 1 INTRODUÇf::10. 1. 2 REV I Sf::10 Dt=I LI TERt=lTURt=I ................................ 3. ...................0............................ 8. 3.1 MeJDULO t=lLGEDt=lDO. 10. 3.2 MeJDULO. · ....... · . · · ................ . · ... t=lLGEGUt=lR · ....... · . · · .... . ..... · · . . ... · · . · t=lLGECHt=lM · ...... · · . · · ......... .. · . .... · · .. t=lLGETRt=lN · ... . . . . · . · · ............ ..... · ... t=lLGEPROD · .. . . . . . · . · · .......... · ..... . · .. . t=lLGEIMPRE · ...... · . · · . . ... . . . . . · · ..... · · . · t=lLGEPRESC · .. . . . · .. · · .......... · · ..... · .. · t=lLGEINVE · · ..... · · . · · ..... ..... · · ..... · · . · t=lLGEOPER · ....... · . · · .................. · · ... 14. 3. M~TODO. 3.3 MeJDULO 3.4 MeJDULO 3.5 MeJDULO 3.6 MeJDULO 3.7 MeJDULO 3.8 MeJDULO 3.9 MeJDULO. '. 17 18. 20 23 25 26. 31. 3.10 MeJDULO t=lLGEPt=lRT. 400. 3.11 MeJDULO t=lLGEt=lPt=lG. 42. 3.12 MeJDULO t=lLGECONT. 43. 3.13 MeJDULO t=lLGEDIRE. 44. 3. '14 MeJDULO t=lLGEB I BL I ................................ 45. 3.15 MeJDULO t=lLGEt=lUTO. 49. 3.16 MeJDULO t=lLGEDlt=lG. 69. 3.17 MeJDULO t=lLGENORMt=I ................................ 71. 3.18 MeJDULO t=lLGEORTO ................................. 72. 3. 19 MeJDULO t=lLGESWEEP ................................ 76.

(6) vii. 3.20 L I NGUI=IGEM PI=ISCI=IL .....•••.•••••.•••••••••••••••.. 78. 4 EXEMPLOS DE I=IPLICI=lç:(!10................................. 80. 5 COMENTi!lRIOS FINI=IIS 6. REFERENCI~S. 7. ~NEXO. .••.••••••••.•.•••......•.••••..•.. BIBLIOGR~FI[I=IS. CLISTI=IGEM DOSISTEMI=I. 137 139. ~LGEMI=I). ••. , . . . . . . . . . . . . . .. 144.

(7) viii. RLGEMR - SISTEMR COMPUTRCIONRL PRRR Rutor Orientador. ~LGEBRR. DE MRTRIZES. CRRLOS TRDEU DOS SRNTOS DIRS Prof. Dr. Cassio R. de M. Godoi. RESUMO. Pretende-se com este trabalho dar subsidias àqueles profissionais operaç~es. de. que. necessitem desenvolver trabalhos que envolvam. com matrizes,. em Estatistica, como. P6s-Graduaç~o. envolvidos. em. em particular,. disciplinas. como. Lineares, Rnálise Multivariada e O computadores. sistema. foi. aos estudantes de cursos auxilio. ~lgebra Regress~o. desenvolvido. PC - XT em linguagem Pascal,. de. aos. principias. Matrizes,. Modelos. e Covariância. para. a. linha. de. comportando-se em. um. desenvolvimento do trabalho foram abordadas. 'as. disquete de 5 1/4". No. seguintes operações matriciais. a) b) c) d) e) f) g) h) i). Transposiç~o ; Soma e 5ubtraç~o ; Produto de Matrizes Produto por Escalar i Invers~o de Matriz pelo Método Gauss - Jordan; Diagonalizaç~o por Congruência; Ortonormalizaç~o por Gram - Schmidt ; Normalizaç~o;. Rutovalores e Rutovetores para matriz pelo Método aR j j) Operador "5weep" ;. simétrica.

(8) ...... l. .,. Além. dessas. operaçaes tradicionais o sistema. apresenta. opções. para: a) Entrar com dados via teclado ou arquivo; b) Correç�o de dados; c) Guardar na memória principal seis matrizes; d) Recuperar matrizes guardadas na memória principal; e) Operar com linhas � colunas; f) Particionar matrizes; g) Fornecer norma de matrizes; h) Fazer teste de si�etria; i) Mostrar. o conte�do das- matrizes armazeriadas. na mem6ria. principal; j). Imprimir .dados no video ou �mpressora;. k) Apagar arquivo de dados; l) Mostrar o conteâdo do diretório;. ·o. doutorado. em. Multivariada. sistema. foi. testado pelos alunos do. curso. Estatistica. ESALQ/USP. na. permitindo. que. estabelecessem. experimentalmente. Também. foram. sistemas,. uma. apresentando. se. disciplina. feitas comparaçaes boa. performance.. de. Anâlise correções. com. outros. Alunos. do. departamento de estatistica e de genética têm feito uso do ALGEMA para resolver seminários,. problemas. dados. em. aula. e. em. trabalhos. como. dissertaç5es e teses. O autor tem feito uso do mesmo. em seu local de trabalho para atendimento à comunidade..

(9) x. RLGEMR - COMPUTRTIONRL SYSTEM FOR MRTRIX RLGEBRR Ruthor : Carlos Tadeu dos Santos Dias Rdviser: Prof. Dr. Cássio Roberto de Melo Godoi. SUMMRRY The professionals. objective. envolved. of. this. work. is. to. in matrix algebra manipulations. supply with. a. useful tooL. In particular to the students from statistical areas at graduate level as an auxiliary tool to the principles envolved in. courses. ~nalysis,. like Matrix. ~lgebra,. Linear. Models,. MuLtivariate. Multiple Regression, etc. The RLGEMR system was developed for the IBM-PC line. of. computers in the Turbo Pascal compiler.. One 5 1/4". flexible. disk is capable to mantain the whole system. lhe following matrix operations were treated in the. work development: (a) Transpositionj (b) Sum and Subtractionj (c) Product of Matricesj (d) Product by a scalarj (e) Gauss-Jordan Matrix Inversionj (f). Congruence Diagonalizationj. (g) Gram-Schmidt orthonormaLizationj (h) Columns normalizationj (i) Eigenvalues and eigenvectors by QR methodj.

(10) xi. (j). "Sweep" operator.. Furthermore, the system presents option like: (a) Data input by console or diskj (b) Data correctionj (c) Six main memories to store matrixj (d) Call for matrices from the six memoriesj (e) Lines and coluns elementary operations; (f) Matrix partitionj (g) Matrix normSj (h) Matrix simetry testj (i) To show memories contentsj (j) Screen ar Printer autputj. (k) File erasingj (l) Showing of directary coutents..

(11) 1. 1 INTRODUÇRO. Uma áLgebra. de. das principais ferramentas do estatistico é. matrizes. importantes. que, com. suas. permite. opera~~es,. s~o. aLgumas. bem assimilados, passagens. executados à. m~o,. ou. em virtude de. reaLizar caLcuLos. n~o. se poder. mais. seriam bastante Laboriosos. muitas vezes verificar. complicados que,. e desencorajadores.. O que se deseja ê um trabalho que associe a álgebra com. obter. informaç~es.. Os conhecimentos te6ricos de matrizes n~o. a. de. matrizes. de forma a ajudar e estimuLar o estudante nos seus. computa~~o. estudos e trabaLhos. O sistema é de simpLes. opera~~o. e. podera. ser. de. ampla utiLidade para cursos de P6s-Graduação em Estatistica, como auxiLio aos principios envoLvidos em disciplinas como Rlgebra Matrizes,. ModeLos. Lineares,. ~naLise. MuLtivariada e. de. Regress~o. e. Covariãncia. Mas espera-se que seja ótiL a outros profissionais. Os principais objetivos deste trabaLho. s~o. 1) Dar subsidio àqueLes profissionais que necessitem trabalhos que envoLvam 2) EstimuLar. operaç~es. :. desenvoLver. com matrizesj. os. estudantes. em. cursos. Os. principais. motivos. que. envolvam. álgebra. matriciaL. que Levaram. é. realizaç~o. deste 'trabalho foram os seguintes 1). ~. necessidade de independªncia de pacotes estrangeiros, muitas. vezes caros;.

(12) 2. 2). 1=1. não. existência. de. "software". especifico. para. estatistica no que se refere a matrizes; 3) Contribuir para a melhoria do ensino em nosso pais.. area. de.

(13) 3. 2 REVISRO DA· LITERATURA (1961) e Francis (1962) citados. Kublanovskaya Flanders para·. por. (1984) publicaram independentemente um método iterativo. càlculo de autovalores e autovetores,. Trata-se. conhecido. como. de um dos melhores e mais ràpidos algoritmos para. QR. essa. finalidade até o momento. Poole para. adiç~o,. e. Borchers (1984). subt~aç~o. desenvolveram. e multiplicação escalar. de multiplicação de duas matrizes. e. ~e. programas. matrizes, além. inversão de matriz quadrada. e não singular. São programas sem nenhuma ligação entre si. Loiola subtraç~o. e. (1985). multiplica~ão. desenvolveu de. duas. matrizes,. inversão de matriz quadrada não-singular, matriz. à linha de outra,. escalar. ~. de. uma. matriz,. a~iç~o. rotinas. para. adição,. transposição. e. adição da linha de uma. produto da linha de uma matriz por. um. a outra linha da mesma matriz, produto da coluna. matriz por um escalar e adição a outra coluna troca de linhas e troca de colunas,. da. soma dos. mesma. elementos. das colunas formando vetor linha e, soma dos elementos das linhas formando. vetor. coluna.. Esse trabalho mostra um pouco. mais. de. criatividade, contudo, sem chegar ao ponto de interligação l6gica das rotinas.. STATGRAPH!CS apresenta. uma. (Statistical. Graphics. rotina para càlculo de autovalores e. para matrizes reais simétricas,. System) autovetores. outra para multiplicação de duas. matrizes e outra para inverter uma matriz quadrada não singular..

(14) 4. SREG. (Siste~a. apresenta rotina para. de. invers~o. ~nâlise. Estatistica e. de matriz. n~o-singular.. Genética). SRS (Statistical Rnalisys System) apresenta rotinas para: - Fazer a soma de duas matrizes. - Trocar sinal dos elementos de uma matriz. - Criar. um vetor cujos elementos subsequentes. s~o,. a partir. de. certo valor definido, incrementados de uma unidade. - Fazer produto de duas matrizes e produto de um escalar por. uma. matriz. - Fazer. o produto de duas matrizes,. resultante. s~o. onde os elementos da matriz. o produto dos correspondentes elementos das duas. matrizes, permitindo ainda fazer o produto por escalar. - Fazer o produto de Kronecker de duas matrizes (produto direto). - Fazer. a. divis~o. de. cada. elemento. de. correspondente elemento de outra matriz,. uma. matriz. pelo. produzindo uma matriz. de quocientes. Elevar uma matriz ê uma potência inteira, maior ou igual a - Criar matriz. uma nova matriz cujos elementos eleva~os. outra matriz.. s~o. -1.. os elementos de. ê potência dos correspondentes. uma. elementos. de. Se algum valor na primeira matriz é negativo,. o. correspondente elemento na segunda matriz deve ser um inteiro. - Fazer a comparação de duas matrizes,. elemento por elemento,. produzir uma nova matriz que contém somentes zeros e uns. comparação. entre os elementos é verdadeira,. o. e. Se a. correspondente. elemento na nova matriz é 1, caso contrârio é zero..

(15) 5. Comparar. cada. eLemento. da. elemento outra. da. matriz.. um~·. matriz. com. o. correspondente. O maior dos dois vaLores. sera. o. elemento correspondente da nova matriz. Ha uma outra rotina que faz a mesma coisa,. somente que tomando o menor valor dos. dois. elementos comparados. - Concatenar. horizontalmente. duas. matrizes de. Linha. Do mesmo modo, ha uma outra que concatena duas matrizes de mesma - Comparar duas matrizes, uma. nova matriz.. dimens~o. verticalmente. coluna.. elemento por elemento,. para. produzir. Se os correspondentes elementos em ambas. nuLos~· o elemento da nova matriz é 1,. Ha. dimens~o. mesma. s~o. é zero.. caso contrario,. uma outra que gera uma nova matriz em que se faz o. inverso. do descrito acima. - Fazer. o. e~amede. cada elemento de uma matriz e. nova matriz cujos elementos. s~o. zeros e uns.. produzir. uma. Se um elemento da. matriz é igual a zero, o correspondente elemento na nova matriz 1.. Se um elemento da matriz é. n~o. nulo,. o. correspondente. eLemento na nova matriz é zero. - Transpor matriz. Produzir. uma. nova. matriz. cujos. eLementos. s~o. os. valores. absoLutos de outra. - Produzir uma matriz bloco-diagonal a partir de duas outras. - Produzir posiç~o. uma matriz cujos eLementos. s~o. a soma acumulada até a. do eLemento.. - Gerar uma matriz de delineamento a partir de um vetor pelo. usuàrio.. Cada. valor desse vetor se refere à. definido coluna. da.

(16) 6. matriz de delineamento. Essa coluna contém uns (1) nas posições cujo elemento correspondente no vetor geral. s~o. correntes, caso. - Calcular o determinante de uma matriz quadrada.. O método usado. contrario. s~o. zeros.. é o produto dos autovalores da matriz. Criar. uma. matriz. diagonal. cujos. elementos. os. s~o. correspondentes elementos da diagonal de uma matriz quadrada. - Calcular. autovalor e autovetor de matriz simétrica.. usando. a. em. decomposiç~o. Reinsch, 1971, citado no - Calcular singular. inversa. a. além. simultâneas.. de. valores. 5~5,. regular. Essa inversa é singulares. calculada e. 1985). de uma. O método usado foi a 5~5,. 1985).. (Wilkinson. matriz. quadrada. uma outra que resolve sistema. Moler, 1967, citado no. método. 5~5,. usado é o QL (Wilkinson e Reinsch, 1971, citado no - Calcular a inversa de Moore-Penrose.. O. decomposiç~o. de. e. não. equações. LU (Forsythe. e. 1985).. Gerar uma matriz com todos valores iguais. Permitir. inserir. uma. matriz. em. outra. desde. que. haja. compatibiLidade de linha ou coluna. - Gerar uma matriz identidade. -. Decomposiç~o n~o. negativa.. - Calcular a - Fazer a. de ~. Cholesky de uma matriz simétrica. definida. matriz resultante é triangular superior.. decomposiç~o. operaç~o. e. em valores singulares de uma matriz.. "sweep" (Goodnight,19791.. Trata-se de um bom sistema, porém, seu uso em forma o torna menos popular.. de. comandos.

(17) 7. Paniago ("Software" ppoduto. e. et. Cientifico). alii. (1987). desenvolveram. que faz entpe outpas. opepaçaes:. cálculo de autovalores e autovetores.. linha do SI=IS.. Segue a. o. SOC soma, mesma.

(18) 8. 3. M~TODO. o composto. sistema dispae de 21 m6dulos,. por um ou mais algoritmos.. desenvolvido. para. opera~aes. sendo cada modulo. Embora o sistema tenha sido. matriciais,. trabalhou-se. com. variaveis tipo vetor. No corpo principal do sistema, total. de. declara-se o nâmero. elementos das variaveis globais tipo vetor. 8.100, equivalente à uma matriz de Declara-se também o. vetor. 90. linhas. R denominado. por. que 90. colunas.. Mem6ria de Trabalho, no. qual é realizada a maioria dos caLcuLos e cinco vetores. M,M 1. M , M,M I denominados mem6rias fixas onde 345 na mem6ria principaL do microcomputador.. o op~ões,. sendo. Executada uma. sistema apresenta um algumas. op~ão,. destas. de. é. menu principal. desdobradas. o sistema retorna ao. U. 2. guardam-se matrizes. em. com. vàrias. "sub-menus ll. •. menu " principal.. RLGEBRR DE MRTRIZES Menu <R> <8> cC> ·<D> cE> cF> cG> <H> <I> <J> cK>. Entrar com dados Corrigir dados Guardar matriz R&Cuperar matriz Transpor Produto de matrizes Produto por escaLar Inverter matriz Diagonalizar (congruencia) Ortonormalizar (Gram-Schmidt) Normalizar. eL> eM> cN>. <O> cP> cQ> <R> <5> <T> cU> eX>. Operar linha , coluna Particionar matriz Rutovetores - Rutovalores Op e r a d o r _.$.W e e.p Norma de matrizes Teste de simetria Conteudo memoria Imprimir dados Rpagar arquivo Mostrar diretorio Finalizar.

(19) 9. A seguir descreve-se cada m6duLo..

(20) 10. 3.1. M~DULO. RLGEDRDO. 3.1.1 Objetivo R. fun~~o. desse modulo é realizar. a entrada. de. dados. e. permitir que se façam correções dos mesmos. 3.1.2 Os. Descriç~o. dados. podem ser digitados via teclado. ou via. arquivo. tipo texto. 3.1.2.1 Via R. teclado. entrada. de. dados. apresenta-se. de. forma. a. facilitar o trabalho do usuário, permitindo que se entre com toda ou com parte da matriz. ao. usuário. informaç~o. Para tanto,. há um sub-menu que solicita. sobre o tipo de. matriz. Simétrica. Diagonal ou qualquer. 3.1.2.2 Os. Via dados. arquivo. texto. devem estar previamente digitados em. um. componente de memoria auxiLiar, por exemplo, disquete flexivel ou rigido. Ro sistema deve ser fornecido o drive onde se encontra arquivo de dados, dois pontos e o nome do arquivo da mesma que foi criado, incluindo ou não, No. o. forma. conforme o caso, a extensão.. caso de se entrar com o nome errado do arquivo,. o sistema emite uma mensagem de erro: ~rquivo. <nome do arquivo> inexistente.. O usuário poderá verificar o nome correto, bastando para isso que soLicite. a. opç~o. "cU> Mostrar diretório". informando o drive onde está o arquivo.. do Menu PrincipaL,. ~ssim,. será impresso na.

(21) 11. teLa o nome compLeto de. os arquivos daqueLe diret6rio.. to~os. Em ambos os casos, ap6s terem sido incorporados dados. na. bastando. mem6ria principaL,. para isso que solicite a. Menu Principal. que. o usuário poderá fazer. Por ter-se trabalhado. correç~es,. "eB> Corrigir dados". opç~o. com. os. do. Linguagem compilada,. exige o pré-dimensionamento de conjuntos,. esse m6dulo emite. mensagem de erro quando as dimensões da matriz superam o. tamanho. do conjunto pré-dimensionado. A ou diagonal.. matriz de dados pode ser simétrica,. assimétrica. Nos dois primeiros tipos, o usuário deve entrar com. os elementos por. linha da matriz. Por exemplo: a. a. a '13. 12. '11. a. a 22 A. · .. a. =. 23 a. 1n. ... a'~~c-t~ 2n · .. a. 33. 3n. · ..... a. nn SIMETRICA a. a a. a 21 B. a '12. '1'1. 13 a 23. 22. · .. a · .. a. 1n 2n. = . . . . . . . . . . . . ......... a. a m1. a m2. · .. a m3. f:lSSIMETRICA. I I. mn.

(22) 12. No caso da linha,. sendo. m~triz. ~,. que o elemento da. entr~-se. posiç~o. com os elementos por. si~étrica. é alocado. via. sistema. Portanto, entra-se com os elementos a partir da diagonal principal para a direita da linha. Se a matriz é assimétrica entra-se. com. todos. os. elementos também por linha. No. caso de matriz diagonal,. é suficiente. entre apenas com os elementos da diagonal, sistema. a. aloca~~o. dos. eLementos. deixando. nulos. fora. a da. que. se. cargo do diagonaL. principaL.. a. O. O. O. a. O. O. a. O. 11. 22 33. . . . ...... (SIM.). I I. .. a. nn. DI~GON~L. 3.1.3. Correç~es. o opções:. sistema. apr~senta. ao usuàrio uma tela. com. as.

(23) 13. DE MATRIZ. CORRE~~O. 1 - Simétrica. 2 - Assimétrica 3 - Nenhuma das opções. Escolhidas. as. opções 1 ou 2, o sistema solicita o. lndice da linha e coluna do elemento a ser corrigido,. fornecendo. na tela o valor atual e solicita ao usuário que entre com o valor corrigido.. No. caso. eLemento da. posiç~o. da. opç~o. simétricaj. sistema. Sem sair deste "loop",. 1,. n~o. é necessário. corrigir. o. isso é feito automaticamente pelo pode-se fazer. correções. tant~s. quantas forem necessárias. Em ambos os casos, se o usuário entrar com indices maiores que a emitira. mensagem. dimens~o. de erro.. da matriz de dados,. O usuário tem a. Menu Principal em duas circunstâncias: quando mais ao. correções, bastando surgir. solicitada a. a. pergunta opç~o. 3.. opç~o n~o. de. o sistema voltar. desejar. para isso que se tecle o "N" "Mais. correções. ?. (S/N)". de e. ao. fazer n~o,. quando.

(24) 14. 3.2. RLGEGURR. M~DULO. 3.2.1 Objetivo Esse entraram. via. módulo tem por. fun~ão. armazenar matrizes. programa ou via arquivo padrão RSCII. ou. que. que. foi. operada atraves dos procedimentos existentes no sistema. 3.2.2. Descri~~o. Uma ser armazenada em Uma e. Matriz de. dimens~es. dentro dos. limites,. pode. uma das cinco mem6rias fixas ou em arquivo.. vez lida a matriz de entrada ela fica na memória de trabalho serà. de~truida,. solicitada. das op~ão. Para. se. qualquerop~ão. preserva~ão. de. opera~ão. matricial. for. dessa matriz deve-se guardà-la numa. cinco memórias principais.. Portanto,. uma vez solicitada. a. ( C ) uGuardar matriz" do menu principal, sugirà na tela: GURRDRR .. : 1 - Memória principal Z - Rrquivo 3 - Nenhuma das Escolhida. a. op~~o. 1,. op~ões. surgem na teLa as. op~ões. guardar a matriz em cinco diferentes posições como a seguir. GURRDRR .. : 1 -------------2 3. 4 -------------5 --------------. 6 Nenhuma das opções. de.

(25) 15 '. Os itens 1,2,3,4 e 5 representam locais da principaL onde. ser~o. guardadas as matrizes por. processamento (mem6rias fixas), a guardada,. com Se a. posiç~o.. outra' matriz opç~o. n~o. todo. o. mem6ria tempo de. ser que se destrua a matriz. ou que. se. 6 for soLicitada,. guarde. somando. nessa. o sistema retorna ao. Menu. PrincipaL sem guardar a matriz da mem6ria de trabaLho, porem permanece inaLterada. Definida. eLa. uma mem6ria fixa, surge na teLa a. pergunta Guardar somando? (5/N), em. que. o. quando. usuário deverá teclar ("5" ou "s") ou. se. desejar. guardar. a. matriz da. somando com a que esta na mem6ria fixa ou nesse. mem6ria de n~o. trabaLho,. respectivamente.. ponto do sistema que se podera fazer soma ou diferença. matrizes. delas em feita. ou. (UN". A soma de A + B, de mesmas dimensaes. teclando. guardar na mesma. posiç~o. de. trabaLho,. mem6ria. "5" ou Os" quando surgir a pergunta acima.. entre R e B. e feita com A ou B em uma. mem6ria. de. com qualquer uma. uma mem6ria fixa e a outra na mem6ria de. solicitando. ~. fixa. e e. R diferença. fixa. e a outra,. multiplicada por (-1), somando nessa mem6ria. Se. as duas. matrizes a somar. distintas, o sistema emite a mensagem Escolhida a. opç~o. 2. forem. de. dimensaes. "Dimensaes incompatlveis".. (guardar em arquivo) o usuario. devera informar o drive (a, b, c etc.), colocar dois pontos (:) e o nome a se dar à matriz. Por exemplo: b :. Em. x'x.mm. seguida é solicitado o námero de casas decimais.

(26) 16. e inteiras desejadas para prevê. alguns. erros. ~. arquivamento da matriz.. Esse. módulo. como no caso do usuârio dar o. nome. de. arquivo jâ existente. Para tanto o sistema emitirâ "~rquivo. indicando. ~pagar. a existência de arquivo com mesmo. op~~o. do arquivo jâ existente, ~rquivo". a mensagem. <nome do arquivo) Existente",. seguida ao "menu" principal. nome. um. nome,. voltando. em. Caso o usuârio deseje guardar com o ele poderâ solicitar a. op~~o. "eT>. do "menu" principal e após ter apagado solicita a. "G.- Guardar matriz l!... guardando com. previstos alguns erros de entrada de dados. o. nome como. desejado. disco. S~o. cheio,. diretório cheio, tamanho do arquivo maior que o mâximo permitido.. o. sistema retorna ao "menu" principal depois de guardar a matriz..

(27) 17. 3.3 MelDULO RLGECHRM. 3.3.1 Objetivo funç~o. R. deste. operaç~o. m6dulo é realizar a. de. recuperar uma matriz da mem6ria fixa para a mem6ria de trabalho.. 3.3.2. Descriç~o·. Uma das. vez que se tenha guardado uma matriz em alguma. mem6rias fixas,. sistema emite .um permitindo matriz. ao. pqde-se acessâ-la através desse. Menu com o conteódo atual das usuârio. desejada .. O. ver em qual. usuârio. tem. a. m6dulo.. mem6rias. posiç~o. de. mem6ria. opç~o. de. voltar. O. fixas, estâ ao. a. Menu. PrincipaL caso· desista de chamar alguma matriz. O. sistema. tem. defesa (i.é.,. evita o. aborto. do. processamento do sistema) no caso de se solicitar uma. matriz. de. uma mem6ria vazia. Neste caso ele emite a mensagem "[onteódo Rp6s a. operaç~o. inexistente". de chamar a matriz. ter se completado. o. sistema. retorna ao Menu Principal. Essa rotina utiliza as seguintes variâveis: L -. [. nÓmero de linhas da matriz a ser chamada;. - nÓmero de colunas da matriz a ser. Como resultado, a rotina deseja de dimensões L x [.. fornece a. chamada. matriz que. se.

(28) 18. 3.4. M~DULO. RLGETRRN. 3.4.1 Objetivo Este tradicional de 3.4.2. módulo. tem. por. fun~ão. realizar. a. opera~ão. transposi~ão.. Descri~ão. Com uma matriz de dimens5es permitidas na memória de trabalho, Transpor", e. colunas. pode-se. solicitar. do. Menu Principal a. opç~o. H<E>. que consiste em alterar a posição relativa das linhas de. uma. matriz. cujas. linhas. e. colunas. respectivamente iguais às colunas e linhas da matriz original. Exemplo: a. a. a. A =. a 12. 11. 1n a. a. 21. a. a. a. m1. a. m2. a. a. a. a. 12. a. m1 a. m2. 22. a. 1n. mn. 21. '1'1. A'=. 2n. 22. a. 2n. mn. Esta rotina utiliza as seguintes variàveis. são.

(29) 19. L - nómero de linhas da ma"triz [ - nómero de colunas da matriz - matriz. ~. ~. a ser transposta de dimensaes L x [. L [. Como. resultado,. principal tendo na mem6ria original de dimensaes [ x L.. de. a "procedure" retorna ao trabalho a transposta. da. U. menu ". matriz.

(30) 20. 3.5. M~DULO. RLGEPROD. 3.5.1 Objetivo R. função. deste m6dulo é realizar o produto. entre. duas matrizes. 3.5.2. Descriç~o. Considere-se duas matrizes localizadas em duas. das. mem6rias: fixas ou de trabalho. A primeira possui dimensaes L x C e a segunda C x M, ou seja,. necessariamente o nômero de. colunas. da primeira deve ser igual ao nômero de linhas da segunda. Escolhida a opção "cF> Produto de matrizes",. surge. na tela um menu com o conteôdo das mem6rias fixas e da mem6ria de trabalho. para. lembrar. ao. usuario. que. matrizes. est~o. ali. guardadas. 'I. - R. 2 -. B. 3 -. 4 5 -. 6 - Mem6ria de Trabalho. PRODUTO DE. =). COM =>. Em seguida aparece a frase "Produto de. =,". indicar. esta. o. nômero. da. mem6ria. onde. onde o usuario a. matriz. que. devera pré-.

(31) 21. multiplica. Depois surge a.palavra "COM =)" onde se deve a matriz que p6s-multiplica. Deve-se planejar. as. indicar. operaç~es. antes. de entrar no sistema para poupar o uso abusivo das mem6rias fixas e. para. dimens~es. sistema Menu. forçar. o uso da. mem6ria. de. trabalho.. das matrizes não sejam_cempativeis para o emite. Principal. liberdade. mais. a. mensagem UProduto ap6s. teclada. de averiguar o porquê. voltando. ~ssim,. da incompatibilidade,. dimenso~s. o ao. tem-se a bastando. para isso que se solicite a opção ueR> Conte6do da mem6ria" são mostradas as. as. produto·,. incompativel". a chave <ENTER).. Caso. onde. das matrizes.. +--------------------------------~------------------------------+. I Mem6ria. Nome. Linha. Coluna. 4. 3. 3. 4. o o o. o o. 3. 4. +---------------------------------------------------------------+ 1 ~'. 2 3. 4. 5 6. MEM~RI~. DE. TR~B~LHO. o. +---------------------------------------------------------------+.

(32) 22. 3.5.3. Descri~~o. de Regra de Processamento. Quando matrizes,. o. se. deseja. obter. o. produto. entre. duas. número de colunas da primeira matriz deve ser igual. ao número de linnas da segunda, obtendo-se uma matriz resultante com. o. mesmo. número de linnas da primeira e o mesmo. número. de. colunas da segunda, ou seja: 1=1. B. L ( M. =. R L M. Sendo cada elemento da matriz resultante, definido por:. =. r. ij. a. b. ik kj. k=1. Essa rotina utiliza as seguintes variáveis: L. - número de li nnas da matriz. (. - número de colunas da matriz. 1=1 i. que. 1=1,. e. igual. ao. número de linnas da matriz Bi M. - número de colunas da matriz Bi. j:j. e. L [. B (. M. -. matrizes. j:j. possuindo L x [. e [. x. e B a serem. respectivamente. dimensêSes. Mj. (omo resultado, a rotina dimensões L x M. Este resultado retorna, mem6ria de trabalno.. multiplicadas,. fornece ao. a. Menu. matriz. R. de. Principal. na.

(33) 23. 3.6. M~DULO. RLGEIMPRE. 3.6.1 Objetivo Esse video. m6dulo tem por. fun~~o. realizar a. impress~o. ou na impressora de qualquer matriz que esteja na. no. mem6ria. de trabalho. Descri~~o. 3.6.2. mem6ria. de. Matriz. de qualquer. trabalho,. pode. Solicitada. a. menu com as. op~aes. impressa. por. essa. de. sub-. impress~o:. . . ... IMPRESSRO -. na. rotina.. "S - Imprimir dados", surge no video um. op~~o. 'I. ser. desde que esteja. dimens~o,. Video. 2 - Impressora Caso. solicite-se a. matriz. Para seguintes. se. op~~o. verem. 1, surgir' na tela a primeira coluna da as. demais linhas. e. colunas. tem-se as. op~aes:. (CTRL D> ou. li _. > 11. uma coluna. ---). Rvan~a. ---). Regride uma coluna. (CTRL C) ou npG DNu. ---). Rvan~a. (CTRL R> ou npG UP". ---). Regride quinze linhas. (CTRL X> ou. 11. .!.. ---). I=Ivan~a. (CTRL E> ou. 11. t ". ---). Regride uma linha. (CTRL F>. ---). Rvan~a. (CTRL R>. - - - > Regride cinco colunas. (CTRL S> ou. " ( -. 11. 11. quinze linhas. uma linha. cinco colunas.

(34) 24. Para. retornar. ao. Caso. solicite-se. nome. que identifique os dados,. n6mero ser. d~. Menu Prihcipal basta que se a. op~~o. 2, . o. sistema. digite. pedirA ao usuArio. o n6mero de casas decimais. casas inteiras com que os elementos da matriz. impressos.. Se. por. algum motivo. deseja-se. impress~o,. basta que se pressione <ESC>,. principaL.. Os. eLementos. indica~~o de posi~~o. rel~tiva na matriz.. matriz. 40. -30. 20. 325,5. serA assim impressa: Matriz. ~. 40.0000·. -30.0000. 20.0000. 325.5000. um e. iriterrompar. retornando~se. o. dever~o. a. ao "menu o .. impressos por linha da matriz. s~o. Exemplo: ~. cENTER>.. sem.

(35) 25. 3.7. M~DULO. RLGEPRESC. 3.7.1 Objetivo R. fun~~o. deste. modulo. e. fazer o produto. de. uma. matriz por um escalar. 3.7.2. Descri~~o. Com uma matriz de quaisquer dimens6es na memoria de trabalho, pode-se Produto. (divis~o). solicitar. a. op~~o. do. Menu. Principal " <G>. por constante", no qual pede-se ao usuàrio. digite a constante. R. Qpera~~o. e. efetuada e. r. que. a seguir, retorna ao. Menu Principal com a matriz na mem6ria de trabalho jâ alterada. Rs seguintes variâveis. s~o. fornecidas à rotina. em. quest~o:. L - numero de linhas da matriz C - numero de colunas da matriz k - valor do escalar R. - matriz cujos. L C k .. elementos. serão alterados. por.

(36) 26. 3.8. M~DULO. RLGEINVE. 3.8.1 Objetivo R. dessa. funç~o. rotina. é. realizar. a. invers~o. generalizada pelo método (modificado) de Gauss - Jordan.. 3.8.2. Descriç~o. 3.8.2.1. Invers~o. Sendo. R. uma. inversa generalizada é R. Para identidade trabalho. primeira. I O. de. de matriz quadrada matriz quadrada diz-se. que. a. sua. se possuir a seguinte propriedade:. realizar a idªntica. invers~o,. ordem.. processo inicia-se. da. utiliza-se matriz. da. da. matriz. mem6ria. de. procurando o maior elemento. da. coluna em valor absoluto e guardando o nómero da. linha. onde ele se situa. [asa o maior (em m6dulo) elemento estiver fora da diagonal principal, faz-se a troca de linhas tanto em. R. em I de tal forma. posição. diagonal. (pivô).. que o maior elemento de Se não existir,. R. fique. na. como. passa-se à próxima coluna e a. partir da diagonal repete-se o descrito acima. Posto módulo, coluna i.. divide-se. na a. posição diagonal. o maior. elemento. linha i da matriz R pelo pivô a partir. R mesma operação é feita na matriz I só que em toda. em da a. linha i. Logo. após, é. feita a redução a zero da. coluna. i.

(37) 27. formuLaç~o. abaixo da diagonaL, segund9 a a kj. e. repete-se. a. sem. que. Este. a. + a. kj. mesma. (-a i j. para k. ). operaç~o. subsequentes,. tem. com. as. Ci-1). fica. (identidade),. abaixo. posiç~o. continuidade. até que em. a linha. é feita na matriz I. necessariamente se zere a. processo. i. f,. k j. em toda a linha i,. operaç~o. ~. inalterada.. =. abaixo:. da. linhas. diagonal. e. colunas. se tenha a forma hermitiana da matriz. ~. original e nesse momento a matriz. I. se. transforma. na. inversa. generalizada.. 3.8.2.1.1. a) feitos. os. Consideraç~es. Durante. cálcuLos. de. a. sobre o método apresentado. deste. utilizaç~o. determinante,. traço. método,. são. e posto da matriz. original, à medida que se obtém a inversa.. o. determinante é obtido através da. formuLaç~o:. n det(~). = I I a x 5 i=1 ii. onde: det(~). - é o determinante da matriz originaL;. n. -\-\ a. - é o produt6rio dos elementos da diagonaL. i=1 ii antes da. divis~o. peLo pivô.. principal.

(38) 28. 5 -. da. posi~ão. e o sinal associado ao nâmero de trocas de linhas, isto e, a cada troca de linha o determinante muda de sinal. o posto e obtido contando-se o n6mero de elementos diagonal diferente de zero.. o. tra~o. e. defini~ão,. obtido pela. =~. tr(RJ. qual seja. ~ii. i=1 onde. ( e o nâmero de colunas. b). Quando ocorre pivô nulo, então passa-se para. a. pr6xima linha. Essa rotina utiliza as. seguintes variàveis. L - n6mero de linhas da matriz ~. - matriz. a ser invertida, de dimensões L x L. ~. L L Como dimensões. L x L.. generalizada. resultado. a. 5e a matriz e. que goza da. rotina. fornece a matriz. singular. propriedade. ~~. obtem-se ~. =~.. a. -1. =. I.. 3.8.2.2 Inversão de matriz retangular. Para esse tipo de. invers~o. hà dois casos:. de. inversa. Caso seja. singular obtem-se a inversa comum que goza da propriedade. ~~. ~. não.

(39) 29. a) N6mero L O) C. (. b) n6mero L < C. (. para. torna-la. inver5~0. ·linhas. Ê!. maior que. o. de. colunas. tinhas. Ê!. menor que. o. de. colunas. ). de ). ambos os casos, completa-se a ma t r i. Em a fim de. de. quadrada.. Feito. isso,. entra-se. L) C: a. a. a. 11 a. 12 ao. 21. a. L L < C:. a. o .... O. O ••• O. O. O ••• O. O. 2C. a L2. o 1C. 22. a L1. caso b). na. zer.os, rotina. de matriz quadrada como descrito anteriormente.. Exemplo: caso aO). z-.o~om. LC L.

(40) 30. a. a. a. '11 a. 12. 1C a. a. 21. 22. 2C. . . . . . . . . . . ..... a. a. L1. a. L2. LC. ---------------. O. O. O. O. O. O. O. O. • •• O. c (amo. resultado. c as. duas. -. a) como no b), fornecem a matriz A. rotinas,. tanto no. de dimens5es C x L.. caso.

(41) 31'. 3.9. M~DULO. RLGEOPER. 3.9.1 Objetivo. R especiais. deste m6dulo é realizar algumas operações. funç~o. ôteis quando se opera com matrizes.. ~s. operações são:. - Troca de linhas; - Troca de colunas; - Produto de linhas adiç~o. de uma matriz por escalares. a outra linha da mesma matriz;. - Produto de colunas adiç~o. e. de uma matriz por. e~calares. e. a outra coluna da mesma matriz;. -. Eliminaç~o. de linhas;. -. Eliminaç~o. de colunas;. - Divisão de linha por escalar; Divis~o. de coluna por escalar;. -. Justaposiç~o. -. Justaposiç~o. de matrizes de mesma de. matrizes. de. dimens~o. linha;. mesma. dimensão. realizada. necessita. coluna. 3.9.2. Descriç~o. Cada. uma das operações a ser. de um determinado tipo de entrada, tomo se vê adiante: 3.9.2.1 Troca de linhas. Dada. uma. matriz. ~. L C. I. e n t r a - s e c o m L"I. e. L2,. os.

(42) 32. indices das linhas a serem. trocadas, ter-se-á uma nova matriz, idêntica. operaç~o. à. matriz. como. resultado da. A, com. posições das linhas l1 e l2. Após ex.cutada a troca de sistema retorna. ao. Essa. exceç~o. linhas. das o. Menu Principal. rotina utiLiza as seguintes variáveis:. L - nómero de linhas da matrizj [. - nómero de colunas da matriz; R. - matriz A de dimensões L x. [j. L [. l1,l2 - nómero·das linhas a serem trocadas; No. caso. do usuãrio solicitar uma linha. dimensBes da matriz localizada na memória de trabalho, voltara. a. solicitar as. novas. linhas. fora. das. o sistema. sem avisar ao usuário. o. porquê.. 3.9.2.2 Troca de colunas Dada. uma matriz. R , entra-se L [. indices das colunas a serem trocadas, operação,. uma. nova. matriz. com. c2. os. teremos como resultado. da. idêntica à matriz A,. posições. das. No. do usuário solicitar uma coluna fora das. caso. matriz. c1. a. e. menos. das. colunas c1 e c2.. da memória de trabalho,. dimensões. da. o sistema voltara a solicitar as. novas dimensBes sem avisar o usuário o porquê. Essa rotina utiliza as seguintes variáveis:.

(43) 33. L - numero de linhas da matriz. c -. numero de colunas da matriz. R - matriz R possuindo dimensões L x C L C c1 , c2 - numero das coLunas a serem trocadas Como resultado dimensões. L x C,. a. idêntica à. rotina. matriz. fornece. ~,. uma. matriz. exceç~o. das. escalares. e. à. de. colunas. trocadas. 3.9.2.3 Produto. de. linhas por. adiç~o. a. uma linha da mesma matriz Seja o. escalares, primeiro. uma. indice. escalar. e. pelo. resultado da. operaç~o.. Dada. dimensões permitidas,. da linha que se o. multiplicar. de. matriz. indice. segundo. deseja. da outra. escalar. uma matriz. e. multiplicar. linha. que. se. pelo. deseja. qual se substituirà o. ~a. na mem6ria de. ~. dois. trabalho,. o. L C sistema solicita que se defina dois escalares e , e , e as linhas 1 2 l1. e l2 as quais devem ser operadas.. operaç~o. uma. nova matriz R idêntica a. Ter-se-a como resultado da a menos da. ~,. linha. l2. definida como a seguir: r. l2 , j onde C. e. =. e a 1 l1, j. + e. a. =. j. '!,2 , ... ,C. 2 l2, j. o número de colunas da matriz. Hntes da execução da operação. e. apresentado na teLa.

(44) 34. o. resumo. usuário. da. opera~ão. e a .pergunta se confirma ou. não confirme será solicitado nova. não.. opera~ãol. Caso. não. o. sendo. executada a anterior. Essa rotina utiliza as seguintes variáveis. L - nómero de linhas da matriz; C - riómero de colunas da matriz; e - valor do primeiro escalar; 1. e - valor do segundo escalar; 2. l1 - nómero. da -linha que será. multiplicada. pelo. multiplicada. peLo. primeiro escalar; l2 - nómero. linha que será. da. segundo escalar e que receberá o resultado. da. opera~ão.. ~. - a matriz. ~. possuindo dimensões L x C.. L C ~p6s. executada a. o sistema retorna ao "menu" principaL.. opera~ãol. 3.9.2.4 Produto de colunas por escalares e. adi~ão. a uma. coluna da mesma matriz ~. descri~ão. é. análoga. a. 3.8.2.3. substituindo-se. linha por coLuna.. 3.9.2.5. Elimina~ão. de linhas. Seja uma matriz de dimensões permitidas e. o nómero.

(45) 35. da linha a eliminar (L). trabalho, a. a. uma. matriz. Ter-se-à. ~,. como. resultado. da. na. mem6ria. indice. da. ~. L [. rotina solicita que se defina. eliminar.. idêntica a. Com. o. operaç~o. de. Linha. uma matriz R. a menos da linha l. Depois. linha, tem-se a. opç~o. de. executada a. operaç~o. de. de. eliminaç~o. de eliminar mais linhas, caso desejado.. Esta rotina utiliza as seguintes variàveis:. L - nâmero de linhas da matriz;. c -. nâmero de colunas da matriz; - a matriz. ~. possuindo dimensões L x C;. ~. L C. l-número da linha a eliminar. Como resultado, a dimens~es eliminaç~o. ~p6s. (L - 1) x C,. ou. rotina. seja. fornece. diminui. uma. uma. matriz. linha. a. de cada. que for solicitada dentro da rotina.. executada. a. operaç~o. e. n~o. se deseje mais. eliminaç~o. de. Linhas, o sistema retorna ao Menu PrincipaL.. 3.9.2.6 ~s. Eliminaç~o. mesmas. de colunas. consideraç~es,. feitas para. eLimiaç~o. de. linhas, são validas para colunas.. 3.9.2.7. Divis~o. de linha por escalar. Seja uma matriz de. dimens~es. permitidas, o. número.

(46) 36. da linha e o escalar. Com' uma. matriz. ~. na. mem6ria. de. trabalho, a. L C rotina e. em. entre. solicita. que se entre com a linha que. seguida o escalar.. O escalar. com. o. esse. valor,. sistema. n~o. 'se. quer. dividir. pode ser nulo e caso. emite. mensagem. de. se. mem6ria. desejar de. sair. trabalho. dessa. rotina. sem. alterar. basta que se divida. a. matriz linha. qualquer. unidade (1). Em caso de se solicitar um nâmero de linha do. que. o. existe,. sistema. emite a mensagem. erro, No caso. permitindo que se entre novamente com a linha e escalar. de. se. ."Linha. da pela. d~ferente. fora. dos. Essa rotina utiliza as seguintes variàveis: L - nâmero de linhas da matriz; C - nâmero de colunas da matriz; ~. - a matriz. ~. possuindo dimens5es L x. [j. L [. l - nâmero da linha a dividir; e - escalar pelo qual serà dividida a linha l. Como resultado tem-se uma matriz de dimens5es L x [ idêntica a. ~. exce~ão. com. ~p6s. elimina~~o. a. da linha l.. execu~~o. da. opera~~o. e. n~o. de linha, o sistema retorna ao Menu 3.9.2.8 ~s. Divis~o. mesmas. se. deseje. mais. Principal.. de coluna por escalar considera~5es,. linhas, são vàlidas para colunas.. feitas para. divisão. de.

(47) 37. Justapos~~~o. 3.9.2.9. de. matrizes. de. mesmo namero de. linhas Com duas matrizes de mesmo namero de linhas, formase uma matriz por. justaposiç~o.. Dada. uma matriz. ~. na. memória. de. trabalho,. o. L C. sistema. solicita que se indique com qual matriz da mem6ria. deseja-se. fazer. a. mensagem de erro: duas. matrizes. justaposiç~o.. ultrapassa o nomero pré-fixado para a. Ter-se-â. colunas. com. dimens~es. como resultado da. mesmo nomero de linhas L,. o. igual. emite. no caso em que o nomero de elementos total das. mem6ria de trabalho e no caso de. matriz. Em dois casos o sistema. fixa. matriz. da. linhas incompativeis. justaposiç~o. mas com. o. uma. nova. número. à soma dos nomeros de colunas das duas que. de. foram. justapostas. Essa rotina utiliza-se das seguintes variâveis:. L. - número. de. linhas. da. matriz. localizada. na. colunas da. matriz. localizada. na. matriz. localizada. na. localizada. na. memória de trabalho; C. - número. de. memória de trabaLho; L1. - número. de. linhas da. memória fixa e igual a L.. C1. - nomero. de coLunas da. matriz. memória fixai ~. L [. - a matriz possuindo dimensões L x [. localizada.

(48) 38. na B. mem~ria. de trabalho;. matriz. - a. possuindo. dimens5es. L 1 x C1. L1 C1 localizada em uma das memorias fixas. Como dimens5es L x (C. +. resultado. a. rotina. fornece. C1) que é a justaposição de. ~. resultado- na memoria de trabalho. O bloco inicial. é o que estava na memoria de trabalho. Exemplo: Sejam as matrizes. a. a m1. b. a m2. b. 11 b. b. 12 b. = b. b m1. b. 1k. 23. . 2k. b. b m2. mn. 13 b. 22.. 2'1. B. a m3. b m3. mk. dara'como resultado da justaposição a matriz. a. matriz. de. com B, ficando o da nova matriz.

(49) 39. a. a. 11 a. a R. 2'1. =. a. a '13. 12 a 22. b. 1n a. 23. b. 11 b. 2n. b. b. 21. b. 13. 12. b. b. 22. 1k. 23. 2k. ....................................... a. a. m'l. 3.9.2.10. a m2. a m3. b. mn. Justaposi~~o. b. m1. de. b. m2. b. m3. matrizes. mk. de mesmo n6mero de. colunas Segue a mesma. explica~~o. de 3.9.2.9 para coluna..

(50) 40. 3.10. M~DULO. RLGEPRRT. 3.10.1 Objetivo R. fun~~o. deste. módulo é a. obten~~o. de. uma. sub-. matriz 3.10.2. Descri~~o. Sejam uma matriz de quaisquer dimens5es, os indices iniciais e finais das linhas e das colunas delimitado o bloco que se deseja obter da. matriz originaL. Ter-se-a. uma. matriz. R. de. dimensaes (L2 - L1 + 1) x «(2 - (1 + 1) na memória de trabalho. Casos como indice de Linha fora do intervalo l1,Li,. indice. de. coLuna. fora do. intervaLo. invertido, indice de coluna invertido. [1,(], s~o. indice. evitados no. de. linha. sistema. e. em todos os casos emite-se uma mensagem de erro. Essa rotina utiLiza as seguintes variaveis: L - nómero de linhas da matriz. ~;. ( - nómero de coLunas da matriz Ri L1 - nómero da linha inicial de R onde deve iniciar a. parti~~oi. l2 - nómero. da linha. de A onde deve. finalizar. a. parti~~o;. c1 - nómero. da. iniciar a c2 - nómero. da. finalizar a. coluna. inicial. de. R. onde. deve. parti~ãoj. coLuna. finaL. parti~ão.. de. A. onde. deve.

(51) 4 '1. [orno. resultado,·a. rotina. fornece. a. matriz. (L2 - L1+ 1) x ([2 - (1 + 1), destruindo. R de. dímens5es. ~.. Exemplo: Seja a matriz a segui r e l 'I. =. =. 2, l2. n. a. a. a a. 22. 1n 2n. 23. a 31. a '13. ------------a a. a 21. R =. a 12. 11. a 32. a 33. I. I I. I. I. I. I. I. I. a. a matriz. a m2. a m3. mn. resultante será a. R. =. a. 23 a. 2n a. 33. I. I. 3n I I. . ............. . . . . . . . m1. I. I. ------------- I a. I I. 3n. I. I. =. 3, c1. =. 3, c2.

(52) 42. 3.11. M~OULO. RLGERPRG. 3.11.1 Objetivo. R. funç~o. desse módulo é apagar um arquivo de dados. gravado em disco flexivel ou rigido. 3.11.2. Oescriç~o. o. sistema. solicita. que. usuàrio·. o. entre com o drive (a,b,c), dois pontos (:) e o nome do arquivo apagar incluindo. extens~o. "Confirma? (S/N1".. No. retornando em seguida. caso exista.. caso ao. R seguir surge a pergunta. de confirmar o arquivo serà apagado. Menu. Principal. Caso. serà apagado o arquivo e o sistema retornarà ao Caso. se. a. contràrio, Menu. entre com o nome errado surgirà na tela a. n~o. Principal. mensagem. de. arquivo inexistente. Exemplo: Suponha-se que no drive R exista o arquivo MRTB.ORO, mas n~o. exista o arquivo MATX.DRO. Entre drive , Rpós. (S/N)".. Se. for. (:) e nome do arquivo a apagar. R:MRTB.ORD. digitar. "Confirma?. teclada. cENTER> surgirà a a "5",. o sistema. frase apagarà. o. arquivo. MRTB.DRD e retornarà ao menu principal. Entre drive,. (:) e nome do arquivo a apagar. RRQUIVO "MATX.DRD" INEXISTENTE Tecle <ENTER> Para continuar. R:MRTX.DAD.

(53) 43. 3.12M~DUlO. RlGECONT. 3.12.1 Objetivo ~. das. funç~o. desse m6dulo é mostrar na tela o conteódo. mem6rias fixas e da mem6ria de trabalho. 3.12.2. Descriç~o. Ro. pedira. opção. <R) ,. surge. na. tela. uma. tabela indicando o nómero da mem6ria, o nome Que se deu à matriz, o. nómero. de. linhas e colunas desta.. Principal digitar <ENTER>. Esta se. rotina. Para. retornar. poc;lerà. ao. ser ótil. desejar saber as dimensaes e identificar as matrizes. ================================================== Nome linha - Coluna = ================================================== 1 ~ 3 3 = = ~1'1 2 2 2 = = ~'12 3 'I 2 = = 4 ~21 1 2 = =. = Mem6ria. 5 6. ~22. '1. 1. =. Mem6ria de Trabalho 1 1 = ================================================== Tecle <ENTER> para continuar. Quando Que. deseja operar.. = =. Menu. se.

(54) 44. 3.13. M~DULO. RLGEDIRE. 3.13.1 Objetivo R do. diretório. funç~o. de. desse m6dulo. e mostrar todos os. um disquete ou de um. sub-diretório. arquivos do. disco. rigido. 3.13.2. Descriç~o. Para. utilizaç~o,. basta que se indique o drive, (:). e o nome do arquivo. Diretório do drive 8:\*.* RLGEMR.COM. RLGEOPER.PRS. ~LGEP~RT.P~S. RLGE818L.P~S RLGETRRN.P~S. ~LGERPRG.P~S. RLGENORM.P~S. ~LGEPROO.P~S. RLGEGURR.PRS RLGEORTO,pRS RLGEPRES,pRS RLGEINVE.PRS. ~LGESWEE.PRS. TURBO.COM RLGEMR.PRS RLGECONT.PRS j:jLGEMR.OOO RLGECONT.PRS. ~LGECH~M.PRS ~LGESIME.P~S ~LGECH~M.P~S. 16384 8ytes livres. RLGEIMPR.PRS j:jLGEOIRE.PRS TUR80.MSG RLGEDIAS.PRS TUR80BCO.COM RLGERUTO.PRS RLGEORDO.PRS. Tecle <ENTER> para continuar ....

(55) 45. 3.14. M~DULO. ~LGEBIBLI. 3.14.1 Objetivo. rotinas. que. sistema. ou. s~o. que. deste. fun~~o. R. utilizadas s~o. m6dulo. declarar. é. frequentemente. utilizadas de uma. na. maneira. algumas. execu~~o. global.. São. do as. seguintes as rotinas usadas neste m6dulo: - Rotina Limpatela; Tem. por. fun~~o. posi~ões-linhas. limpar. a. tela. entre. duas. definidas.. - Rotina Diagrama; Permite que se imprima na tela qualquer conjunto de. caracteres. numa determinada. posi~~o. linha-. coluna. Cabe~alho;. - Rotina Tem. a. de imprimir a frase com o nome. fun~~o. do. sistema RLGEMR - algebra de matrizes. - Rotina Teclenter; Tem a. de parar a. fun~~o. casos. de. continuar a. execu~~o. emissão de mensagem execu~ão. do sistema no. video.. nos Para. é necessário que se tecle a. chave <ENTER> do teclado. -. Nâmero;. Fun~~o. Tem. a. fun~ão. de proteger a entrada. de. dados.

(56) 46. numéricos,.. ou seja s6 aceitar números reais. inteiros. Rssim, na entrada de. dados. ou. numéricos. se entrar com letras o sistema não aceita. - Rotina Limpalinha; Tem. a. função. determinada. de limpar a linha. a. partir. coluna da tela até a última. Dentro. das rotinas que a usam são· passados que. dão. de. parâmetros. as coordenadas do inicio da. linha. na. teste. de. tela. - RotinaSimetriaj R função dessa simetria. de. solicitado chamado. rotina é matriz,. simétricas. Menu. rotinas como. é. o. teste este que. através do. por. realizar. que o. Principal só. caso. operam da. pode. ser. ou. ser. matrizes. rotina. que. calcula autovalores e autovetores. Ela testa também se a matriz é nula, evitando-se que matriz nula seja operada em varias partes do sistema. Principal,. Se. for surgira. solicitada no. video. através a. do. mensagem. Menu de. ocorrência ou não de simetria. R matriz a ser verificada deve estar na. memória. de trabalho e o teste é definido como segue..

(57) 47. 5e ta. - a i j. - 0,000011 a j i. para i = 1,2, ... ,L for. I> 0,00001, j i. verdadeiro. e. j. para. = '1,2, ... ,[ onde. pelo menos. um. L = [. par. i,j,. então a matriz a assimatrica. - Rotina Normaliza; func;:ão. dessa. normalizac;:~o. matriz de. realizar. rotina. das colunas de matrizes.. quaisquer. trabalho, pode-se. dimensões. na. solicitar a. Com. a. uma. memória. de. normalizac;:~o. de. suas colunas atravas da seguinte metodologia: a. Primeiro. feita. a. eLementos da coluna,. de. quadrados. a seguir cada elemento. dos da. dividido peLa raiz quadrada dessa somaj. coluna~. o resuLtado desta na. soma. posic;:~o. operac;:~o. a,. ent~o,. substituido. correspondente. Em resumo, temos:. Passo 1: L. 5. 2. = \'. L. a. I. para j fixo. ij. i=1. Passo 2: = a. a kj. kj. I. \r? V-. k. =. j. fixo.. 1,2, ... ,L. e.

(58) 48. j:lp6s. 05. pa.ssos acima repefirem-se para todas. colunas, ter-se-à mesma.. dimens~o,. normalizadas.. como resultado uma matriz porem.. com. suas. as de. colunas.

(59) 49. 3.15. M~DULO. ALGEAUTO. 3.15.1 Objetivo Os determina~~o. métodos que. s~o. apresentados na literarura para. de autovalores de uma matriz. s~o. para. equa~~o. polinomial. obje~5es. para esse procedimento quando se determinam. de. matriz. em. e. calcular. computadores. suas. digitais.. raizes.. Há. Uma delas. avaliar duas. sérias. autovalores refere-se. ineficiência do processo se a ordem da matriz é maior que ou. cinco.. semelhante simultâneas.. A. outra é que ele é mal-condicionado em. ao. definido. Esses. em. resultados. conec~~o s~o. com. uma. à. quatro. um. sentido. equa~5es. lineares. inexatos devido aos erros. de. arredondamento, ainda que os autovalores sejam bem definidos pela matriz dada. A autovalores. fun~~o. desse m6dulo é realizar a. determina~~o. e autovetores de uma matriz simétrica,. peLo. de. método. aR. 3.15.2. Descri~~o. E necessário apenas ter-se uma matriz e sua dimensão,. sendo que A deve estar na mem6ria. simétrica de. A. trabalho.. 3.15.3 Metodologia Antes da discussão sobre as regras de processamento de cada rotina, far-se-á uma discussão geral do método aR..

(60) 50. ·,. presente. No. eficiente uma. esse. e. o. e Largamente usado para o caLcuLa dos. metodo. mais. autovaLores. de. O metodo foi primeiramente pubLicado em 1961 por J.. matriz.. G.F.. momento. citado. Francis,. por Flanders (1984) e,. tem sido aLvo. de. intensa pesquisa. Dada ortonormaliza~~o. R. com. Seja R 1. uma. pelo. processo. de Gram-Schmidt, R pode ser fatorada em. =. trianguLar superior (t. =. R,. matriz. O para i ) j) e.. a. R. de. = aR,. ortogonal.. i j. R, e defina-se uma sequência de matrizes R a e R por: m m m R. m. =a. ( 1). R m m. e. R. m+1 ~. sequência. autovaLores da. =. a , mm. m. =. 1 ,2. .... R convergira ou para uma matriz triangular com m de R na sua diagonal- ou uma matriz quase. qual os autovalores podem ser. tecnica. R. facilmente. triangular. convergentes.. sera introduzida e ilustrada mais adiante para. os. Uma. acelerar. este processo. Rlgumas propriedades de (1) podem ser derivadas. De ( 11,. R m e. = a'l=!. m m. ent~o. (2). m+ '1. m m m.

(61) 51. Portanto,. Çj. ~. ortogonal~ente. similar. a. e. Çj. induç~o. por. a. m+'1. = Çj.. 1=1. Dai. os autovalores de. tamb~m. 1=1. 1. o. de. s~o. Çj.. m+ 'I Se o par v ,l. caracteristicas para. s~o. tal que. Çj. m+1 m+1. = Çj. ~v. =. v. Çj. ,. ~v. ent~o. N. = ca'Çj a. v m+1 N. = a'I=! ca. )v m m m N. m m. v} mN. ent~o. (O v). Çj. I=Is sim. a. v. =. ~(a. N. m. m. v). m. N. são os pares caracteristicos de. ,~. Çj. Com. •. estas. m. m'". explanaç5es, pode-se investigar vetores. caracteristicos. atrav~s. deste processo. Note que se. ~. Çj. sim~trica,. ,. 2. 1. são. Realmente,. Çj. Çj. , •••••. 3. temos por hipótese que. Çj'. ca. =. 1. R ) 1 'I. I. = O R 1 1. Dai. a. =R. Q' R' a' = Q'Q R '\ 1 '\ 'I 1 1. Então a'R' 'I. ". =. R. a. 1 1. I. I. R I 1 1. devido à ortogonaLidade de. '1. isto é. ~'. 2. =. Çj,. 2. a.. tamb~m. o.

(62) 52. a. o aR. fatorizaç~o. diminuir por. aR. aR. pode ser reLativamente demorado porque. gasta tempo quando repetida muitas. o gasto de tempo a matriz. mais. rápida.. Para. ~. preparada. vezes.. ~ara. o. e única para que a. a uma forma simpLes. reduç~o. seja. m~todo. tanto, suponha-se. ~. Para. m~todo. aR. fatorizaç~o sim~trica. e. 1. tridiagonaL. de. uma. Para provar isto,. matriz. há um Lema que diz que o produto. trianguLar e uma matriz. de. Hesenberg. ~. outra. Hesenberg. Note-se que -1. a =~ R 1. =. 1 1. Hesenberg. a. tem zeros abaixo da subdiagonaL. Daij 1. mas. ~. ~. sim~trica,. dai tridiagonaL.. 2. FinaLmente,. precisa-se. de. ~. onde. 1=1 ~. sim~trica. uma. = aR. via eficiente para. de. e tridiagonaL.. de rotações no pLano. Por exempLo,. executar. a. 1=1,. Isso seja. ~. obtido por uma sequência.

(63) 53. -. cos 9 U'. sen 9·. =. li! I n-2. -sen 9. U'. =. cos 9. sen 9. O. O. O. O. -sen 9. cos 9. O. O. O. O. O. O. '1. O. O. O. O. O. O. 1. O. O. O. O. O. O. 1. O. .. '" '" '" '" '" '" '" '" '" '" '" '". O. U'~. '" '" '" '" '" '" '" '" '" '" '" '" '" '" '" '" '" '". O. O. Se o bLoco 2 x 2 superior em. entâ10. cos 9. ~. O. O. .... 1. é. I a. b. I b I. c. I. sera:. a cos 9 + b sen 9. b cos 9 + c sen 9. -a sen Q + b cos 9. -b sen 9 + ecos Q. U'A tem o eLemento 2,1.

(64) 54. =. b. e. -a sen. + b cos 9. 12. que pode ser anulado pela seleção a. = --------------. cos Q. 2. Neste e. rota~~o. 2. sen Q. 1/2. = -------------2. + b ). (a. de. b. caso,. (a. 2. pode-se pré-multiplicar. gradualmente. mudá-la. para. a. 1/2. + b ) ~. pela matriz. formà. triangular. superior.. substituição prop6sito. o. algoritmo. OR. a. principio. para os autovalores ordenados. de. é. geralmente. incrementar a rapidez da. convergência.. sequência de constantes {c }, define-se m ~. =~. e. - c I m. =O. 1 ~. m. m+1 {:Is matrizes. R. m m. =c I. + R Q. ,. são semelhantes a. ~. , desde que. ~. m. 1. = O'. R. m = 1,2 .... m m. m. m. (~. m. m. = c I. {:I. m+1. m. -. c. 1). m. + O'. (~. m. m. -. c. nQ m. aplicado. m. com com. Para. uma o uma.

(65) 55. =c. I +. Q/~. = m+1. Q'~. Q. m m m. m. Q. -. c.I m. m ). m m m. Os autovalores de A m+1 e. dai. os mesmos de A.. substituiç~o. (c ). I. =. 1. s~o. os mesmos que os de A m. Para ser mais especifico na. consideremos. somente. uma. m. tridiagonal A. Seja. .. (m) b n --1 (m). (m). b. O. a n-1. Hà dois métodos pelos quais {c } é escolhido m. (1). =. c. m (2). (m). a. n é o autovalor de. c m. n-1. matriz. escolha. da. simétric~.

(66) 56. (m). (m). a. b n-1. n-1. (m). (m). (*). b. a n-1. n. (m). .. o qual e pr6ximo a a. ~. segunda escolha e. preferida, mas. em. n. qualquer dos casos a matriz. converge para. ~. uma. matriz. bloco. m. diagonal na qual os blocos tem ordem 1 ou 2. Qualquer. sele~~o. de {c } garante m. (m). b. (m). --) O quando m --). b. 00. n-1 n-2 geraLmente em uma. raz~o. mais rapida que o metodo QR original.. Da. (m) express~o. acima temos que qualquer dos dois. --) O. b. ou. n-1 (m). (m). --) O. b. quando m --). 00.. No caso (1), a. n-2 um. converge. para. autovaLores. podem. n. autovaLor. de. e no caso (2) os. ~,. dois. faciLmente ser extraidos da submatriz (*). Uma. vez que um ou dois autovalores tem sido obtido. (m). devido a. (m). ou. b n - 'I. essencialmente zero,. b. n-2. a. matriz m.

(67) 57. pode. ser. reduzida. respectivamente. substituiç~o. das. Seguindo. ordem este. por. uma. raciocinio,. ou o. duas. linhas,. método. pode ser aplicado para a matriz reduzida.. substituiçaes. rápida para b. na. faz com que a convergência a zero. ~. OR. com. escolha. seja. mais. em) em) b do que para os elementos remanescentes. fora. n-1 n-2. da diagonal da matriz. Neste caso, o método.OR torna-se um método rápido,. mais que. qualquer. outr~. método até o presente. 'momento..

(68) 58. Descri~~o. 3.15.4. o. das Sub-rotinas. presente. basicas de constantes, incluem. uma. modula. inicia-se com. as. tipos e variaveis. Os tipos. componente extra com indice O. declara~ões M~TSPD,. (zero).. Isto. M~T[S. evita. testes extras posteriores para iniciar e finalizar as "loops".. matriz. é. U. vetores. Somente a parte triangular da matriz. ~. ortogonal,. colunas. e consequentemente suas de. caracteristicos. RT[1J,. RT[NJ.. ~pos. cor respondendo. ~,. ser reduzida à forma. ~. somente sua diagonal DG e diagonal superior SPD Veja-se agora a de. entrada. s~o:. *. matriz. ortogonal U. tal. *~U *'. que U. s~o. usada.. ~. ser~o. raizes. às. tridiagonal, utilizadas.. de Householder. Rs matrizes. redu~~o. simétrica e U identidade.. ~. é. ~s. de saida. (simétrica). é. s~o. a. tridiagonal. com diagonal DG e diagonal superior SPD. R primeira subprocedure, STEP, formam. é. o as. HRH' onde. primeiro passo da. reduç~o. de. Householder,. (i + 1) - ésimas linhas através da n-ésima. isto. é,. linha. de. H tem a forma (k). I - 2v v'. com v. = O. "'i. para i ( k, e i ) k + 1, 1 (= k c= n - 1 Rgora HRH'. =. (1. =R. -. 2vv')RCl - 2vv') "',,'. -. v(2v'~) N. NN. - 2Rvv' + (4v'Rv)vv' AI. IVN.

(69) 59. Fazendo-se p. =. 2~v. e z. =. 2v'~v. =. 2v'p. enHío H~H'. =. ~. -. =. ~. - vp'. vp' - pv' + zvv' -. Cp - zv) v' rv. IV IV. Este e precisamente o calculo na e precisamente [a. c, O, O,. rotina. N. ~ i-esima. STEP.. linha. , O] que e calculada no corpo. da. i i. rotina TRIDI. ~. segunda rotina,. UPD~TU,. troca U por UH'.. ~gora. H'. =. H e. UH' = UCI - 2vv') IV IV. = U - C2Uv)v' IV. =U~. que. pr6xima. rotina. pv'. onde p. "'IV. SHIFT,. de~.. ~gora. =. calcula. e pr6ximo de uma raiz caracteristica.. bLoco 2 x 2. 2Uv a. substituição. Ela e aplicada. o polinômio caracteristico de. I a. b. d. c. I. x - tx. +. 2. onde. IV. d. a. um.

(70) 60. t. =. a + c. é o trac;:o, e. d. 2. = ac. - b. o determinante. Pela f6rmula quadrâtica, as raizes. s~o. 'I. 4d. ). 2. 'I. = 2. .I. 'I. =. ~ ~. ( t. 2 (a. -. c). 2 + 4 b. I. ). 2. = d.. ~. Observa-se Que o produto das raizei é \. 1 2 t=l. quantidade. caLcuLada,. u,. que. ma n t é'm - s e. substituic;:ão. da. é usada para decidir se a substituic;:ão corrente é uma. das raizes ou O (zero). Se a raiz caracteristica absoluto é relativamente próxima a u, substituic;:~o. previamente. e. u. =. Se isso. ~.. reLativamente próxima a u,. *. de menor valor. então ) é escolhida para a. *. ocorrer, a maior raiz k. n~o. ent~o). ~. é escolhida e. u. =. ~. *. é De. outra forma O (zero) é escoLhido e u é feito igual a menor raiz. t=l. devido à escolha. rotina. finaL é. originaL da. o. aLgoritmo QR,. notac;:~o. ~. assim chamado. = QR para fatoração em Q.

(71) 6'1. ortogonal e R triangular superior. Mas atualmente,. a. é um produto. a =a a. a. 1 2. de matrizes de. rota~~o. n-1. elementar. Cada fator elimina um. elemento. adicional da subdiagonal de A. Escrevendo. a'. a'. Ent~o. farâ uma. a'A = R. a'. n-1 rota~~o. n-2. 1. nas. primeiras. duas. coordenadas.. O. 1. pr6ximo, Q' 2. farâ rotacionar a segunda e terceira coordenadas.. a' a terceira e quarta coordenadas. Gradualmente vai-se mudando A 3. por. estas. vias. eliminados. e. multiplica~~o. até ela por. todos os elementos tornar-se. a'. a. introduz. da. triangular um. subdiagonal. serem. superior.. Cada. elemento. na. segunda. em A. n~o. j. diagonal, superior e de sobra as sucessivas por. agora. trocam,. simétricas.. Para. mudan~as. ver precisamente. quais. s~o. elementos. suporemos que ap6s ter multiplicado à esquerda por a' 1. Q' 2. até a' j-1. que o bloco diagonal de A até a j-ésima linha é.

(72) 62. w. u. o. o. v. O. 1. v. u. 1. 2. O. v. 2. O. v. u. 2 O. 3. v. u. 3 I ·1. 3. . . .. . .. .. . . . . . .. . ... 4. .................. I I. Para forma. a' fazemos j. z Ent~o. temos. definimos. =. R u. 1. v. u. 2 + v. 'I. c =. 1. z. 5. =. 1. z.

(73) 63. e. e. + 5. u. v. + 5. 1. 1. v 2. 2. o. -S. + e. o. e u. w. v 2. o. 2. v. u 2. o. o. 5. u. w. v 3. o. 3. v. u 3. 4. ..................................... 2 Observa-se que e. = (u. + S. u foi. S. adicionado. à. j. v. 2 superior.. -. 1. v. 1. 2 + v. ). I. z = z.. I=Issim. ·1. 1. esima. linha. na. segunda. diagonal. Então o pr6ximo bloco diagonal, partindo-se da (j + 1). - esima linha, tem a mesma forma que o anterior. O. primeiro. elemento. na. diagonal. superior. para C . A subrotina FACTOR efetua estes. trocado de v 'I. foi. cálculos.. v. 2 O. resultado final e R.. diagonal. superior. SPD,. diagonaL. superior. de. Necessita-se em. adi~~o. outro vetor T2 para R.. 1=1. = O' n-1. a. segunda senos. e. "procedure" FReTOR produz. a. matriz triangular superior. isto e,. conter. Precisa-se guardar todos os. cossenos em ordem para formar RO.. R. a diagonal DG e a. Q' O'R, 2 1.

(74) 64. =. 1=1. o. n-1. precisa produzir. = Ra. 1. a 1. n-1. MULT, inicialmente calcula-se os. efetuar a pr6xima subrotina,. produtos. R.. a. 1 2. aR. aLgoritmo 1=1. 1=10. a. Q. sucessivos. Ra. Ra a ,. I. 'I. que. Sabe-se. o. 1 2. resultado finaL. e simetrica. 1=1. e. tridiagonal,. 1. assim. pode-se. MULT. tempo,. determinada.. guarda-lo atualiza I=Issim. a. eLa. nos dois. vetores. matriz. ortogonal. tera. finaLmente. DG e. SPD.. U que. nas. 1=10. vem. coLunas. mesmo sendo. vetores. caracteristicos da matriz originaL 1=1. Deve-se examinar cuidadosamente se se multipLica na esquerda ou na direita, por. ou por a'. Q. i. passo é determinar a1=1 a ,. = t=I. sendo U. . Dado. primeiro. o. 1=1,. i. = a'. 1. onde. é tridiagonal. Então faz-se uma sequência de passos. 1=1. o 1=1. -. 1=1. I. }.. 1. =. -. 2. 1=1. I. }.. 2. I=Q. + }. I. Q. 1 'I. =. t=I. R 2 2. r-1. =R. t=I. 1. =Q. 2. -}.. r-1. R. Q 'I. 'I. R. 1 + }. I 2. Q. 322. R. r-1 r-1. =R. t=I. r. I. +}.. Q. r-1. r-1. r-1.

(75) 65. Esper~~se. ~. que. seja. aproximadamente. diagonal,. assim. seus. r. elementos. diagonais. são as raizes caracteristicas de~,. calcular-os vetores caracteristicos ~. em termos de. _ Por. ~. de. Para. ~.. necessitamos expressar. indu~ão,. r Q. 1=1. Q. 'I 'I. =. Q. r - 'I. Q~Q'. Q. r-1. 'I. =Q. assim,. ~. Q. 'I. r - 'I r ~. Q. r-'I r. 1. Em termos de U isto pode ser escrito ~(UQ. ua -. Q. ). 1. r - 'I. Estas. equa~aes. =. (UQ. )~. Q. r -1. 1. significam que as colunas de. são os vetores caracteristicos de. Q. r. ~.. r- 'I. 'I. Conclusão: então. Se. pré-multiplicar. ~. por. um. Q' ,. precisa p6s-multiplicar a U corrente por Q.. Isso mostra que U deve ser atualizado. 1=1. primeira parte de MULT p6s-multiplica R.. Checando os. calculas. no presente estagio, tem-se que: v. u. 1. 'I. t. u 'I. O. w 1. O. O. 1. O. O. O. O. v. w 2. O. O. C. -5. O. O. O. 5. C. O. O. 2 O. 2. u. v 3. O. O. O. 3. w 3. v. u. O. O. O. u 5. I. I. = O. O. O. 1. O. O. O. O. O. 'I. 4. 4. O. x. -.

(76) 66. v C + w 5. u 1. t 1. O O. 1. -v 5 + w C 1. 1. v C + v 5 2 2. -u 5 + v C 2 2. u 5. u C. 3. 3. O. O. O. w. O. 1. 2. v 3. O. w. w 3. v 4. 4. O. O. O. O. u 5. Quando estiverem acabados os cáLculos, o resuLtado será simétrico e tridiagonaL. que w. ~. segunda diagonaL superior desaparecerá.. contribui para o termo v C + w S. O termo -v 5 +. 1. 1. contribui para outros termos; essa razão, t. 1. 1. eLe já é provaveLmente. Nota-se W. C não. 1. zero.. Por. não se precisa caLcuLar isto. O termo da subdiagonaL. não contribui para outros termos; desta forma não é necessário 1. caLcular o próximo u S.. Em consequência disso, deve-se calcular. 3. somente. os. termos que são de necessidade no resultado final. são de necessidade para a pr6xima Em. rota~ão. elementar.. adição ao cáLculo de autovaLores e. de matrizes simetricas,. apresenta-se como. esima potência da matriz. ~. ou. op~ão,. autovetores. o cálculo da k-. como também, seu determinante, posto e. tra~o.. ~. k-esima potência é calculada usando a propriedade.

(77) 67. onde U. e. a matriz ortogonaL.dos autovalores da mesma.. o. determinante foi calculado pelo produto dos. ~. i. (autovalores) i. =. 1,2, ... ,no n. detu:n =. TI. ~. i=1 i o. tra~o. peLa soma dos. ~. i. TrCI=!). e o posto pela contagem dos. ~. diferentes de zero.. Considerou-se. i. -5. como zero os valores absoluto de Este. autovetores.. feito. No. o. entanto,. I=!utovetores e autovalores" mem6rias. autovalores principal,. I=!p6s. isso,. para. menores que 10. m6dulo esta protegido para os casos em que se. deseje operar com matrizes. E. ~. a. o. n~o. simétricas e nuLas.. calculo da se. for. matriz. de. autovalores. solicitada. op~~o. a. 11. e <3). deve-se guardar o primeiro em uma das sistema. mem6ria de. se. encarrega. trabaLho,. ficando à escolha do usuario a. de. voLtando op~~o. passar ao. os. "menu". de guarda-los ou. n;3o. Uma K. =. propriedade. interessante. e:. ao. toma~-se. -1. -1 obtém-se R. que possui as quatro propriedades da. de Moore-Penrose, que se passa agora a demonstrar:. inversa.

(78) 68. Tem-se que. A' = A. = UWU'. Hipótese. A. Tese. A = UW. Prova. (alAR. +. -1.. U' -1. A. = UWU'(UW. -1. U')UWU'. = UW(U'U)W. .. -1 (b). R. AA. -1. (U'U)WU'. -1. =. UWW. WU'. -. UWU'. =R. -1. -1 = UW. U' (UWU' )UW. -1. -1. =. UW. =. UW. (U'U)WCU'U)W -1. WW. -1. -1. = UW - 'I. Cc) RR. =. U'UWU' -1. WU'. UU' CSIMETRICR). - '1 (d). RR. -1. U' = A. -1. UW. = UW. =. U'. -1. = UWU'UW. U'. -1 =. UWW. U'. = UU' CSIMETRICR).. U' -1. U'.

(79) 69. 3.16. M~DULO. RLGEDIRG. 3.16.1. Descriç~o. Geral. funç~o. R. diagonalizaç~o. deste m6dulo é realizar a. de uma matriz simétrica e definida positiva localizada na àrea de trabalho.. 3.16.2. Descriç~o. o. de Regras de Processamento. processo. diagonaliza~~o. de. consiste em justapor a matriz original. ~. a. de. seguir. executa-se. simultaneamente elementos. R. em. abaixo. uma. sequência. e 1.. da. Essas. diagonal. trianguLar superior. No finaL das das. opera~~es. C'.. Para. se. R,. visam. tornando-a. operaç~es. entender. -a. melhor. ) O. para a. la. ik. kk. kk. 2. Passo: CaLcula-se a i j. C i j. = Ca = CC. +. kj. e i j. +. Kj. a. a uma. zerar. 05. matriz. teremos em 1 a matriz. 1. Passo: Define-se a constante. =. e. elementares. opera~~es. descreve-se a seguir o algoritmo utilizado.. C. congruência,. à matriz identidade I. opera~~es. em. por. C i j. 3. Passo: 1ncrementa-se j, repetindo-se o passo 2.. este. processo,.

(80) 70. 4. Passo: Incrementa-se i,. repetindo-se os passos 1 e 2.. 5. Passo: Incrementa-se k,. repetindo-se os passos 1 e 2.. Visto que a matriz é. ~. é definida positiva,. singuLar o que garante que. n~o. =. ) O, i. todos eLementos d. a matriz das operações. e'~e. '1,2,. é uma. diagonaL. D. com. , L. Pode-se caLcuLar peLo. i i ~LGEM~. a. matriz F. = e'. -1. 1/2. D '1/2. sendo e' opç~o. invertida pelo processo de Gauss-Jordan e. D. peLa. <N).4. O produto FF' é: FF'. = [' = ~. .~ o. -1 1/2 1/2 -1. = e'. D . -1. De. D. [. -1. ~. matriz F é dita raiz quadrada generalizada de s o Li c i ta r a d i a g o n a Li z a ç ~ o ,. optar peLa matriz e' ou D ou F.. .o. U5 U. ~. .. â r i o· - p o d e r â.

(81) 71. 3.17. M~DULO. ~L6ENORM~. 3.17.1 Objetivo ~. normas. de. funç~o. desse. m6dulo. e. realizar. o. câlculo. de. matrizes. Descriç~o. 3.17.2. uma matriz de quaisquer dimens5es na mem6ria de. Co~. trabalho, pode-se obter as seguintes normas: Seja. (i). =. I I~I I. uma matriz L x C,. ~. L. max. 1. (mâximo das somas dos valores. Ia .. 1 J. [. j. absolutos dentro de colunas);. i=1. =. I I Çj I I. ent~o. (mâximo das somas dos valores. a. max. i j. 00. absolutos dentro de linhas);. L. ii. i). C. [[I. =. I I ~ I:. f. i=1. Observe-se. que. simplesmente. LC R. Çjp6s a. Principal trabalha.. a. 2. {soma. a. de quadrado das elemen-. i j. tos). j='l. norma (iii) de Frobenius de uma. matriz. a norma euclideana de Çj considerada um eLemento execuç~o. com. a. desta rotina. matriz. original. o. sistema inaLterada. retorna na. ao. memória. ~. e de. Menu de.

Referências

Documentos relacionados

A qualidade dos dados de campo depende não só da acurácia dos sensores e do sistema de aquisição de dados, bem como da taxa de amostragem e tempo de leituras em cada ponto. Para

As hospitalizações por lesões autoprovocadas intencionalmente na Bahia nessa série histórica ocorreram em sua maioria em homens, sendo o álcool o mecanismo de lesão predominante;

Avaliações padronizadas foram utilizadas em alguns estudos como a Medida de Independencia Funcional- MIF ( DELBONI et al, 2006.) , Furllentton Fitness Test – TAF ( SPOSITO et

A Direção do Centro de Ciências Humanas, Sociais e Agrárias (CCHSA) e do Colégio Agrícola Vidal de Negreiros (CAVN), Campus III da Universidade Federal da Paraíba

Inicialmente é feito um resumo de matrizes, no Capítulo 3, diagonalização de ma- trizes, se cria o ambiente inicial das condições para se calcular as raízes de matrizes, no Capítulo

Nesse sentido, compreendemos, tal qual Vianna (2002), a importância de se comportar na discussão de gênero e feminização da profissão docente outras variáveis como

Frente aos resultados observados, ficou evidenciada a existência de uma relação direta entre a frequência de parasitoses intestinais infantis e as precárias

Foram analisados 46 rótulos de produtos vegetarianos, os mesmos foram divididos em cinco grupos, de acordo com as resoluções da ANVISA (rotulagem geral de alimentos