2012-06-20 4 views
4

Blitz ++ 매트릭스에 대한 문서가 있습니까?Blitz ++ 행렬 문서가 있습니까?

Google에서 http://www.oonumerics.org/blitz//manual/blitz01.html을 찾았지만 설명서가없는 것 같습니다.

내가 찾은 유일한 유용한 예를 들어이 Rosettacode에서 하나입니다

#include <iostream> 
#include <blitz/tinymat.h> 

int main() 
{ 
    using namespace blitz; 

    TinyMatrix<double,3,3> A, B, C; 

    A = 1, 2, 3, 
     4, 5, 6, 
     7, 8, 9; 

    B = 1, 0, 0, 
     0, 1, 0, 
     0, 0, 1; 

    C = product(A, B); 

    std::cout << C << std::endl; 
} 

그러나이 작은 예를 나의 많은 질문에 대답하지 않습니다이 :

  • 이 BigMatrix 같은 것이 존재 하는가

    ?
  • 컴파일 타임에 크기를 모를 때 어떻게 행렬을 만들 수 있습니까?
  • 이 매트릭스가 지원하는 다른 연산은 무엇입니까?
    [email protected]:/usr/include/blitz$ ls 
    applics.h  matbops.h  ops.h   tinyvec-et.h vecglobs.h 
    array   matdiag.h  prettyprint.h tinyvec.h  vecio.cc 
    array.h  matexpr.h  promote.h  tinyvecio.cc veciter.h 
    array-impl.h matgen.h  promote-old.h tinyveciter.h vecmax.cc 
    array-old.h mathf2.h  rand-dunif.h traversal.cc vecmin.cc 
    bench.cc  mathfunc.h rand-mt.h  traversal.h vecnorm1.cc 
    benchext.cc matltri.h  rand-normal.h tuning.h  vecnorm.cc 
    benchext.h  matref.h  random.h  tvcross.h  vecpick.cc 
    bench.h  matrix.cc  randref.h  tvecglobs.h vecpick.h 
    blitz.h  matrix.h  rand-tt800.h update.h  vecpickio.cc 
    bzconfig.h  matsymm.h  rand-uniform.h vecaccum.cc vecpickiter.h 
    bzdebug.h  mattoep.h  range.h   vecall.cc  vecsum.cc 
    compiler.h  matuops.h  reduce.h  vecany.cc  vector.cc 
    config.h  matutri.h  shapecheck.h vecbfn.cc  vector-et.h 
    etbase.h  memblock.cc tau.h   vecbops.cc  vector.h 
    extremum.h  memblock.h timer.h   veccount.cc vecuops.cc 
    funcs.h  meta   tiny.h   vecdelta.cc vecwhere.cc 
    gnu   minmax.h  tinymatexpr.h vecdot.cc  vecwhere.h 
    indexexpr.h mstruct.h  tinymat.h  vecexpr.h  wrap-climits.h 
    limits-hack.h numinquire.h tinymatio.cc vecexprwrap.h zero.cc 
    listinit.h  numtrait.h tinyvec.cc  vecglobs.cc zero.h 
    

    그래서 내가 Matrix 더 큰 매트릭스에 대한 추측 :

tinymat.h에 대한 검색이 폴더를 한 것으로 밝혀졌습니다. 그러나 어떻게 그들을 번식합니까? 또한 이것은 내가 도서관에 대해 뭔가를 배울 때 선호하는 방법이 아닙니다.

libblitz-doc - C++ template class library for scientific computing이 설치되어 있으므로 설명서가 내 컴퓨터에 있어야합니다. 하지만 어디에서 검색해야합니까?

답변

3

www.oonumerics.org 웹 사이트는 현재 손상된 것 같습니다. 그러나 Blitz에 대한 전체 문서는 SourceForge에 this link에서 다운로드 할 수있는 패키지에 포함되어 있습니다.

블리츠에는 BigMatrix과 같은 특수 클래스가 없습니다. 행렬은 단지 2 차원 배열이므로 Array 템플릿을 사용하십시오. 컴파일 할 때 배열/행렬의 크기를 알 필요가 없습니다. 여기에 문서에서 작은 예입니다

#include <blitz/array.h> 

using namespace blitz; 

int main() 
{ 
    Array<int,2> A(6,6), B(3,3); 

    // Set the upper left quadrant of A to 5 
    A(Range(0,2), Range(0,2)) = 5; 

    // Set the upper right quadrant of A to an identity matrix 
    B = 1, 0, 0, 
     0, 1, 0, 
     0, 0, 1; 
    A(Range(0,2), Range(3,5)) = B; 

    // Set the fourth row to 1 
    A(3, Range::all()) = 1; 

    // Set the last two rows to 0 
    A(Range(4, Range::toEnd), Range::all()) = 0; 

    // Set the bottom right element to 8 
    A(5,5) = 8; 

    cout << "A = " << A << endl; 

    return 0; 
} 

데비안 기반 배포를 사용하는 경우, dpkg -L libblitz-doclibblitz-doc 패키지의 내용을 공개하고 워드 프로세서의 위치를 ​​알 수 있습니다. 내 컴퓨터에서 그들은 /usr/share/doc/libblitz-doc/

관련 문제