TU ANUNCIO / YOUR PUBLICITY

AQUÍ PODRÍA ESTAR TU ANUNCIO: / HERE COULD BE YOUR AD E-mail

domingo, 26 de enero de 2014

Special maths used to our programming (Sintegrals and sinderivatives) / Matemáticas especiales usadas para nuestra programación (Sintegrales y siderivadas)

Mucha gente nos ha preguntado cual es la base matemática que hemos aplicado a nuestra programación.
Many people have asked us what is the mathematical basis we have applied to our programming.

Esta a sido muy original y variada. A continuación se expone una de ellas. La hemos denominado Sintegrales
This has been very original and varied. Then one of them is exposed. We have called Sintegrals.

Sintegrales/ siderivadas
Sintegrals / sinderivatives

Para el proceso de caracterización de todos los datos se debe pensar en la resolución de un cuantioso número de cálculos de sumas de términos de una sucesión. En el caso de funciones continuas la resolución de estas está tratado con las conocidas integrales en nuestro caso y dado que los datos de partida son discontinuos, o para entendernos, aplicaciones del conjunto de números naturales a reales, este procedimiento acabaría por darnos datos erróneos.

Procedamos a la siguiente definición:

For the characterization process all data should consider the resolution of a substantial number of calculations of sums of terms of a sequence. In the case of continuous functions solving these integrals is treated known in our case and since the input data are discontinuous, that is applications the set of natural numbers to real, this procedure would eventually give erroneous data.

Proceed to the following definition:

  n=n n=n 
Г(an ) = ∑   an = An 
n=1     n=1 


Por ejemplo. For example:

n=n       n=n 
Г (n)    = ∑ n = (n + 1)·n / 2
n=1       n=1 

de igual manera:
similarly:

Г (1)  = n 
Г (n)  = n²/2 + n/2 
Г (n²) = n³/3 + n²/2 + n/6 
Г (n³) = n⁴/4 + n³/2 + n²/4 
Г (n⁴) = n⁵/5 + n⁴/2 + n³/3 – n/30 
Г (n⁵) = n⁶/6 + n⁵/2 + 5n⁴/12 – n²/12 
etc.
so on.

Si tuviéramos que programar:
If we were to set:

for (i=a to b) {
...
  for (j=c to d) {
...
    for (k=e to f) {
...
      for (n=p to q) {
        s=s+n^2}
      }
...
   }
...
}


El ordenador se vería obligado a realizar ese bucle k veces.

Si este proceso está inmerso en un cálculo de 10 minutos, evitar el bucle tendría una reducción de tiempo de 10/k minutos

The computer would have to make that loop k times. 

If this process is involved in a calculation of 10 minutes, the loop would prevent a reduction of time of 10 / k minutes

for (i=a to b) {
...
  for (j=c to d) {
...
    for (k=e to f) {
...
      s=s0+n^3/3 + n^2/2 + n/6}
      }
...
   }
...
}

Esta última solución, no sólo reduce el código a 1/3 de líneas sino que lo además, y esto es lo importante, reduce el tiempo de cómputo global.

The latter solution not only reduces the code to third line but it also, and this is the most important, this reduces the overall computation time.

Propiedades de las sintegrales:
Properties of sintegrals:

Propiedad distributiva: / Distributive property: Г (α·an+β) = α·Г(an)+β·n 

Si existe el concepto de Sintegral parejo al de integral se presupone que existe el concepto opuesto, la siderivada pareja de la derivada.

If there is even the concept of integral Sintegral assumes that there is the opposite concept, couple siderivative, the derivative.

Si / If  Г(an) = An , entonces / then  Д(An) = an 

Las siderivadas se calculan fácilmente, más aun si se observa que van obteníendose los componentes del triángulo de Tartaglia. 
The siderivatives are easily calculated, even more so if you notice it is collected components Tartaglia triangle.

