No.2ベストアンサー
- 回答日時:
単位ベクトルを作る時に平方根を使うと、処理が重くなりますね。
また、プログラムが簡単と、演算が速い、は必ずしも両立しません。
普通に考えると、#1さんのようなアルゴリズムになると思います。
判定のループを、成り立たなくなった時点で抜けると効率も良いでしょう。
for(i=0;i<n;i++)
if(a[0]*b[i] != b[0]*a[i])
return 1;
return 0;
<返り値>1:一次独立 0:一次従属
また、bが0ベクトルだと、b=0aと書けますから、
一次独立にはならないですね。
一次従属は、言ってもいいのではないでしょうか。
参考URL:http://ja.wikipedia.org/wiki/%E7%B7%9A%E5%9E%8B% …
ありがとうございます。
liar_adan(#1) さんのご回答でも十分だったのですが、今回頂いた内容は更に素晴らしいですね。
この方法だと、a や b ベクトルに 0 の要素があっても、特別視する必要が無いのですね。
で早速実装してみた結果、なんと 約 25% も速度が上がりました。ラッキーです ^^)
No.3
- 回答日時:
#2 さんのお答えで十分ですが、
「ゼロベクトルはすべてのベクトルと一次従属である」
ということ、どうぞ自信を持ってください。
心強いお言葉、ありがとうございます^^)
安心しました。
## もしも違ってたら、今まで延々と書いてきたコードが根底から間違ってた事になり、ショックなところでした。
No.1
- 回答日時:
二つのベクトルが一次従属ということは要するに
a = kb (k≠0, 実数)
ということだから、
aのx成分xaとbのx成分xbを取ってきて、
k = xa / xb
として、そのkに対して
k = ya / yb
k = za / zb
...
がすべて成り立てば一次独立。成り立たなければ従属としていいと思います。
(各要素が0の場合は特別な処理が必要になります。)
ゼロベクトルに対しての一次独立・従属の定義はわかりません。
なるほど、仰せの方法であれば n 回 のループだけで済みますね。ただ、確かに 各要素が 0 の場合を特別視しなければならないのはちょっと悲しいですね。
要素が 0 の時は その次元においては 従属 と考える事になるのでしょうかね??
であれば、zero ベクトルは必然的に 従属になるのかな..?
==
ご回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 誤字があり再質問 『平面ベクトルにおいての一次独立の定義』 2つのベクトルが0→ではない。平行でない 2 2023/04/28 16:54
- 数学 数学 平面ベクトルにおける「一次独立」の定義は 3つのベクトルの大きさが0でない。平行でない。 でし 3 2023/04/10 02:25
- 数学 a1,a2, a3をベクトル空間Vのベクトルとする。a1+a2,a2+a3,a3+a1が一次独立のと 2 2022/10/02 15:55
- 物理学 ベクトルと座標系につきまして 1 2022/04/03 06:23
- 数学 3次元実ベクトル空間において, 平面 P:x-y+z+1=0 と直線 L:2(x-1)=-y=-z 3 2022/10/29 14:39
- 数学 線形代数についての問題がわからないです。 1 2023/01/08 14:53
- 数学 正射影ベクトルで垂直なベクトルを適当に1つもとめて解く問題は多々あると思うんですが 下の図のような問 4 2022/09/14 20:37
- 数学 数学(ベクトル) 単位ベクトルの一次結合で一般の空間ベクトルは表せる という式なのですがなぜ 「x1 3 2023/04/10 01:24
- 数学 ベクトルの一次独立が一通りに分解される理由 2 2022/05/19 19:53
- 数学 線形代数の問題について教えて欲しいです。 3 2023/05/06 23:13
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報