# A DESIGN PROPOSAL FOR AN OBJECT ORIENTED ALGEBRAIC LIBRARY

@inproceedings{Niculescu2003ADP, title={A DESIGN PROPOSAL FOR AN OBJECT ORIENTED ALGEBRAIC LIBRARY}, author={Virginia Niculescu}, year={2003} }

Object oriented programming and design patterns introduce a high level of abstraction that allows us to implement and work with math- ematical abstractions. Classic algebraic libraries, based on imperative pro- gramming, contain subalgorithms for working with polynomials, matrices, vectors, etc. Their big inconvenience is the dependency on types. For exam- ple, a polynomial can be built over any kind of algebraic unitary commutative ring (R;+;⁄), and we have to define a dierent set of…

No Paper Link Available

## 14 Citations

### Building an object oriented computational algebra system based on design patterns

- Computer ScienceSeventh International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC'05)
- 2005

This paper analyzes and design the kernel for an object oriented computational algebra system based on design patterns, which allows for significant flexibility and abstraction in the field of algebraic libraries.

### OOLACA: an object oriented library for abstract and computational algebra

- Computer ScienceOOPSLA '04
- 2004

This work analyzes and design an object oriented algebraic library, that allows working not only with concrete algebraic structures, but also with abstract algebraic structure, and works with them in abstract and concrete mathematical ways.

### ON USING GENERICS FOR IMPLEMENTING ALGEBRAIC STRUCTURES

- Computer Science
- 2011

This article analyzes the suitability of using parametric polymorphism, in an object-oriented programming context, for implementation of algebraic structures, showing some advantages but also some problems.

### Generic, Type-Safe and Object Oriented Computer Algebra Software

- Computer ScienceCASC
- 2010

A modular approach to computer algebra software is discussed: usage of state-of-the-art memory management and run-time systems, usage of strongly typed, generic, object oriented programming languages, and usage of general purpose, dynamic interactive expression interpreters.

### Multivariate Greatest Common Divisors in the Java Computer Algebra System

- Computer Science, Mathematics
- 2008

This paper exemplifies that the type design and implementation of JAS is suitable for the implementation of several greatest common divisor algorithms for multivariate polynomials, and introduces a parallel proxy for gcd implementations which runs different implementations concurrently.

### Unique Factorization Domains in the Java Computer Algebra System

- Computer Science, MathematicsAutomated Deduction in Geometry
- 2008

This paper describes the implementation of recursive algorithms in unique factorization domains, namely multivariate polynomial greatest common divisors (gcd) and factorization into irreducible parts…

### How to turn a scripting language into a domain specific language for computer algebra

- Computer ScienceArXiv
- 2008

The requirements for a scripting language in computer algebra are discussed and whether the languages Python, Ruby, Groovy and Scala meet these requirements are checked and it is concluded that any of the languages is suitable for the purpose.

### Categories as Type Classes in the Scala Algebra System

- Computer Science, MathematicsCASC
- 2013

A characterization of the categorical view of computer algebra is proposed and type classes are introduced as an alternate abstraction scheme and shown to be eventually better suited for modeling categories.

### On a Java computer algebra system, its performance and applications

- Computer ScienceSci. Comput. Program.
- 2008

### Symbolic Script Programming for Java

- Computer ScienceArXiv
- 2009

The concept of `symbolic programming' is introduced and its usefulness is shown by prototypes of symbolic polynomials and polynomial rings.

## References

SHOWING 1-10 OF 12 REFERENCES

### LAPACK++: A design overview of object-oriented extensions for high performance linear algebra

- Computer ScienceSupercomputing '93. Proceedings
- 1993

The authors present an overview of the object-oriented design of the matrix and decomposition classes in C++ and discuss its impact on elegance, generality, and performance.

### The Java Programming Language

- Computer Science
- 1996

The Java (TM)Programming Language, Second Edition, is the definitive resource for all serious Java programmers and lets you in on the rationale behind Java's design, direct from the language's creator, as well as the tradeoffs involved in using specific features.

### Parameterized types for Java

- Computer SciencePOPL '97
- 1997

The rationale for the design decisions and the impact of the extension on other parts of Java, including arrays and the class library are discussed, and optional extensions to the Java virtual machine to allow parameterized bytecodes are described, and how to verify them efficiently.

### STL tutorial and reference guide - C++ programming with the standard template library

- Computer ScienceAddison-Wesley professional computing series
- 1996

This second edition of the STL Tutorial and Reference Guide is fully updated to reflect all of the changes made to STL for the final ANSI/ISO C++ language standard and has been expanded with new chapters and appendices.

### Design patterns: elements of reuseable object-oriented software

- Computer Science, Art
- 1994

The book is an introduction to the idea of design patterns in software engineering, and a catalog of twenty-three common patterns. The nice thing is, most experienced OOP designers will find out…

### Document for the Basic Linear Algebra Subprograms (BLAS) standard: BLAS Technical Forum

- Computer Science
- 2001

Permission to copy without fee all or part of this material is granted, provided the University of Tennessee copyright notice and the title of this document appear, and notice is given that copying…

### Elements of Modern Algebra

- Education
- 1984

The treatment is rigorous and self-contained, in keeping with the objectives of training the student in the techniques of algebra and of providing a bridge to higher-level mathematical courses.

### OoLALA: an object oriented analysis and design of numerical linear algebra

- Computer Science, MathematicsOOPSLA '00
- 2000

This paper reviews the design of a sequential object oriented linear algebra library that addresses a wide range of numerical linear algebra functionality while the reviewed object oriented libraries concen trate on parts of such functionality.

### Thinking in Java, http://www.EckelObjects.com

- 2000

### Elements of Modern Algebra, PWS-Kent

- 1992