Matrix class update.
This commit is contained in:
83
src/main.cxx
83
src/main.cxx
@@ -8,28 +8,79 @@
|
||||
|
||||
|
||||
#include "Matrix.h"
|
||||
#include "Function1D.h"
|
||||
|
||||
#include "spdlog/spdlog.h"
|
||||
#include "spdlog/sinks/stdout_color_sinks.h"
|
||||
#include "spdlog/sinks/basic_file_sink.h"
|
||||
|
||||
int main() {
|
||||
double * dataA =new double[9];
|
||||
double * dataB =new double[9];
|
||||
for (int i = 0; i < 9; ++i) {
|
||||
dataA[i]=(double)(i+1);
|
||||
dataB[i]=(double)(i+2);
|
||||
{
|
||||
double * dataA =new double[8];
|
||||
double * dataB =new double[8];
|
||||
double * dataC =new double[4];
|
||||
for (int i = 0; i < 8; ++i) {
|
||||
dataA[i]=(double)(i-3);
|
||||
dataB[i]=(double)(i+2);
|
||||
dataC[i/2]=(double)(i+9);
|
||||
}
|
||||
Aurora::Matrix A = Aurora::Matrix::New(dataA,2,2,2);
|
||||
printf("A:\r\n");
|
||||
A.printf();
|
||||
Aurora::Matrix B = Aurora::Matrix::New(dataB,2,2,2);
|
||||
printf("B:\r\n");
|
||||
B.printf();
|
||||
printf("A slice 1 = B slice 0\r\n");
|
||||
A(Aurora::$,Aurora::$,1) = B(Aurora::$,Aurora::$,0);
|
||||
printf("B:\r\n");
|
||||
B.printf();
|
||||
printf("New A:\r\n");
|
||||
A.printf();
|
||||
printf("A Row slice 1 = B Row slice 0\r\n");
|
||||
A(1,Aurora::$,Aurora::$) = B(0,Aurora::$,Aurora::$);
|
||||
printf("B:\r\n");
|
||||
B.printf();
|
||||
printf("New A:\r\n");
|
||||
A.printf();
|
||||
|
||||
printf("A Col slice 1 = B Col slice 0\r\n");
|
||||
A(Aurora::$,1,Aurora::$) = B(Aurora::$,0,Aurora::$);
|
||||
printf("B:\r\n");
|
||||
B.printf();
|
||||
printf("New A:\r\n");
|
||||
A.printf();
|
||||
|
||||
printf("New A col slice 1 toMatrix:\r\n");
|
||||
auto Ds = A(Aurora::$,1,Aurora::$);
|
||||
auto D = Ds.toMatrix();
|
||||
D.printf();
|
||||
|
||||
|
||||
Aurora::Matrix C = Aurora::Matrix::New(dataC,2,2);
|
||||
printf("C:\r\n");
|
||||
C.printf();
|
||||
A(Aurora::$,Aurora::$,0) = C;
|
||||
printf("New A:\r\n");
|
||||
A.printf();
|
||||
return 0;
|
||||
|
||||
}
|
||||
Aurora::Matrix A = Aurora::Matrix::New(dataA,3,3);
|
||||
A.printf();
|
||||
Aurora::Matrix B = Aurora::Matrix::New(dataB,3,3);
|
||||
printf("B:\r\n");
|
||||
B.printf();
|
||||
printf("A*B:\r\n");
|
||||
(A*B).printf();
|
||||
printf("A*B+A:\r\n");
|
||||
(A*B+A).printf();
|
||||
A = (A*B+A)+3.;
|
||||
A.printf();
|
||||
{
|
||||
double * dataA =new double[9];
|
||||
double * dataB =new double[9];
|
||||
for (int i = 0; i < 9; ++i) {
|
||||
dataA[i]=(double)(i-3);
|
||||
dataB[i]=(double)(i+2);
|
||||
}
|
||||
Aurora::Matrix A = Aurora::Matrix::New(dataA,3,3);
|
||||
printf("A:\r\n");
|
||||
A.printf();
|
||||
Aurora::Matrix B = Aurora::Matrix::New(dataB,3,3);
|
||||
printf("B:\r\n");
|
||||
B.printf();
|
||||
printf("sign(A):\r\n");
|
||||
sign(A*B).printf();
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user