flexmm | A reasonably efficient , flexible FMM engine

 by   dbstein Python Version: Current License: Apache-2.0

kandi X-RAY | flexmm Summary

kandi X-RAY | flexmm Summary

flexmm is a Python library. flexmm has no bugs, it has no vulnerabilities, it has build file available, it has a Permissive License and it has low support. You can download it from GitHub.

A reasonably performant Python/Numba framework for implementing Fast-Multipole Methods. Currently, only 2D is supported, and I have implementations for the "Kernel-Independent" FMM and the "Black-Box" FMM. These live on top of the same codebase, and only minor modifications are required to specify S2M, M2M, M2L, L2L, and L2T operators. Thanks to some particular structural choices, M2L translation operators only need to be specified for boxes of the same size. I imagine that kernel-dependent FMMs could be built in the same way. SVD acceleration of M2L operators is done automatically for all methods without any extra infrastructure required. Both the KI and BB FMM methods only require a function to evalute the kernel. Examples should make clear how this works. Unfortunately, the calling sequence is a little irritating, in order to get everything into the right namespace in a clean-ish way. This certainly could be made better.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              flexmm has a low active ecosystem.
              It has 5 star(s) with 1 fork(s). There are 1 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              flexmm has no issues reported. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of flexmm is current.

            kandi-Quality Quality

              flexmm has no bugs reported.

            kandi-Security Security

              flexmm has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              flexmm is licensed under the Apache-2.0 License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              flexmm releases are not available. You will need to build from source code and install.
              Build file is available. You can build the component from source.

            Top functions reviewed by kandi - BETA

            kandi has reviewed flexmm and discovered the below as its top functions. This is intended to give you an instant insight into flexmm implemented functionality, and help decide if they suit your requirements.
            • Builds the expansions
            • Perform an upwards of the upwards pass through the specified parameters
            • Calculate interaction pre - processed interactions
            • Distribute ucs
            • Builds the expansion tree
            • Perform an upwards walk
            • Calculate local expansion
            • Get a list of functions corresponding to the given functions
            • Add a kernel to the kernel
            • Locate a point in the tree
            • Locate the given point in the tree
            • Prepare the precomputation
            • Prepare precomputation
            • Compute the Chebeval derivative of the chebeval
            • Evaluate a point on a given point
            • Perform level restrictions on the tree
            • Generalize general precomputed precomputations
            • Perform level restriction on the tree
            • Build L2T function
            • Compute the effective surface
            • Compute the effective surface pressure for a function
            • Prepare the quadratic polynomials
            • Compute the KL decomposition
            • Compute the L2 L2L decomposition
            • Compute bounding box based on given coordinates
            • Evaluate the given point on the tree
            • Generate a new level
            Get all kandi verified functions for this library.

            flexmm Key Features

            No Key Features are available at this moment for flexmm.

            flexmm Examples and Code Snippets

            No Code Snippets are available at this moment for flexmm.

            Community Discussions

            No Community Discussions are available at this moment for flexmm.Refer to stack overflow page for discussions.

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install flexmm

            You can download it from GitHub.
            You can use flexmm like any standard Python library. You will need to make sure that you have a development environment consisting of a Python distribution including header files, a compiler, pip, and git installed. Make sure that your pip, setuptools, and wheel are up to date. When using pip it is generally recommended to install packages in a virtual environment to avoid changes to the system.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/dbstein/flexmm.git

          • CLI

            gh repo clone dbstein/flexmm

          • sshUrl

            git@github.com:dbstein/flexmm.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link