matfun-stefany

45
MATLAB – MATFUN Funciones matriciales – Algebra lineal numérica. Análisis matricial. norm Matriz o norma vectorial. Para matrices… norm(X) es la 2-norm de X. norm(X,2) es la misma que norm(X). norm(X,1) es la 1-norm de X. norm(X,inf) es el norm infinito de X. norm(X,'fro') es la Frobenius norm de X. norm(X,P) está disponible para la matriz X sólo si P es 1, 2, inf o 'fro'. Para vectores… norm(V,P) = sum(abs(V).^P)^(1/P). norm(V) = norm(V,2). norm(V,inf) = max(abs(V)). norm(V,-inf) = min(abs(V)). normest Calcular la mátriz 2-norm. normest(S) es una estimación de la 2-norm de la mátriz S. normest(S,tol) utiliza el error relativo tol en lugar de 1.e-6. [nrm,cnt] = normest(..) también proporciona el número de iteraciones utilizadas. Esta función está pensada principalmente para matrices dispersas, aunque funciona correctamente y puede ser útil para matrices grandes y completas también. Utilice normest cuando su problema es lo suficientemente grande que NORM toma demasiado tiempo para calcular y un norm aproximado es aceptable. Clase de soporte para la entrada S:

Transcript of matfun-stefany

MATLAB MATFUNFunciones matriciales Algebra lineal numrica.Anlisis matricial. norm Matriz o norma vectorial.Para matricesnorm(X) es la 2-norm de X.norm(X,2) es la misma que norm(X).norm(X,1) es la 1-norm de X.norm(X,inf) es el norm infinito de X.norm(X,'fro') es la Frobenius norm de X.norm(X,P) est disponible para la matriz X slo si P es 1, 2, inf o 'fro'.

Para vectoresnorm(V,P) = sum(abs(V).^P)^(1/P).norm(V) = norm(V,2).norm(V,inf) = max(abs(V)).norm(V,-inf) = min(abs(V)).

normest Calcular la mtriz 2-norm.

normest(S) es una estimacin de la 2-norm de la mtriz S.

normest(S,tol) utiliza el error relativo tol en lugar de 1.e-6. [nrm,cnt] = normest(..) tambin proporciona el nmero de iteraciones utilizadas. Esta funcin est pensada principalmente para matrices dispersas, aunque funciona correctamente y puede ser til para matrices grandes y completas tambin. Utilice normest cuando su problema es lo suficientemente grande que NORM toma demasiado tiempo para calcular y un norm aproximado es aceptable.Clase de soporte para la entrada S: float: dobles, individuales.

rank Rango de la mtriz.rank(A) proporciona una estimacin del nmero de filas linealmente independientes o columnas de una matriz A.rank(A,tol) es el nmero de valores singulares de A que son mayores que tol.rank(A) utiliza el valor por defecto tol = max(size(A)) * eps(norm(A)).Clase de soporte para la entrada A: float: dobles, individuales.

det Determinante.det(X) es el determinante de la matriz cuadrada X.Utilizar COND en lugar de det para la prueba de singularidad de la matriz.

trace Suma de elementos de la diagonal.trace(A) es la suma de los elementos diagonales de A, que tambin es la suma de los valores propios de A. Clase de soporte para la entrada A: float: dobles, individuales.

null Espacio nulo. Z = null(A) es una base ortonormal para el espacio nulo de A obtenida de la descomposicin de valor singular. Es decir, A*Z tiene elementos insignificantes, size(Z,2) es la nulidad de A, y Z'*Z = I.Z = null(A,'r') es una base "racional" para el espacio nulo obtenido de la forma escalonada reducida por filas. A*Z es cero, size(Z,2) es una estimacin de la nulidad de A, y, si A es una pequea matriz con elementos enteros, los elementos de R son cocientes de enteros pequeos. La base ortonormal es preferible numricamente, mientras que la racional puede ser pedaggicamente preferible. Ejemplo:

A = 1 2 3 1 2 3 1 2 3

Z = null(A);

Calculando la 1-norm de la mtriz A*Z ser dentro de una pequea tolerancia

norm(A*Z,1)< 1e-12 ans = 1 null(A,'r') = -2 -3 1 0 0 1

Clase de soporte para la entrada A: float: dobles, individuales.

orth Ortogonalizacin.

