r-cvxr: add new package with dependencies (#35275)

This commit is contained in:
Glenn Johnson 2023-02-06 08:13:37 -06:00 committed by GitHub
parent 135832650f
commit fdaa54941d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 107 additions and 0 deletions

View File

@ -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"))

View File

@ -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")

View File

@ -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")

View File

@ -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")