Glosario

Abreviatura para la Notación Polaca Inversa o Reverse Polish Notation.
Esta notación de sufijo es la sintaxis de entrada que casi todas las calculadoras HP usan. Básicamente hay dos tipos de RPN. Una usada en calculadoras más viejas, hace que el ENTER duplique el nivel uno del stack en la línea de edición, y otro, usado en las 28/38G/48/49/50, que hace que el ENTER duplique el nivel uno si la línea de edición no está siendo usada, y que pone el contenido de la línea de edición en el nivel uno si la línea de edición está siendo usada. RPN usa notación de sufijo, así que 1+1 es introducido 1 ENTER 1 + en vez de 1 + 1 =.
Esto puede parecer más confuso al principio, pero es mucho más sencillo con expresiones más complejas. La Notación Polaca Inversa se basa en los trabajos de el polaco Jan Lukasiewicz, quien creó la notación de prefijo ( + 1 1 ) llamada Notación Polaca.

Menores principales

13 respuestas [Último envío]
Integró: 20/03/2009
Envíos: 462
MonedasHP: 420
Imagen de VereV
AdictoHP+
Calc: HP50
Menores principales
 
Dom, 30/05/2010 - 19:37

Hola, quería saber si alguien conoce algún programa que haga menores principales.
Gracias!

Top
Integró: 08/07/2004
Envíos: 690
MonedasHP: 441
Imagen de alexis
AdictoHP+
Calc: HP50 | ROM:2.10-7, HP49G+ | ROM:2.15, Hp 35s | 2007, Hp 20b | 2008, Casio Fx-6300g | 1984
 
#1
Lun, 31/05/2010 - 17:11

A que te refieres, ¿a minimos y máximos?

Top
Integró: 20/03/2009
Envíos: 462
MonedasHP: 420
Imagen de VereV
AdictoHP+
Calc: HP50
 
#2
Lun, 31/05/2010 - 19:02

No, a los subdeterminantes de una matriz, por ejemplo:
1 2 3 4
2 5 4 1
5 1 2 6
2 3 6 4
El menor principal 1 es el determinante del objeto (1,1) o sea, 1
El menor principal 2 es el det de la matriz chiquita 2x2, o sea:
1 2
2 5
El menor principal 3 es el det de la matriz de 3x3
1 2 3
2 5 4
5 1 2
Y el otro ya es el determinante de la matriz en sí...
No se si me explique bien

PD: En economia se utiliza mucho los menores principales para analizar la estabilidad de los modelos macroeconomicos entre otra cosas, quizas y es muy probable que tambien se llame de otra manera, pero desconozco

Top
Integró: 08/07/2004
Envíos: 690
MonedasHP: 441
Imagen de alexis
AdictoHP+
Calc: HP50 | ROM:2.10-7, HP49G+ | ROM:2.15, Hp 35s | 2007, Hp 20b | 2008, Casio Fx-6300g | 1984
 
#3
Lun, 31/05/2010 - 20:07

Creo que es como el polinomio minimo, el comando PMINI

Top
Integró: 20/03/2009
Envíos: 462
MonedasHP: 420
Imagen de VereV
AdictoHP+
Calc: HP50
 
#4
Lun, 31/05/2010 - 21:15

mmm no, cuando pongo el PMINI de una matriz me tira cualquier cosa Tongue me genera una nueva matriz de 1 fila y 1 columna mas :S
no se si logre explicarme bien. El menor principal es cuando se le aplica a la matriz una eliminación de la columna y fila n veces hasta que quede el elemento (1,1) Fila 1 columna 1, o sea, el primer elemento.
1 2 3 4
5 6 7 8
9 0 1 2
3 4 5 6
el menor principal 3 sería el determinante eliminando la ultima fila y columna o sea:
|1 2 3|
|5 6 7|
|9 0 1|=-40
el 2 sería eliminando de la matriz original las 2 columnas últimas y las 2 últimas filas, o también se puede ver como eliminando la ultima columna y fila del menor principal 3, o sea:
|1 2|
|5 6|=-4
y el menor principal 1
|1|=1

Top
Integró: 26/12/2007
Envíos: 627
MonedasHP: 593
Imagen de Dani_
Calc: HP50 | ROM:2.09
 
#5
Mar, 01/06/2010 - 04:41

No se si existe algo en la calculadora o algún programa hecho, pero se puede programar, me extraña araña VereV si vos sabés hacer estas cosas y mucho más Wink

Asumo que esto es válido únicamente para matrices cuadradas cierto?

Hice un programa que supongo que es muy malo en cuanto a eficiencia, porque trabaja eliminando filas y columnas una a una y debe ser harto lento para matrices grandes.
Debe haber maneras mucho más eficientes de hacerlo eliminando de un saque la parte de la matriz que no te interesa.

Datos necesarios en el stack antes de ejecutar el programa: en el nivel 2 la matriz en cuestión, mientras que en el nivel 1 el número que representa el menor principal que voy a calcular. Luego ejecuto el siguiente programa (este código sirve para copiar y pegar en HPUserEdit):