Q = orth(A) es una base ortonormal para el rango de A. Es decir, Q'*Q = I, las columnas de Q abarcan el mismo espacio que las columnas de A, y el nmero de columnas de Q es el rango de A. Clase de soporte para la entrada A: float: dobles, individuales.

rref Forma escalonada reducida.

R = rref(A) produce la forma escalonada reducida de A. [R,jb] = rref(A) tambin retorna un vector, jb, de modo que: r = length(jb) es la idea de este algoritmo del rango de A, x(jb) son las variables enlazadas en un sistema lineal, Ax = b, A(:,jb) es una base para el rango de A, R(1:r,jb) es el r-by-r matriz identidad. [R,jb] = rref(A,TOL) utiliza la tolerancia dada en las pruebas de rango. Los errores de redondeo pueden causar este algoritmo para calcular un valor diferente para el rango de RANK, ORTH and NULL. Clase de soporte para la entrada A: float: dobles, individuales.

Subspace ngulo entre subespacios.

subspace(A,B) encuentra el ngulo entre dos subespacios especificados por las columnas de A y B. Si el ngulo es pequeo, los dos espacios son casi linealmente dependientes.

En un experimento fsico descrito por algunas observaciones A, y una segunda realizacin del experimento descrito por B, subespacio (A, B) da una medida de la cantidad de nueva informacin proporcionada por el segundo experimento no asociado con errores estadsticos de las fluctuaciones.

Clase de soporte para las entradas A, B: float: dobles, individuales.

Ecuaciones lineales. / and / Solucin de la ecuacin lineal, utilizar "help slash".& Logical (Lgico) AND. A & B representa un lgico and de matrices A y B and retorna una matriz que contiene elementos colocando un 1 lgico (VERDADERO) 0 lgico (FALSO). Un elemento de la matriz de salida se establece en 1 si ambas matrices de entrada contienen un elemento distinto de cero en ese mismo lugar de la matriz. De lo contrario, ese elemento se establece en 0. A y B deben tener las mismas dimensiones que un escalar. C = and(A,B) es llamado en la sintaxis 'A & B' cuando A o B es un objeto.Tenga en cuenta que hay dos lgicas y operadores en MATLAB. El operador & acta elemento por elemento y entre matrices, mientras el operador && acta como un corto circuito y entre valores escalares. Estas operaciones se explican en la documentacin de programacin de MATLAB en operadores lgicos, bajo el tema de Componentes bsicos del programa.

linsolve Resuelver el sistema lineal A*X=B.

X = linsolve(A,B) resuelve el sistema lineal A*X=B usando factorizacin LU con un giro parcial cuando A es cuadrada, y la factorizacin QR con giro columna contraria. La advertencia se da si A est mal condicionada para matrices cuadradas y rango deficientes para matrices rectangulares.

[X, R] = linsolve(A,B) suprime estas advertencias y declaraciones de R el recproco del nmero de condicin de A para matrices cuadradas, y el rango de A si A es rectangular.

X = linsolve(A,B,OPTS) resuelve el sistema lineal A*X=B, con un programa de solucin apropiada determinada por las propiedades de la matriz A como se ha descrito por la estructura OPTS. Los campos de OPTS deben contener valores lgicos. Todos los valores de los campos son por defecto falsos. Ninguna prueba se realiza para verificar si A posee propiedades semejantes.

A continuacin se muestra la lista de todos los posibles nombres de los campos y sus propiedades de la matriz correspondientes.

Nombre del Campo: Propiedad de la Mtriz------------------------------------------------LT : Lower Triangular (Triangular inferior) UT : Upper Triangular (Triangular superior)UHESS : Upper Hessenberg (Hessenberg superior)SYM : Real Symmetric or Complex Hermitian (Simetrico real o Hermitian Complejo)POSDEF : Positive Definite (Definido Positivo)RECT : General RectangularTRANSA : (Conjugate) Transpose of A ((Conjugar) Transpuesta de A)

Aqu hay una tabla que contiene todas las posibles combinaciones de las opciones:LT UT UHESS SYM POSDEF RECT TRANSA----------------------------------------T F F F F T/F T/FF T F F F T/F T/FF F T F F F T/FF F F T T/F F T/FF F F F F T/F T/F

