Skip to content

Commit 468c045

Browse files
committed
add types to new padua point routines
1 parent 9c0d953 commit 468c045

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

modepy/nodes.py

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -388,15 +388,19 @@ def legendre_gauss_lobatto_tensor_product_nodes(dims: int, n: int) -> np.ndarray
388388

389389
# {{{ Padua nodes
390390

391-
def _make_padua_grid_nodes(alpha, beta, order):
391+
def _make_padua_grid_nodes(
392+
alpha: float, beta: float, order: int
393+
) -> Tuple[np.ndarray, np.ndarray]:
392394
from modepy.quadrature.jacobi_gauss import jacobi_gauss_lobatto_nodes
393395
mu = jacobi_gauss_lobatto_nodes(alpha, beta, order)
394396
eta = jacobi_gauss_lobatto_nodes(alpha, beta, order + 1)
395397

396398
return mu, eta
397399

398400

399-
def _make_padua_jacobi_nodes(mu, eta, odd_or_even):
401+
def _make_padua_jacobi_nodes(
402+
mu: np.ndarray, eta: np.ndarray, odd_or_even: int
403+
) -> np.ndarray:
400404
nodes = np.stack(np.meshgrid(mu, eta, indexing="ij"))
401405
indices = np.sum(
402406
np.meshgrid(np.arange(mu.size), np.arange(eta.size), indexing="ij"),
@@ -405,30 +409,32 @@ def _make_padua_jacobi_nodes(mu, eta, odd_or_even):
405409
return nodes[:, indices % 2 == odd_or_even].reshape(2, -1)
406410

407411

408-
def _first_padua_jacobi_nodes(alpha, beta, order):
412+
def _first_padua_jacobi_nodes(alpha: float, beta: float, order: int) -> np.ndarray:
409413
mu, eta = _make_padua_grid_nodes(alpha, beta, order)
410414
return _make_padua_jacobi_nodes(mu, eta, 0)
411415

412416

413-
def _second_padua_jacobi_nodes(alpha, beta, order):
417+
def _second_padua_jacobi_nodes(alpha: float, beta: float, order: int) -> np.ndarray:
414418
# NOTE: these are just "rotated" by pi/2 from the first family
415419
mu, eta = _make_padua_grid_nodes(alpha, beta, order)
416420
return _make_padua_jacobi_nodes(eta, mu, 0)
417421

418422

419-
def _third_padua_jacobi_nodes(alpha, beta, order):
423+
def _third_padua_jacobi_nodes(alpha: float, beta: float, order: int) -> np.ndarray:
420424
# NOTE: these are just "rotated" by pi from the first family
421425
mu, eta = _make_padua_grid_nodes(alpha, beta, order)
422426
return _make_padua_jacobi_nodes(mu, eta, 1)
423427

424428

425-
def _fourth_padua_jacobi_nodes(alpha, beta, order):
429+
def _fourth_padua_jacobi_nodes(alpha: float, beta: float, order: int) -> np.ndarray:
426430
# NOTE: these are just "rotated" by 2 pi/3 from the first family
427431
mu, eta = _make_padua_grid_nodes(alpha, beta, order)
428432
return _make_padua_jacobi_nodes(eta, mu, 1)
429433

430434

431-
def padua_jacobi_nodes(alpha, beta, order, family="first"):
435+
def padua_jacobi_nodes(
436+
alpha: float, beta: float, order: int,
437+
family: str = "first") -> np.ndarray:
432438
r"""Generalized Padua-Jacobi nodes.
433439
434440
The Padua-Jacobi nodes are constructed from an interlaced grid of
@@ -465,7 +471,7 @@ def padua_jacobi_nodes(alpha, beta, order, family="first"):
465471
return nodes
466472

467473

468-
def padua_nodes(order, family="first"):
474+
def padua_nodes(order: int, family: str = "first") -> np.ndarray:
469475
r"""Standard Padua nodes.
470476
471477
Padua nodes are Padua-Jacobi nodes with :math:`\alpha = \beta = -0.5`,

0 commit comments

Comments
 (0)