Д (n) = 1
Д(n²) = 2·n –1
Д (n³) = 3·n² – 3·n + 1
Д (n⁴) = 4·n³ – 6·n² + 4·n – 1
Д(n⁵) = 5·n⁴ – 10·n³ +10·n² – 5·n      + 1
Д(n⁶) = 6·n⁵ – 15·n⁴ + 20·n³ – 15·n²   + 6·n – 1
Д(n⁷) = 7·n⁶ – 21·n⁵ + 35·n⁴– 35·n³   + 21·n²    – 7·n     + 1
Д(n⁸) = 8·n⁷ – 28·n⁶ + 56·n⁵ – 70·n⁴  + 56·n³   – 28·n²  + 8·n     + 1
Д(n⁹) = 9·n⁸ – 36·n⁷ + 84·n⁶– 126·n⁵ + 126·n⁴ – 84·n³  + 36·n²  – 9·n    + 1
Д(n¹⁰) = 10·n⁹– 45·n⁸ +120·n⁷–210·n⁶ +252·n⁵  –210·n⁴ +120·n³ –45·n² +10·n  +1

Como resulta bastante tedioso calcular las sintegrales pero por el contrario las siderivadas se calculan fácilmente con lo que el cálculo del término general por ejemplo a partir de Д (n7) se calculará Г(n6): 

As is quite tedious calculating sintegrals but instead the siderivatives are easily calculated so that the calculation of the general term for example from Д (n7) calculating Г(n6):

Д(n⁷) = 7·n⁶ – 21·n⁵ + 35·n⁴– 35·n³   + 21·n²    – 7·n     + 1 

Luego:  
Then:

n⁷ = 7·Г(n⁶)–21·Г(n⁵)+35·Г(n⁴)–35·Г(n³)+21·Г(n²)–7·Г(n)+1 

Substituyendo y despejando, 
Substituting and solving,

Г(n6) = n⁷/7 + n⁶/2 + n⁵/2 – n³/6 + n/42 



SINTEGRALES DE POTENCIAS: 
SINTEGRALS OF POWERS:

Г(1/2n) = 1 – 1/2n 
Г(1/3n) = [1/2]·[1 – 1/3n] 
.  
Г(1/pn) = [(p – 1)/p]·[1 – 1/p(n+1)] 

Si / If   q=1/p ,
Г(qn) = [1/(1 – q)]·[1 – q(n+1)] 

Para el caso común del número e 
For "e" number:

Г(en) = [1/(1 – e)]·[1 – e(n+1)] 

Para las funciones que se pueden descomponer en términos de en, caso del seno, coseno, seno hiperbólico y coseno hiperbólico. La solución que se obtiene es la siguiente: 

For functions that can be decomposed in terms of in case of sine, cosine, hyperbolic sine and hyperbolic cosine. The solution obtained is:

Г(sen(αx)) = sen(αx)/(2 − 2cos(αx)) − cos(α(x + 1/2))/(2sen(αx/2)) 
Г(cos(αx)) = 1⁄2 + sen(α (x+1/2))/(2sen(α x/2)) 
Г(SH(αx)) = SH(αx)/(2 − 2CH(αx)) − CH(α(x + 1/2))/(2SH(αx/2)) 
Г(CH(αx)) = 1⁄2 + SH(α(x+1/2))/(2SH(αx/2)) 

Y para casos más complejos (importante en nuestro caso ya que suelen aparecer modificaciones por giros): 
And, for more cpmplex cases :  (important in our case because changes usually appear by turns):

Г(sen(αx+β))=[sen(β)−cos(αx+ β)]/[2−2cos(αx)]−[cos(α(x+1⁄2)+β)]/(2sen(αx/2)) 

Al repasar nuestro programa debemos fijarnos donde podemos substituir un bucle por una función equivalente. Este hecho aparentemente tan sencillo nos permitirá disminuir en gran medida el tiempo final de cómputo. 

When reviewing our program we must pay attention where we can replace a loop by an equivalent function. This seemingly simple fact will allow us to greatly reduce the final time of computation.
















No hay comentarios:

Publicar un comentario