Skip to content

Commit 647d148

Browse files
committed
add types to new padua point routines
1 parent 7d06f39 commit 647d148

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
@@ -409,15 +409,19 @@ def legendre_gauss_lobatto_tensor_product_nodes(dims: int, n: int) -> np.ndarray
409409

410410
# {{{ Padua nodes
411411

412-
def _make_padua_grid_nodes(alpha, beta, order):
412+
def _make_padua_grid_nodes(
413+
alpha: float, beta: float, order: int
414+
) -> Tuple[np.ndarray, np.ndarray]:
413415
from modepy.quadrature.jacobi_gauss import jacobi_gauss_lobatto_nodes
414416
mu = jacobi_gauss_lobatto_nodes(alpha, beta, order)
415417
eta = jacobi_gauss_lobatto_nodes(alpha, beta, order + 1)
416418

417419
return mu, eta
418420

419421

420-
def _make_padua_jacobi_nodes(mu, eta, odd_or_even):
422+
def _make_padua_jacobi_nodes(
423+
mu: np.ndarray, eta: np.ndarray, odd_or_even: int
424+
) -> np.ndarray:
421425
nodes = np.stack(np.meshgrid(mu, eta, indexing="ij"))
422426
indices = np.sum(
423427
np.meshgrid(np.arange(mu.size), np.arange(eta.size), indexing="ij"),
@@ -426,30 +430,32 @@ def _make_padua_jacobi_nodes(mu, eta, odd_or_even):
426430
return nodes[:, indices % 2 == odd_or_even].reshape(2, -1)
427431

428432

429-
def _first_padua_jacobi_nodes(alpha, beta, order):
433+
def _first_padua_jacobi_nodes(alpha: float, beta: float, order: int) -> np.ndarray:
430434
mu, eta = _make_padua_grid_nodes(alpha, beta, order)
431435
return _make_padua_jacobi_nodes(mu, eta, 0)
432436

433437

434-
def _second_padua_jacobi_nodes(alpha, beta, order):
438+
def _second_padua_jacobi_nodes(alpha: float, beta: float, order: int) -> np.ndarray:
435439
# NOTE: these are just "rotated" by pi/2 from the first family
436440
mu, eta = _make_padua_grid_nodes(alpha, beta, order)
437441
return _make_padua_jacobi_nodes(eta, mu, 0)
438442

439443

440-
def _third_padua_jacobi_nodes(alpha, beta, order):
444+
def _third_padua_jacobi_nodes(alpha: float, beta: float, order: int) -> np.ndarray:
441445
# NOTE: these are just "rotated" by pi from the first family
442446
mu, eta = _make_padua_grid_nodes(alpha, beta, order)
443447
return _make_padua_jacobi_nodes(mu, eta, 1)
444448

445449

446-
def _fourth_padua_jacobi_nodes(alpha, beta, order):
450+
def _fourth_padua_jacobi_nodes(alpha: float, beta: float, order: int) -> np.ndarray:
447451
# NOTE: these are just "rotated" by 2 pi/3 from the first family
448452
mu, eta = _make_padua_grid_nodes(alpha, beta, order)
449453
return _make_padua_jacobi_nodes(eta, mu, 1)
450454

451455

452-
def padua_jacobi_nodes(alpha, beta, order, family="first"):
456+
def padua_jacobi_nodes(
457+
alpha: float, beta: float, order: int,
458+
family: str = "first") -> np.ndarray:
453459
r"""Generalized Padua-Jacobi nodes.
454460
455461
The Padua-Jacobi nodes are constructed from an interlaced grid of
@@ -486,7 +492,7 @@ def padua_jacobi_nodes(alpha, beta, order, family="first"):
486492
return nodes
487493

488494

489-
def padua_nodes(order, family="first"):
495+
def padua_nodes(order: int, family: str = "first") -> np.ndarray:
490496
r"""Standard Padua nodes.
491497
492498
Padua nodes are Padua-Jacobi nodes with :math:`\alpha = \beta = -0.5`,

0 commit comments

Comments
 (0)