domingo, 29 de noviembre de 2020

Transformación Lineal

Transformación Lineal
1.¿Qué es una transformación lineal?

Las transformaciones lineales intervienen en muchas situaciones en Matemáticas y son algunas de las funciones más importantes. En Geometría modelan las simetrías de un objeto, en Álgebra se pueden usar para representar ecuaciones, en Análisis sirven para aproximar localmente funciones, por ejemplo. • Sean espacios vectoriales sobre un mismo cuerpo Una función transforma vectores de en vectores de Impondremos condiciones para que preserve las operaciones de suma de vectores y multiplicación por escalar, esto es, que sea equivalente sumar y multiplicar por escalar las preimágenes en cómo las imágenes en V ,W K T V W.

Una transformación lineal es una función. Por ser función, tiene su dominio y su dominio, con la particularidad de que éstos son espacios vectoriales. Tenemos dos espacios vectoriales VV y WW, y una función que va de VV a WW. O sea una regla de asignación que transforma vectores de VV en vectores de WW. Pero no toda función que transforme vectores de VV en vectores de WW es una transformación lineal. Debe cumplir ciertas condiciones:

2. Cuáles son las condiciones para que exista una transformación lineal.

Una transformación lineal debe cumplir las siguiente condiciones:

Teorema Sea T : V → W una transformación lineal.

Entonces :

a) T(0V ) = 0W . Es decir, el neutro se envía al neutro.

b) T(−v) = − T(v). Es decir, envía inversos aditivos en inversos aditivos.

c) T(u − v) = T(u) − T(v). Es decir, envía restas en restas.

3. Al menos cinco propiedades o teoremas de las transformaciones lineales

Teorema 1

Sean T : V −→ W una transformación lineal, v1, v2, . . . , vn vectores de V y λ1, λ2, . . . , λn escalares de R.

Entonces:

T(λ1v1 + λ2v2 + . . . + λnvn) = λ1T(v1) + λ2T(v2) + . . . + λnT(vn). De este resultado, se tiene trivialmente que una transformación lineal asigna el vector cero del dominio en el vector cero del codominio y, por su importancia, lo enunciamos en el siguiente corolario.

Corolario 1.1 Sea T : V −→ W una transformación lineal, entonces T(0) = 0.

El Teorema 1 también establece que, para el caso de las transformaciones lineales de Rn a Rm, las rectas son enviadas en rectas o en el vector 0 y los planos son enviados en planos, en rectas o en el vector 0. En general, el Teorema 1 permite demostrar que una transformación lineal asigna a un subespacio del dominio un subespacio del codominio (Ver ejercicios). Recordemos que dos funciones definidas sobre un mismo dominio y codominio son iguales, si y sólo si, tienen las mismas imágenes para todos y cada uno de los elementos del dominio. Aunque una transformación lineal es una función, sus características especiales simplifican enormemente la propiedad de igualdad entre transformaciones, como lo expresamos en el siguiente teorema.

Teorema 2

Sean B = {v1, v2, . . . , vn} una base del espacio vectorial V y T : V −→ W y S : V −→ W dos transformaciones lineales. T = S, si y sólo si, S(v1) = T(v1), S(v2) = T(v2), . . . , S(vn) = T(vn). Demostración: Por la igualdad entre funciones, es claro que si T = S, las imágenes de los elementos de la base bajo las dos transformaciones son iguales. Para demostrar la otra implicación, recordemos que como B es una base de V , para cada vector v de V , existen escalares λ1, λ2, . . . , λn tales que v = λ1v1+λ2v2+. . .+λnvn. CAPÍTULO 5. TRANSFORMACIONES LINEALES 132 Por el Teorema 1 y la igualdad de las imágenes de los elementos de la base bajo las dos transformaciones, tenemos T(v) = λ1T(v1) + λ2T(v2) + . . . + λnT(vn) = λ1S(v1) + λ2S(v2) + . . . + λnS(vn) = S(v) ¤

Por los teoremas anteriores, es fácil ver que si conocemos la imagen de cada uno de los elementos de una base del dominio de una transformación, podemos conocer la imagen de cualquier otro vector del dominio. En otras palabras, que una transformación lineal queda completamente determinada por las imágenes de cada uno de los elementos de una base del dominio, como lo enunciamos en el siguiente teorema.

Teorema 3