Ejemplo:A = triu(rand(5,3)); x = [1 1 1 0 0]'; b = A'*x;y1 = (A')\b opts.UT = true; opts.TRANSA = true;y2 = linsolve(A,b,opts)

inv Mtriz inversa.

inv(X) es la inversa de la mtriz cuadrada X.Un mensaje de advertencia se imprimir si X est mal escalado o casi singular. rcond LAPACK reciprocal condition estimator. (Condicin estimador recproco).

rcond(X) es una estimacin para el recproco de la condicin de X en la 1-norm obtenida por la LAPACK condicin estimador. Si X est bien condicionado, rcond(X) est cerca de 1.0. Si X est mal condicionado, rcond(X) est cerca de EPS.

cond Condicin nmero respecto de la inversin.

cond(X) returna la 2-norm condicin nmero (el radio de el valor singular ms grande de X a el ms pequeo). Nmeros largos de condicin indican una mtriz casi singular.

cond(X,P) retorna la condicin nmero de X en P-norm:NORM(X,P) * NORM(INV(X),P). donde P = 1, 2, inf, or 'fro'. Clase de soporte para la entrada X: float: dobles, individuales. condest 1-norm condicin nmero estimado.C = condest(A) calcula una cota inferior C para la 1-norm condicin nmero de una matriz cuadrada A.C = condest(A,T) cambia T, un parmetro entero positivo igual al nmero de columnas en una matriz de iteracin subyacente. Aumentar el nmero de columnas por lo general da una mejor condicin de estimacin, pero aumenta el coste. El valor por defecto es T = 2, lo que casi siempre da una estimacin correcta dentro de un factor 2. [C,V] = condest(A) tambin calcula un vector V, que es un vector nulo aproximada si C es grande. V satisface NORM(A*V,1) = NORM(A,1)*NORM(V,1)/C.Nota: condest invoca RAND. Si se requieren resultados repetibles la invocacin RAND('STATE',J), para algun J, antes de llamar a esta funcin.condest est basado en la 1-norm condicin estimador de Hager [1] y un bloque orientado a la generalizacin del estimador de Hager dada por Higham y Tisseur [2]. El corazn del algoritmo implica una bsqueda iterativa para estimar ||A^{-1}||_1 sin calcular A^{-1}. Esto est planteado como la parte convexa, pero no diferenciable, problema de optimizacin: max ||A^{-1}x||_1 sujeto a ||x||_1 = 1. normest1 Estimacin de 1-norm estimacin de la matriz por bloques 1-norm mtodo de poder.C = normest1(A) retorna una estimacin C de norm(A,1), donde A es N-by-N.A puede ser una matriz explcita o una funcin AFUN tal que FEVAL(@AFUN,FLAG,X) para los siguientes valores deFLAG retorna'dim' N'real' 1 si A es real, 0 para lo dems'notransp' A*X'transp' A'*X C = normest1(A,T) cambia el nmero de columnas de la matriz de iteracin del valor predeterminado 2. Escogiendo T = THRESH(1) * max(abs(A(j:m,j))) es seleccionado. Un valor de 1,0 da como resultado pivoteo parcial convencional. Las entradas en L tienen valor absoluto de 1/THRESH (1) o menos. Para su estrategia simtrica, se selecciona la diagonal utilizando la misma prueba pero con THRESH (2) en su lugar. Si la entrada diagonal no pasa esta prueba, se selecciona una entrada de pivote por debajo de la diagonal, utilizando THRESH (1). En este caso, L tiene entradas con 1/min valor absoluto (THRESH) o menos. Los valores ms bajos de UMBRAL (1) y trilla (2) tienden a conducir a factores lu dispersas, pero la solucin puede llegar a ser inexacta. Los valores ms altos pueden conducir a una solucin ms exacta (pero no siempre), y por lo general un aumento en el uso total de trabajo y la memoria. [L,U,p] = lu(A,THRESH,'vector') y [L,U,p,q,R] = lu(A,THRESH,'vector') Tambin son vlidos para matrices dispersas y vectores de retorno de permutacin. El uso de 'matriz' en lugar de 'vector' devuelve matrices de permutacin.

luinc Sparse Incomplete LU factorization.luinc produce dos tipos diferentes de factorizaciones LU incompletos - la gota de tolerancia y el nivel 0 de factorizaciones de relleno. Estos factores pueden ser tiles como preacondicionadores para un sistema de ecuaciones lineales se resuelven por mtodos iterativos como BICG (BiConjugate Gradients), GMRES (Generalized Minimum Residual Method) o PCG (Preconditioned Conjugate Gradients).luinc(A,DROPTOL) lleva a cabo la factorizacin LU incompleta de A con una gota de tolerancia DROPTOL.luinc(A,OPTS) permite opciones adicionales para la factorizacin LU incompleta. OPTS es una estructura con un mximo de cuatro campos: droptol --- the drop tolerance of incomplete LU milu --- modified incomplete LU udiag --- replace zeros on the diagonal of U thresh --- the pivot umbral (ver tambien LU) Slo los campos de inters son necesarios de establecer.droptol es un escalar no negativo utilizado como la tolerancia de la gota para la factorizacin LU incompleta. Esta factorizacin se calcula de la misma manera (columna-orientado) como la factorizacin LU excepto despus de cada columna de L y U se ha calculado, todas las entradas en la columna que son ms pequeos en magnitud que la tolerancia de estacin local, que es droptol*NORM de la columna de A, son "dropped" para L o U.La nica excepcin a esta regla de dropping es la diagonal del factor triangular superior U, que se mantiene incluso si es demasiado pequeo. Tenga en cuenta que las entradas del factor inferior L triangular son probados antes de ser reducido por el pivote. Poniendo droptol = 0 produce la factorizacin LU completa, que es el valor predeterminado.milu representa factorizacin modificada LU incompleta. Su valor es 0 (sin modificar, el valor por defecto) o 1 (modificada). En lugar de descartar las entradas de la columna recin formado de los factores, que se restan de la diagonal del factor triangular superior, U.udiag es o bien 0 o 1. Si es 1, ningn cero entradas diagonales del factor triangular superior U estn reemplazados por la tolerancia gota local en un intento de evitar un factor singular. El valor predeterminado es 0.thresh es un pivot umbral en [0,1]. Pivoting se produce cuando la entrada en diagonal en una columna tiene magnitud menor que thresh veces la magnitud de cualquier entrada sub-diagonal en esa columna. thresh = 0 fuerzas de giro diagonal. thresh = 1 es el valor predeterminado. [L,U,p] = luinc(A,OPTS,'vector') devuelve la informacin de permutacin como un vector fila en lugar de como una matriz de permutacin de manera que L y U son los factores incompleta de un (p, :). [L, U, P]=luinc(A, OPTA, "matriz") se puede utilizar para obtener una matriz de permutacin. Este es el comportamiento predeterminado.Ejemplo: load west0479 A = west0479; nnz(A) nnz(lu(A)) nnz(luinc(A,1e-6)) Esto demuestra que A tiene 1887 no ceros, su completa factorizacin LU 16777 no tiene ceros, y su factorizacin LU incompleta con una gota de tolerancia de 1e-6 tiene 10.311 no ceros. [L,U,P] = luinc(A,'0') produce los factores LU incompletos de una matriz dispersa con 0 nivel de relleno (es decir, sin relleno). L es la unidad triangular inferior, U es triangular superior y P es una matriz de permutacin. U tiene el mismo patrn de escasez como triu(P * A). L tiene el mismo patrn de escasez como tril(P * A), a excepcin de 1 de en la diagonal de la L en la que P * A puede ser cero. Tanto la L y U pueden tener un cero a causa de la cancelacin que P * A es distinto de cero. L * U difiere de P * A slo fuera del patrn de escasez de P * A.[L,U,p] = luinc(A,'0','vector') Devuelve un vector de permutacin en lugar de una matriz de permutacin. El indicador "matriz" se puede utilizar en lugar de 'vector' para obtener una matriz de permutacin. [L,U] = luinc(A,'0') produce triangular superior U y L es una permutacin de matriz triangular unidad inferior. Por lo tanto no hay comparacin se puede hacer entre los patrones de escasez de L, U y A, aunque nnz(L)+nnz(u)=nnz(A)+n. L * U difiere de un slo fuera de su patrn de escasez.LU = luinc(A,'0') retorna "L+U-I", donde L es una unidad triangular inferior, U es triangular superior y la informacin de permutacin se pierde.Ejemplo: load west0479 A = west0479; [L,U,P] = luinc(A,'0'); isequal(spones(U),spones(triu(P*A))) spones(L) ~= spones(tril(P*A)) D = (L*U) .* spones(P*A) - P*A spones(L) difiere de spones(tril (P * A)) en algunas posiciones en la diagonal y en una posicin en donde L cancelacin llevado a cero un elemento distinto de cero de P * A. Las entradas de D son del orden de los eps.luinc slo funciona para matrices dispersas.

qr Orthogonal-triangular decomposition.[Q,R] = qr(A), donde A es m-by-n, realiza un m-by-n matriz triangular superior R y un m-by-m matriz unitaria Q tal que A = Q*R.[Q,R] = qr(A,0) produce el "ahorro de tamao" descomposicin. Si m>n, solo las primeras n columnas de Q y las primeras n filas de R son calculadas. Si mn, R solo tiene n filas. If m n, entonces slo los primeros n columnas de U se calculan y S es n-por-n. Para m = n, entonces es equivalente a svd(X, 0). Para m =p los elementos no nulos de C tambin estn en la diagonal principal. Pero si m=p, produce la descomposicin "ahorro de tamao", donde la U y V resultan tener como mximo columnas P, y C y S tienen en la mayora de las filas p. Los valores singulares generalizados son diag(C)./diag(S).Cuando I=eye(size(A)), Los valores singulares generalizadis, gsvd(A, I), son iguales a los valores singulares ordinarios, svd(A), sino que se ordenan en el orden inverso. Sus recprocos son gsvd(I,A).En esta formulacin del gsvd, no se hacen suposiciones acerca de los rangos individuales de A o B. La matriz X tiene rango completo si y slo si la matriz [A; B] tiene rango completo. De hecho, svd(X) y cond(X) son son iguales a svd([A; B]) y cond([A; B]). Otras formulaciones, por ejemplo. G. Golub y C. Van Loan, "Matrix Computations", requieren que null(A) y null(B) no se superponen y reemplaza X por inv(X) o inv(X').Tenga en cuenta, sin embargo, que cuando null(A) y null(B) se superponen, los elementos no nulos de C y S no son unicamente determinados.

Clase de apoyo para las entradas A, B: float: doble, individual

eigs Encontrar un par de valores propios y vectores propios de una matriz utilizando ARPACK.D = eigs(A) retorna un vector de 6 A's valores propios de magnitudes superiores. A debe ser cuadrada y ser grande y dispersa.[V,D] = eigs(A) retorna una matriz diagonal D de 6 A's valores propios de magnitudes superiores y una matriz V cuyas columnas son los vectores propios correspondientes.[V,D,FLAG] = eigs(A) tambin devuelve una convergencia flag. Si FLAG es 0, entonces todos los valores propios convergieron, de lo contrario no todos convergieron.eigs(A,B) resuelve el problema de valores propios generalizado A * V == B * V * D. B debe ser simtrica (o hermitian) definida positiva y el mismo tamao que A. eigs(A,[ ],...) indica el problema de valor propio estndar A*V == V*D.eigs(A,K) y eigs(A,B,K) retorna los valores propios K de magnitud superior.eigs(A,K,SIGMA) y eigs(A,B,K,SIGMA) retorna valores propios K. Si SIGMA es: 'LM' o 'SM' -- Mayor o menor magnitud.Para los problemas reales simtricos, SIGMA tambin puede ser: 'LA' o 'SA' Algebraico mayor o menor. 'BE' - Both Ends, una ms de gama alta si K es imparPara los problemas no simtricos y complejos, SIGMA tambin puede ser: 'LR' o 'SR' - Ms grande o ms pequea parte real 'LI' o 'SI' - Ms grande o ms pequeo Parte imaginariaSi SIGMA es un escalar real o complejo incluyendo el 0, eigs encuentra la generacin de valores ms cercanos a SIGMA. Para escalar SIGMA, y cuando SIGMA = 'SM', B slo necesita ser simtrica (o hermitian) positivo semi-definida ya que no es Cholesky factorizado como en los otros casos.eigs(A,K,SIGMA,OPTS) y eigs(A,B,K,SIGMA,OPTS) opciones especificas: OPTS.issym: simetria de A or A-SIGMA*B representado por AFUN [{false} | true] OPTS.isreal: complejidad de A or A-SIGMA*B representado por AFUN [false | {true}] OPTS.tol: convergencia: Ritz estimacin residual