711
711
@deffn {Funci@'on} gramschmidt (@var{x})
712
@deffnx {Funci@'on} gschmit (@var{x})
714
Ejecuta el algoritmo de ortogonalizaci@'on de Gram-Schmidt sobre @var{x}, que puede ser una matriz o una lista de listas. La funci@'on @code{gramschmidt} no altera el valor de @var{x}.
716
Si @var{x} es una matriz, el algoritmo se aplica a las filas de @var{x}. Si @var{x} es una lista de listas, el algoritmo se aplica a las sublistas, las cuales deben tener el mismo n@'umero de miembros. En cualquier caso, el valor devuelto es una lista de listas, cuyas sublistas son ortogonales. @c FALTA COMPLETAR ESTE PARRAFO
718
La funci@'on @code{factor} es invocada en cada paso del algoritmo para simplificar resultados intermedios. Como consecuencia, el valor retornado puede contener enteros factorizados.
712
@deffnx {Funci@'on} gramschmidt (@var{x}, @var{F})
714
Ejecuta el algoritmo de ortogonalizaci@'on de Gram-Schmidt sobre @var{x},
715
que puede ser una matriz o una lista de listas. La funci@'on
716
@code{gramschmidt} no altera el valor de @var{x}.
717
El producto interno por defecto empleado en @code{gramschmidt} es
718
@code{innerproduct}, o @var{F}, si se ha hecho uso de esta opci@'on.
720
Si @var{x} es una matriz, el algoritmo se aplica a las filas de @var{x}. Si
721
@var{x} es una lista de listas, el algoritmo se aplica a las sublistas,
722
las cuales deben tener el mismo n@'umero de miembros. En cualquier caso,
723
el valor devuelto es una lista de listas, cuyas sublistas son ortogonales.
724
@c Falta completar este p'arrafo
726
La funci@'on @code{factor} es invocada en cada paso del algoritmo para
727
simplificar resultados intermedios. Como consecuencia, el valor retornado
728
puede contener enteros factorizados.
720
730
El nombre @code{gschmit} es sin@'onimo de @code{gramschmidt}.
736
Algoritmo de Gram-Schmidt utilizando el producto interno por defecto.
740
@c x: matrix ([1, 2, 3], [9, 18, 30], [12, 48, 60]);
741
@c y: gramschmidt (x);
742
@c map (innerproduct, [y[1], y[2], y[3]], [y[2], y[3], y[1]]);
727
(%i1) load ("eigen")$
728
Warning - you are redefining the Macsyma function eigenvalues
729
Warning - you are redefining the Macsyma function eigenvectors
730
746
(%i2) x: matrix ([1, 2, 3], [9, 18, 30], [12, 48, 60]);
739
755
(%o3) [[1, 2, 3], [- ---, - --, ---], [- ----, ----, 0]]
741
(%i4) i: innerproduct$
742
(%i5) [i (y[1], y[2]), i (y[2], y[3]), i (y[3], y[1])];
757
(%i4) map (innerproduct, [y[1], y[2], y[3]], [y[2], y[3], y[1]]);
761
Algoritmo de Gram-Schmidt utilizando un producto interno especificado
766
@c ip (f, g) := integrate (f * g, u, a, b);
767
@c y : gramschmidt ([1, sin(u), cos(u)], ip), a= -%pi/2, b=%pi/2;
768
@c map (ip, [y[1], y[2], y[3]], [y[2], y[3], y[1]]), a= -%pi/2, b=%pi/2;
772
(%i2) ip (f, g) := integrate (f * g, u, a, b);
773
(%o2) ip(f, g) := integrate(f g, u, a, b)
774
(%i3) y : gramschmidt ([1, sin(u), cos(u)], ip), a= -%pi/2, b=%pi/2;
776
(%o3) [1, sin(u), --------------]
778
(%i4) map (ip, [y[1], y[2], y[3]], [y[2], y[3], y[1]]), a= -%pi/2, b=%pi/2;