Si B = {v1, v2, . . . , vn} es una base del espacio vectorial V , existe una única transformación T : V −→ W, tal que w1 = T(v1), w2 = T(v2), . . . , wn = T(vn) con w1, w2, . . . , wn ∈ W. Demostración: Tenemos que B es una base de V , así que B es un conjunto generador de V y por tanto, para cualquier vector v de V existen escalares λ1, λ2, . . . , λn tales que v = λ1v1 + λ2v2 + . . . + λnvn. Así, que si sabemos que w1 = T(v1), w2 = T(v2), . . . , wn = T(vn), podemos encontrar la imagen de cualquier vector v de V . En efecto, por el Teorema 1, T(v) = λ1w1 + λ2w2 + . . . + λnwn.

Nos queda por demostrar la unicidad de esta transformación. Supongamos que existen dos transformaciones lineales T1 y T2 tales que T1(vi) = wi = T2(vi) para i = 1, 2, . . . , n. Por el Teorema 2, T1 y T2 son la misma transformación.

Teorema 4

Sean V y W espacios vectoriales y T : V −→ W una transformación lineal. Entonces 1. Nu(T) es subespacio vectorial de V . 2. Im(T) es subespacio vectorial de W. Demostración: Por el Teorema 1 del Capítulo 4, un subconjunto H no vacío de un espacio vectorial es un subespacio vectorial, si y sólo si, los elementos de H satisfacen las propiedades clausurativas para la suma y el producto por escalar (Axiomas 1 y 6 de la definición de espacio vectorial). 1. Por el Corolario 1.1, 0 es un elemento de Nu(T), asi que Nu(T) es no vacío. De otro lado, si tomamos dos vectores u y v de Nu(T) y un escalar λ, tenemos que T(u) = 0 y T(v) = 0, de modo que T(u + v) = T(u) + T(v) = 0 + 0 = 0 T(λu) = λT(u) = λ0 = 0, de donde concluimos que u + v y λu están en Nu(T). 2.

De nuevo por el Corolario 1.1, 0 es un elemento de Im(T), asi que Im(T) es no vacío y si tomamos dos vectores w1 y w2 de Im(T) y un escalar λ, tenemos que existen v1 y v2, vectores de V tales que T(v1) = w1 y T(v2) = w2, de modo que w1 + w2 = T(v1) + T(v2) = T(v1 + v2) λw1 = λT(v1) = T(λv1) de donde concluimos que w1 + w2 y λw1 están en Im(T).

Teorema 5

Dadas la transformación lineal T : V −→ W, con V y W espacios vectoriales de dimensión finita y las bases B = {v1, v2, . . . , vn} y B ′ de V y W, respectivamente, la matriz asociada a la transformación T respecto de estas bases, [AT ], es la única matriz tal que, para todo v ∈ V [T(v)]B′ = AT [v]B. Demostración: Si v = λ1v1+λ2v2+. . .+λnvn, por el Teorema 1, T(v) = λ1T(v1)+λ2T(v2)+. . .+λnT(vn).

De donde, por el Teorema 14 del Capítulo 4, la combinación se conserva para los vectores de coordenadas respectivos respecto a una misma base; es decir, [T(v)]B′ = λ1[T(v1)]B′ + λ2[T(v2)]B′ + . . . + λn[T(vn)]B′ . Así que, por definición de Ax, tenemos que [T(v)]B′ = AT [v]B.

4. Un ejemplo de una transformación lineal.

Hay que demostrar que es una aplicación y es lineal.

Y para ser lineal debe cumplir dos condiciones:

1) T(p+q) = T(p)+T(q) para todo p,q € P2

2) T(Kp) = k·T(p) para todo p € P2 y todo k€R

Demostración:

Sea p=ax^2+bx+c

q=a'x^2+b'x+c'

