/[escript]/trunk/escript/src/DataExpanded.h
ViewVC logotype

Diff of /trunk/escript/src/DataExpanded.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 480 by jgs, Wed Feb 1 05:15:12 2006 UTC revision 775 by ksteube, Mon Jul 10 04:00:08 2006 UTC
# Line 1  Line 1 
1  // $Id$  // $Id$
2  /*  /*
3   ******************************************************************************   ************************************************************
4   *                                                                            *   *          Copyright 2006 by ACcESS MNRF                   *
5   *       COPYRIGHT  ACcESS 2004 -  All Rights Reserved                        *   *                                                          *
6   *                                                                            *   *              http://www.access.edu.au                    *
7   * This software is the property of ACcESS. No part of this code              *   *       Primary Business: Queensland, Australia            *
8   * may be copied in any form or by any means without the expressed written    *   *  Licensed under the Open Software License version 3.0    *
9   * consent of ACcESS.  Copying, use or modification of this software          *   *     http://www.opensource.org/licenses/osl-3.0.php       *
10   * by any unauthorised person is illegal unless that person has a software    *   *                                                          *
11   * license agreement with ACcESS.                                             *   ************************************************************
  *                                                                            *  
  ******************************************************************************  
12  */  */
13    
14  #if !defined escript_DataExpanded_20040323_H  #if !defined escript_DataExpanded_20040323_H
15  #define escript_DataExpanded_20040323_H  #define escript_DataExpanded_20040323_H
16    #include "system_dep.h"
17    
18  #include "DataAbstract.h"  #include "DataAbstract.h"
19  #include "DataBlocks2D.h"  #include "DataBlocks2D.h"
# Line 59  class DataExpanded : public DataAbstract Line 58  class DataExpanded : public DataAbstract
58       \param value - Input - A single data value.       \param value - Input - A single data value.
59       \param what - Input - A description of what this data represents.       \param what - Input - A description of what this data represents.
60    */    */
61      ESCRIPT_DLL_API
62    DataExpanded(const boost::python::numeric::array& value,    DataExpanded(const boost::python::numeric::array& value,
63                 const FunctionSpace& what);                 const FunctionSpace& what);
64    
# Line 76  class DataExpanded : public DataAbstract Line 76  class DataExpanded : public DataAbstract
76       \param value - Input - A single data value.       \param value - Input - A single data value.
77       \param what - Input - A description of what this data represents.       \param what - Input - A description of what this data represents.
78    */    */
79      ESCRIPT_DLL_API
80    DataExpanded(const DataArrayView& value,    DataExpanded(const DataArrayView& value,
81                 const FunctionSpace& what);                 const FunctionSpace& what);
82    
# Line 87  class DataExpanded : public DataAbstract Line 88  class DataExpanded : public DataAbstract
88       \param other - Input - DataExpanded object to slice from.       \param other - Input - DataExpanded object to slice from.
89       \param region - Input - region to copy.       \param region - Input - region to copy.
90    */    */
91      ESCRIPT_DLL_API
92    DataExpanded(const DataExpanded& other,    DataExpanded(const DataExpanded& other,
93                 const DataArrayView::RegionType& region);                 const DataArrayView::RegionType& region);
94    
# Line 100  class DataExpanded : public DataAbstract Line 102  class DataExpanded : public DataAbstract
102       \param shape - Input - the shape of each data-point.       \param shape - Input - the shape of each data-point.
103       \param data - the array of data values for the data-points.       \param data - the array of data values for the data-points.
104    */    */
105      ESCRIPT_DLL_API
106    DataExpanded(const FunctionSpace& what,    DataExpanded(const FunctionSpace& what,
107                 const DataArrayView::ShapeType &shape,                 const DataArrayView::ShapeType &shape,
108                 const DataArrayView::ValueType &data);                 const DataArrayView::ValueType &data);
# Line 109  class DataExpanded : public DataAbstract Line 112  class DataExpanded : public DataAbstract
112       Copy constructor for DataExpanded.       Copy constructor for DataExpanded.
113       Performs a deep copy from another DataExpanded.       Performs a deep copy from another DataExpanded.
114    */    */
115      ESCRIPT_DLL_API
116    DataExpanded(const DataExpanded& other);    DataExpanded(const DataExpanded& other);
117    
118    /**    /**
# Line 116  class DataExpanded : public DataAbstract Line 120  class DataExpanded : public DataAbstract
120       Copy constructor for DataExpanded.       Copy constructor for DataExpanded.
121       Construct a DataExpanded from a DataConstant.       Construct a DataExpanded from a DataConstant.
122    */    */
123      ESCRIPT_DLL_API
124    DataExpanded(const DataConstant& other);    DataExpanded(const DataConstant& other);
125    
126    /**    /**
# Line 123  class DataExpanded : public DataAbstract Line 128  class DataExpanded : public DataAbstract
128       Copy constructor for DataExpanded.       Copy constructor for DataExpanded.
129       Construct a DataExpanded from a DataTagged.       Construct a DataExpanded from a DataTagged.
130    */    */
131      ESCRIPT_DLL_API
132    DataExpanded(const DataTagged& other);    DataExpanded(const DataTagged& other);
133    
134    /**    /**
135       \brief       \brief
136       Default destructor for DataExpanded.       Default destructor for DataExpanded.
137    */    */
138      ESCRIPT_DLL_API
139    virtual    virtual
140    ~DataExpanded();    ~DataExpanded();
141    
# Line 136  class DataExpanded : public DataAbstract Line 143  class DataExpanded : public DataAbstract
143       \brief       \brief
144       Return a textual representation of the data.       Return a textual representation of the data.
145    */    */
146      ESCRIPT_DLL_API
147    virtual    virtual
148    std::string    std::string
149    toString() const;    toString() const;
# Line 146  class DataExpanded : public DataAbstract Line 154  class DataExpanded : public DataAbstract
154       The original data point value is used for all values of the new       The original data point value is used for all values of the new
155       data point.       data point.
156    */    */
157      ESCRIPT_DLL_API
158    void    void
159    reshapeDataPoint(const DataArrayView::ShapeType& shape);    reshapeDataPoint(const DataArrayView::ShapeType& shape);
160    
# Line 158  class DataExpanded : public DataAbstract Line 167  class DataExpanded : public DataAbstract
167       \param sampleNo - Input - sample number.       \param sampleNo - Input - sample number.
168       \param dataPointNo - Input - data point number.       \param dataPointNo - Input - data point number.
169    */    */
170      ESCRIPT_DLL_API
171    virtual    virtual
172    DataArrayView::ValueType::size_type    DataArrayView::ValueType::size_type
173    getPointOffset(int sampleNo,    getPointOffset(int sampleNo,
# Line 174  class DataExpanded : public DataAbstract Line 184  class DataExpanded : public DataAbstract
184       \param dataPointNo - Input - data point number.       \param dataPointNo - Input - data point number.
185       \return DataArrayView for the data point.       \return DataArrayView for the data point.
186    */    */
187      ESCRIPT_DLL_API
188    DataArrayView    DataArrayView
189    getDataPoint(int sampleNo,    getDataPoint(int sampleNo,
190                 int dataPointNo);                 int dataPointNo);
# Line 182  class DataExpanded : public DataAbstract Line 193  class DataExpanded : public DataAbstract
193       \brief       \brief
194       Return the number of doubles stored for the Data.       Return the number of doubles stored for the Data.
195    */    */
196      ESCRIPT_DLL_API
197    virtual    virtual
198    ValueType::size_type    ValueType::size_type
199    getLength() const;    getLength() const;
# Line 193  class DataExpanded : public DataAbstract Line 205  class DataExpanded : public DataAbstract
205    
206       \param region - Input - Region to copy.       \param region - Input - Region to copy.
207    */    */
208      ESCRIPT_DLL_API
209    virtual    virtual
210    DataAbstract*    DataAbstract*
211    getSlice(const DataArrayView::RegionType& region) const;    getSlice(const DataArrayView::RegionType& region) const;
# Line 204  class DataExpanded : public DataAbstract Line 217  class DataExpanded : public DataAbstract
217       \param value - Input - Data object to copy from.       \param value - Input - Data object to copy from.
218       \param region - Input - Region to copy.       \param region - Input - Region to copy.
219    */    */
220      ESCRIPT_DLL_API
221    virtual    virtual
222    void    void
223    setSlice(const DataAbstract* value,    setSlice(const DataAbstract* value,
# Line 228  class DataExpanded : public DataAbstract Line 242  class DataExpanded : public DataAbstract
242       \param value - Input - Value to assign to data-point associated with       \param value - Input - Value to assign to data-point associated with
243                              the given reference number.                              the given reference number.
244    */    */
245      ESCRIPT_DLL_API
246    virtual    virtual
247    void    void
248    setRefValue(int ref,    setRefValue(int ref,
# Line 253  class DataExpanded : public DataAbstract Line 268  class DataExpanded : public DataAbstract
268       \param value - Output - Object to receive data-points associated with       \param value - Output - Object to receive data-points associated with
269                              the given reference number.                              the given reference number.
270    */    */
271      ESCRIPT_DLL_API
272    virtual    virtual
273    void    void
274    getRefValue(int ref,    getRefValue(int ref,
# Line 266  class DataExpanded : public DataAbstract Line 282  class DataExpanded : public DataAbstract
282    
283      The return value indicates success (0) or otherwise (1).      The return value indicates success (0) or otherwise (1).
284    */    */
285      ESCRIPT_DLL_API
286    int    int
287    archiveData(std::ofstream& archiveFile,    archiveData(std::ofstream& archiveFile,
288                const DataArrayView::ValueType::size_type noValues) const;                const DataArrayView::ValueType::size_type noValues) const;
# Line 277  class DataExpanded : public DataAbstract Line 294  class DataExpanded : public DataAbstract
294    
295      The return value indicates success (0) or otherwise (1).      The return value indicates success (0) or otherwise (1).
296    */    */
297      ESCRIPT_DLL_API
298    int    int
299    extractData(std::ifstream& archiveFile,    extractData(std::ifstream& archiveFile,
300                const DataArrayView::ValueType::size_type noValues);                const DataArrayView::ValueType::size_type noValues);
301    
302      /**
303         \brief
304         Computes a symmetric matrix (A + AT) / 2
305    
306         \param ev - Output - symmetric matrix
307    
308      */
309      virtual void
310      symmetric(DataAbstract* ev);
311    
312      /**
313         \brief
314         Computes a nonsymmetric matrix (A - AT) / 2
315    
316         \param ev - Output - nonsymmetric matrix
317    
318      */
319      virtual void
320      nonsymmetric(DataAbstract* ev);
321    
322      /**
323         \brief
324         Computes the trace of a matrix
325    
326         \param ev - Output - trace of your matrix
327    
328      */
329      virtual void
330      matrixtrace(DataAbstract* ev, int axis_offset);
331    
332      /**
333         \brief
334         Transpose each data point of this Data object around the given axis.
335    
336         \param ev - Output - transpose of your matrix
337    
338      */
339      virtual void
340      transpose(DataAbstract* ev, int axis_offset);
341    
342      /**
343         \brief
344         solves the eigenvalue problem this*V=ev*V for the eigenvalues ev
345    
346         \param ev - Output - eigenvalues in increasing order at each data point
347    
348      */
349      ESCRIPT_DLL_API
350      virtual void
351      eigenvalues(DataAbstract* ev);
352    
353      /**
354         \brief
355         solves the eigenvalue problem this*V=ev*V for the eigenvalues ev and eigenvectors V
356    
357         \param ev - Output - eigenvalues in increasing order at each data point
358         \param V - Output - corresponding eigenvectors. They are normalized such that their length is one
359                             and the first nonzero component is positive.
360         \param tol - Input - eigenvalue with relative distance tol are treated as equal.
361    
362      */
363    
364      ESCRIPT_DLL_API
365      virtual void
366      eigenvalues_and_eigenvectors(DataAbstract* ev,DataAbstract* V,const double tol=1.e-13);
367    
368    
369   protected:   protected:
370    
371   private:   private:

Legend:
Removed from v.480  
changed lines
  Added in v.775

  ViewVC Help
Powered by ViewVC 1.1.26