diff options
author | Glenn Johnson <glenn-johnson@uiowa.edu> | 2023-02-06 08:13:37 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-06 15:13:37 +0100 |
commit | fdaa54941deab5fa84a3ce00b293563a5bec98e2 (patch) | |
tree | 32e3557f2f511e0097699ec38e74dba47133b3e7 | |
parent | 135832650fdcfc3ffc7fe1a8469d074667b540d0 (diff) | |
download | spack-fdaa54941deab5fa84a3ce00b293563a5bec98e2.tar.gz spack-fdaa54941deab5fa84a3ce00b293563a5bec98e2.tar.bz2 spack-fdaa54941deab5fa84a3ce00b293563a5bec98e2.tar.xz spack-fdaa54941deab5fa84a3ce00b293563a5bec98e2.zip |
r-cvxr: add new package with dependencies (#35275)
-rw-r--r-- | var/spack/repos/builtin/packages/r-cvxr/package.py | 35 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/r-ecosolver/package.py | 22 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/r-osqp/package.py | 24 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/r-scs/package.py | 26 |
4 files changed, 107 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/r-cvxr/package.py b/var/spack/repos/builtin/packages/r-cvxr/package.py new file mode 100644 index 0000000000..8a86713020 --- /dev/null +++ b/var/spack/repos/builtin/packages/r-cvxr/package.py @@ -0,0 +1,35 @@ +# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class RCvxr(RPackage): + """Disciplined Convex Optimization. + + An object-oriented modeling language for disciplined convex programming + (DCP) as described in Fu, Narasimhan, and Boyd (2020, + <doi:10.18637/jss.v094.i14>). It allows the user to formulate convex + optimization problems in a natural way following mathematical convention + and DCP rules. The system analyzes the problem, verifies its convexity, + converts it into a canonical form, and hands it off to an appropriate + solver to obtain the solution. Interfaces to solvers on CRAN and elsewhere + are provided, both commercial and open source.""" + + cran = "CVXR" + + version("1.0-11", sha256="e92a9638f35f4909e2a29c3b7106081e3dae7ff88b14bb6466b87fbdc80b972a") + + depends_on("r@3.4.0:", type=("build", "run")) + depends_on("r-r6", type=("build", "run")) + depends_on("r-matrix", type=("build", "run")) + depends_on("r-rcpp", type=("build", "run")) + depends_on("r-bit64", type=("build", "run")) + depends_on("r-gmp", type=("build", "run")) + depends_on("r-rmpfr", type=("build", "run")) + depends_on("r-ecosolver@0.5.4:", type=("build", "run")) + depends_on("r-scs@3.0:", type=("build", "run")) + depends_on("r-osqp", type=("build", "run")) + depends_on("r-rcppeigen", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-ecosolver/package.py b/var/spack/repos/builtin/packages/r-ecosolver/package.py new file mode 100644 index 0000000000..7fec257e44 --- /dev/null +++ b/var/spack/repos/builtin/packages/r-ecosolver/package.py @@ -0,0 +1,22 @@ +# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class REcosolver(RPackage): + """Embedded Conic Solver in R. + + R interface to the Embedded COnic Solver (ECOS), an efficient and robust C + library for convex problems. Conic and equality constraints can be + specified in addition to integer and boolean variable constraints for + mixed-integer problems. This R interface is inspired by the python + interface and has similar calling conventions.""" + + cran = "ECOSolveR" + + version("0.5.4", sha256="5d7489e8176c1df3f3f1290732243429280efca4f837916e6b6faa6dc8a8e324") + + depends_on("gmake", type="build") diff --git a/var/spack/repos/builtin/packages/r-osqp/package.py b/var/spack/repos/builtin/packages/r-osqp/package.py new file mode 100644 index 0000000000..704e5df2fe --- /dev/null +++ b/var/spack/repos/builtin/packages/r-osqp/package.py @@ -0,0 +1,24 @@ +# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class ROsqp(RPackage): + """Quadratic Programming Solver using the 'OSQP' Library. + + Provides bindings to the 'OSQP' solver. The 'OSQP' solver is a numerical + optimization package or solving convex quadratic programs written in 'C' + and based on the alternating direction method of multipliers. See + <arXiv:1711.08013> for details.""" + + cran = "osqp" + + version("0.6.0.7", sha256="ee6584d02341e3f1d8fab3b2cb93defd6c48d561297d82a6bedb3e7541868203") + + depends_on("r-rcpp@0.12.14:", type=("build", "run")) + depends_on("r-matrix", type=("build", "run")) + depends_on("r-r6", type=("build", "run")) + depends_on("cmake", type="build") diff --git a/var/spack/repos/builtin/packages/r-scs/package.py b/var/spack/repos/builtin/packages/r-scs/package.py new file mode 100644 index 0000000000..52b89f42ed --- /dev/null +++ b/var/spack/repos/builtin/packages/r-scs/package.py @@ -0,0 +1,26 @@ +# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class RScs(RPackage): + """Splitting Conic Solver. + + Solves convex cone programs via operator splitting. Can solve: linear + programs ('LPs'), second-order cone programs ('SOCPs'), semidefinite + programs ('SDPs'), exponential cone programs ('ECPs'), and power cone + programs ('PCPs'), or problems with any combination of those cones. 'SCS' + uses 'AMD' (a set of routines for permuting sparse matrices prior to + factorization) and 'LDL' (a sparse 'LDL' factorization and solve package) + from 'SuiteSparse' + (<https://people.engr.tamu.edu/davis/suitesparse.html>).""" + + cran = "scs" + + version("3.0-1", sha256="d6881eeec7282f8bfbf60847327786e7f90299e4b8c0b084d8bd11fec7705913") + + depends_on("r@3.5.0:", type=("build", "run")) + depends_on("gmake", type="build") |