2023-05-18 15:34:05 +00:00
|
|
|
#ifndef __algebra_h
|
|
|
|
#define __algebra_h
|
|
|
|
|
|
|
|
#include "Object.h"
|
|
|
|
|
|
|
|
@class Metric;
|
|
|
|
@class BasisGroup;
|
|
|
|
@class BasisLayout;
|
2023-05-19 02:15:29 +00:00
|
|
|
@class MultiVector;
|
2023-05-18 15:34:05 +00:00
|
|
|
|
|
|
|
@interface Algebra : Object
|
|
|
|
{
|
|
|
|
Metric *metric;
|
|
|
|
BasisGroup **grades;
|
|
|
|
BasisLayout *layout;
|
|
|
|
int num_components;
|
|
|
|
int dimension;
|
2023-05-29 06:14:59 +00:00
|
|
|
int plus, minus, zero;
|
2023-05-18 15:34:05 +00:00
|
|
|
}
|
|
|
|
+(Algebra *) R:(int)p, int m, int z;
|
|
|
|
+(Algebra *) PGA:(int)n;
|
|
|
|
-(void) print;
|
|
|
|
-(BasisGroup *)grade:(int)k;
|
|
|
|
-(BasisLayout *)layout;
|
|
|
|
-(Metric *) metric;
|
|
|
|
-(int)count;
|
|
|
|
-(int)dimension;
|
2023-05-19 02:15:29 +00:00
|
|
|
|
|
|
|
-(MultiVector *) group:(int)group;
|
|
|
|
-(MultiVector *) group:(int)group values:(double *)values;
|
|
|
|
-(MultiVector *) ofGrade:(int)grade;
|
|
|
|
-(MultiVector *) ofGrade:(int)grade values:(double *)values;
|
2023-05-18 15:34:05 +00:00
|
|
|
@end
|
|
|
|
|
|
|
|
#endif//__algebra_h
|