Module Nvector

module Nvector: sig .. end

Generic nvector types and operations.

type ('data, 'kind) t 

Represents an nvector of kind 'kind with underlying data of type 'data. The type argument 'kind is either Nvector_serial.kind, Nvector_parallel.kind, Nvector_custom.kind, Nvector_openmp.kind, or Nvector_pthreads.kind. It is needed because some linear solvers make additional assumptions about the underlying vector representation.

type ('data, 'kind) nvector = ('data, 'kind) t 

An alias for Nvector.t.

val unwrap : ('data, 'kind) t -> 'data

unwrap nv returns the data underlying the nvector nv.

exception IncompatibleNvector

Raised when an nvector argument is incompatible with a session. For example, when a solver session was initialized with an nvector having 10 elements, and a later call passes an nvector with only 9 elements. The exact details depend on the nvector instantiation.

val check : ('data, 'kind) t -> ('data, 'kind) t -> unit

check v1 v2 checks v1 and v2 for compatibility.

Generic vector operations.

module type NVECTOR_OPS = sig .. end

Basic operations underlying an nvector.

module type NVECTOR = sig .. end

Basic structure of a concrete nvector implementation module.