«
SWAP DUP SIZE EVAL DROP  N M S 
«
M N 1 + S FOR i DUP SIZE EVAL DROP ROW- DROP NEXT N 1 + S FOR i DUP SIZE EVAL SWAP DROP COL- DROP NEXT DET

»

»

El símbolo que no se ve es un ->

El código ASCII del programa es el siguiente:

\<< SWAP DUP SIZE EVAL
DROP \-> N M S
  \<< M N 1 + S
    FOR i DUP SIZE
EVAL DROP ROW- DROP
    NEXT N 1 + S
    FOR i DUP SIZE
EVAL SWAP DROP COL-
DROP
    NEXT DET
  \>>
\>>

Aparentemente funciona.

Te sirve? Saludos.

PD: Tiene una falla cuando la matriz es de SxS y se pide calcular el menor principal N=S, pero ese caso es trivial ya que se trata del determinante de la matriz sin extraer ninguna columna o fila.
Acá abajo está arreglado este problema, además te avisa si ingresaste un número de principal menor demasiado grande:

«
SWAP DUP SIZE EVAL DROP  N M S 
«

IF N S > THEN "N debe ser menor o igual al número de filas o columnas de la matriz!" MSGBOX M

ELSE

IF N S ==

THEN M DET

ELSE M N 1 + S FOR i DUP SIZE EVAL DROP ROW- DROP NEXT N 1 + S FOR i DUP SIZE EVAL SWAP DROP COL- DROP NEXT DET

END

END
»

»

En ASCII:

\<< SWAP DUP SIZE EVAL
DROP \-> N M S
  \<<
    IF N S >
    THEN
"N debe ser menor o igual al n\250mero de filas o columnas de la matriz!"
MSGBOX M
    ELSE
      IF N S ==
      THEN M DET
      ELSE M N 1 + S
        FOR i DUP
SIZE EVAL DROP ROW-
DROP
        NEXT N 1 + S
        FOR i DUP
SIZE EVAL SWAP DROP
COL- DROP
        NEXT DET
      END
    END
  \>>
\>>

Ingeniero. Usuario de HP 50g.

Top
Integró: 09/03/2010
Envíos: 467
MonedasHP: 926
Imagen de zuaritx
Calc: HP48G/GX | ROM:.
 
#6
Mar, 14/12/2010 - 02:18

.

Top
Integró: 20/03/2009
Envíos: 462
MonedasHP: 420
Imagen de VereV
AdictoHP+
Calc: HP50
 
#7
Mié, 02/06/2010 - 08:28

Muchisimas gracias a ambos, lo se que era muy sencillo lo que pedía, el tema es que estoy con la facultad y no tengo tiempo de nada por eso quería saber si existía algun programa ya hecho, porque como no programo hace como 6 meses tenía que refrescar las cosas, jajaja

Muchisimas gracias a ambos!! Smile

Top
Integró: 20/03/2009
Envíos: 462
MonedasHP: 420
Imagen de VereV
AdictoHP+
Calc: HP50
 
#8
Mié, 02/06/2010 - 10:09

Bueno, ya me decidi e hice un programa para esto Tongue
Necesitaría algunos consejos, por favor pruebenlo y fíjense como hago para sacar los corchetes a lo que quiero terminar diciendo porque queda medio feo Tongue y como hago para sacar los "" que hay cuando quiero escribir {"MENOR" 3 "=" -213}

Y otra cosa, todos mis programa que escribí antes me ejecutaban perfectamente bien en modo ALG, o sea, tengo el programa .hp en una variable toco la variable presiono ENTER y funciona, pero con este no, me deja el código escrito, para correr este programa tengo que poner EVAL( nombre del programa ) para que corra, me olvide que hacía antes si es que hacía algo :S

Gracias a los 2!

«
"Menores principales"
{{ "A:" "Matriz" 3 }}
{ 1 0 }
{ }
{ 0 }
INFORM
DROP
1
GET
DUP 'A' STO
SIZE EVAL
'COL' STO
'FILAS' STO
IF FILAS COL == THEN
"DET A:" A DET 2 LIST
2 COL 1 - FOR i
"MENOR" COL i - 1 + "="
A COL i - 2 + ROW- DROP COL i - 2 + COL- DROP DUP DET
SWAP 'A' STO
4 LIST

NEXT

ELSE "Solo sirve para matrices cuadradas!" MSGBOX
END

{ 'A' 'FILAS' 'COL' } PURGE

»

Top
Integró: 26/12/2007
Envíos: 627
MonedasHP: 593
Imagen de Dani_
Calc: HP50 | ROM:2.09
 
#9
Jue, 03/06/2010 - 02:44

De nada Smile

Acá hice unos cambios como para que use menos "" y saque las {}:

