Skip to content

Commit 93fbaf0

Browse files
committed
adjusted README, gave up on import, added badge
1 parent d4434bf commit 93fbaf0

File tree

7 files changed

+28
-22
lines changed

7 files changed

+28
-22
lines changed

.github/workflows/docs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ on:
55
push:
66
branches:
77
- '**'
8-
# paths:
9-
# - docs/guide/**
8+
paths:
9+
- docs/guide/**
1010

1111
# This job installs dependencies, builds the book, and pushes it to `gh-pages`
1212
jobs:

.github/workflows/draft-pdf.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ jobs:
1111
uses: openjournals/openjournals-draft-action@master
1212
with:
1313
journal: joss
14-
paper-path: documents/joss_paper/paper.md
14+
paper-path: docs/joss_paper/paper.md
1515
- name: Upload
1616
uses: actions/upload-artifact@v4
1717
with:
1818
name: paper
1919
# This is the output path where Pandoc will write the compiled
2020
# PDF. Note, this should be the same directory as the input
2121
# paper.md
22-
path: documents/joss_paper/paper.pdf
22+
path: docs/joss_paper/paper.pdf

README.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,20 @@
55
[![status](https://joss.theoj.org/papers/851d659a3a85536bfc6b86de45a1641d/status.svg)](https://joss.theoj.org/papers/851d659a3a85536bfc6b86de45a1641d)
66
[![CI](https://github.com/AndrewGibbs/PathFinder/actions/workflows/ubuntu.yml/badge.svg)](https://github.com/AndrewGibbs/PathFinder/actions/workflows/ubuntu.yml//badge.svg)
77
[![CI](https://github.com/AndrewGibbs/PathFinder/actions/workflows/windows.yml/badge.svg)](https://github.com/AndrewGibbs/PathFinder/actions/workflows/windows.yml//badge.svg)
8+
[![Documentation Status](https://img.shields.io/badge/docs-published-success)](https://andrewgibbs.github.io/PathFinder/)
89

910

10-
```{include} docs/intro_insert.md
11+
PathFinder is a Matlab/Octave toolbox for the numerical evaluation of highly oscillatory integrals. Specifically, PathFinder can efficiently evaluate integrals of the form
12+
13+
$$
14+
I = \int_{a}^b f(z)\exp(\mathrm{i}\omega g(z)) \mathrm{d}z
15+
$$
16+
17+
where $g$ is a polynomial, $f$ is entire (analytic everywhere in $\mathbb{C}$), $\omega>0$ is a frequency parameter, and the endpoints $a$ and $b$ may be finite or infinite. Further, it is assumed that $I$ is a convergent integral and that $|f(z)|$ grows sub-exponentially as $|z|\to\infty$.
18+
19+
PathFinder is based on steepest descent contour deformation, but it can be easily used without a deep understanding of the underlying mathematics; it is sufficient to understand the conditions in the previous paragraph.
20+
21+
For information about installation, syntax and how to contribute, please refer to [the full documentation](https://andrewgibbs.github.io/PathFinder/).
1122

1223
## Acknowledgments
1324

docs/guide/intro.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1-
# PathfFinder Documentation
1+
# PathFinder Documentation
22

3-
```{include} ../intro_insert.md
3+
PathFinder is a Matlab/Octave toolbox for the numerical evaluation of highly oscillatory integrals. Specifically, PathFinder can efficiently evaluate integrals of the form
44

5+
$$
6+
I = \int_{a}^b f(z)\exp(\mathrm{i}\omega g(z)) \mathrm{d}z
7+
$$
58

6-
```{tableofcontents}
7-
```
9+
where $g$ is a polynomial, $f$ is entire (analytic everywhere in $\mathbb{C}$), $\omega>0$ is a frequency parameter, and the endpoints $a$ and $b$ may be finite or infinite. Further, it is assumed that $I$ is a convergent integral and that $|f(z)|$ grows sub-exponentially as $|z|\to\infty$.
10+
11+
PathFinder is based on steepest descent contour deformation, but it can be easily used without a deep understanding of the underlying mathematics; it is sufficient to understand the conditions in the previous paragraph. This document intends to provide a full explanation of **how to use PathFinder**. For a full explanation of the underlying mathematics, the interested reader is referred to {cite:p}`PFpaper`.

docs/guide/theory/rootfinding.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Construction of Coefficients for Polynomial Root-finding Problems in PathFinder
22

3-
### Outline
3+
## Outline
44
In the original paper about the PathFinder algorithm In the paper {cite:p}`PFpaper`, the derivations of some root-finding procedures were deemed too trivial to include. Unfortunately, these derivations are not trivial enough to explain within the code's comments, so full details are given here for anyone interested in fully understanding the algorithm/code.
55

66
Following the notation of {cite:p}`PFpaper`, we write the polynomial phase function as
@@ -11,7 +11,7 @@ $$
1111

1212
We use $\xi$ to denote the center of a complex ball, which is *usually* a stationary point.
1313

14-
### Finding the Intersection of Rays with the Boundary of the Non-oscillatory Region
14+
## Finding the Intersection of Rays with the Boundary of the Non-oscillatory Region
1515
In section 2.2 of the paper {cite:p}`PFpaper`, we discuss the procedure for choosing the balls around the stationary points. This can be broken down into several smaller root-finding problems of the following form: Given $\theta$ and $\xi$, find $r>0$ such that
1616

1717
$$
@@ -57,7 +57,7 @@ $$ b_j=\sum_{\ell=0}^{j}a_\ell\overline{a}_{j-\ell}, \text{ for } j=1,\ldots,2J.
5757

5858
By default, in PathFinder a Mex routine `getRGivenTheta_mex` is used to find the roots of $G$. The relevant subroutine is `get_r_given_theta`, in the C header file `get_r.h`. Here the coefficients $a_k$ and $\overline{a_k}$ are represented by arrays `a` and `a_`, respectively. The coefficients vector $b_j$ is represented by the array `coeffs`. When Mex is not used, the Matlab file `getRGivenTheta.m` is used to achieve the same result.
5959

60-
### Finding the Exits on the Circumference of the Ball
60+
## Finding the Exits on the Circumference of the Ball
6161
Section 2.3 of the PathFinder paper {cite:p}`PFpaper`mentions that the exits are determined using a trigonometric root-finding procedure. The radius $r$ of the ball is fixed, and we are looking for local maxima (in $\theta$) of $\Im g(\xi+r\mathrm{e}^{\mathrm{i} \theta})$. The approach is to represent $\Im g(\xi+r\mathrm{e}^{\mathrm{i} \theta})$ exactly in terms of a finite-dimensional Fourier basis.
6262

6363
First, construct the trigonometric polynomial in $\theta$ from (2):

docs/guide/usage/advanced.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Adjustable parameters
44

5-
The optional inputs `'plot'`, `'plot graph'` and `'infcontour'` are just three of many adjustable parameters. In fact, all of the algorithm parameters defined in [1, Table 4.1](#references) can be easily modified, if the user wishes to do so. Here is a list of adjustable parameters - each can be adjusted by adding the optional input as a text string, followed by the new value.
5+
The optional inputs `'plot'`, `'plot graph'` and `'infcontour'` are just three of many adjustable parameters. In fact, all of the algorithm parameters defined in {cite:p}`PFpaper` can be easily modified, if the user wishes to do so. Here is a list of adjustable parameters - each can be adjusted by adding the optional input as a text string, followed by the new value.
66

77
| Parameter | Meaning | Default |
88
|---|---|---|

docs/intro_insert.md

Lines changed: 0 additions & 9 deletions
This file was deleted.

0 commit comments

Comments
 (0)