xxxxxxxxxx
Sign in to import from GitHub:
Link to GitHub:
Or start with a template:
[]# Lagrange Kate tricks
[Keccake256 aka Felix1 @ <0x64563911a4eC3A2c4f2693e79340b0af93972d32>
Let \(\omega^n=1\). Define the Lagrange polynomials
\[
L_j(x) = \prod_{i=0}^{n-1} \frac{x-\omega^j}{\omega^i-\omega^j} = \frac{A(x)}{A'(\omega^j) (x-\omega^j)}
\]
where \(A(x) = x^n-1 = \prod_{i=0}^{n-1} (x-\omega^i)\) and \(A'(x)=nx^{n-1}\) is its formal derivative.
Then, for \(i \neq j\), (either using partial fraction decomposition or by decomposing in the Lagrange basis)
\[
\frac{L_i(x)}{x-\omega^j} = \frac{L_i(x)-\omega^{i-j}L_j(x)}{\omega^i-\omega^j}
\]
Let’s use this to re-express quotient polynomials in the Lagrange basis: Let \(f(x)=\sum_{i=0}^{n-1} f_i L_i\). Then
\[
\frac{f(x) - f(\omega^j)}{x-\omega^j} = \sum_{i=0 \atop i \neq j}^{n-1} \frac{(f_i - f_j) L_i(x)}{x-\omega^j} = \sum_{i=0 \atop i \neq j}^{n-1} \frac{(f_i - f_j) (L_i(x)-\omega^{i-j}L_j(x))}{\omega^i-\omega^j}
\]
Let’s assume a trusted setup consisting of \(L_i(s) G \in G_1\), \(s H \in G_2\). Then the proof for \(f(x=\omega^j) = f_j\) can be expressed as
\[ \pi(f(x=\omega^j) = f_j) = \sum_{i=0 \atop i \neq j}^{n-1} \frac{(f_i - f_j) (L_i(s) G -\omega^{i-j}L_j(s) G)}{\omega^i-\omega^j} \]
The proof can be computed in \(n\) group operations and \(O(n)\) field operations (no Fourier transform required).
Can we somehow find some intermediate values to store to make this proof cheaper to compute?
The main problem here is the factor of \(\frac{1}{\omega^i-\omega^j}\), which does not behave nicely (if all the factors were of the form \(\omega^i\) or \(\omega^j\), then FFT-like techniques could probably be used to construct the proof from a small number of precomputed elements)
or
Do you really want to delete this template?
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Please sign in to GitHub and install the HackMD app on your GitHub repo. Learn more
Sign in to GitHubHackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
Syncing