semvec/pypi-packages huggingface dataset:
ffe 0.1.1
ffe: File/Folder Extensible manipulator (可扩展的文件操作工具)
Requires Python: >=3.10

# ffe

ffe: File/Folder Extensible manipulator  
可轻松地用 Python 来写插件的文件操作工具

Chinese readme (中文说明，更详细): [usage.md](docs/usage.md), [details.md](docs/details.md)

## Install ffe

```
python -m pip install ffe
```

## Install recipes

Ffe by itself can do nothing, you can write recipes yourself or download recipes written by others.

Please always inspect the recipe before installing it. For example,

Use `ffe install --peek https://github.com/ahui2016/ffe/raw/main/recipes/swap.py` to read a short description of the recipe.

Use `ffe install -d https://github.com/ahui2016/ffe/raw/main/recipes/swap.py` to download it, the content will be print to the screen, you can also use `ffe install -d http://example.com/recipe.py > recipe.py` to create a file.

After inspection, use `ffe install -i https://github.com/ahui2016/ffe/raw/main/recipes/swap.py` to install it.

Now, you can use `ffe info -a` to list out all installed recipes, and use `ffe info -r swap` to read more about the recipe (change swap to another recipe's name as you want).


## Use a recipe

Use `ffe info -r <recipe>` to read more about a recipe, or use `ffe dump -r <recipe> <files...>` to generate a plan of tasks, for example

```
ffe dump -r swap file1.txt file2.txt > swap.toml
```

will generate a TOML file as below:
```
[[tasks]]
recipe = "swap"
names = [ "file1.txt", "file2.txt",]

[tasks.options]
verbose = true
```

And then, use `ffe run -f swap.toml` to do the job. You can also run `ffe run -r swap file1.txt file2.txt`, but without a TOML file you cannot set options.

It is recommended to use a **--dry-run** flag when you are not familiar with the recipe yet. for example `ffe run -dry -f swap.toml`.


## Get Help

Use commands as below to get more information:

- `ffe --help`
- `ffe info --help`
- `ffe info -r <recipe>` etc.


## Chinese readme (中文说明)

简单说明 [usage.md](docs/usage.md)

详细说明 [details.md](docs/details.md)

另外，欢迎通过 issue 提交插件，我会不定期整理第三方插件列表。
irbasis3 3.0a8
intermediate representation (IR) basis for electronic propagator
Requires Python: >=3
Keywords: irbasis

irbasis3 - A library for the intermediate representation of propagators
=======================================================================
This library provides routines for constructing and working with the
intermediate representation of correlation functions.  It provides:

 - on-the-fly computation of basis functions for arbitrary cutoff Λ
 - basis functions and singular values are accurate to full precision
 - routines for sparse sampling

Installation
------------

    pip install irbasis3 xprec

Though not strictly required, we strongly recommend installing the `xprec`
package alongside `irbasis3` as it allows to compute the IR basis functions
with greater accuracy.

Quick start
-----------
Here is some python code illustrating the API:

    # Compute IR basis for fermions and β = 10, W <= 4.2
    import irbasis3, numpy
    K = irbasis3.KernelFFlat(lambda_=42)
    basis = irbasis3.FiniteTempBasis(K, statistics='F', beta=10)

    # Assume spectrum is a single pole at ω = 2.5, compute G(iw)
    # on the first few Matsubara frequencies. (Fermionic/bosonic Matsubara
    # frequencies are denoted by odd/even integers.)
    gl = basis.s * basis.v(2.5)
    giw = gl @ basis.uhat([1, 3, 5, 7])

    # Reconstruct same coefficients from sparse sampling on the Matsubara axis:
    smpl_iw = irbasis3.MatsubaraSampling(basis)
    giw = -1/(1j * numpy.pi/basis.beta * smpl_iw.wn - 2.5)
    gl_rec = smpl_iw.fit(giw)

You may want to start with reading up on the [intermediate representation].
It is tied to the analytic continuation of bosonic/fermionic spectral
functions from (real) frequencies to imaginary time, a transformation mediated
by a kernel `K`.  The kernel depends on a cutoff, which you should choose to be
`lambda_ >= β*W`, where `β` is the inverse temperature and `W` is the bandwidth:

One can now perform a [singular value expansion] on this kernel, which
generates two sets of orthonormal basis functions, one set `v[l](w)` for
real frequency side `w`, and one set `u[l](tau)` for the same obejct in
imaginary (Euclidean) time `tau`, together with a "coupling" strength `s[l]`
between the two sides.

By this construction, the imaginary time basis can be shown to be *optimal* in
terms of compactness.


[intermediate representation]: https://arxiv.org/abs/2106.12685
[singular value expansion]: https://en.wikipedia.org/wiki/Singular_value_decomposition

License
-------
This software is released under the MIT License.  See LICENSE.txt.