mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 09:49:18 -04:00
New port: math/tmv: Fast, intuitive linear algebra library for C++
This library can be useful to anybody who needs to write code that involves matrix and vector computations. Please see the documentation here: https://github.com/rmjarvis/tmv/blob/master/doc/TMV_Documentation.pdf Approved by: tcberner (mentor) Differential Revision: D13689
This commit is contained in:
parent
02dd41460e
commit
1ec427a17d
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=460061
6 changed files with 182 additions and 0 deletions
|
@ -741,6 +741,7 @@
|
||||||
SUBDIR += testu01
|
SUBDIR += testu01
|
||||||
SUBDIR += tetgen
|
SUBDIR += tetgen
|
||||||
SUBDIR += timbl
|
SUBDIR += timbl
|
||||||
|
SUBDIR += tmv
|
||||||
SUBDIR += tomsfastmath
|
SUBDIR += tomsfastmath
|
||||||
SUBDIR += topaz
|
SUBDIR += topaz
|
||||||
SUBDIR += triangle
|
SUBDIR += triangle
|
||||||
|
|
31
math/tmv/Makefile
Normal file
31
math/tmv/Makefile
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
# $FreeBSD$
|
||||||
|
|
||||||
|
PORTNAME= tmv
|
||||||
|
DISTVERSIONPREFIX= v
|
||||||
|
DISTVERSION= 0.75
|
||||||
|
CATEGORIES= math
|
||||||
|
|
||||||
|
MAINTAINER= yuri@FreeBSD.org
|
||||||
|
COMMENT= Fast, intuitive linear algebra library for C++
|
||||||
|
|
||||||
|
LICENSE= BSD2CLAUSE
|
||||||
|
LICENSE_FILE= ${WRKSRC}/TMV_LICENSE
|
||||||
|
|
||||||
|
LIB_DEPENDS= libomp.so:devel/openmp
|
||||||
|
|
||||||
|
USES= gmake blaslapack:netlib localbase
|
||||||
|
USE_GITHUB= yes
|
||||||
|
GH_ACCOUNT= rmjarvis
|
||||||
|
USE_LDCONFIG= yes
|
||||||
|
|
||||||
|
BUILD_WRKSRC= ${WRKSRC}/src
|
||||||
|
INSTALL_WRKSRC= ${BUILD_WRKSRC}
|
||||||
|
MAKEFILE= ${FILESDIR}/Makefile
|
||||||
|
|
||||||
|
OPTIONS_DEFINE= DOCS
|
||||||
|
|
||||||
|
post-install-DOCS-on:
|
||||||
|
@${MKDIR} ${STAGEDIR}${DOCSDIR}
|
||||||
|
${INSTALL_DATA} ${WRKSRC}/doc/TMV_Documentation.pdf ${STAGEDIR}${DOCSDIR}
|
||||||
|
|
||||||
|
.include <bsd.port.mk>
|
3
math/tmv/distinfo
Normal file
3
math/tmv/distinfo
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
TIMESTAMP = 1514521249
|
||||||
|
SHA256 (rmjarvis-tmv-v0.75_GH0.tar.gz) = f0ed1b500c5f4ee12f9d018a7d6a883f06df4a345a1010e3f96223410c9b3dea
|
||||||
|
SIZE (rmjarvis-tmv-v0.75_GH0.tar.gz) = 1676639
|
33
math/tmv/files/Makefile
Normal file
33
math/tmv/files/Makefile
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
# $FreeBSD$
|
||||||
|
|
||||||
|
# lib/libtmv.so
|
||||||
|
LST1= TMV_Vector TMV_MultVV TMV_AddVV TMV_MultXV TMV_BaseMatrix TMV_Matrix TMV_MultXM TMV_AddMM TMV_MultMV TMV_Rank1_VVM TMV_MultMM_CCC TMV_MultMM_CRC TMV_MultMM_RCC TMV_MultMM_Block TMV_IntegerDet TMV_DiagMatrix TMV_MultDV TMV_AddDM TMV_MultDM TMV_TriMatrix TMV_TriDiv TMV_MultUV TMV_MultXU TMV_AddUU TMV_MultUM TMV_MultUL TMV_MultUU TMV_MultDU TMV_Givens TMV_Householder TMV_LUD TMV_LUDecompose TMV_LUDiv TMV_LUInverse TMV_QRD TMV_QRDecompose TMV_QRDiv TMV_PackedQ TMV_QRInverse TMV_GetQFromQR TMV_QRUpdate TMV_QRDowndate TMV_QRPD TMV_SVD TMV_SVDecompose TMV_SVDecompose_Bidiag TMV_SVDecompose_QR TMV_SVDiv TMV_TriDiv_V TMV_TriDiv_M TMV_TriDiv_L TMV_TriInverse TMV_MultMM TMV_MultMM_OpenMP TMV_SVDecompose_DC TMV_QRPDecompose
|
||||||
|
LIB1= libtmv.so.0
|
||||||
|
|
||||||
|
# lib/libtmv_symband.so
|
||||||
|
LST2= TMV_BandMatrix TMV_MultBV TMV_MultXB TMV_AddBB TMV_MultBM TMV_MultBB TMV_BandIntegerDet TMV_SymMatrix TMV_MultSV TMV_AddSS TMV_Rank1_VVS TMV_Rank2_VVS TMV_MultSM TMV_RankK_MMS TMV_Rank2K_MMS TMV_RankK_ULS TMV_RankK_LUS TMV_SymMultMMS TMV_SymIntegerDet TMV_SymBandMatrix TMV_MultsBV TMV_AddsBsB TMV_MultsBM TMV_MultsBB TMV_SymBandIntegerDet TMV_BandLUD TMV_BandLUDecompose TMV_BandLUDiv TMV_BandLUInverse TMV_BandTriDiv_V TMV_BandTriDiv_M TMV_BandQRD TMV_BandQRDecompose TMV_BandQRDiv TMV_BandQRInverse TMV_BandSVD TMV_BandSVDecompose TMV_SymHouseholder TMV_SymLDLD TMV_SymLDLDecompose TMV_SymLDLDiv TMV_SymLDLInverse TMV_SymLDLPseudo TMV_SymSquare TMV_SymCHD TMV_SymCHDecompose TMV_SymCHDiv TMV_SymCHInverse TMV_SymSVD TMV_SymSVInverse TMV_IsNaN TMV_SymSVDecompose_Tridiag TMV_SymSVDecompose_QR TMV_SymBandCHD TMV_SymBandCHDecompose TMV_SymBandCHDiv TMV_SymBandCHInverse TMV_SymBandSVD TMV_SymBandSVDecompose TMV_SymSVDecompose_DC TMV_SymSVDecompose
|
||||||
|
LIB2= libtmv_symband.so.0
|
||||||
|
|
||||||
|
CXXFLAGS+= -I../include -fopenmp -fPIC -DTMV_NDEBUG -DFBLAS -DNOLAP
|
||||||
|
LDFLAGS+= -lblas -lomp
|
||||||
|
|
||||||
|
SRCS1= $(addsuffix .cpp, $(LST1))
|
||||||
|
SRCS2= $(addsuffix .cpp, $(LST2))
|
||||||
|
OBJS1= $(addsuffix .o, $(LST1))
|
||||||
|
OBJS2= $(addsuffix .o, $(LST2))
|
||||||
|
|
||||||
|
all: $(LIB1) $(LIB2)
|
||||||
|
|
||||||
|
$(LIB1): $(OBJS1)
|
||||||
|
$(CXX) -shared -fopenmp -Wl,-soname,$(LIB1) $(LDFLAGS) -o $(LIB1) $(OBJS1)
|
||||||
|
|
||||||
|
$(LIB2): $(OBJS2)
|
||||||
|
$(CXX) -shared -fopenmp -Wl,-soname,$(LIB2) $(LDFLAGS) -o $(LIB2) $(OBJS2)
|
||||||
|
|
||||||
|
install:
|
||||||
|
mkdir -p $(DESTDIR)$(PREFIX)/include/tmv $(DESTDIR)$(PREFIX)/lib
|
||||||
|
install ../include/TMV*.h $(DESTDIR)$(PREFIX)/include
|
||||||
|
install ../include/tmv/TMV*.h $(DESTDIR)$(PREFIX)/include/tmv
|
||||||
|
${BSD_INSTALL_LIB} $(LIB1) $(DESTDIR)$(PREFIX)/lib
|
||||||
|
${BSD_INSTALL_LIB} $(LIB2) $(DESTDIR)$(PREFIX)/lib
|
||||||
|
cd $(DESTDIR)$(PREFIX)/lib && ln -s $(LIB1) $(LIB1:.0=) && ln -s $(LIB2) $(LIB2:.0=)
|
8
math/tmv/pkg-descr
Normal file
8
math/tmv/pkg-descr
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
The Template Matrix/Vector (TMV) Library is a C++ class library designed to
|
||||||
|
make writing code with vectors and matrices both transparent and fast.
|
||||||
|
Transparency means that when you look at your code months later, it is obvious
|
||||||
|
what the code does, making it easier to debug. Fast means the execution time of
|
||||||
|
the code should be as fast as possible - this is mostly algorithm dependent, so
|
||||||
|
we want the underlying library code to use the fastest algorithms possible.
|
||||||
|
|
||||||
|
WWW: https://github.com/rmjarvis/tmv
|
106
math/tmv/pkg-plist
Normal file
106
math/tmv/pkg-plist
Normal file
|
@ -0,0 +1,106 @@
|
||||||
|
include/TMV.h
|
||||||
|
include/TMV_Band.h
|
||||||
|
include/TMV_Diag.h
|
||||||
|
include/TMV_Small.h
|
||||||
|
include/TMV_Sym.h
|
||||||
|
include/TMV_SymBand.h
|
||||||
|
include/TMV_Tri.h
|
||||||
|
include/tmv/TMV_Array.h
|
||||||
|
include/tmv/TMV_AuxAllDiv.h
|
||||||
|
include/tmv/TMV_AuxMatComposite1.h
|
||||||
|
include/tmv/TMV_AuxMatComposite2.h
|
||||||
|
include/tmv/TMV_AuxMatComposite3.h
|
||||||
|
include/tmv/TMV_AuxProdMM.h
|
||||||
|
include/tmv/TMV_AuxProdMMa.h
|
||||||
|
include/tmv/TMV_AuxProdXM.h
|
||||||
|
include/tmv/TMV_AuxProdXV.h
|
||||||
|
include/tmv/TMV_AuxQuotMM.h
|
||||||
|
include/tmv/TMV_AuxQuotMMa.h
|
||||||
|
include/tmv/TMV_AuxQuotXM.h
|
||||||
|
include/tmv/TMV_AuxQuotXMa.h
|
||||||
|
include/tmv/TMV_AuxSumMM.h
|
||||||
|
include/tmv/TMV_AuxSumMMa.h
|
||||||
|
include/tmv/TMV_AuxSumMMb.h
|
||||||
|
include/tmv/TMV_AuxSumMX.h
|
||||||
|
include/tmv/TMV_AuxTQuotMM.h
|
||||||
|
include/tmv/TMV_AuxTQuotMMa.h
|
||||||
|
include/tmv/TMV_AuxVecComposite.h
|
||||||
|
include/tmv/TMV_BandLUD.h
|
||||||
|
include/tmv/TMV_BandMatrix.h
|
||||||
|
include/tmv/TMV_BandMatrixArith.h
|
||||||
|
include/tmv/TMV_BandMatrixArithFunc.h
|
||||||
|
include/tmv/TMV_BandQRD.h
|
||||||
|
include/tmv/TMV_BandSVD.h
|
||||||
|
include/tmv/TMV_BandSymArith.h
|
||||||
|
include/tmv/TMV_BandSymBandArith.h
|
||||||
|
include/tmv/TMV_Base.h
|
||||||
|
include/tmv/TMV_BaseBandMatrix.h
|
||||||
|
include/tmv/TMV_BaseDiagMatrix.h
|
||||||
|
include/tmv/TMV_BaseMatrix.h
|
||||||
|
include/tmv/TMV_BaseSymBandMatrix.h
|
||||||
|
include/tmv/TMV_BaseSymMatrix.h
|
||||||
|
include/tmv/TMV_BaseTriMatrix.h
|
||||||
|
include/tmv/TMV_BaseVector.h
|
||||||
|
include/tmv/TMV_DiagBandArith.h
|
||||||
|
include/tmv/TMV_DiagMatrix.h
|
||||||
|
include/tmv/TMV_DiagMatrixArith.h
|
||||||
|
include/tmv/TMV_DiagMatrixArithFunc.h
|
||||||
|
include/tmv/TMV_DiagSymArith.h
|
||||||
|
include/tmv/TMV_DiagSymBandArith.h
|
||||||
|
include/tmv/TMV_DiagTriArith.h
|
||||||
|
include/tmv/TMV_DiagTriArithFunc.h
|
||||||
|
include/tmv/TMV_Divider.h
|
||||||
|
include/tmv/TMV_Givens.h
|
||||||
|
include/tmv/TMV_Householder.h
|
||||||
|
include/tmv/TMV_IOStyle.h
|
||||||
|
include/tmv/TMV_LUD.h
|
||||||
|
include/tmv/TMV_ListInit.h
|
||||||
|
include/tmv/TMV_MIt.h
|
||||||
|
include/tmv/TMV_Matrix.h
|
||||||
|
include/tmv/TMV_MatrixArith.h
|
||||||
|
include/tmv/TMV_MatrixArithFunc.h
|
||||||
|
include/tmv/TMV_PackedQ.h
|
||||||
|
include/tmv/TMV_Permutation.h
|
||||||
|
include/tmv/TMV_PermutationArith.h
|
||||||
|
include/tmv/TMV_QRD.h
|
||||||
|
include/tmv/TMV_QRPD.h
|
||||||
|
include/tmv/TMV_SVD.h
|
||||||
|
include/tmv/TMV_SimpleMatrix.h
|
||||||
|
include/tmv/TMV_SmallMatrix.h
|
||||||
|
include/tmv/TMV_SmallMatrixArith.h
|
||||||
|
include/tmv/TMV_SmallMatrixArithFunc.h
|
||||||
|
include/tmv/TMV_SmallMatrixDiv.h
|
||||||
|
include/tmv/TMV_SmallVector.h
|
||||||
|
include/tmv/TMV_SmallVectorArith.h
|
||||||
|
include/tmv/TMV_SmallVectorArithFunc.h
|
||||||
|
include/tmv/TMV_SymBandCHD.h
|
||||||
|
include/tmv/TMV_SymBandMatrix.h
|
||||||
|
include/tmv/TMV_SymBandMatrixArith.h
|
||||||
|
include/tmv/TMV_SymBandMatrixArithFunc.h
|
||||||
|
include/tmv/TMV_SymBandSVD.h
|
||||||
|
include/tmv/TMV_SymCHD.h
|
||||||
|
include/tmv/TMV_SymDivider.h
|
||||||
|
include/tmv/TMV_SymHouseholder.h
|
||||||
|
include/tmv/TMV_SymLDLD.h
|
||||||
|
include/tmv/TMV_SymMatrix.h
|
||||||
|
include/tmv/TMV_SymMatrixArith.h
|
||||||
|
include/tmv/TMV_SymMatrixArithFunc.h
|
||||||
|
include/tmv/TMV_SymSVD.h
|
||||||
|
include/tmv/TMV_SymSymBandArith.h
|
||||||
|
include/tmv/TMV_TriBandArith.h
|
||||||
|
include/tmv/TMV_TriBandArithFunc.h
|
||||||
|
include/tmv/TMV_TriDiv.h
|
||||||
|
include/tmv/TMV_TriMatrix.h
|
||||||
|
include/tmv/TMV_TriMatrixArith.h
|
||||||
|
include/tmv/TMV_TriMatrixArithFunc.h
|
||||||
|
include/tmv/TMV_TriSymArith.h
|
||||||
|
include/tmv/TMV_TriSymBandArith.h
|
||||||
|
include/tmv/TMV_VIt.h
|
||||||
|
include/tmv/TMV_Vector.h
|
||||||
|
include/tmv/TMV_VectorArith.h
|
||||||
|
include/tmv/TMV_VectorArithFunc.h
|
||||||
|
lib/libtmv.so
|
||||||
|
lib/libtmv.so.0
|
||||||
|
lib/libtmv_symband.so
|
||||||
|
lib/libtmv_symband.so.0
|
||||||
|
%%PORTDOCS%%%%DOCSDIR%%/TMV_Documentation.pdf
|
Loading…
Add table
Reference in a new issue