3.2.4.3. Archivo para compilar los Runge-kutta explicitos y embebidos utilizando numba

Archivo para compilar los Runge-kutta explícitos y embebidos utilizando numba, los metodos quedan guardados en el archivo: metodos_RK.cp37-win32.pyd o metodos_RK.cpython-37m-x86_64-linux-gnu.so dependiendo del sistema operativo utilizado y pueden ser importados como un modulo cualquiera y utilizar las funciones allí definidas.

rk_generator.SSPRK3(A, B, C, D, x, h, inputValue)[fuente]

Runge-Kutta con preservado de estabilidad fuerte de orden 3, en el método se asumió entrada constante, por lo que se descarta t + h*cs

Parámetros
  • A (float64, 2d, F) – Matriz de estados

  • B (float64, 2d, C) – Matriz de entrada

  • C (float64, 2d, C) – Matriz de salida

  • D (float64, 2d, C) – Matriz de transmisión directa

  • x (float64, 2d, C) – Vector de estado

  • h (float64) – Tamaño de paso

  • inputValue (float64) – Valor de entrada al sistema

rk_generator.bogacki_shampine23(A, B, C, D, x, h, inputValue)[fuente]

Runge-Kutta embebido de Bogacki-Shampine 3(2), la integración se continua con la salida de orden 3, en el método se asumió entrada constante, por lo que se descarta t + h*cs

Parámetros
  • A (float64, 2d, F) – Matriz de estados

  • B (float64, 2d, C) – Matriz de entrada

  • C (float64, 2d, C) – Matriz de salida

  • D (float64, 2d, C) – Matriz de transmisión directa

  • x (float64, 2d, C) – Vector de estado

  • h (float64) – Tamaño de paso

  • inputValue (float64) – Valor de entrada al sistema

rk_generator.cash_karp45(A, B, C, D, x, h, inputValue)[fuente]

Runge-Kutta embebido de Cash-Karp 4(5), la integración se continua con la salida de orden 4, en el método se asumió entrada constante, por lo que se descarta t + h*cs

Parámetros
  • A (float64, 2d, F) – Matriz de estados

  • B (float64, 2d, C) – Matriz de entrada

  • C (float64, 2d, C) – Matriz de salida

  • D (float64, 2d, C) – Matriz de transmisión directa

  • x (float64, 2d, C) – Vector de estado

  • h (float64) – Tamaño de paso

  • inputValue (float64) – Valor de entrada al sistema

rk_generator.dopri54(A, B, C, D, x, h, inputValue)[fuente]

Runge-Kutta embebido de Dormand-Prince 5(4), la integración se continua con la salida de orden 5, en el método se asumió entrada constante, por lo que se descarta t + h*cs

Parámetros
  • A (float64, 2d, F) – Matriz de estados

  • B (float64, 2d, C) – Matriz de entrada

  • C (float64, 2d, C) – Matriz de salida

  • D (float64, 2d, C) – Matriz de transmisión directa

  • x (float64, 2d, C) – Vector de estado

  • h (float64) – Tamaño de paso

  • inputValue (float64) – Valor de entrada al sistema

rk_generator.fehlberg45(A, B, C, D, x, h, inputValue)[fuente]

Runge-Kutta embebido de Fehlberg 4(5), la integración se continua con la salida de orden 4, en el método se asumió entrada constante, por lo que se descarta t + h*cs

Parámetros
  • A (float64, 2d, F) – Matriz de estados

  • B (float64, 2d, C) – Matriz de entrada

  • C (float64, 2d, C) – Matriz de salida

  • D (float64, 2d, C) – Matriz de transmisión directa

  • x (float64, 2d, C) – Vector de estado

  • h (float64) – Tamaño de paso

  • inputValue (float64) – Valor de entrada al sistema

rk_generator.heun3(A, B, C, D, x, h, inputValue)[fuente]

Runge-Kutta Heun de orden 3, en el método se asumió entrada constante, por lo que se descarta t + h*cs

Parámetros
  • A (float64, 2d, F) – Matriz de estados

  • B (float64, 2d, C) – Matriz de entrada

  • C (float64, 2d, C) – Matriz de salida

  • D (float64, 2d, C) – Matriz de transmisión directa

  • x (float64, 2d, C) – Vector de estado

  • h (float64) – Tamaño de paso

  • inputValue (float64) – Valor de entrada al sistema

rk_generator.norm(x)[fuente]

