martes, 16 de julio de 2013

Poster


Cabe resaltar que debido a que el método de Lin Bairstow es muy extenso, en el poster no estan todas las iteraciones de este, mas si esta el resultado.

lunes, 15 de julio de 2013

NotiMétodos 2: El puente Peteti.



¡Vuelve el programa más aclamado por nuestro profesor de Métodos Numéricos! ¡Con mucho menos presupuesto que el anterior, pero igual de informativo!

http://www.youtube.com/watch?v=kkqMtgqSaCQ

domingo, 14 de julio de 2013

Archivos metodistas

Codigo en C++ para la regla de Horner

#include<stdio.h>
#include<conio.h>
#include<math.h>

int Exponencial(float x0,int aux2){
float product;
product = 1.00;

while ((aux2)!=0){
product *= x0;
aux2--;
}
return product; /*de aqui sale el cuadrada de cada*/
}

float Horner (float x0,float *P, int N){
float *Q,aux,a;
int i,j,product;

aux = 0.00;

Q= (double*)malloc(N*sizeof(double)); /*reservamos la memoria para el vector*/


for (i=N-1;i>=0;i--){
if (i==N-1)
Q[i] = P[i]; /*bn=an*/
else
Q[i] = P[i] + (Q[i+1]*x0); /*bk=ak+ bk+1*x */

}

printf("{ ");

for ( i=0;i printf("-%f",Q[i]);
printf("} ");

j = 0;
for (i=N-1;i>=0;i--){

if (i!=0)

aux += Q[i]*Exponencial(x0,N-1-j-1);/*te calcula las b para poder multiplicarlo*/
/* a=Exponencial(x0,N-1-j-1);*/
printf("da:%f\n",aux);
j++;
}
printf ("E valor numerico del polinomio es:%f\n", aux);
return 0.00;
}
int main(){
float P[5]={-61.0,50.00,-48.00,16.00,3.00};
Horner (3,P, 5);

return 0;

}

Archivos metodistas

Codigo en C++ para el método de Lin Bairstow

#include <stdlib.h>
#include <stdio.h>
#include <math.h>

#define MAX_TERMS 21
int precision_error_flag;
double a[MAX_TERMS],b[MAX_TERMS],c[MAX_TERMS],d[MAX_TERMS];

void find_poly_roots(int n)
{
                               double r,s,dn,dr,ds,drn,dsn,eps;
                int i,iter;

                r = s = 0;
                dr = 1.0;
                ds = 0;
                eps = 1e-14;
                iter = 1;

                while ((fabs(dr)+fabs(ds)) > eps) {
                               if ((iter % 200) == 0) {
                                               r=(double)rand()/16000.;
                               }
                               if ((iter % 500) == 0) {
                                               eps*=10.0;
                                               precision_error_flag=1;
                                               printf("Loss of precision\n");
                               }
                               b[1] = a[1] - r;
                               c[1] = b[1] - r;

                               for (i=2;i<=n;i++){
                                               b[i] = a[i] - r * b[i-1] - s * b[i-2];
                                               c[i] = b[i] - r * c[i-1] - s * c[i-2];
                               }
                               dn=c[n-1] * c[n-3] - c[n-2] * c[n-2];
                               drn=b[n] * c[n-3] - b[n-1] * c[n-2];
                               dsn=b[n-1] * c[n-1] - b[n] * c[n-2];

                               if (fabs(dn) < 1e-16) {
                                               dn = 1;
                                               drn = 1;
                                               dsn = 1;
                               }
                               dr = drn / dn;
                               ds = dsn / dn;

                               r += dr;
                               s += ds;
                               iter++;
                }
                for (i=0;i<n-1;i++)
                               a[i] = b[i];
                a[n] = s;
                a[n-1] = r;
}


void main()
{
                int i,n,order=0;
                double tmp;

                while ((order < 2) || (order > MAX_TERMS-1)) {
                               printf("Polynomial order (2-20): ");
                               scanf("%d",&order);
                }
                printf("Enter coefficients, high order to low order.\n");
                for (i=0;i<=order;i++){
                               printf("a(%d)=",i);
                               scanf("%lf",&a[i]);
                               if (i==0) {
                                               tmp=a[i];
                                               a[i]=1.0;
                               }
                               else a[i]/=tmp;
                               d[i]=a[i];
                }
                b[0]=c[0]=1.0;
                n=order;
                precision_error_flag=0;
                while (n > 2) {
                               find_poly_roots(n);
                                                               n-=2;
                }
                printf("The quadratic factors are:\n");
               
                for (i=order;i>=2;i-=2) /* print quadratics */
                                printf("t^2  %+.15lg t  %+.15lg\n",a[i-1],a[i]);
                if ((n % 2) == 1)
                               printf("The linear term is: \nt  %+.15lg\n",a[1]);
}







Leonard Bairstow

Sir Leonard Bairstow (1880-1963), fue miembro de la Orden del Imperio Británico y nació en 1880 en Halifax, West Yorkshire. Es recordado principalmente por sus trabajos en aviación y por el Método de Bairstow, mediante el cual se pueden encontrar las raíces enteras e imaginarias de un polinomio de grado arbitrario.

Sir Leonard Bairstow fue hijo de Uriah Bairstow, hombre acaudalado de Halifax, West Yorkshire y [matemático] entusiasta. De niño, Leonard asistió a la escuela Queens Road and Moorside Council Schools, antes de ser inscrito en Heath Grammar School, en el cual permaneció de manera breve para ser luego transferido a Council Secondary School - conocida luego como Higher Grade School. Obtuvo una beca en el Royal College of Science en donde obtuvo el patrocinio Whitworth Scholarship que le permitió realizar investigaciones en explosión de gases.

Asistió luego al National Physical Laboratory (Reino Unido), en Bushy Park, en donde fue puesto a cargo del área de investigación en aeronáutica. Mantuvo la Dirección de la Oficina Zaharoff de Aviación en el Imperial College durante el período de 1920-1949 para ser nombrado luego por la monarquía como Sir Leonard Bairstow.

Fue también miembro de la Royal Society of London y de la Royal Aeronautical Society





William George Horner


William George Horner (Bristol, Inglaterra , 22 de septiembre de 1789 – Bath, Inglaterra, 1837) fue un matemático inglés.A los 14 años se convirtió en maestro, cuatro años después se convirtió en director de la misma escuela en que estudió. En 1809 se trasladó a Bath, donde fundó su propio colegio.
Como investigador, sólo tiene en su haber una contribución, el llamado algoritmo de Horner para resolver ecuaciones algebraicas, publicado por la Royal Society en 1819. Este método alcanzó cierta popularidad en Inglaterra y Estados Unidos gracias al también matemático De Morgan, que lo utilizó en sus artículos divulgativos, aunque finalmente se popularizó la regla de Paolo Ruffini, descrito y publicado en 1814, por el cual le fue concedida la medalla de oro por la Italian Mathematical Society for Science. Sin embargo, ni Ruffini, ni Horner fueron los primeros en descubrir este método ya que Zhu Shijie lo había empleado 500 años antes.
Fue educado en la Escuela Kingswood Bristol. A la edad casi increíble de 14 años se convirtió en asistente de maestro en la escuela Kingswood en 1800 y cuatro años más tarde director. Salió de Bristol y fundó su propia escuela en 1809; en el seminario de 27 Grosvenor Place en Bath.
Horner es en gran parte recordado por un método, el método de Horner, de la resolución de ecuaciones algebraicas se le atribuyen por Augustus De Morgan y otros. Ha publicado sobre el tema en las Philosophical Transactions de la Royal Society de Londres en 1819, la presentación de su artículo el 1 de julio. Pero Fuller [ 7 ] ha señalado que, en contra de De Morgan afirmación de s ', este artículo no contiene el método, aunque uno publicado por Horner en 1830 lo hace. Fuller ha encontrado que Teófilo Holdred, un relojero de Londres, llegó a publicar el método en 1820 y observaciones: -
A primera vista, parece plagio Horner como el robo directo. Sin embargo, parece que era de un carácter excéntrico y obsesivo... Un hombre puede fácilmente convencerse de que primero un método rival no era muy diferente de la suya, y luego, poco a poco, llegan a creer que él mismo había inventado.
Esta discusión es un tanto discutible porque el método se había previsto en siglo 19 Europa por Paolo Ruffini (que le valió la medalla de oro ofrecida por la Sociedad Italiana para la Ciencia Matemática que buscaban mejores métodos para la resolución numérica de ecuaciones), sino que, en cualquier caso , ha sido considerado por Zhu Shijie en China en el siglo XIII. En el siglo 19 y principios de los 20 siglos de sesiones, el método de Horner tenía un lugar prominente en América y textos de Inglés en el álgebra. No es razonable pedir por qué debería ser. La respuesta se encuentra simplemente con De Morgan que dio el nombre de método de Horner y una amplia cobertura en muchos artículos que escribió.
Horner hizo otras contribuciones matemáticas, sin embargo, la publicación de una serie de documentos sobre la transformación y resolución de ecuaciones algebraicas, y él también se aplican técnicas similares a las ecuaciones funcionales.Después de que muriera Horner, su hijo llamado también William Horner mantuvo en funcionamiento la escuela de Bath.


Archivos Metodistas

A continuación podrán encontrar la información mas relevante del caso del "Puente Peteti", así como los algoritmos correspondientes para la aplicación de los métodos de Lin Bairstow y la  Regla de Horner:
http://prezi.com/htdmwsoh3mux/el-puente-peteti/