Skip to content

vlang/vsl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The V Scientific Library

vlang.io | Docs | Examples | Changelog | Contributing

Mentioned in Awesome V VSL Continuous Integration Deploy Documentation License: MIT Modules

VSL is a V library to develop Artificial Intelligence and High-Performance Scientific Computations.

📖 Documentation

Visit VSL Documentation to explore all supported features and APIs.

VSL is a comprehensive Scientific Computing Library offering a rich ecosystem of mathematical and computational modules. The library provides both pure-V implementations and optional high-performance backends through established C and Fortran libraries.

🔬 Core Capabilities

  • Linear Algebra: Complete matrix and vector operations, eigenvalue decomposition, linear solvers
  • Machine Learning: Clustering algorithms (K-means), classification (KNN), regression, and NLP tools
  • Numerical Methods: Differentiation, integration, root finding, polynomial operations
  • Data Visualization: Advanced plotting with Plotly-style API supporting 2D/3D charts
  • Scientific Computing: FFT, statistical analysis, probability distributions
  • Parallel Computing: MPI support and OpenCL acceleration
  • Data I/O: HDF5 integration for scientific data formats

⚡ Performance Architecture

VSL provides flexible performance options:

  • Pure V Implementation: Cross-platform, dependency-free operation
  • Optimized Backends: Optional integration with OpenBLAS, LAPACK, and MPI
  • GPU Acceleration: OpenCL support for computationally intensive operations

Each module clearly documents compilation flags and backend requirements, allowing users to choose the optimal configuration for their specific use case.

🚀 Installation & Quick Start

VSL supports multiple installation methods and deployment options to fit different development workflows.

📦 Package Manager Installation

Via V's built-in package manager:

v install vsl

Via vpkg:

vpkg get https://github.com/vlang/vsl

🐳 Docker Development Environment (Recommended)

For the best development experience with all optional dependencies pre-configured:

  1. Install Docker on your system

  2. Clone the starter template:

    git clone https://github.com/ulises-jeremias/hello-vsl
    cd hello-vsl
  3. Follow the setup instructions in the template's README

This approach provides:

  • Pre-configured environment with V, VSL, and all optional dependencies
  • Cross-platform compatibility (Windows, Linux, macOS)
  • Isolated development environment
  • Access to optimized BLAS/LAPACK libraries

🔧 System Dependencies (Optional)

For enhanced performance, you can install optional system libraries:

  • OpenBLAS/LAPACK: Linear algebra acceleration
  • OpenMPI: Parallel computing support
  • OpenCL: GPU acceleration
  • HDF5: Scientific data format support

Refer to individual module documentation for specific compilation flags.

🧪 Testing

To test the module, just type the following command:

v test .

👥 Contributors

Made with contributors-img.