«
"Menores principales"
{{ "A:" "Matriz" 3 }}
{ 1 0 }
{ }
{ 0 }
INFORM
DROP
1
GET
DUP 'A' STO
SIZE EVAL
'COL' STO
'FILAS' STO
IF FILAS COL == THEN
A DET "DET A" TAG
2 COL 1 - FOR i
"MENOR " COL i - 1 + "="
A COL i - 2 + ROW- DROP COL i - 2 + COL- DROP DUP DET
SWAP 'A' STO
STR + SWAP Q‡ STR SWAP + +

NEXT

ELSE "Solo sirve para matrices cuadradas!" MSGBOX
END

{ 'A' 'FILAS' 'COL' } PURGE

»

En la siguiente versión quedó mejor, los resultados quedan así:

DET A:323434
Menor 4:234
Menor 3:(-213) (cuando hay un número negativo ->TAG le pone paréntesis)
Menor 2:234

«
"Menores principales"
{{ "A:" "Matriz" 3 }}
{ 1 0 }
{ }
{ 0 }
INFORM
DROP
1
GET
DUP 'A' STO
SIZE EVAL
'COL' STO
'FILAS' STO
IF FILAS COL == THEN
A DET "DET A" TAG
2 COL 1 - FOR i
"MENOR " COL i - 1 + Q‡
A COL i - 2 + ROW- DROP COL i - 2 + COL- DROP DUP DET
SWAP 'A' STO
STR SWAP STR ROT SWAP + SWAP STR SWAP TAG

NEXT

ELSE "Solo sirve para matrices cuadradas!" MSGBOX
END

{ 'A' 'FILAS' 'COL' } PURGE

»

Sobre tu pregunta acerca del modo ALG ni idea...no lo uso.

Ingeniero. Usuario de HP 50g.

Top
Integró: 09/03/2010
Envíos: 467
MonedasHP: 926
Imagen de zuaritx
Calc: HP48G/GX | ROM:.
 
#10
Dom, 13/06/2010 - 11:03

He analizado un poco la cuestión de los menores, ¿en realidad que es lo que hace falta?
CASO 1 particular de orden:
ENTRADA: Matriz, número de orden
SALIDA: Determinante, Menores del número de orden de esa matriz

CASO 2 todos los menores:
ENTRADA: Matriz
SALIDA: Determinante, Todos los menores de todos los ordenes de esa matriz

CASO 3 todos los resultados:
ENTRADA: Matriz
SALIDA: Determinante, Todos los menores de todos los ordenes de esa matriz, suma acumulada de los menores en cada orden y su valor

Top
Integró: 20/03/2009
Envíos: 462
MonedasHP: 420
Imagen de VereV
AdictoHP+
Calc: HP50
 
#11
Dom, 13/06/2010 - 13:34

zuaritx cita:
He analizado un poco la cuestión de los menores, ¿en realidad que es lo que hace falta?
CASO 1 particular de orden:
ENTRADA: Matriz, número de orden
SALIDA: Determinante, Menores del número de orden de esa matriz

CASO 2 todos los menores:
ENTRADA: Matriz
SALIDA: Determinante, Todos los menores de todos los ordenes de esa matriz

CASO 3 todos los resultados:
ENTRADA: Matriz
SALIDA: Determinante, Todos los menores de todos los ordenes de esa matriz, suma acumulada de los menores en cada orden y su valor

Jaja, gracias, igual ya esta, justo antes de tu post puse el programa que hice, pasa que no venía programando y quería saber si ya existía algo de ese estilo...

Top
Integró: 09/03/2010
Envíos: 467
MonedasHP: 926
Imagen de zuaritx
Calc: HP48G/GX | ROM:.
 
#12
Mar, 14/12/2010 - 02:19

.

Top
Integró: 27/10/2010
Envíos: 1
MonedasHP: 6
Imagen de kinsay
Calc: HP50 | ROM:version
 
#13
Sáb, 04/12/2010 - 17:51

Hola he tratado de usar vuestro programa pero no me funcionaba correctamente, asi q me hice el mio propio.

Les dejo el código, hecho en HPUserEdit.

«
"Menores principales"
{{ "A:" "Matriz" 3 }}
{ 1 0 } { } { 0 } INFORM DROP OBJ DROP 'D' STO
D SIZE OBJ DROP
'COLUMNAS' STO
'FILAS' STO 
IF COLUMNAS FILAS ==
THEN
FILAS 'x' STO
DO
D DET "A" TAG
D x COL- DROP 'D' STO
D x ROW- DROP 'D' STO
x 1 - 'x' STO
UNTIL x 1 ==
END
D OBJ DROP 'D' STO
D "A" TAG
ELSE
"Solo matrices cuadradas!" MSGBOX
END
{D COLUMNAS FILAS x} PURGE
»

Top

Twitter

Cargando...

CAPTCHA
Esta pregunta es para probar si usted es un visitante humano y así evitar el spam automatizado.
9 + 8 =
Solucione este simple problema matemático e ingrese el resultado. Por ejemplo: para 1+3, ingrese 4.