Función para calcular la norma RMS de un vector. Función tomada de SciPy

Parámetros

x (numpyArray) – Vector

Devuelve

Norma rms del vector ingresado

Tipo del valor devuelto

float

rk_generator.ralston3(A, B, C, D, x, h, inputValue)[fuente]

Runge-Kutta Ralston de orden 3, en el método se asumió entrada constante, por lo que se descarta t + h*cs

Parámetros
  • A (float64, 2d, F) – Matriz de estados

  • B (float64, 2d, C) – Matriz de entrada

  • C (float64, 2d, C) – Matriz de salida

  • D (float64, 2d, C) – Matriz de transmisión directa

  • x (float64, 2d, C) – Vector de estado

  • h (float64) – Tamaño de paso

  • inputValue (float64) – Valor de entrada al sistema

rk_generator.ralston4(A, B, C, D, x, h, inputValue)[fuente]

Runge-Kutta Ralston con mínimo error de truncamiento de orden 4, en el método se asumió entrada constante, por lo que se descarta t + h*cs

Parámetros
  • A (float64, 2d, F) – Matriz de estados

  • B (float64, 2d, C) – Matriz de entrada

  • C (float64, 2d, C) – Matriz de salida

  • D (float64, 2d, C) – Matriz de transmisión directa

  • x (float64, 2d, C) – Vector de estado

  • h (float64) – Tamaño de paso

  • inputValue (float64) – Valor de entrada al sistema

rk_generator.runge_kutta2(A, B, C, D, x, h, inputValue)[fuente]

Runge-Kutta de orden 2, en el método se asumió entrada constante, por lo que se descarta t + h*cs

Parámetros
  • A (float64, 2d, F) – Matriz de estados

  • B (float64, 2d, C) – Matriz de entrada

  • C (float64, 2d, C) – Matriz de salida

  • D (float64, 2d, C) – Matriz de transmisión directa

  • x (float64, 2d, C) – Vector de estado

  • h (float64) – Tamaño de paso

  • inputValue (float64) – Valor de entrada al sistema

rk_generator.runge_kutta3(A, B, C, D, x, h, inputValue)[fuente]

Runge-Kutta de orden 3, en el método se asumió entrada constante, por lo que se descarta t + h*cs

Parámetros
  • A (float64, 2d, F) – Matriz de estados

  • B (float64, 2d, C) – Matriz de entrada

  • C (float64, 2d, C) – Matriz de salida

  • D (float64, 2d, C) – Matriz de transmisión directa

  • x (float64, 2d, C) – Vector de estado

  • h (float64) – Tamaño de paso

  • inputValue (float64) – Valor de entrada al sistema

rk_generator.runge_kutta4(A, B, C, D, x, h, inputValue)[fuente]

Runge-Kutta de orden 4, en el método se asumió entrada constante, por lo que se descarta t + h*cs

Parámetros
  • A (float64, 2d, F) – Matriz de estados

  • B (float64, 2d, C) – Matriz de entrada

  • C (float64, 2d, C) – Matriz de salida

  • D (float64, 2d, C) – Matriz de transmisión directa

  • x (float64, 2d, C) – Vector de estado

  • h (float64) – Tamaño de paso

  • inputValue (float64) – Valor de entrada al sistema

rk_generator.runge_kutta5(A, B, C, D, x, h, inputValue)[fuente]

Runge-Kutta de orden 5, en el método se asumió entrada constante, por lo que se descarta t + h*cs

Parámetros
  • A (float64, 2d, F) – Matriz de estados

  • B (float64, 2d, C) – Matriz de entrada

  • C (float64, 2d, C) – Matriz de salida

  • D (float64, 2d, C) – Matriz de transmisión directa

  • x (float64, 2d, C) – Vector de estado

  • h (float64) – Tamaño de paso

  • inputValue (float64) – Valor de entrada al sistema

rk_generator.tres_octavos4(A, B, C, D, x, h, inputValue)[fuente]

Runge-Kutta 3/8 de orden 4, en el método se asumió entrada constante, por lo que se descarta t + h*cs

Parámetros
  • A (float64, 2d, F) – Matriz de estados

  • B (float64, 2d, C) – Matriz de entrada

  • C (float64, 2d, C) – Matriz de salida

  • D (float64, 2d, C) – Matriz de transmisión directa

  • x (float64, 2d, C) – Vector de estado

  • h (float64) – Tamaño de paso

  • inputValue (float64) – Valor de entrada al sistema