{-# LANGUAGE BangPatterns #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE ScopedTypeVariables#-}
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FunctionalDependencies #-}


module Numerical.Matrix.Basic where
{-
note, the contents of this module will probably be completely relocated elsewhere
at some point

-}
--import Numerical.Array.Mutable as Mut


--cleverDotProduct  :: (Address ~ MArrayAddress mvecL
--                    , Address ~ MArrayAddress mvecR
--                    ,Array mvecL (S Z) a
--                    ,Array mvecR (S Z) a
--                    ,Num a)=>

--naiveDotProduct