LBFGS and OWL-QN optimization algorithms
Project description
PyLBFGS
This is a Python wrapper around Naoaki Okazaki (chokkan)’s liblbfgs library of quasi-Newton optimization routines (limited memory BFGS and OWL-QN).
This package aims to provide a cleaner interface to the LBFGS algorithm than is currently available in SciPy, and to provide the OWL-QN algorithm to Python users.
Installing
Type:
pip install pylbfgs
Hacking
Type:
pip install "pip>=10" pip install -r requirements.txt pip install -e .
To run the test suite:
pytest tests
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file PyLBFGS-0.2.0.12.tar.gz
.
File metadata
- Download URL: PyLBFGS-0.2.0.12.tar.gz
- Upload date:
- Size: 104.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef7a2e6b7ad8defbf94c2c40681d74d87ce9ceef19b03776c275261dfdb3d8c9 |
|
MD5 | 3d227460aff6668058836bdf3262c663 |
|
BLAKE2b-256 | a4552fbbb0e441c09feb2fa0166e7f9392da348284d4e43e208f9f6631fdfc28 |
File details
Details for the file PyLBFGS-0.2.0.12-cp37-cp37m-win_amd64.whl
.
File metadata
- Download URL: PyLBFGS-0.2.0.12-cp37-cp37m-win_amd64.whl
- Upload date:
- Size: 53.4 kB
- Tags: CPython 3.7m, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.7.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b92a48da1db438dedb05baa5245521c57d8f3c0fcaca019ad3a21cf34edf2f7 |
|
MD5 | 90ea73914c077c1f265530e1eee10f55 |
|
BLAKE2b-256 | acd3d23b414c1ca93c613747005fe3628f0e1005d59ac8f8925ace6c26740ef3 |
File details
Details for the file PyLBFGS-0.2.0.12-cp37-cp37m-win32.whl
.
File metadata
- Download URL: PyLBFGS-0.2.0.12-cp37-cp37m-win32.whl
- Upload date:
- Size: 44.9 kB
- Tags: CPython 3.7m, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.7.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c3203cb0cbe6f922a9986e70b87713df80e31d0a040fc5bab4fe8ac31d0fc0c |
|
MD5 | 1601fe2cde98987672b4133cd9b5cd56 |
|
BLAKE2b-256 | b7790ab4540f88d7175010a6d6057ac5f6f514ca2e87ae713a2b2312959359d1 |
File details
Details for the file PyLBFGS-0.2.0.12-cp37-cp37m-manylinux1_x86_64.whl
.
File metadata
- Download URL: PyLBFGS-0.2.0.12-cp37-cp37m-manylinux1_x86_64.whl
- Upload date:
- Size: 207.8 kB
- Tags: CPython 3.7m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/38.2.4 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/2.7.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6af2f3e5724f228765b70ac11891ea49e6f245b01510034e5285de6d9703b03e |
|
MD5 | 7add0b11462f1d22b5866f416a83352a |
|
BLAKE2b-256 | 486d9c14a48ac9137a7988ea4038289a5bbe08b28664b52a764032d1d710f94d |
File details
Details for the file PyLBFGS-0.2.0.12-cp37-cp37m-manylinux1_i686.whl
.
File metadata
- Download URL: PyLBFGS-0.2.0.12-cp37-cp37m-manylinux1_i686.whl
- Upload date:
- Size: 191.2 kB
- Tags: CPython 3.7m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/38.2.4 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/2.7.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67f9edc06242bd86bfae5a71b600d1abc50b4caefebd82d4d1ddfe9cec19c8d8 |
|
MD5 | 80645b1f1b304ff91fc6b6a83606dcf6 |
|
BLAKE2b-256 | 7f5eb986adcbf57ea54153b387f311427eac2e78af67e53f3b26c1c8c8db2245 |
File details
Details for the file PyLBFGS-0.2.0.12-cp37-cp37m-macosx_10_13_x86_64.whl
.
File metadata
- Download URL: PyLBFGS-0.2.0.12-cp37-cp37m-macosx_10_13_x86_64.whl
- Upload date:
- Size: 57.4 kB
- Tags: CPython 3.7m, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.7.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41a053d8ceb98325729c29419968948417fe148f5dc5b31ffa7124792ee1742d |
|
MD5 | 3bfd357cfcbab766f0400a04b6eeb704 |
|
BLAKE2b-256 | 59092a7ffe7128df54754d8d8c4e8b86612c5b538bf219d876a7dac7261eaf37 |
File details
Details for the file PyLBFGS-0.2.0.12-cp36-cp36m-win_amd64.whl
.
File metadata
- Download URL: PyLBFGS-0.2.0.12-cp36-cp36m-win_amd64.whl
- Upload date:
- Size: 53.4 kB
- Tags: CPython 3.6m, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00ea6bff21b78ff487aa765b1ba6f6d3a27d905d0eef481acff7b15ef79146db |
|
MD5 | fc96e5c567a06bfb7f1260208bbab9b7 |
|
BLAKE2b-256 | ea4e52426734ba638fd08dc8b1b35b7dad29d11e829deb35c527eeca93693c7d |
File details
Details for the file PyLBFGS-0.2.0.12-cp36-cp36m-win32.whl
.
File metadata
- Download URL: PyLBFGS-0.2.0.12-cp36-cp36m-win32.whl
- Upload date:
- Size: 45.0 kB
- Tags: CPython 3.6m, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3128fd70fde66ea949822174c4ce7b757cfad08731a35be2b20c572534fa1c21 |
|
MD5 | cf2f36cf8319cb1154e7712bcd3b04ec |
|
BLAKE2b-256 | a3c96380b3610fb9c6b7b600bf35cd68ffda72bc1d80457537da86d83900a288 |
File details
Details for the file PyLBFGS-0.2.0.12-cp36-cp36m-manylinux1_x86_64.whl
.
File metadata
- Download URL: PyLBFGS-0.2.0.12-cp36-cp36m-manylinux1_x86_64.whl
- Upload date:
- Size: 208.4 kB
- Tags: CPython 3.6m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/38.2.4 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/2.7.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d02bfcd43fa9bd22b9467dc71d26648ab3e3219f55719b6b210eb003b96d6c4f |
|
MD5 | a1e155fd21d607e2f9e047441310ecb4 |
|
BLAKE2b-256 | 0d3b3f490e1a9da9e4fc49a61e984a327eb3b907ef86d5ed67cf14e16a8519ea |
File details
Details for the file PyLBFGS-0.2.0.12-cp36-cp36m-manylinux1_i686.whl
.
File metadata
- Download URL: PyLBFGS-0.2.0.12-cp36-cp36m-manylinux1_i686.whl
- Upload date:
- Size: 192.3 kB
- Tags: CPython 3.6m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/38.2.4 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/2.7.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b43cc6de5895e63fc8d9f25c64686769f41ebf83d701e394b3b4d4965dfa6e6 |
|
MD5 | fb64724cf8e815bcb9770151c2e860ee |
|
BLAKE2b-256 | fdb5505d3730827c32b59c531498dca90c3c987a1b287c21a6b20722214dedc7 |
File details
Details for the file PyLBFGS-0.2.0.12-cp35-cp35m-win_amd64.whl
.
File metadata
- Download URL: PyLBFGS-0.2.0.12-cp35-cp35m-win_amd64.whl
- Upload date:
- Size: 52.8 kB
- Tags: CPython 3.5m, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/28.8.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.5.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 168b120d5ad4a0051f252ac2c95163edc416ad417849aff01e7966057708cd37 |
|
MD5 | 79d8bd633a7802076cf57daeb59bdc0a |
|
BLAKE2b-256 | e8175b4b4381590222e41f360325250011fb8625b7b8d086e7a385994c788610 |
File details
Details for the file PyLBFGS-0.2.0.12-cp35-cp35m-win32.whl
.
File metadata
- Download URL: PyLBFGS-0.2.0.12-cp35-cp35m-win32.whl
- Upload date:
- Size: 44.4 kB
- Tags: CPython 3.5m, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/28.8.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.5.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5151136762b763014bbe65adc7c533bdc01e1769130abbbce43de260d7fe54c |
|
MD5 | 1eff5ef78649c85484a41b7d7ea2cb55 |
|
BLAKE2b-256 | 0b02227d3ca3c359ecdf7c1db4baa8850e951f7c21a2c15114d00e5453a97dca |
File details
Details for the file PyLBFGS-0.2.0.12-cp35-cp35m-manylinux1_x86_64.whl
.
File metadata
- Download URL: PyLBFGS-0.2.0.12-cp35-cp35m-manylinux1_x86_64.whl
- Upload date:
- Size: 200.3 kB
- Tags: CPython 3.5m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/38.2.4 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/2.7.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a002b173fa0ba2f713ac7e79fa71a4d8112810f7e20410fbe53bab302ddfb79c |
|
MD5 | 1964619783e677e2fbddbc645eefd929 |
|
BLAKE2b-256 | 4c4ee57b21f0204cc87e6c01885b777f09845889b22956741b871f02ce90ff67 |
File details
Details for the file PyLBFGS-0.2.0.12-cp35-cp35m-manylinux1_i686.whl
.
File metadata
- Download URL: PyLBFGS-0.2.0.12-cp35-cp35m-manylinux1_i686.whl
- Upload date:
- Size: 185.4 kB
- Tags: CPython 3.5m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/38.2.4 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/2.7.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | eed4799c1bf155a72a56d365e9bfe6fd71a489aa613a9f60e0d65795d8680fae |
|
MD5 | fa8fbdd82a859314c4885df6c415502e |
|
BLAKE2b-256 | 14816e403a44ce2de6507a3c6dd31594085603e0d66f42e1054b5c3fe8db6a2b |
File details
Details for the file PyLBFGS-0.2.0.12-cp34-cp34m-win_amd64.whl
.
File metadata
- Download URL: PyLBFGS-0.2.0.12-cp34-cp34m-win_amd64.whl
- Upload date:
- Size: 51.4 kB
- Tags: CPython 3.4m, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/18.2 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.4.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0be7ce4c95bc0dbec5337f4597b4bcc02218d18248f44ab525754b672bef04f4 |
|
MD5 | c4cff5091f66b9d01f5b167ac8d27238 |
|
BLAKE2b-256 | 17550346abe611258e0573cae665f31f65a4ad080f4e220594cea62fab4c6b7d |
File details
Details for the file PyLBFGS-0.2.0.12-cp34-cp34m-win32.whl
.
File metadata
- Download URL: PyLBFGS-0.2.0.12-cp34-cp34m-win32.whl
- Upload date:
- Size: 43.6 kB
- Tags: CPython 3.4m, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/18.2 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.4.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bffb399721cd3bd7b7cffe24bc2cc52505fce567acc1823e307697134965408a |
|
MD5 | 60376b7c849a06b8e90c9a34513eaa6a |
|
BLAKE2b-256 | ad7e9f3460d7566e3487d5548712932a7882e46d1d72d0295d84eb30a17431e2 |
File details
Details for the file PyLBFGS-0.2.0.12-cp34-cp34m-manylinux1_x86_64.whl
.
File metadata
- Download URL: PyLBFGS-0.2.0.12-cp34-cp34m-manylinux1_x86_64.whl
- Upload date:
- Size: 205.4 kB
- Tags: CPython 3.4m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/38.2.4 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/2.7.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c162cb5d1e970c14b17d938d540f2922d84620d08ac5cc9d8d660f087a35fe3e |
|
MD5 | 87355d49b5359541c3e4e0162e7986f0 |
|
BLAKE2b-256 | 6ba028bd402bd0b0527954b309802a2dd8fcd18481b194c31bd35f7fff21c531 |
File details
Details for the file PyLBFGS-0.2.0.12-cp34-cp34m-manylinux1_i686.whl
.
File metadata
- Download URL: PyLBFGS-0.2.0.12-cp34-cp34m-manylinux1_i686.whl
- Upload date:
- Size: 188.9 kB
- Tags: CPython 3.4m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/38.2.4 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/2.7.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5986188516253aa556e75911fbc17c38b192d419f52dec2cc4525b802570c31b |
|
MD5 | fd661d2ff8629c6a190d9840c65be1cf |
|
BLAKE2b-256 | eec273d56c77308e8952c649bdfff02483619667f33dd89693d4c9873f02a291 |
File details
Details for the file PyLBFGS-0.2.0.12-cp27-cp27mu-manylinux1_x86_64.whl
.
File metadata
- Download URL: PyLBFGS-0.2.0.12-cp27-cp27mu-manylinux1_x86_64.whl
- Upload date:
- Size: 187.4 kB
- Tags: CPython 2.7mu
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/38.2.4 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/2.7.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8bc72fab4a35e37b250bac7e732f1426a8a4bd2d2a17cc23a8aa219d6746dea7 |
|
MD5 | dc878e0abb16bed20515e723d5ee3e6b |
|
BLAKE2b-256 | 2c80301281070fd2e138162a1c1fc843f55e02becca71c05cc555cd1cb1afc49 |
File details
Details for the file PyLBFGS-0.2.0.12-cp27-cp27mu-manylinux1_i686.whl
.
File metadata
- Download URL: PyLBFGS-0.2.0.12-cp27-cp27mu-manylinux1_i686.whl
- Upload date:
- Size: 168.5 kB
- Tags: CPython 2.7mu
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/38.2.4 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/2.7.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e951f18016e2be0919af50a575740973ebffe35fd8e8fc01f4a02ed5cdc54c47 |
|
MD5 | 3ff3c00df0305b071e5f84c2db5de0a7 |
|
BLAKE2b-256 | 9f8f3f8d53efb13bb0104dc5519685e0bd39a92929fa47a8b4038b6d8385775a |
File details
Details for the file PyLBFGS-0.2.0.12-cp27-cp27m-win_amd64.whl
.
File metadata
- Download URL: PyLBFGS-0.2.0.12-cp27-cp27m-win_amd64.whl
- Upload date:
- Size: 52.0 kB
- Tags: CPython 2.7m, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/2.7.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ae3a2ad4b4b7401f8754171572ba113dec427bb93bbc6d5feb57601071ddd6b |
|
MD5 | c00264c67b4678da08c75da02111d521 |
|
BLAKE2b-256 | dde04c41e09c09705feab6cc4adee3df7fffb8c418bd221aed580d4253a3e41e |
File details
Details for the file PyLBFGS-0.2.0.12-cp27-cp27m-win32.whl
.
File metadata
- Download URL: PyLBFGS-0.2.0.12-cp27-cp27m-win32.whl
- Upload date:
- Size: 42.9 kB
- Tags: CPython 2.7m, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/2.7.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd11c5d8e17aaca2944f16080d3c5ae94120fa9ade8573b6bd5fa7f7f803cb32 |
|
MD5 | f5fabbcfe61f6dd5ecf4f1b5720e58be |
|
BLAKE2b-256 | 9ec0dd890aecdbed2960d2e0617de89505e7a47d124d4526f1a722a7671b9a70 |
File details
Details for the file PyLBFGS-0.2.0.12-cp27-cp27m-manylinux1_x86_64.whl
.
File metadata
- Download URL: PyLBFGS-0.2.0.12-cp27-cp27m-manylinux1_x86_64.whl
- Upload date:
- Size: 187.4 kB
- Tags: CPython 2.7m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/38.2.4 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/2.7.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d1be60b87e6bf994b774f02ec83ff69ae8f98e136ce413f05545a86f203c3c0 |
|
MD5 | 8d3625d2233e435d16d5809c0aca87f7 |
|
BLAKE2b-256 | f0c8cf07dd95fc7d0e02d806bf5cadb3854baa74910573d6ffca88153a14f3b8 |
File details
Details for the file PyLBFGS-0.2.0.12-cp27-cp27m-manylinux1_i686.whl
.
File metadata
- Download URL: PyLBFGS-0.2.0.12-cp27-cp27m-manylinux1_i686.whl
- Upload date:
- Size: 168.5 kB
- Tags: CPython 2.7m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/38.2.4 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/2.7.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a35492284be87f69c73a6be8fb0e87cac48db7d800f0d33dd8dee2a458a0bcd0 |
|
MD5 | 3f9fbe1053aee9f2e0c118f54323cc33 |
|
BLAKE2b-256 | 731387175faf87edc06a42a74c09f763c5c5cc0720d23550ba1cb21e2fc43750 |
File details
Details for the file PyLBFGS-0.2.0.12-cp27-cp27m-macosx_10_13_x86_64.whl
.
File metadata
- Download URL: PyLBFGS-0.2.0.12-cp27-cp27m-macosx_10_13_x86_64.whl
- Upload date:
- Size: 57.9 kB
- Tags: CPython 2.7m, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/2.7.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89218fc4a44ada12bf946e9bdad291dccecad09c89026235f82e11bf78f3a8be |
|
MD5 | 30d7c784be6bc90652e7b984cf11720c |
|
BLAKE2b-256 | 47ec1abc88888cc0740043dd2a5008b9c07564d5ec3540c5a69ef1b41a9d9f6f |