1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
#-------------------------------------------------------------------------------
# SPEX/Python/utilities/Options.py: class Options
#-------------------------------------------------------------------------------
# SPEX: (c) 2022-2024, Christopher Lourenco, Jinhao Chen,
# Lorena Mejia Domenzain, Erick Moreno-Centeno, and Timothy A. Davis.
# All Rights Reserved.
# SPDX-License-Identifier: GPL-2.0-or-later or LGPL-3.0-or-later
#------------------------------------------------------------------------------
class Options:
def __init__(self, out="double", ordering=None):
self.ordering = ordering
self.output = out
def default_lu(self):
self.ordering="colamd"
def default_chol(self):
self.ordering="amd"
def order(self):
if self.ordering=="none":
order=0
elif self.ordering=="colamd": ##colamd is the default ordering for Left LU
order=1
elif self.ordering=="amd": ##amd is the default ordering for Cholesky
order=2
else:
raise ValueError("Invalid order options")
return order
def charOut(self):
if self.output=="double":
charOut=False
elif self.output=="string":
charOut=True
else:
raise ValueError("Invalid output type options")
return charOut
|