!set title=Solución afín

!goto $wims_read_parm

:present
Tenemos un sistema lineal con incógnitas (x,y,z):
<p><center><table border=0>
 <tr><td rowspan=4>$m_leftbrace4
 <td align=center>a<sub>11</sub>x +
  a<sub>12</sub>y + a<sub>13</sub>z = b<sub>1</sub>
 <tr><td align=center>a<sub>21</sub>x +
  a<sub>22</sub>y + a<sub>23</sub>z = b<sub>2</sub>
 <tr><td align=center>...
 <tr><td align=center>a<sub>m1</sub>x +
  a<sub>m2</sub>y + a<sub>m3</sub>z = b<sub>m</sub>
 </table></center> <p>

<p>
Sabiendo que el punto v<sub>1</sub> = ($val11) es una solución del sistema,
el objetivo es determinar si el punto u&nbsp;=&nbsp;($val10)
también es solución.
<p>
Además de cuestiones generales sobre el sistema, también puedes preguntar si los puntos
siguientes son soluciones del sistema:
<p><center>
	v<sub>2</sub> = ($val12) , v<sub>3</sub> = ($val13) ,
	v<sub>4</sub> = ($val14) .
</center> <p>
!exit

:form
 El punto u
 !formselect ans1 list ??,1,2 prompt ????, es, no es
 una solución del sistema.
 !exit

:ans
 Piensas que u
 !item $ans1 of es, no es
 una solución del sistema.
 !ifval $ans1=$good1
  <font color=green>Correcto</font>.
 !else
  <font color=red>Estás equivocado</font>.
  <p>
  De hecho, los puntos u, v<sub>1</sub> y v<sub>$[$val15+1]</sub> están 
  en la misma recta del espacio. Como
  !if $good1=1
   v<sub>1</sub> y v<sub>$[$val15+1]</sub> son soluciones del sistema,
   todos los puntos de esa recta son también soluciones, en particular u.
  !else
   v<sub>1</sub> es una solución del sistema v<sub>$[$val15+1]</sub> nolo es,
   ningún punto de la línea distinto de v<sub>1</sub> puede ser solución del
   sistema, en particular u no es una solución.
  !endif
 !endif
 !exit

:init
objname=este sistema lineal
hint=El conjunto de soluciones de un sistema lineal es un espacio afín.

sh=!shuffle 6
sh1=!item 1 of $sh
sh2=!item 2 of $sh
n1=!item $sh1 of -3,-2,-1,1,2,3
n2=!item $sh2 of -3,-2,-1,1,2,3
range=5
random=random($[2*$range+1])-$range
pari_header=rk=0; while(rk==0,v=matrix(1,3,x,y,$random);rk=matrank(v));\
	origin=matrix(1,3,x,y,$random);\
	v1=$n1*v+origin; v2=$n2*v+origin;\
	rk=0; while(rk<2,v3=matrix(1,3,x,y,$random); rk=matrank(concat(v~,v3~)));\
	rk=0; while(rk<2,v4=matrix(1,3,x,y,$random); rk=matrank(concat(v~,v4~)));\
	v3=v3+origin; v4=v4+origin
pariout=!exec pari print(origin)\
	print(v1)\
	print(v2)\
	print(v3)\
	print(v4)
!distribute lines $pariout into u,v1,v2,v3,v4
val10=!nospace $u
val11=!nospace $v1
sh=!shuffle 3
v=!lines $sh of $v2\
$v3\
$v4
val12=!line 1 of $v
val13=!line 2 of $v
val14=!line 3 of $v
val15=!positionof item 1 in $sh
good1=!randitem 1,2

m_=!randint 2,5
!if $m_!=3
 a_=de una matriz no cuadrada no tiene sentido
 w_=-1
!else
 a_=de la matriz de los coeficientes = ??
 w_=0
!endif

parm1=rank g of the matrix of coefficients\
 Rango de la matriz de los coeficientes\
 El rango de la matriz de los coeficientes es igual a ??
val1=2
weight1=0
parm2=determinant of the matrix of coefficients\
 Determinante de la matriz de los coeficientes\
 El determinante $a_
val2=0
weight2=$w_
parm3=trace of the matrix of coefficients\
 Traza de la matriz de los coeficientes\
 La traza $a_
val3=!randint -20,20
weight3=$w_
parm4=number of equations\
 Número de cuaciones del sistema\
 Este sistema tiene m = ?? ecuaciones
val4=$m_
weight4=0
parm5=number of independent equations\
 Número de cuaciones independientes\
 Este sistema tiene 2 ecuaciones independientes
weight5=0
parm6=test of solution v<sub>2</sub>\
 ¿Es v<sub>2</sub> una solución\
 v<sub>2</sub> ?? una solución del sistema
val6=no es
weight6=0
parm7=test de solution v<sub>3</sub>\
 ¿Es v<sub>3</sub> un asolución\
 v<sub>3</sub> ?? una solución del sistema
val7=no es
weight7=0
parm8=test de solution v<sub>4</sub>\
 ¿Es v<sub>4</sub> una solución\
 v<sub>4</sub> ?? una solución del sistema
val8=no es
weight8=0

parmcnt=8
anscnt=1
minask=1

weight$[$val15+5]=1
!if $good1=1
 val$[$val15+5]=is
!endif

!exit

:info
!if $ask iswordof 2 3 and 4 notitemof $gotlist
  weight$ask=-1
  comment=Has preguntado por el determinante o traza de una matriz si saber si\
  la matriz es cuadrada. ¿Qué ocurre si la matriz no es cuadrada?
!endif
!exit

:final
 !bound ans1 within 1,2 default ??
 !ifval $ans1=$good1
  thisscore=1
 !endif
!exit