T(p+q) = T(ax^2+bx+c + a'x^2 +b'x +c') =

T((a+a')x^2+(b+b')x +(c+c') =

( a+a'-b-b' b+b' )

(c+c'+a+a' 2a+2a')·

T(p)+T(q) =T(ax^2+bx+c) + T(a'x^2+b'x+c') =

( a-b b ) (a'-b' b') (a+a'-b-b' b+b')

(c+a 2a ) + (c'+a' 2a') = (c+c'+a+a' 2a+2a')

Como vemos los dos resultados son iguales, luego

T(p+q)=T(p)+T(q)

Y la segunda condición será

T(kp) = T(kax^2+kbx+kc) =

(ka-kb kb)

(kc+ka 2ka)

k·T(p) =

(a-b b) (ka-kb kb)

k (c+a 2a) = (kc+ka 2ka)

Los resultados son iguales, luego:

T(kp) = k·T(p)

Y siendo una aplicación y cumpliendo esas dos condiciones se cumple que T es una transformación

lineal.
5. Cómo probar esa transformación lineal.

Hay que demostrar que es una aplicación y es lineal.

Para ser lineal debe cumplir dos condiciones:

1) T(p+q) = T(p)+T(q) para todo p,1)q € P2

2) T(Kp) = k·T(p) para todo p € P2 y todo k€R

En cada condición los dos resultados deben ser iguales como lo podemos comprobar en el ejemplo anterior.

Y siendo una aplicación y cumpliendo esas dos condiciones se cumple que T es una transformación lineal.

Enlace de archivo

miércoles, 4 de noviembre de 2020

Mis Aprendizajes sobre la programación Orientada a Objeto

MAPA MENTAL


Paradigma de la Programación a Objetos

El paradigma de la programación orientada a objetos (POO), es una forma de pensar para crear el software que deseamos, este nace de la necesidad de crear software más complejos, seguros, con más diseño, fáciles de hacerles mantenimiento y estables. El hecho de programar en un lenguaje orientado a objetos, no garantiza que se programe orientado a objetos, ya que como se ha dicho es una forma de pensar nuestro software, de nada nos servirá crear programas en lenguajes orientados a objetos, si seguimos pensando a la hora de programar en la estructura de la programación procedural.
Es importante decir que la POO produce software natural, es fácil de entender, está dirigido a programar en términos del problema y el programa se expresa libremente. 

Es lógico decir que la POO, se basa en la creación de objetos, cada objeto es una cosa, una entidad que hace determinadas acciones y estos objetos al interactuar conforman un sistema, cuyo resultado es el programa que hemos realizado. Entonces lo que nos dice la POO es que programemos sobre cada uno de los objetos, estos objetos se pueden comunicar por medio de mensajes y pueden obtener tener atributos (características) de otros objetos, esto último se hace gracias a la Herencia, que es uno de los elementos fundamentales de la POO.

La herencia es la re-utilización de código, aquí se permite la creación de nuevos objetos abstrayendo los atributos y métodos de una clase. 

La clase es un plano a partir del cual el objeto es construido, se indica que atributos y cómo funcionan los métodos que tendrá el objeto. Muchos objetos pueden ser construidos a partir de la misma clase. También se puede pensar en la clase, como en un tipo de datos de alto nivel o que el programador define. Sintaxis de definición de clases
La sintaxis básica para definir una clase es la que a continuación se muestra:

class <nombreClase>
{
<miembros>
}
Los miembros son los métodos y datos de los que va a disponer nuestro objeto.
Los métodos son un conjunto de instrucciones a las que se les asocia un nombre, de modo que si se desea ejecutarlas basta referenciarlas a través de dicho nombre en vez de tener que escribirlas. 
La sintaxis que se usa en C# para definir los métodos es la siguiente:
<tipoDevuelto> <nombreMétodo> (<parametros>)
{
<instrucciones>
}


Estándares para la correcta utilización de la programación orientada a objetos
1. Organización de los ficheros:
·                     Ficheros de código fuente.
·                     Estructura de directorios.
2. Indentación: 
·                     Espacios en blanco.
·                     Ajuste en linea.
3. Comentarios: 
·                     Comentarios de bloque.
·                     Comentarios de linea.
·                     Comentarios de documentación.
4. Declaraciones:
·                     Declaraciones de variables locales.
·                     Declaraciones de miembros de clase e interfaces.
·                     Inicializaciones.
5. Sentencias:
·                     Sentencias simples.
·                     Sentencias de retorno.
·                     Sentencias if, if-else, if else-if else.
·                     Sentencias for/for each.
·                     Sentencias while/do while
·                     Sentencias switch.
·                     Sentencias try catch.
6. Espaciado:
·                     linea en blanco.
·                     Espacios entre términos.
·                     Formato de tabla.
7. Convenios de nombres:
·                     Mayúsculas/minúsculas.
·                     Directivas para asignación de nombres.
·                     Nombres de clases.
·                     Nombres de interfaces.
·                     Nombres de enumeraciones.
·                     Nombres de campos estáticos, readonly y constantes.
·                     Nombres de parámetros y campos no constantes.
·                     Nombres de variables.
·                     Nombres de métodos.
·                     Nombres de propiedades.
·                     Nombres de eventos.
8. Practicas de programación:
·                     Visibilidad.
·                     No utilizar números mágicos.